Get the branding draft

GET /v1/branding · permission branding:read

Returns the environment's branding draft: theme tokens, custom CSS and page template. The draft is not live; hosted pages use the last published version (POST /v1/branding:publish). If nothing was written yet the theme is empty, ETag is "0" and updated_at is null. Send the ETag as If-Match on the next write.

Request

This operation takes no path, query or body fields. The environment comes from the credential.

Response

200 OK with the environment draft and its ETag. theme holds only the tokens that are set; unset tokens inherit from the platform default.

{
  "theme": {"mode": "light", "light": {"color": {"primary": "#0a3d91"}}, "logo_height": 40},
  "css": null,
  "page_template": null,
  "updated_at": "2026-10-05T09:30:00.123456Z"
}

Errors

HTTP code When
401 unauthenticated The credential is missing, invalid or revoked.
403 insufficient_permissions The credential lacks the required permission.
429 rate_limited The rate limit was exceeded; retry after the Retry-After period.
503 service_unavailable A dependency is temporarily unavailable; retry after the Retry-After period.

Example

curl https://api.eu.keenauth.com/v1/branding \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"