MethodPathSummaryAuth
GET/v1/theme/assets/{sha}—Session
GET/v1/theme/auth-style—Session
GET/v1/theme/auth-style/assets/{sha}—Session
GET/v1/theme/current—Session
GET/v1/theme/theme.{sha}.css—Session
GET/v1/theme/theme.{sha}.json—Session

Contract file:api/control-themes.openapi.yaml

Operation details

GET /v1/theme/assets/{sha}

operationId
getThemeAsset
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

A theme brand image (png/jpeg/ico). Immutable.

Parameters

getThemeAsset Parameters
NameInTypeRequiredDescription
shapathstringYes—

Responses

getThemeAsset Responses
StatusDescription
200Image
404Unknown digest

What to do on failure

  • 404 The resource does not exist or belongs to another tenant.

↑ Back to list

GET /v1/theme/auth-style

operationId
getThemeAuthStyle
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Public sign-in page style of the theme plugin active on the user console (site theme C, auth_style): CSS the console puts in a <style> of its own on /auth/* and the plugin's images. Forms and submission stay the platform's; nginx serves /auth/* with img-src, font-src and connect-src 'self'. An empty css without one. Cache-Control no-cache.

Responses

getThemeAuthStyle Responses
StatusDescription
200Sign-in style

Fields:css: string images: object

405Not GET or HEAD

↑ Back to list

GET /v1/theme/auth-style/assets/{sha}

operationId
getThemeAuthStyleAsset
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

An image of an installed plugin's sign-in style, served with a sandboxing CSP. Immutable.

Parameters

getThemeAuthStyleAsset Parameters
NameInTypeRequiredDescription
shapathstringYes—

Responses

getThemeAuthStyleAsset Responses
StatusDescription
200Image
404Unknown digest

What to do on failure

  • 404 The resource does not exist or belongs to another tenant.

↑ Back to list

GET /v1/theme/current

operationId
getCurrentTheme
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Public pointer to the theme the caller sees (Cache-Control no-store). A tenant session gets its tenant's theme; without a session, a Host bound to a tenant (sign-in page) gets that tenant's theme; the platform console and everyone else get the platform theme (the default theme until one is activated).

Parameters

getCurrentTheme Parameters
NameInTypeRequiredDescription
AuthorizationheaderstringNoOptional bearer session

Responses

getCurrentTheme Responses
StatusDescription
200Active theme

Fields:schema: const cdnca.theme.current/v1 revision: integer theme_id: string version: string package_sha256: string tokens_url: string stylesheet_url: string scope?: any brand_assets?: object

↑ Back to list

GET /v1/theme/theme.{sha}.css

operationId
getThemeStylesheet
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Rendered custom properties on :root[data-cdnca-theme], then one block per tokens_by_role role on :root[data-cdnca-theme][data-cdnca-role="admin"|"user"] carrying only that role's overrides. Immutable.

Parameters

getThemeStylesheet Parameters
NameInTypeRequiredDescription
shapathstringYes—

Responses

getThemeStylesheet Responses
StatusDescription
200Stylesheet
404Unknown digest

What to do on failure

  • 404 The resource does not exist or belongs to another tenant.

↑ Back to list

GET /v1/theme/theme.{sha}.json

operationId
getThemeTokens
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Rendered tokens (cdnca.theme.rendered/v1) for ConfigProvider and layout slots. Immutable.

Parameters

getThemeTokens Parameters
NameInTypeRequiredDescription
shapathstringYes—

Responses

getThemeTokens Responses
StatusDescription
200Rendered theme

Fields:schema: const cdnca.theme.rendered/v1 id: string version: string package_sha256: string name: object antd_tokens: object antd_tokens_by_role?: object css_variables: object layout: object brand: object

404Unknown digest

What to do on failure

  • 404 The resource does not exist or belongs to another tenant.

↑ Back to list