Base URL
All endpoints are served from a single base URL:Authentication
Every request is authenticated with an API key sent in theX-API-Key header:
GET /design/submissions/{id}/result, GET /design/submissions/{id}/download, and GET /judge/brand-adherence/{job_id}/result are the only endpoints where authentication is optional. With a valid key, you can read your own private results; without one, only results that have been made public are returned.401 UNAUTHORIZED. See Authentication for the full model.
Errors
Errors nest a consistent envelope underdetail, with a machine-readable error code and a human-readable message:
For polling guidance and the full breakdown, see Errors & status codes.
Typical flow
Extraction runs asynchronously. Submit a URL, then poll the result endpoint until the job finishes.1
Submit a URL
Call
POST /design/submissions with the URL to extract. You receive a submission_id and a 202 Accepted response.2
Poll for the result
Call
GET /design/submissions/{id}/result until the status is completed or failed. While the job runs you may receive a 200 with a partial result, or a 409 NOT_READY before the first checkpoint lands.3
Read the design system
On success,
result.design_system contains the extracted design system and result.artifacts links to the captured source artifacts.Learn more
Extract a brand
Statuses, polling, caching, and map mode.
The design system
The structure of
result.design_system.Brand search
Find brands by aesthetic or by similarity, synchronously.
Brand adherence
Score how well a page follows a reference brand.

