curl --request POST \
--url https://api.tastelabs.com/design/submissions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"url": "https://stripe.com"
}
'{
"submission_id": "sub_2f9a1c7b",
"status": "accepted",
"source_url": "https://stripe.com",
"accepted_at": "2026-06-10T12:00:00Z",
"cache_hit": false
}{
"detail": {
"error": "UNAUTHORIZED",
"message": "Bearer token or X-API-Key required"
}
}{
"detail": {
"error": "INSUFFICIENT_CREDITS",
"message": "Not enough credits for this request.",
"balance": 0,
"required": 1
}
}{
"detail": {
"error": "FORBIDDEN",
"message": "This key is not allowed to call this endpoint."
}
}{
"detail": {
"error": "SELECTIVE_MAP_UNSUPPORTED",
"message": "sections cannot be combined with map=true"
}
}Internal Server ErrorCreate submission
Creates an extraction job for a single URL. The job runs asynchronously: poll GET /submissions/{id}/result until the status is completed or failed.
Set the map query parameter to true to run map-mode discovery, which crawls the site and submits multiple URLs (up to max_urls).
Pass a nonempty sections array in the JSON body to extract only selected parts. Omit it or send null for a full extraction. Selection is supported for single URLs and cannot be combined with map=true or enable_deep_analysis=true.
Selective results are saved for retrieval but never reused as cache sources. A recent full cached extraction can satisfy a selective request; only requested sections are returned. Set force=true to bypass cache reuse.
If explicitly requested assets/icons extraction fails after retries, the job fails and its credits are refunded. Successfully finding no assets/icons is a valid result.
Fresh full extractions include brand_assets by default. Pass sections=[“brand_assets”] to extract only brand imagery. Existing saved results are not updated automatically; set force=true to collect fresh assets. Brand asset processing failure can leave this section null on a full extraction, but fails a fresh selective submission that requests it. Finding no images is a successful empty result. See Brand assets.
curl --request POST \
--url https://api.tastelabs.com/design/submissions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"url": "https://stripe.com"
}
'{
"submission_id": "sub_2f9a1c7b",
"status": "accepted",
"source_url": "https://stripe.com",
"accepted_at": "2026-06-10T12:00:00Z",
"cache_hit": false
}{
"detail": {
"error": "UNAUTHORIZED",
"message": "Bearer token or X-API-Key required"
}
}{
"detail": {
"error": "INSUFFICIENT_CREDITS",
"message": "Not enough credits for this request.",
"balance": 0,
"required": 1
}
}{
"detail": {
"error": "FORBIDDEN",
"message": "This key is not allowed to call this endpoint."
}
}{
"detail": {
"error": "SELECTIVE_MAP_UNSUPPORTED",
"message": "sections cannot be combined with map=true"
}
}Internal Server ErrorAuthorizations
API key issued by the Taste Engine. Create one in the dashboard at https://engine.tastelabs.com/app/api-keys.
Query Parameters
When true, discover and submit multiple URLs from the site instead of just the one provided. Cannot be combined with a sections selection.
Maximum number of URLs to discover in map mode. The server clamps this to 200.
1 <= x <= 200Body
The URL to extract a design system from.
Re-run extraction even if a cached result exists.
Run additional, slower analysis steps. Cannot be combined with sections.
Design-system sections to extract and return. Omit or pass null for a full extraction. Empty arrays and unknown names return 422; duplicates are removed. Cannot be combined with map=true or enable_deep_analysis=true. An explicit list of every section is still a selective extraction. Selecting fewer sections does not change the credit price. Use ["brand_assets"] to extract only brand imagery from ads, social channels, and campaigns.
1A top-level section of result.design_system. Use in the submission body to select extraction work, or in the result query to filter an existing result. The value "sections" means descriptions of the page sections in order.
profile, layout, colors, typography, surfaces, elevation, interactions, actions, navigation, data_display, structure, icons, assets, sections, brand_assets ["colors", "typography"]
Was this page helpful?

