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

# Employer-level theming

> Manage a theme for a specific employer that overrides your account default. Covers supported methods, configuration structure, and CRUD examples.

Use this endpoint to manage an application theme for a specific employer:

`/v1/employers/{employerId}/applicationTheme`

Employer-level themes apply only to the specified employer and take precedence over any account-level theme. They use the same `custom_app_theme` object as account-level themes—see [Custom Theming for Embedded Experiences](/i9/custom-theming/app-theming#supported-elements) for the full list of supported properties.

Use an employer-level theme when a single employer needs its own branding, when you support white-label or customer-specific designs, or when you need to override the account default for one employer without affecting the others.

## Supported methods

| Method   | Behavior                                               |
| -------- | ------------------------------------------------------ |
| `GET`    | Retrieves the theme for the specified employer         |
| `POST`   | Applies a theme to the specified employer              |
| `PATCH`  | Partially updates the theme for the specified employer |
| `DELETE` | Removes the theme for the specified employer           |

## Configuration structure

All theming customizations are defined in a single JSON object under `custom_app_theme`.

```json theme={null}
{
  "custom_app_theme": {
    "alerts": {/* Notification styling with variants */},
    "body": {/* Body text styling */},
    "buttons": {/* Button styling with variants and states */},
    "formControl": {/* Input field styling */},
    "headings": {/* H1-H6 typography */},
    "link": {/* Link styling and hover states */}
  }
}
```

Each section supports a predefined set of properties. Any unsupported properties are ignored and do not affect the rendered embedded UI.

## Examples

### Retrieve theme for specific employer

#### Request

`GET /v1/employers/{employerId}/applicationTheme`

```bash theme={null}
curl -X GET \
  "https://api.symmetry.com/i9/v1/employers/{employerId}/applicationTheme" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json"
```

#### Response

Returns the employer's complete `custom_app_theme` object—the same structure shown in the [account-level example](/i9/custom-theming/account-level-theming#apply-a-theme-to-all-employers-in-your-account).

### Apply theme to specific employer

Use `POST` to create or fully replace an employer-level theme. The request body is the complete `custom_app_theme` object; see the [account-level example](/i9/custom-theming/account-level-theming#apply-a-theme-to-all-employers-in-your-account) for a full payload.

#### Request

`POST /v1/employers/{employerId}/applicationTheme`

```json theme={null}
{
  "custom_app_theme": {
    "body": { "fontSize": "14px", "color": "#525257" },
    "link": { "color": "#0a8080", "hoverColor": "#005c5c" }
  }
}
```

#### Response

The response returns the full theme as applied.

### Partially update a theme

Use `PATCH` to update only the specified properties. All other existing theme values remain unchanged.

#### Request

`PATCH /v1/employers/{employerId}/applicationTheme`

```json theme={null}
{
  "custom_app_theme": {
    "body": {
      "fontSize": "15px",
      "color": "#525257"
    }
  }
}
```

#### Response

The response returns the complete theme with the updates applied.

### Delete a theme

Removing an employer-level theme restores the Symmetry default styling for that employer. Because account-level themes are cascaded to each employer when you apply them rather than inherited at render time, deleting an employer's theme does not restore the account-level theme. To put the account branding back, [re-apply the account-level theme](/i9/custom-theming/account-level-theming) or `POST` the theme to that employer again.

#### Request

`DELETE /v1/employers/{employerId}/applicationTheme`

```bash theme={null}
curl -X DELETE "https://api.symmetry.com/i9/v1/employers/0456sdfAfrd/applicationTheme" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json"
```

#### Response

A successful request returns HTTP `200 OK`.
