Replace the brand kit
Replace the whole brand kit. There is no PATCH: an omitted field clears that part of the kit. The logo must be media this workspace owns, named by its immutable `cdn.roasos.com` URL — upload it at `POST /v1/uploads` first. A URL from another workspace is refused with `reference_media_not_workspace_owned`, and a Discover creative is refused by name with `discover_source_not_allowed`. Colours are lower-case six-digit hex, one per role. Fonts are NAMES, not files: roasOS hosts no font and embeds none, so a later render maps the name onto a bundled fallback. That is a real limit, not a placeholder. Free, and there is no quote: proving your logo does not buy it.
Replace the whole brand kit. There is no PATCH: an omitted field clears that part of the kit.
The logo must be media this workspace owns, named by its immutable cdn.roasos.com URL — upload it at POST /v1/uploads first. A URL from another workspace is refused with reference_media_not_workspace_owned, and a Discover creative is refused by name with discover_source_not_allowed.
Colours are lower-case six-digit hex, one per role. Fonts are NAMES, not files: roasOS hosts no font and embeds none, so a later render maps the name onto a bundled fallback. That is a real limit, not a placeholder.
Free, and there is no quote: proving your logo does not buy it.
Authorization
bearerAuth API key authentication. Use your API key as the bearer token: Authorization: Bearer roasos_sk_...
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/brand-kit" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "schema_version": "brand-kit@1", "kind": "brand_kit", "logo_url": "http://example.com", "logo_dark_url": "http://example.com", "colors": { "primary": "string", "secondary": "string", "accent": "string", "background": "string", "text": "string" }, "fonts": { "heading": "string", "body": "string" }, "cta_text": "string", "cta_url": "http://example.com", "source_analysis_id": "39fd60e7-a97c-4723-a6ca-600c3c203434", "updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }}Get the brand kit
Read this workspace's brand kit: the logo, the five colour roles, the two font names and the call to action. Free, and there is no quote: this is a metadata read.
List pinned facts
Read the creative-direction facts this workspace has pinned: brand voice, audience, hooks, banned phrases, wins and notes. These are the same rows the agent reads in chat. Free, and there is no quote.