Skip to main content
When a submission completes, result.design_system carries the design system the Extractor produced. Sub-sections fill in as the workflow streams, so when you read a partial result, expect null for sections that haven’t landed yet.

Top-level sections

The freshness of a design system lives on the response envelope: completed_at is when it was extracted. On a cache hit it reflects the original extraction, not your request. See Caching and freshness.

Requesting only the sections you need

A full design system is a large document, and it isn’t evenly distributed: assets is commonly around 40% of it and layout around 20%. When you only need part of the brand, pass sections to GET /design/submissions/{id}/result and get back only those sections:
Accepted values are the section names in the table above. A name that isn’t in that list returns 422. Filtering applies to result.design_system only. The response envelope (status, source_url, completed_at, and the rest) and result.artifacts always come back, so you can poll with a narrow request and still see when the job finishes.
Pass the sections as one comma-separated value (?sections=colors,typography). Repeating the parameter (?sections=colors&sections=typography) does not work: the gateway keeps only the last value, so the earlier sections are silently dropped.
This matters most for AI agents, where the response is charged as context. The same filter is available on the MCP server as get_brand_extraction_result(submission_id, sections=[...]).

The brand profile

profile summarizes the brand and its intent:
  • brand_name, source_url
  • industry, primary_purpose, main_cta
  • page_type_category, page_type
  • copy_tone: tone adjectives, e.g. ["Confident", "Technical", "Direct"]
  • brand_signature: a short description of the visual identity
  • visual_language: keywords, accent_strategy, highlights
  • strategy: target_audience and executive_synthesis
  • style_classification: design-style classification (see below)

Style classification

style_classification.primary_style is constrained to a fixed set of styles, with no custom values. secondary_style is drawn from the same set.
Historical movement: Bauhaus, Swiss Style / International Typographic Style, De Stijl / Neoplasticism, Art Nouveau, Art Deco, Constructivism, Futurism, Pop Art, Psychedelic, Postmodernism, Brutalism, Grunge, Retro, MaximalismDigital / UI design: Flat Design, Skeuomorphism, Neumorphism / Neomorphism, Glassmorphism, Claymorphism, Isometric DesignTonal / audience: Corporate, Elegant, Luxurious, Playful, Whimsical, Feminine, Masculine, Gen-Z, Bold, Friendly, OrganicContemporary aesthetic: Vaporwave, Y2K, Cyberpunk, Synthwave, Corporate Memphis / Alegria, Kawaii / Cute Design, Anime / Manga Style, Hand-Drawn