FusionAuth Application API
The Application API from FusionAuth — 8 operation(s) for application.
The Application API from FusionAuth — 8 operation(s) for application.
openapi: 3.0.3
info:
version: 1.66.0
title: FusionAuth Api Key Application 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: Application
paths:
/api/application:
post:
description: Creates an application. You can optionally specify an Id for the application, if not provided one will be generated.
operationId: createApplication
parameters:
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
get:
description: Retrieves all the applications that are currently inactive. OR Retrieves the application for the given Id or all the applications if the Id is null.
operationId: retrieveApplication
parameters:
- name: inactive
in: query
schema:
type: string
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
tags:
- Application
/api/application/search:
post:
description: Searches applications with the specified criteria and pagination.
operationId: searchApplicationsWithId
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationSearchRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationSearchResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
/api/application/{applicationId}:
post:
description: Creates an application. You can optionally specify an Id for the application, if not provided one will be generated.
operationId: createApplicationWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id to use for the application. If not provided a secure random UUID will be generated.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
delete:
description: Hard deletes an application. This is a dangerous operation and should not be used in most circumstances. This will delete the application, any registrations for that application, metrics and reports for the application, all the roles for the application, and any other data associated with the application. This operation could take a very long time, depending on the amount of data in your database. OR Deactivates the application with the given Id.
operationId: deleteApplicationWithId
parameters:
- name: hardDelete
in: query
schema:
type: string
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application to delete.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
responses:
'200':
description: Success
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
patch:
description: Updates, via PATCH, the application with the given Id.
operationId: patchApplicationWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application to update.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
put:
description: Updates the application with the given Id. OR Reactivates the application with the given Id.
operationId: updateApplicationWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application to update.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
- name: reactivate
in: query
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
get:
description: Retrieves the application for the given Id or all the applications if the Id is null.
operationId: retrieveApplicationWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The application Id.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
tags:
- Application
/api/application/{applicationId}/oauth-configuration:
get:
description: Retrieves the Oauth2 configuration for the application for the given Application Id.
operationId: retrieveOauthConfigurationWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the Application to retrieve OAuth configuration.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthConfigurationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
/api/application/{applicationId}/role:
post:
description: Creates a new role for an application. You must specify the Id of the application you are creating the role for. You can optionally specify an Id for the role inside the ApplicationRole object itself, if not provided one will be generated.
operationId: createApplicationRole
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application to create the role on.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
/api/application/{applicationId}/role/{roleId}:
post:
description: Creates a new role for an application. You must specify the Id of the application you are creating the role for. You can optionally specify an Id for the role inside the ApplicationRole object itself, if not provided one will be generated.
operationId: createApplicationRoleWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application to create the role on.
- name: roleId
in: path
schema:
type: string
required: true
description: The Id of the role. If not provided a secure random UUID will be generated.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
delete:
description: Hard deletes an application role. This is a dangerous operation and should not be used in most circumstances. This permanently removes the given role from all users that had it.
operationId: deleteApplicationRoleWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application that the role belongs to.
- name: roleId
in: path
schema:
type: string
required: true
description: The Id of the role to delete.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
responses:
'200':
description: Success
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
patch:
description: Updates, via PATCH, the application role with the given Id for the application.
operationId: patchApplicationRoleWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application that the role belongs to.
- name: roleId
in: path
schema:
type: string
required: true
description: The Id of the role to update.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
put:
description: Updates the application role with the given Id for the application.
operationId: updateApplicationRoleWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application that the role belongs to.
- name: roleId
in: path
schema:
type: string
required: true
description: The Id of the role to update.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
/api/application/{applicationId}/scope:
post:
description: Creates a new custom OAuth scope for an application. You must specify the Id of the application you are creating the scope for. You can optionally specify an Id for the OAuth scope on the URL, if not provided one will be generated.
operationId: createOAuthScope
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application to create the OAuth scope on.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
/api/application/{applicationId}/scope/{scopeId}:
post:
description: Creates a new custom OAuth scope for an application. You must specify the Id of the application you are creating the scope for. You can optionally specify an Id for the OAuth scope on the URL, if not provided one will be generated.
operationId: createOAuthScopeWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application to create the OAuth scope on.
- name: scopeId
in: path
schema:
type: string
required: true
description: The Id of the OAuth scope. If not provided a secure random UUID will be generated.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
delete:
description: Hard deletes a custom OAuth scope. OAuth workflows that are still requesting the deleted OAuth scope may fail depending on the application's unknown scope policy.
operationId: deleteOAuthScopeWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application that the OAuth scope belongs to.
- name: scopeId
in: path
schema:
type: string
required: true
description: The Id of the OAuth scope to delete.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
responses:
'200':
description: Success
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
patch:
description: Updates, via PATCH, the custom OAuth scope with the given Id for the application.
operationId: patchOAuthScopeWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application that the OAuth scope belongs to.
- name: scopeId
in: path
schema:
type: string
required: true
description: The Id of the OAuth scope to update.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
get:
description: Retrieves a custom OAuth scope.
operationId: retrieveOAuthScopeWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application that the OAuth scope belongs to.
- name: scopeId
in: path
schema:
type: string
required: true
description: The Id of the OAuth scope to retrieve.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
put:
description: Updates the OAuth scope with the given Id for the application.
operationId: updateOAuthScopeWithId
parameters:
- name: applicationId
in: path
schema:
type: string
required: true
description: The Id of the application that the OAuth scope belongs to.
- name: scopeId
in: path
schema:
type: string
required: true
description: The Id of the OAuth scope to update.
- in: header
name: X-FusionAuth-TenantId
description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
required: false
schema:
type: string
format: UUID
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOAuthScopeResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- Application
components:
schemas:
LambdaConfiguration:
type: object
properties:
accessTokenPopulateId:
type: string
format: uuid
idTokenPopulateId:
type: string
format: uuid
multiFactorRequirementId:
type: string
format: uuid
samlv2PopulateId:
type: string
format: uuid
selfServiceRegistrationValidationId:
type: string
format: uuid
userinfoPopulateId:
type: string
format: uuid
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'
ApplicationRequest:
description: The Application API request object.
type: object
properties:
application:
$ref: '#/components/schemas/Application'
role:
$ref: '#/components/schemas/ApplicationRole'
sourceApplicationId:
type: string
format: uuid
eventInfo:
$ref: '#/components/schemas/EventInfo'
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
Application:
description: ''
type: object
properties:
accessControlConfiguration:
$ref: '#/components/schemas/ApplicationAccessControlConfiguration'
active:
type: boolean
authenticationTokenConfiguration:
$ref: '#/components/schemas/AuthenticationTokenConfiguration'
cleanSpeakConfiguration:
$ref: '#/components/schemas/CleanSpeakConfiguration'
data:
type: object
additionalProperties:
type: object
emailConfiguration:
$ref: '#/components/schemas/ApplicationEmailConfiguration'
externalIdentifierConfiguration:
$ref: '#/components/schemas/ApplicationExternalIdentifierConfiguration'
formConfiguration:
$ref: '#/components/schemas/ApplicationFormConfiguration'
id:
type: string
format: uuid
insertInstant:
$ref: '#/components/schemas/ZonedDateTime'
jwtConfiguration:
$ref: '#/components/schemas/JWTConfiguration'
lambdaConfiguration:
$ref: '#/components/schemas/LambdaConfiguration'
lastUpdateInstant:
$ref: '#/components/schemas/ZonedDateTime'
loginConfiguration:
$ref: '#/components/schemas/LoginConfiguration'
multiFactorConfiguration:
$ref: '#/components/schemas/ApplicationMultiFactorConfiguration'
name:
type: string
oauthConfiguration:
$ref: '#/components/schemas/OAuth2Configuration'
passwordlessConfiguration:
$ref: '#/components/schemas/PasswordlessConfiguration'
phoneConfiguration:
$ref: '#/components/schemas/ApplicationPhoneConfiguration'
registrationConfiguration:
$ref: '#/components/schemas/RegistrationConfiguration'
registrationDeletePolicy:
$ref: '#/components/schemas/ApplicationRegistrationDeletePolicy'
roles:
type: array
items:
$ref: '#/components/schemas/ApplicationRole'
samlv2Configuration:
$ref: '#/components/schemas/SAMLv2Configuration'
scopes:
type: array
items:
$ref: '#/components/schemas/ApplicationOAuthScope'
state:
$ref: '#/components/schemas/ObjectState'
tenantId:
type: string
format: uuid
themeId:
type: string
format: uuid
universalConfiguration:
$ref: '#/components/schemas/UniversalApplicationConfiguration'
unverified:
$ref: '#/components/schemas/RegistrationUnverifiedOptions'
verificationEmailTemplateId:
type: string
format: uuid
verificationStrategy:
$ref: '#/components/schemas/VerificationStrategy'
verifyRegistration:
type: boolean
webAuthnConfiguration:
$ref: '#/components/schemas/ApplicationWebAuthnConfiguration'
ApplicationOAuthScope:
description: A custom OAuth scope for a specific application.
type: object
properties:
applicationId:
type: string
format: uuid
data:
type: object
additionalProperties:
type: object
defaultConsentDetail:
type: string
defaultConsentMessage:
type: string
description:
type: string
id:
type: string
format: uuid
insertInstant:
$ref: '#/components/schemas/ZonedDateTime'
lastUpdateInstant:
$ref: '#/components/schemas/ZonedDateTime'
name:
type: string
required:
type: boolean
ApplicationOAuthScopeResponse:
description: The Application Scope API response.
type: object
properties:
scope:
$ref: '#/components/schemas/ApplicationOAuthScope'
ApplicationSearchCriteria:
description: Search criteria for Applications
type: object
properties:
name:
type: string
state:
$ref: '#/components/schemas/ObjectState'
tenantId:
type: string
format: uuid
universal:
type: boolean
numberOfResults:
type: integer
orderBy:
type: string
startRow:
type: integer
ProofKeyForCodeExchangePolicy:
description: ''
type: string
enum:
- Required
- NotRequired
- NotRequiredWhenUsingClientAuthentication
RefreshTokenRevocationPolicy:
description: ''
type: object
properties:
onLoginPrevented:
type: boolean
onMultiFactorEnable:
type: boolean
onOneTimeTokenReuse:
type: boolean
onPasswordChanged:
type: boolean
ProvidedScopePolicy:
description: The handling policy for scopes provided by FusionAuth
type: object
properties:
address:
$ref: '#/components/schemas/Requirable'
email:
$ref: '#/components/schemas/Requirable'
phone:
$ref: '#/components/schemas/Requirable'
profile:
$ref: '#/components/schemas/Requirable'
ApplicationPhoneConfiguration:
description: Hold application phone configuration for template overrides.
type: object
properties:
forgotPasswordTemplateId:
type: string
format: uuid
identityUpdateTemplateId:
type: string
format: uuid
loginIdInUseOnCreateTemplateId:
type: string
format: uuid
loginIdInUseOnUpdateTemplateId:
type
# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fusionauth/refs/heads/main/openapi/fusionauth-application-api-openapi.yml