heydecks

API

Brands

List, create, and extract brands. The Brand Kernel turns any public URL into a full palette + typography spec.

Base URL: https://heydecks.com

All endpoints require Authorization: Bearer hd_live_….

#GET /v1/brands

List all brands in your workspace.

Shell
curl https://heydecks.com/v1/brands \
  -H "Authorization: Bearer hd_live_…"

200 Response — array of brand objects:

JSON
[
  {
    "id": "brand_xyz",
    "name": "Acme Corp",
    "is_active": true,
    "colors": { "primary": "#1B40F2" },
    "typography": { "heading": "Inter" },
    "tone": "professional"
  }
]

The brand with is_active: true is the workspace default — it is applied automatically when brand_id is omitted from POST /v1/generate.

#POST /v1/brands

Create a new empty brand.

NameTypeRequiredDescription
namestringYesBrand display name.
Shell
curl -X POST https://heydecks.com/v1/brands \
  -H "Authorization: Bearer hd_live_…" \
  -H "Content-Type: application/json" \
  -d '{"name": "Acme Corp"}'

201 Response:

JSON
{
  "id": "brand_new",
  "name": "Acme Corp",
  "is_active": false,
  "colors": null,
  "typography": null,
  "tone": null
}

Populate the brand's tokens via the dashboard Brand editor, or use the MCP update_brand tool.

#POST /v1/brands/extract

Brand Kernel. Fetch a public URL, analyse its palette, typography, and tone, and return an ExtractedBrand payload ready to review and save.

Costs 5 credits. Refunded on failure. The result is returned inline — nothing is persisted automatically.

NameTypeRequiredDescription
urlstringYesPublic https:// URL to analyse. Must start with https://.
Shell
curl -X POST https://heydecks.com/v1/brands/extract \
  -H "Authorization: Bearer hd_live_…" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://acme.com"}'

extract returns the brand payload without creating a brand record. To persist it, create a brand via POST /v1/brands and then apply the extracted tokens via the dashboard or the MCP update_brand tool.

200 ResponseExtractedBrand object with the analysed palette, typography, and tone.

#Brand limits by plan

PlanBrands
Free1
Solo3
Pro10
TeamUnlimited
AgentUnlimited
EnterpriseUnlimited

Exceeding the limit returns 402 brand_limit. Upgrade to add more brands.