FusionAuth Theme API
The Theme API from FusionAuth — 3 operation(s) for theme.
The Theme API from FusionAuth — 3 operation(s) for theme.
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