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.

TemplateDescription
RESET-PASSWORDSent when user requests a new password
SIGNUPSent when a user signs up for a new tenant
INVITE_NEWSent when a new user is invited to a tenant
INVITE_EXISTINGSent when an existing user is invited to another tenant
PAYMENT_FAILURESent to the tenant owner on subscription payment failures
BASEUsed for transactional emails sent through the API
VariableExampleDescription
appNameMy appYour app name
appLogohttps://url-to-logo.pngYour app logo URL
appUrlhttps://url-to-app.comURL to your app frontend
emailTitleReset your passwordEmail title from standard texts
emailBodyTo reset your password…Email content from standard texts
ctaTitleReset passwordCall-to-action button title
ctaUrlhttps://unique-linkUnique CTA link for this email
currentYear2025Current 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.