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

> ## Agent Instructions
> Read /start/capabilities before choosing an integration. Use the deployed server’s tools/list for current tool inputs.

# Configuration & schemas

> Generated JSON Schema and field limits from the runtime source.

This reference is generated from the current checkout's [management schemas](https://github.com/ion-design/dynamite/blob/main/packages/adaptive/src/management-schema.ts) on every documentation build. Download these files instead of copying old schemas from internal notes.

| Contract | Download |
| - | - |
| VisitorSite | [JSON Schema](https://docs.usedynamite.com/schemas/VisitorSite.json) |
| Target | [JSON Schema](https://docs.usedynamite.com/schemas/Target.json) |
| Variant | [JSON Schema](https://docs.usedynamite.com/schemas/Variant.json) |
| Component | [JSON Schema](https://docs.usedynamite.com/schemas/Component.json) |
| Workspace | [JSON Schema](https://docs.usedynamite.com/schemas/Workspace.json) |
| SaveWorkspace | [JSON Schema](https://docs.usedynamite.com/schemas/SaveWorkspace.json) |
| PersonaTrigger | [JSON Schema](https://docs.usedynamite.com/schemas/PersonaTrigger.json) |
| ConversionGoal | [JSON Schema](https://docs.usedynamite.com/schemas/ConversionGoal.json) |
| DataConnector | [JSON Schema](https://docs.usedynamite.com/schemas/DataConnector.json) |
| SettingsUpdate | [JSON Schema](https://docs.usedynamite.com/schemas/SettingsUpdate.json) |

## How the objects fit together

A **workspace** has an administrative UUID, exact origin, draft site, components and optional research/documents. Its **VisitorSite** has a separate logical site ID, revision, pages, products, targets, actions and memory limits. Each page binds target IDs. Each target names its default variant and all approved alternatives. Component references are resolved into variant HTML when the site is prepared.

The browser script's `data-site` and runtime URL use the **workspace UUID**. Decision bodies use **draft.id / released site.id**, **revision**, and the registered **page.id**. These identifiers are not interchangeable.

## Limits worth designing around

| Collection or field | Limit |
| - | - |
| Site pages / products | 500 each |
| Site targets / actions / attention sections | 50 each |
| Variants per target | 1–40, including original |
| Native order items | 2–50 |
| Component library | 100 components |
| Variant HTML / component HTML | 24,000 characters |
| Selector | 500 characters on a target |
| Profile events | Configurable 1–500 |
| Profile / event TTL | 1 minute–365 days |
| Goals | 20; exactly one primary if nonempty |
| Connectors | 5; timeout 200–4,000 ms |
| Documents | 30; 20,000 characters each; 60,000 total in a workspace |

## Semantic validation

JSON Schema expresses structure and many bounds. Zod refinements also enforce cross-field relationships; exported JSON Schema does **not** encode every refinement. Validate with the server or `visitorSiteSchema.parse()` before saving. In particular:

* IDs, page paths, variant IDs and bindings must be unique in their respective collections.
* Every target must contain its declared default; page references must resolve to known targets/products.
* Only component targets support `placement: 'after'`.
* Control targets require a control adapter and nonempty option values, not HTML components.
* Native order variants must be permutations of exactly the registered item IDs.
* Editorial targets require compatible source, template and policy configuration.
* Persona triggers choose exactly one of page visits or section attention.

See [config as code](https://docs.usedynamite.com/agents/config-as-code.md) for a complete round trip. `update_website.config` takes `{ draft, components, documents?, goals? }`, not an entire workspace. The MCP resource `dynamite://schemas/workspace` describes the enclosing workspace shape; use the tool's own input schema for its exact request.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.