> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tastelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The design system

> What result.design_system contains

When a submission completes, `result.design_system` carries the design system the [Extractor](/concepts/architecture#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

| Section        | Holds                                                      |
| -------------- | ---------------------------------------------------------- |
| `profile`      | Brand profile: name, industry, tone, strategy (see below). |
| `layout`       | Page layout structure.                                     |
| `colors`       | Color palettes and shades.                                 |
| `typography`   | Type scale and font specs.                                 |
| `surfaces`     | Surface / background styles.                               |
| `elevation`    | Shadows and borders.                                       |
| `interactions` | Interaction and motion styles.                             |
| `actions`      | Buttons and other actions.                                 |
| `navigation`   | Navigation patterns.                                       |
| `data_display` | Tables, lists, and data components (nullable).             |
| `structure`    | Structural primitives (nullable).                          |
| `icons`        | Icons used on the page (nullable).                         |
| `assets`       | Logos, images, and other assets.                           |
| `sections`     | Page sections in order.                                    |

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](/concepts/submissions#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`](/api-reference/endpoint/get-submission-result) and get back only those sections:

```bash theme={null}
curl "https://api.tastelabs.com/design/submissions/SUBMISSION_ID/result?sections=colors,typography" \
  -H "X-API-Key: your-api-key"
```

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.

<Warning>
  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.
</Warning>

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.

<Accordion title="Allowed primary_style values">
  **Historical movement:** Bauhaus, Swiss Style / International Typographic Style, De Stijl / Neoplasticism, Art Nouveau, Art Deco, Constructivism, Futurism, Pop Art, Psychedelic, Postmodernism, Brutalism, Grunge, Retro, Maximalism

  **Digital / UI design:** Flat Design, Skeuomorphism, Neumorphism / Neomorphism, Glassmorphism, Claymorphism, Isometric Design

  **Tonal / audience:** Corporate, Elegant, Luxurious, Playful, Whimsical, Feminine, Masculine, Gen-Z, Bold, Friendly, Organic

  **Contemporary aesthetic:** Vaporwave, Y2K, Cyberpunk, Synthwave, Corporate Memphis / Alegria, Kawaii / Cute Design, Anime / Manga Style, Hand-Drawn
</Accordion>
