Brand profile

Your brand profile is the reusable, on-brand object shared across every render in a workspace: the logo, brand colours, and typography roles that keep output consistent without re-sending them on each call. A render reads the profile automatically — your workspace brand is applied even when you only send content values.

Read the profile

GET /v1/profile returns your workspace's brand profile as a map of brand role → typed entry:

curl -sS "https://api.lemtika.com/v1/profile" \
  -H "Authorization: Bearer $LEMTIKA_API_KEY"
{
  "variables": {
    "brand.logo":    { "type": "image", "bindsTo": "brand.logo",    "value": { "asset": "asset:logo" } },
    "brand.primary": { "type": "colour", "bindsTo": "brand.primary", "value": "#1A1A2E" }
  },
  "updatedAt": "2026-06-07T00:00:00.000Z"
}

Each entry's value shape depends on its type (a hex string for a colour, a media ref for an image). The brand profile is edited in the app under Settings → Shared variables.

How brand values flow into a render

A template variable with a bindsTo brand role (visible in GET /v1/catalog/{id}) is pre-filled from the matching profile entry. So if a template declares logo with bindsTo: "brand.logo", you don't have to send a logo — the render pulls it from your profile.

Precedence: an explicit key in values overrides the brand-bound default for that render. Omit the key to use the brand value.

The profileRef field

By default a render uses your workspace profile. To render against a specific brand profile, pass profileRef on POST /v1/render:

{
  "templateId": "tmpl_og_card",
  "values": { "headline": "Launch day" },
  "profileRef": "<brand-profile-reference>"
}

Omit profileRef to fall back to the workspace profile.