Employer-Level Theming
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.
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.
{
"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
curl -X PATCH \
https://api.symmetry.com/i9/v1/employers/0156AgfRsd/applicationTheme \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
Response
{
"custom_app_theme": {
"body": {
"fontSize": "15px",
"color": "#525257"
},
"link": {
"hoverColor": "#005c5c",
"hoverDecoration": "underline",
"color": "#0a8080",
"decoration": "underline"
},
"headings": {
"h1": {
"fontSize": "32px",
"fontWeight": "500",
"color": "#262626"
},
"h2": {
"fontSize": "50px",
"fontWeight": "500",
"color": "#000fff"
}
},
"alerts": {
"borderWidth": "1px",
"borderRadius": "4px",
"variants": {
"primary": {
"backgroundColor": "#fdfcff",
"borderColor": "#006cc1"
},
"danger": {
"backgroundColor": "#fffbfb",
"borderColor": "#c53336"
}
}
},
"buttons": {
"borderRadius": "4px",
"variants": {
"primary": {
"backgroundColor": "#0A8080",
"activeBackgroundColor": "#005c5c"
},
"default": {
"borderColor": "#1c1c1c"
}
}
},
"formControl": {
"borderColor": "#929292",
"borderRadius": "4px",
"focusBorderColor": "#005c5c"
}
}
}
Apply theme to specific employer
Use POST to create or fully replace an employer-level theme.
Request
POST /v1/employers/{employerId}/applicationTheme
{
"custom_app_theme": {
"body": {
"fontSize": "14px",
"color": "#525257"
},
"link": {
"hoverColor": "#005c5c",
"hoverDecoration": "underline",
"color": "#0a8080",
"decoration": "underline"
},
"headings": {
"h1": {
"fontSize": "32px",
"fontWeight": "500",
"color": "#262626"
},
"h2": {
"fontSize": "50px",
"fontWeight": "500",
"color": "#000fff"
}
},
"alerts": {
"borderWidth": "1px",
"borderRadius": "4px",
"variants": {
"primary": {
"backgroundColor": "#fdfcff",
"borderColor": "#006cc1"
},
"danger": {
"backgroundColor": "#fffbfb",
"borderColor": "#c53336"
}
}
},
"buttons": {
"borderRadius": "4px",
"variants": {
"primary": {
"backgroundColor": "#0A8080",
"activeBackgroundColor": "#005c5c"
},
"default": {
"borderColor": "#1c1c1c"
}
}
},
"formControl": {
"borderColor": "#929292",
"borderRadius": "4px",
"focusBorderColor": "#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
{
"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 causes the embedded UI to fall back to the account-level theme, if one exists.
Request
DELETE /v1/employers/{employerId}/applicationTheme
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.
Updated 3 days ago