> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mithunai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get your organization's resolved theme

> Your organization's branding with every platform default filled in, as CSS custom properties, as the full brand model, or as a LibreChat theme definition.

Returns your organization's branding **resolved**: your overrides applied on top of the platform default, with nothing left blank. [Get branding](/api-reference/branding/get-branding) returns only what you have overridden; use this when another application has to render with your brand and cannot resolve the defaults itself.

`format` chooses the encoding. `css` is a stylesheet of `--arukz-*` custom properties you can link or inline. `json` is the whole resolved brand, in the same camelCase shape as the branding layer. `librechat` is a theme definition for a LibreChat interface, with each colour as an `R G B` triplet.

The organization is always the one your credential belongs to; there is no parameter that names another, and an unrecognised query parameter is ignored. Every organization role can read the theme. The response carries `Cache-Control: private, no-store`, because it differs per organization, and an `ETag` holding the branding `revision`.

<ParamField query="format" type="string" default="css">
  `css`, `json` or `librechat`. Any other value returns `400`.
</ParamField>

## Response

With `format=css`, the body is `text/css`: one `:root` block of custom properties for the light appearance, and the dark values under both `prefers-color-scheme: dark` and `[data-arukz-theme='dark']`. The properties are `--arukz-color-*`, `--arukz-font-*`, `--arukz-radius-*`, `--arukz-elevation-*` and `--arukz-base-*`.

With `format=json`, the body is the resolved brand:

<ResponseField name="identity" type="object" required>
  `productName`, `productShortName`, `companyName`, `companyLegalName` and `tagline`.
</ResponseField>

<ResponseField name="assets" type="object" required>
  `logoLight`, `logoDark`, `logoMark`, `favicon` and `ogImage`. Each is a URL or a `data:` URI, or
  `null` when there is none.
</ResponseField>

<ResponseField name="theme" type="object" required>
  `colors` (a `light` and a `dark` palette, every key present), `typography`, `shape` and
  `modeDefault`.
</ResponseField>

<ResponseField name="domains" type="object" required>
  `consoleUrl`, `apiUrl`, `widgetUrl`, `docsUrl` and `supportUrl`.
</ResponseField>

<ResponseField name="legal" type="object" required>
  `termsUrl`, `privacyUrl`, `copyrightNotice` and `attributionNotices`. The attribution notices are
  third-party notices the platform displays. They are read-only here: they are not part of your
  branding layer and cannot be set, changed or removed through this API.
</ResponseField>

<ResponseField name="surfaces" type="object" required>
  Display toggles for the `console` and the `widget`.
</ResponseField>

With `format=librechat`, the body is a theme definition:

<ResponseField name="version" type="integer" required>
  The definition's version. `1`.
</ResponseField>

<ResponseField name="name" type="string" required>
  The product name.
</ResponseField>

<ResponseField name="modes" type="object" required>
  A `light` and a `dark` entry. Each has `colors`, a map of `rgb-*` keys to `R G B` triplets, and
  `appearance`, which holds `controlRadius`, `surfaceRadius`, `controlHeight` and `fontFamily`.
</ResponseField>

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl --request GET "$MITHUNAI_URL/mithunai/api/v1/branding/theme?format=css" \
    --header "Authorization: Bearer $MITHUNAI_API_KEY"
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import os, requests

  response = requests.get(
      f"{os.environ['MITHUNAI_URL']}/mithunai/api/v1/branding/theme",
      headers={"Authorization": f"Bearer {os.environ['MITHUNAI_API_KEY']}"},
      params={"format": "css"},
      timeout=60,
  )
  response.raise_for_status()
  print(response.text)
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const params = new URLSearchParams({ format: 'css' })
  const response = await fetch(
    `${process.env.MITHUNAI_URL}/mithunai/api/v1/branding/theme?${params}`,
    {
      headers: { Authorization: `Bearer ${process.env.MITHUNAI_API_KEY}` },
    },
  )
  console.log(await response.text())
  ```
</RequestExample>

<ResponseExample>
  ```css 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  :root {
    --arukz-color-background: #faf8f2;
    --arukz-color-surface: #ffffff;
    --arukz-color-border: #ded6c7;
    --arukz-radius-md: 12px;
    /* …the rest of the light palette, typography, radii and elevation */
  }

  @media (prefers-color-scheme: dark) {
    :root:not([data-arukz-theme='light']):not(.light) {
      /* …the dark palette */
    }
  }
  ```

  ```json 400 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  { "code": "validation_error", "message": "format must be one of css, json, librechat." }
  ```

  ```json 401 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  { "code": "authentication_error", "message": "Authentication is required." }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.