Generate theme
A palette from a sentence, or from the customer's own website.
- Authentication
- Bearer token
- Retries
- Idempotency-Key
- Body
- application/json
- Version
- 2026-09-03
Returns the theme without saving it unless apply is set. A colour scheme is the most visible thing about a widget and the cheapest to disagree with, so the default is to propose rather than to change - the tenant sees it in the preview and decides.
The palette is contrast-corrected before it is returned, not validated and rejected. Failing this request because a model chose a slightly too-light grey would leave the customer with an error about a hex code they never picked; correcting it and telling them what changed is the useful version of the same rule. See theme_service.readable_theme.
Path parameters#
Headers#
Request body#
Responses#
Errors#
Failures use one envelope on every endpoint, described in Retries, versioning and limits. The codes you are most likely to meet here:
validation_error· 422 — The payload was well-formed JSON but failed schema validation.unauthenticated· 401 — The request carried no API key, or one the API could not verify.forbidden· 403 — The key is valid, but it is not allowed to do this — either the scope is missing or the resource belongs to another workspace.idempotency_key_reused· 422 — This `Idempotency-Key` was used before, for a request with a different body.rate_limited· 429 — Too many requests in the current window. The limit is per workspace, and some endpoints add a per-agent limit on top.
More Agents endpoints#
Something unclear or missing? Tell us and we’ll fix it.