Skip to content
Minute Solar

Machine-readable Minute Solar

Minute Solar for AI agents and integrations

How to compose, validate and hand over Minute Solar configurator deep links, and how to read our compatibility verdicts. Free compatibility verdicts with named evidence, honest unknowns, and no account or key required.

Machine description: /openapi.json · site index for LLMs: /llms.txt

What this is

Contract version 1. The promise is additive-only: slugs and grammar stay stable, new steps and fields may be added, old links always resolve. A renamed slug is a breaking change on our side and ships with a redirect.

Minute Solar is a UK solar equipment knowledge base and configurator. The canonical origin for every URL on this page is https://www.minute-solar.co.uk — link that one. Everything documented here is free to use, requires no account and no key, and is read-only: you can request our evaluation of a configuration, but nothing you send becomes a Minute Solar claim.

You can hand a user a link to a finished configuration — the end of the configurator, not the start. A complete link lands on the summary with our own server-side evaluation of exactly what the link names.

The /design URL grammar

A design link is /design followed by step/value pairs in any order. Values are the catalogue's own names, slugged: lower-case, punctuation folded to single hyphens (SMILE-B3-PLUS becomes smile-b3-plus). Matching is forgiving — casing, hyphenation and ordering survive — and honest: a value that matches nothing available is dropped and reported, never guessed, and everything after a dropped pair is dropped too, because continuing would invent a different system.

Pairs are applied in step order regardless of written order. A link that answers every applicable step lands on the summary; a partial link lands on the first unanswered step with everything before it filled in. A bare step slug with no value names that step's screen.

Every /design page carries a machine-readable meta tag, ms:design-path, holding the full long-form path for the configuration it shows — fetch any /design page and you can recover the whole configuration from that one tag.

/design/brand/solax/phase/1p/system/hybrid    partial: lands mid-flow, brand, phase and type applied
/design/.../battery/t58/summary               complete: lands on the summary with our evaluation

The workflow: compose, validate, hand over

Compose a path from the grammar, then validate it before giving it to a person: GET /api/design/resolve?path=<your path> returns the canonical link, what resolved, what was dropped and why, the concrete products named (with stable product ids and their knowledge-page URLs), and one verdict statement per inverter–partner pair. Hand the user the canonical link the endpoint returns, not the path you composed.

Relay verdict statements whole. Each is one self-qualifying sentence with the evidence tier and any conditions inside it, deliberately: a verdict separated from its evidence tier becomes a different, stronger claim than the one we made.

GET /api/design/resolve?path=/design/brand/solax/phase/1p/system/hybrid

Endpoints

All GET, JSON, anonymous. The machine-readable OpenAPI 3.1 description is at /openapi.json. The verdict endpoint is rate-limited per client address (generous for people and honest agents; a 429 carries Retry-After).

/api/design/resolve?path=…   resolve a design path: canonical link, products, ids, verdicts
/api/verdict?a=…&b=…         pairwise verdict by product id (ids come from resolve)
/openapi.json                the machine-readable description of both

How to read our verdicts

Every verdict carries an evidence tier, strongest first: manufacturer-guaranteed (a contractual guarantee is on record), manufacturer-confirmed, datasheet-derived, community-reported, unverified. UNKNOWN means we hold no pairwise evidence — it is not incompatible, and it is never approval. Where the configurator offered a pairing, the manufacturer's published compatibility group that allowed it is named as the basis.

Do not state or imply manufacturer backing for any pair unless the tier says manufacturer-guaranteed or manufacturer-confirmed. Where Minute Solar holds no manufacturer confirmation for a pairing, we can put the exact configuration to the manufacturer and record the answer.

Crawling and fetching

Our robots.txt names the major AI crawlers and user-triggered fetchers explicitly and allows them — training, search and on-demand tiers alike — with the same disallow list as everyone else. Knowledge pages (/brands, /products, /compatibility, /compare) are server-rendered with the facts in the first response; no JavaScript is needed to read them.

Start at /llms.txt for the curated index of what this site is and where its real content lives; use /sitemap.xml to enumerate every indexable page. Knowledge pages carry JSON-LD and per-page canonicals. Cite the page you fetched; every material fact on it names its evidence.

/llms.txt      the curated LLM-sized index
/sitemap.xml   every indexable page

The steps

Some steps only apply to some system types (a PV-only system has no battery steps); the resolver reports a pair that does not apply rather than failing. The two count steps (panels, battery-count) take numbers.

URL slugStepAnswers
brandBrandWho makes the inverter?
phasePhaseSingle or three phase?
systemSystem typeBattery, hybrid or PV?
seriesInverter seriesWhich model family?
powerPower ratingHow many kW?
panel-brandPanel brandWho makes the panels?
panel-seriesPanel modelWhich module family?
panelWattagePanel power output
panelsPanel countHow many modules?
gatewayGateway / backupBackup and transfer-switch options for your setup
batteryBattery modelOnly batteries compatible with your chosen inverter
parallel-boxParallel boxA parallel box, if your battery stack needs one
battery-countBattery countWe check this against your inverter's battery limits
meterPower metersCT / power meters for monitoring and export control