Beyond Identity Themes API

A theme is a collection of configurable assets that unifies the end user login experience with your brand and products. It is primarily used to change the styling of the credential binding email.

Operations 4

POST /v1/tenants/{tenant_id}/realms/{realm_id}/themes Create a New Theme #
GET /v1/tenants/{tenant_id}/realms/{realm_id}/themes/active Get the Active Theme #
GET /v1/tenants/{tenant_id}/realms/{realm_id}/themes/{theme_id} Retrive an Existing Theme #
PATCH /v1/tenants/{tenant_id}/realms/{realm_id}/themes/{theme_id} Patch a Theme #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/beyond-identity-themes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

beyond-identity-themes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Beyond Identity Secure Access Themes API
  version: 1.7.0
  contact:
    email: support@beyondidentity.com
  description: '# Introduction


    **NOTE:** To determine if you are accessing the Secure Access Platform, check the URL of your Admin Console.'
servers:
- url: https://api-us.beyondidentity.com
  description: US region API base URL
- url: https://api-eu.beyondidentity.com
  description: EU region API base URL
- url: https://api.us1.beyondidentity-gov.com/
  description: US FedRAMP API base URL
security:
- BearerAuth: []
tags:
- name: Themes
  description: A theme is a collection of configurable assets that unifies the end user login experience with your brand and products. It is primarily used to change the styling of the credential binding email.
paths:
  /v1/tenants/{tenant_id}/realms/{realm_id}/themes:
    post:
      tags:
      - Themes
      summary: Create a New Theme
      description: 'To create a theme, send a POST request to `/v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/$THEME_ID`. Values in the request body for read-only fields will be ignored. All non-read-only fields are optional and will be populated with defaults if unspecified.

        Currently, each realm only supports a single theme. If a theme already exists for the realm, you will receive a 409 error.'
      operationId: CreateTheme
      security:
      - BearerAuth:
        - themes:create
      parameters:
      - $ref: '#/components/parameters/tenant_id'
      - $ref: '#/components/parameters/realm_id'
      requestBody:
        description: Theme to be created.
        content:
          application/json:
            schema:
              title: Create Theme Request
              description: Request for CreateTheme.
              type: object
              properties:
                theme:
                  $ref: '#/components/schemas/Theme'
            examples:
              Create Theme:
                value:
                  theme:
                    email_realm_name: Realm Administrators
                    logo_url_light: https://example.com/logo_url_light.png
                    logo_url_dark: https://example.com/logo_url_dark.png
                    support_url: https://example.com/support
                    button_color: '#4673D3'
                    button_text_color: '#FFFFFF'
      responses:
        '200':
          description: 'The response will be a JSON object containing the standard attributes associated with a theme.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Theme'
              examples:
                Success:
                  value:
                    id: 88ef08fb-c3f9-44e2-b174-fbb239e1dc47
                    tenant_id: f36448f2ff094881
                    realm_id: aa6aabe6989bc4a5
                    email_realm_name: Realm Administrators
                    logo_url_light: https://example.com/logo_url_light.png
                    logo_url_dark: https://example.com/logo_url_dark.png
                    support_url: https://example.com/support
                    create_time: '2022-07-28T18:00:00.000Z'
                    button_color: '#4673D3'
                    button_text_color: '#FFFFFF'
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid Parameters:
                  value:
                    code: bad_request
                    message: Bad Request
                    details:
                    - type: FieldViolations
                      field_violations:
                      - field: theme.email_realm_name
                        description: provided email_realm_name must not be empty
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Missing Authorization:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/401/content/application~1json/examples/Missing%20Authorization'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Insufficient Authorization:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/403/content/application~1json/examples/Insufficient%20Authorization'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Realm Not Found:
                  value:
                    code: not_found
                    message: realm not found
                    details:
                    - type: ResourceInfo
                      resource_type: Realm
                      id: 19a95130480dfa79
                      description: realm not found
        '409':
          description: Conflict.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Theme Already Exists:
                  value:
                    code: conflict
                    message: theme already exists for this realm
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Internal Error:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/500/content/application~1json/examples/Internal%20Error'
  /v1/tenants/{tenant_id}/realms/{realm_id}/themes/active:
    get:
      tags:
      - Themes
      summary: Get the Active Theme
      description: To retrieve the active theme for a realm, send a GET request to `/v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/active`. If the realm has not specified the active theme, a default theme will be returned.
      operationId: GetActiveTheme
      security:
      - BearerAuth:
        - themes:read
      parameters:
      - $ref: '#/components/parameters/tenant_id'
      - $ref: '#/components/parameters/realm_id'
      responses:
        '200':
          description: 'The response will be a JSON object containing the standard attributes associated with a theme.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Theme'
              examples:
                Success:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1themes/post/responses/200/content/application~1json/examples/Success'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Missing Authorization:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/401/content/application~1json/examples/Missing%20Authorization'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Insufficient Authorization:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/403/content/application~1json/examples/Insufficient%20Authorization'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Realm Not Found:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1themes/post/responses/404/content/application~1json/examples/Realm%20Not%20Found'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Internal Error:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/500/content/application~1json/examples/Internal%20Error'
  /v1/tenants/{tenant_id}/realms/{realm_id}/themes/{theme_id}:
    get:
      tags:
      - Themes
      summary: Retrive an Existing Theme
      description: To retrieve an existing theme, send a GET request to `/v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/$THEME_ID`.
      operationId: GetTheme
      security:
      - BearerAuth:
        - themes:read
      parameters:
      - $ref: '#/components/parameters/tenant_id'
      - $ref: '#/components/parameters/realm_id'
      - $ref: '#/components/parameters/theme_id'
      responses:
        '200':
          description: 'The response will be a JSON object containing the standard attributes associated with a theme.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Theme'
              examples:
                Success:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1themes/post/responses/200/content/application~1json/examples/Success'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Missing Authorization:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/401/content/application~1json/examples/Missing%20Authorization'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Insufficient Authorization:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/403/content/application~1json/examples/Insufficient%20Authorization'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Theme Not Found:
                  value:
                    code: not_found
                    message: theme not found
                    details:
                    - type: ResourceInfo
                      resource_type: Theme
                      id: 72d0af37-a9bb-410c-b8a7-9aa127fd8739
                      description: theme not found
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Internal Error:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/500/content/application~1json/examples/Internal%20Error'
    patch:
      tags:
      - Themes
      summary: Patch a Theme
      description: To update only specific attributes of an existing theme, send a PATCH request to `/v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/$THEME_ID`. Values in the request body for immutable or read-only fields will be ignored. Fields that are omitted from the request body will be left unchanged.
      operationId: UpdateTheme
      security:
      - BearerAuth:
        - themes:update
      parameters:
      - $ref: '#/components/parameters/tenant_id'
      - $ref: '#/components/parameters/realm_id'
      - $ref: '#/components/parameters/theme_id'
      requestBody:
        description: Theme to be updated.
        content:
          application/json:
            schema:
              title: Update Theme Request
              description: Request for UpdateTheme.
              type: object
              properties:
                theme:
                  $ref: '#/components/schemas/Theme'
            examples:
              Update Email Realm Name:
                value:
                  theme:
                    email_realm_name: Realm Administrators
      responses:
        '200':
          description: 'The response will be a JSON object containing the standard attributes associated with a theme.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Theme'
              examples:
                Success:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1themes/post/responses/200/content/application~1json/examples/Success'
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid Parameters:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1themes/post/responses/400/content/application~1json/examples/Invalid%20Parameters'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Missing Authorization:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/401/content/application~1json/examples/Missing%20Authorization'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Insufficient Authorization:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/403/content/application~1json/examples/Insufficient%20Authorization'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Theme Not Found:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1themes~1%7Btheme_id%7D/get/responses/404/content/application~1json/examples/Theme%20Not%20Found'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Internal Error:
                  $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D/get/responses/500/content/application~1json/examples/Internal%20Error'
components:
  schemas:
    Error:
      type: object
      properties:
        code:
          type: string
          description: 'Human-readable HTTP status code name, stylized as lower snake case (e.g. bad_request).

            '
        message:
          type: string
          description: 'Human-readable message describing the error.

            '
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetail'
      required:
      - code
      - message
    ErrorDetail:
      title: Error Detail
      description: 'Additional details for errors designed to support client applications.

        '
      type: object
      discriminator:
        propertyName: type
      properties:
        type:
          type: string
          description: Type of the error detail.
      required:
      - type
    Theme:
      title: Theme
      description: 'A theme is a collection of configurable assets that unifies the end user login experience with your brand and products. It is primarily used to change the styling of the credential binding email.

        '
      type: object
      properties:
        id:
          type: string
          description: 'A unique identifier for a theme. This is automatically generated on creation. This field is immutable and read-only. This field is unique within the realm.

            '
          readOnly: true
          example: 88ef08fb-c3f9-44e2-b174-fbb239e1dc47
        tenant_id:
          type: string
          description: 'A unique identifier for the theme''s tenant. This is automatically set on creation. This field is immutable and read-only.

            '
          readOnly: true
          example: 0001b42d80372976
        realm_id:
          type: string
          description: 'A unique identifier for the theme''s realm. This is automatically set on creation. This field is immutable and read-only.

            '
          readOnly: true
          example: 7df92e4a38ba0993
        create_time:
          type: string
          format: date-time
          description: 'Timestamp of when the theme was created. This field is immutable and read-only.

            '
          readOnly: true
          example: '2022-07-28T18:00:00.000Z'
        update_time:
          type: string
          format: date-time
          description: 'Timestamp of when the theme was last updated. This field is read-only.

            '
          readOnly: true
          example: '2022-07-30T16:00:00.000Z'
        email_realm_name:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[^{}[\]<>;:?\\/|*^%$#=~`!]*$
          description: Realm name that is used in email templates.
          example: Realm Administrators
        logo_url_light:
          type: string
          description: URL for resolving the logo image for light mode.
          example: https://example.com/logo_url_light.png
        logo_url_dark:
          type: string
          description: URL for resolving the logo image for dark mode.
          example: https://example.com/logo_url_dark.png
        support_url:
          type: string
          format: url
          description: URL for the customer support portal.
          example: https://example.com/support
        button_color:
          type: string
          description: Hexadecimal color code to use for buttons.
          example: '#4673D3'
        button_text_color:
          type: string
          description: Hexadecimal color code to use for button text.
          example: '#FFFFFF'
  parameters:
    tenant_id:
      name: tenant_id
      in: path
      description: A unique identifier for a tenant.
      required: true
      schema:
        type: string
        example: 000176d94fd7b4d1
    realm_id:
      name: realm_id
      in: path
      description: A unique identifier for a realm.
      required: true
      schema:
        type: string
        example: 19a95130480dfa79
    theme_id:
      name: theme_id
      in: path
      description: A unique identifier for a theme.
      required: true
      schema:
        type: string
        example: 88ef08fb-c3f9-44e2-b174-fbb239e1dc47
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'See the [Authentication](#section/Authentication) section for details.

        '