FusionAuth Theme API

The Theme API from FusionAuth — 3 operation(s) for theme.

OpenAPI Specification

fusionauth-theme-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 1.66.0
  title: FusionAuth Api Key Theme API
  description: This is a FusionAuth server. Find out more at [https://fusionauth.io](https://fusionauth.io). You need to [set up an API key](https://fusionauth.io/docs/v1/tech/apis/authentication#managing-api-keys) in the FusionAuth instance you are using to test out the API calls.
  license:
    name: Apache2
servers:
- url: http://localhost:9011
- url: https://sandbox.fusionauth.io
security:
- ApiKeyAuth: []
tags:
- name: Theme
paths:
  /api/theme:
    post:
      description: Creates a Theme. You can optionally specify an Id for the theme, if not provided one will be generated.
      operationId: createTheme
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThemeRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThemeResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Theme
  /api/theme/search:
    post:
      description: Searches themes with the specified criteria and pagination.
      operationId: searchThemesWithId
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThemeSearchRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThemeSearchResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Theme
  /api/theme/{themeId}:
    post:
      description: Creates a Theme. You can optionally specify an Id for the theme, if not provided one will be generated.
      operationId: createThemeWithId
      parameters:
      - name: themeId
        in: path
        schema:
          type: string
        required: true
        description: The Id for the theme. If not provided a secure random UUID will be generated.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThemeRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThemeResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Theme
    delete:
      description: Deletes the theme for the given Id.
      operationId: deleteThemeWithId
      parameters:
      - name: themeId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the theme to delete.
      responses:
        '200':
          description: Success
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Theme
    patch:
      description: Updates, via PATCH, the theme with the given Id.
      operationId: patchThemeWithId
      parameters:
      - name: themeId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the theme to update.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThemeRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThemeResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Theme
    get:
      description: Retrieves the theme for the given Id.
      operationId: retrieveThemeWithId
      parameters:
      - name: themeId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the theme.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThemeResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Theme
    put:
      description: Updates the theme with the given Id.
      operationId: updateThemeWithId
      parameters:
      - name: themeId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the theme to update.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThemeRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThemeResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Theme
components:
  schemas:
    Favicon:
      description: Components of a Favicon in an HTML {@code <head>} element.
      type: object
      properties:
        href:
          type: string
          format: URI
        rel:
          type: string
        sizes:
          type: string
        type:
          type: string
    Errors:
      description: Standard error domain object that can also be used as the response from an API call.
      type: object
      properties:
        fieldErrors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        generalErrors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    ThemeResponse:
      description: Theme API response object.
      type: object
      properties:
        theme:
          $ref: '#/components/schemas/Theme'
        themes:
          type: array
          items:
            $ref: '#/components/schemas/Theme'
    ZonedDateTime:
      description: 'The number of milliseconds since the unix epoch: January 1, 1970 00:00:00 UTC. This value is always in UTC.'
      example: '1659380719000'
      type: integer
      format: int64
    LocalizedStrings:
      description: Models a set of localized Strings that can be stored as JSON.
      type: object
      properties: {}
    Theme:
      description: ''
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            type: object
        defaultMessages:
          type: string
        id:
          type: string
          format: uuid
        insertInstant:
          $ref: '#/components/schemas/ZonedDateTime'
        lastUpdateInstant:
          $ref: '#/components/schemas/ZonedDateTime'
        localizedMessages:
          $ref: '#/components/schemas/LocalizedStrings'
        name:
          type: string
        stylesheet:
          type: string
        templates:
          $ref: '#/components/schemas/Templates'
        type:
          $ref: '#/components/schemas/ThemeType'
        variables:
          $ref: '#/components/schemas/SimpleThemeVariables'
    Error:
      description: Defines an error.
      type: object
      properties:
        code:
          type: string
        data:
          type: object
          additionalProperties:
            type: object
        message:
          type: string
    ThemeSearchCriteria:
      description: Search criteria for themes
      type: object
      properties:
        name:
          type: string
        type:
          $ref: '#/components/schemas/ThemeType'
        numberOfResults:
          type: integer
        orderBy:
          type: string
        startRow:
          type: integer
    SimpleThemeVariables:
      description: Theme object for values used in the css variables for simple themes.
      type: object
      properties:
        alertBackgroundColor:
          type: string
        alertFontColor:
          type: string
        backgroundImageURL:
          type: string
          format: URI
        backgroundSize:
          type: string
        borderRadius:
          type: string
        deleteButtonColor:
          type: string
        deleteButtonFocusColor:
          type: string
        deleteButtonTextColor:
          type: string
        deleteButtonTextFocusColor:
          type: string
        errorFontColor:
          type: string
        errorIconColor:
          type: string
        favicons:
          type: array
          items:
            $ref: '#/components/schemas/Favicon'
        fontColor:
          type: string
        fontFamily:
          type: string
        footerDisplay:
          type: boolean
        iconBackgroundColor:
          type: string
        iconColor:
          type: string
        infoIconColor:
          type: string
        inputBackgroundColor:
          type: string
        inputIconColor:
          type: string
        inputTextColor:
          type: string
        linkTextColor:
          type: string
        linkTextFocusColor:
          type: string
        logoImageSize:
          type: string
        logoImageURL:
          type: string
          format: URI
        monoFontColor:
          type: string
        monoFontFamily:
          type: string
        pageBackgroundColor:
          type: string
        panelBackgroundColor:
          type: string
        primaryButtonColor:
          type: string
        primaryButtonFocusColor:
          type: string
        primaryButtonTextColor:
          type: string
        primaryButtonTextFocusColor:
          type: string
    ThemeRequest:
      description: Theme API request object.
      type: object
      properties:
        sourceThemeId:
          type: string
          format: uuid
        theme:
          $ref: '#/components/schemas/Theme'
    Templates:
      type: object
      properties:
        accountEdit:
          type: string
        accountIndex:
          type: string
        accountTwoFactorDisable:
          type: string
        accountTwoFactorEnable:
          type: string
        accountTwoFactorIndex:
          type: string
        accountWebAuthnAdd:
          type: string
        accountWebAuthnDelete:
          type: string
        accountWebAuthnIndex:
          type: string
        confirmationRequired:
          type: string
        emailComplete:
          type: string
        emailSent:
          type: string
        emailVerificationRequired:
          type: string
        emailVerify:
          type: string
        helpers:
          type: string
        index:
          type: string
        oauth2Authorize:
          type: string
        oauth2AuthorizedNotRegistered:
          type: string
        oauth2ChildRegistrationNotAllowed:
          type: string
        oauth2ChildRegistrationNotAllowedComplete:
          type: string
        oauth2CompleteRegistration:
          type: string
        oauth2Consent:
          type: string
        oauth2Device:
          type: string
        oauth2DeviceComplete:
          type: string
        oauth2Error:
          type: string
        oauth2Logout:
          type: string
        oauth2Passwordless:
          type: string
        oauth2Register:
          type: string
        oauth2StartIdPLink:
          type: string
        oauth2TwoFactor:
          type: string
        oauth2TwoFactorEnable:
          type: string
        oauth2TwoFactorEnableComplete:
          type: string
        oauth2TwoFactorMethods:
          type: string
        oauth2Wait:
          type: string
        oauth2WebAuthn:
          type: string
        oauth2WebAuthnReauth:
          type: string
        oauth2WebAuthnReauthEnable:
          type: string
        passwordChange:
          type: string
        passwordComplete:
          type: string
        passwordForgot:
          type: string
        passwordSent:
          type: string
        phoneComplete:
          type: string
        phoneSent:
          type: string
        phoneVerificationRequired:
          type: string
        phoneVerify:
          type: string
        registrationComplete:
          type: string
        registrationSent:
          type: string
        registrationVerificationRequired:
          type: string
        registrationVerify:
          type: string
        samlv2Logout:
          type: string
        unauthorized:
          type: string
        emailSend:
          type: string
        registrationSend:
          type: string
    ThemeSearchRequest:
      description: Search request for Themes.
      type: object
      properties:
        search:
          $ref: '#/components/schemas/ThemeSearchCriteria'
    ThemeSearchResponse:
      description: Search response for Themes
      type: object
      properties:
        themes:
          type: array
          items:
            $ref: '#/components/schemas/Theme'
        total:
          type: integer
          format: int64
    ThemeType:
      type: string
      enum:
      - advanced
      - simple
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: Authorization
      in: header
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT