Skip to content

Branding

You can change the look and feel of The Bridge by changing your app’s branding. The Bridge supports:

  • Custom email templates for emails sent to your users
  • Custom CSS for hosted views (login, user management portal)
  • Custom translations for hosted views

Override one of the predefined templates. When you override a template, The Bridge will use this content for all languages.

| Template | Description | |----------|-------------| | RESET-PASSWORD | Sent when user requests a new password | | SIGNUP | Sent when a user signs up for a new tenant | | INVITE_NEW | Sent when a new user is invited to a tenant | | INVITE_EXISTING | Sent when an existing user is invited to another tenant | | PAYMENT_FAILURE | Sent to the tenant owner on subscription payment failures | | BASE | Used for transactional emails sent through the API |

| Variable | Example | Description | |----------|---------|-------------| | appName | My app | Your app name | | appLogo | https://url-to-logo.png | Your app logo URL | | appUrl | https://url-to-app.com | URL to your app frontend | | emailTitle | Reset your password | Email title from standard texts | | emailBody | To reset your password… | Email content from standard texts | | ctaTitle | Reset password | Call-to-action button title | | ctaUrl | https://unique-link… | Unique CTA link for this email | | currentYear | 2025 | Current year |

PUT https://api.thebridge.dev/communication/email/template/:templateName

Body Parameters

ParameterTypeRequiredDescription
typestringRequiredAny of the available template names listed above
testRecipientstringOptionalIf provided, a test email will be sent with the updated template
contentstringRequiredThe template content in HTML

HTTP 200: Template updated.

Request example

curl --request PUT 'https://api.thebridge.dev/communication/email/template/SIGNUP' \
--header 'x-api-key: YOUR_APP_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
  "type": "SIGNUP",
  "testRecipient": "john@doe.com",
  "content": "<h1>Signup</h1><a href=\"{{ctaUrl}}\">Click here</a>"
}'
PUT Try it out
PUT https://api.thebridge.dev/communication/email/template/SIGNUP
Stored in session memory only. Never persisted.
Template name

GET https://api.thebridge.dev/communication/email/template/:templateName

HTTP 200: Returns the template object.

Request example

curl --request GET 'https://api.thebridge.dev/communication/email/template/SIGNUP' \
--header 'x-api-key: YOUR_APP_API_KEY'

Response example:

{
    "type": "SIGNUP",
    "content": "<h1>Signup</h1><a href=\"{{ctaUrl}}\">Click here</a>"
}
GET Try it out
GET https://api.thebridge.dev/communication/email/template/:templateName
Stored in session memory only. Never persisted.
Template name (SIGNUP, RESET-PASSWORD, INVITE_NEW, etc.)

Deleting a custom template will restore The Bridge default template.

DELETE https://api.thebridge.dev/communication/email/template/:templateName

curl --request DELETE 'https://api.thebridge.dev/communication/email/template/SIGNUP' \
--header 'x-api-key: YOUR_APP_API_KEY'

The CSS is used by The Bridge cloud views, like Login and User Management Portal.

POST https://api.thebridge.dev/admin/brand/css

curl --request POST 'https://api.thebridge.dev/admin/brand/css' \
--header 'x-api-key: YOUR_APP_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
  "content": "html,body { background-color: red; }"
}'

Body Parameters

ParameterTypeRequiredDescription
contentstringRequiredThe CSS content
POST Try it out
POST https://api.thebridge.dev/admin/brand/css
Stored in session memory only. Never persisted.

GET https://api.thebridge.dev/admin/brand/css

{
    "content": "html,body { background-color: red; }"
}
GET Try it out
GET https://api.thebridge.dev/admin/brand/css
Stored in session memory only. Never persisted.

Deleting custom CSS will restore The Bridge default styling.

DELETE https://api.thebridge.dev/admin/brand/css


The translations are used by The Bridge cloud views, like Login and User Management Portal.

POST https://api.thebridge.dev/cloud-views/brand/translations

curl --request POST 'https://api.thebridge.dev/cloud-views/brand/translations' \
--header 'x-api-key: YOUR_APP_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
  "Login": "Log in",
  "Email address": "Email"
}'
POST Try it out
POST https://api.thebridge.dev/cloud-views/brand/translations
Stored in session memory only. Never persisted.

GET https://api.thebridge.dev/cloud-views/brand/translations

{
    "Login": "Log in",
    "Email address": "Email"
}
GET Try it out
GET https://api.thebridge.dev/cloud-views/brand/translations
Stored in session memory only. Never persisted.