FusionAuth System API
The System API from FusionAuth — 11 operation(s) for system.
The System API from FusionAuth — 11 operation(s) for system.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/fusionauth-system-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
version: 1.66.0
title: FusionAuth Api Key System 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: System
paths:
/api/system/audit-log:
post:
description: Creates an audit log with the message and user name (usually an email). Audit logs should be written anytime you make changes to the FusionAuth database. When using the FusionAuth App web interface, any changes are automatically written to the audit log. However, if you are accessing the API, you must write the audit logs yourself.
operationId: createAuditLogWithId
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/audit-log/search:
post:
description: Searches the audit logs with the specified criteria and pagination.
operationId: searchAuditLogsWithId
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogSearchRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogSearchResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/audit-log/{auditLogId}:
get:
description: Retrieves a single audit log for the given Id.
operationId: retrieveAuditLogWithId
parameters:
- name: auditLogId
in: path
schema:
type: string
required: true
description: The Id of the audit log to retrieve.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/event-log/search:
post:
description: Searches the event logs with the specified criteria and pagination.
operationId: searchEventLogsWithId
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventLogSearchRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/EventLogSearchResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/event-log/{eventLogId}:
get:
description: Retrieves a single event log for the given Id.
operationId: retrieveEventLogWithId
parameters:
- name: eventLogId
in: path
schema:
type: string
required: true
description: The Id of the event log to retrieve.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/EventLogResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/login-record/search:
post:
description: Searches the login records with the specified criteria and pagination.
operationId: searchLoginRecordsWithId
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoginRecordSearchRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LoginRecordSearchResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/reindex:
post:
description: Requests Elasticsearch to delete and rebuild the index for FusionAuth users or entities. Be very careful when running this request as it will increase the CPU and I/O load on your database until the operation completes. Generally speaking you do not ever need to run this operation unless instructed by FusionAuth support, or if you are migrating a database another system and you are not brining along the Elasticsearch index. You have been warned.
operationId: reindexWithId
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReindexRequest'
responses:
'200':
description: Success
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/version:
get:
description: Retrieves the FusionAuth version string.
operationId: retrieveVersionWithId
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VersionResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/webhook-attempt-log/{webhookAttemptLogId}:
get:
description: Retrieves a single webhook attempt log for the given Id.
operationId: retrieveWebhookAttemptLogWithId
parameters:
- name: webhookAttemptLogId
in: path
schema:
type: string
required: true
description: The Id of the webhook attempt log to retrieve.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookAttemptLogResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/webhook-event-log/search:
post:
description: Searches the webhook event logs with the specified criteria and pagination.
operationId: searchWebhookEventLogsWithId
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookEventLogSearchRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookEventLogSearchResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
/api/system/webhook-event-log/{webhookEventLogId}:
get:
description: Retrieves a single webhook event log for the given Id.
operationId: retrieveWebhookEventLogWithId
parameters:
- name: webhookEventLogId
in: path
schema:
type: string
required: true
description: The Id of the webhook event log to retrieve.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookEventLogResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
tags:
- System
components:
schemas:
EventLogSearchCriteria:
description: Search criteria for the event log.
type: object
properties:
end:
$ref: '#/components/schemas/ZonedDateTime'
message:
type: string
start:
$ref: '#/components/schemas/ZonedDateTime'
type:
$ref: '#/components/schemas/EventLogType'
numberOfResults:
type: integer
orderBy:
type: string
startRow:
type: integer
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'
VersionResponse:
description: ''
type: object
properties:
version:
type: string
WebhookAttemptLog:
description: A webhook call attempt log.
type: object
properties:
data:
type: object
additionalProperties:
type: object
endInstant:
$ref: '#/components/schemas/ZonedDateTime'
id:
type: string
format: uuid
startInstant:
$ref: '#/components/schemas/ZonedDateTime'
webhookCallResponse:
$ref: '#/components/schemas/WebhookCallResponse'
webhookEventLogId:
type: string
format: uuid
webhookId:
type: string
format: uuid
attemptResult:
$ref: '#/components/schemas/WebhookAttemptResult'
WebhookAttemptLogResponse:
description: Webhook attempt log response.
type: object
properties:
webhookAttemptLog:
$ref: '#/components/schemas/WebhookAttemptLog'
EventType:
description: Models the event types that FusionAuth produces.
type: string
enum:
- JWTPublicKeyUpdate
- JWTRefreshTokenRevoke
- JWTRefresh
- AuditLogCreate
- EventLogCreate
- KickstartSuccess
- GroupCreate
- GroupCreateComplete
- GroupDelete
- GroupDeleteComplete
- GroupMemberAdd
- GroupMemberAddComplete
- GroupMemberRemove
- GroupMemberRemoveComplete
- GroupMemberUpdate
- GroupMemberUpdateComplete
- GroupUpdate
- GroupUpdateComplete
- UserAction
- UserBulkCreate
- UserCreate
- UserCreateComplete
- UserDeactivate
- UserDelete
- UserDeleteComplete
- UserEmailUpdate
- UserEmailVerified
- UserIdentityProviderLink
- UserIdentityProviderUnlink
- UserLoginIdDuplicateOnCreate
- UserLoginIdDuplicateOnUpdate
- UserLoginFailed
- UserLoginNewDevice
- UserLoginSuccess
- UserLoginSuspicious
- UserPasswordBreach
- UserPasswordResetSend
- UserPasswordResetStart
- UserPasswordResetSuccess
- UserPasswordUpdate
- UserReactivate
- UserRegistrationCreate
- UserRegistrationCreateComplete
- UserRegistrationDelete
- UserRegistrationDeleteComplete
- UserRegistrationUpdate
- UserRegistrationUpdateComplete
- UserRegistrationVerified
- UserTwoFactorMethodAdd
- UserTwoFactorMethodRemove
- UserUpdate
- UserUpdateComplete
- Test
- UserIdentityVerified
- UserIdentityUpdate
Location:
description: Location information. Useful for IP addresses and other displayable data objects.
type: object
properties:
city:
type: string
country:
type: string
latitude:
type: number
format: double
longitude:
type: number
format: double
region:
type: string
zipcode:
type: string
displayString:
type: string
WebhookEventLogSearchResponse:
description: Webhook event log search response.
type: object
properties:
total:
type: integer
format: int64
webhookEventLogs:
type: array
items:
$ref: '#/components/schemas/WebhookEventLog'
WebhookEventLogSearchCriteria:
description: Search criteria for the webhook event log.
type: object
properties:
end:
$ref: '#/components/schemas/ZonedDateTime'
event:
type: string
eventResult:
$ref: '#/components/schemas/WebhookEventResult'
eventType:
$ref: '#/components/schemas/EventType'
start:
$ref: '#/components/schemas/ZonedDateTime'
numberOfResults:
type: integer
orderBy:
type: string
startRow:
type: integer
LoginRecordSearchResponse:
description: A raw login record response
type: object
properties:
logins:
type: array
items:
$ref: '#/components/schemas/DisplayableRawLogin'
total:
type: integer
format: int64
AuditLogSearchRequest:
description: ''
type: object
properties:
search:
$ref: '#/components/schemas/AuditLogSearchCriteria'
WebhookAttemptResult:
description: The possible states of an individual webhook attempt to a single endpoint.
type: string
enum:
- Success
- Failure
- Unknown
EventLogSearchRequest:
description: ''
type: object
properties:
search:
$ref: '#/components/schemas/EventLogSearchCriteria'
WebhookEventLogSearchRequest:
description: Webhook event log search request.
type: object
properties:
search:
$ref: '#/components/schemas/WebhookEventLogSearchCriteria'
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
EventRequest:
description: Container for the event information. This is the JSON that is sent from FusionAuth to webhooks.
type: object
properties:
event:
$ref: '#/components/schemas/BaseEvent'
AuditLogSearchResponse:
description: Audit log response.
type: object
properties:
auditLogs:
type: array
items:
$ref: '#/components/schemas/AuditLog'
total:
type: integer
format: int64
WebhookEventLog:
type: object
properties:
attempts:
type: array
items:
$ref: '#/components/schemas/WebhookAttemptLog'
data:
type: object
additionalProperties:
type: object
event:
$ref: '#/components/schemas/EventRequest'
eventResult:
$ref: '#/components/schemas/WebhookEventResult'
eventType:
$ref: '#/components/schemas/EventType'
id:
type: string
format: uuid
insertInstant:
$ref: '#/components/schemas/ZonedDateTime'
lastAttemptInstant:
$ref: '#/components/schemas/ZonedDateTime'
lastUpdateInstant:
$ref: '#/components/schemas/ZonedDateTime'
linkedObjectId:
type: string
format: uuid
sequence:
type: integer
format: int64
failedAttempts:
type: integer
successfulAttempts:
type: integer
ReindexRequest:
description: Reindex API request
type: object
properties:
index:
type: string
WebhookEventLogResponse:
description: Webhook event log response.
type: object
properties:
webhookEventLog:
$ref: '#/components/schemas/WebhookEventLog'
EventLogResponse:
description: Event log response.
type: object
properties:
eventLog:
$ref: '#/components/schemas/EventLog'
WebhookCallResponse:
description: A webhook call response.
type: object
properties:
exception:
type: string
statusCode:
type: integer
url:
type: string
format: URI
EventInfo:
description: Information about a user event (login, register, etc) that helps identify the source of the event (location, device type, OS, etc).
type: object
properties:
data:
type: object
additionalProperties:
type: object
deviceDescription:
type: string
deviceName:
type: string
deviceType:
type: string
ipAddress:
type: string
location:
$ref: '#/components/schemas/Location'
os:
type: string
userAgent:
type: string
EventLogSearchResponse:
description: Event log response.
type: object
properties:
eventLogs:
type: array
items:
$ref: '#/components/schemas/EventLog'
total:
type: integer
format: int64
EventLogType:
description: Event Log Type
type: string
enum:
- Information
- Debug
- Error
AuditLog:
description: An audit log.
type: object
properties:
data:
type: object
additionalProperties:
type: object
id:
type: integer
format: int64
insertInstant:
$ref: '#/components/schemas/ZonedDateTime'
insertUser:
type: string
message:
type: string
newValue:
type: object
oldValue:
type: object
reason:
type: string
tenantId:
type: string
format: uuid
WebhookEventResult:
description: The possible result states of a webhook event. This tracks the success of the overall webhook transaction according to the {@link TransactionType} and configured webhooks.
type: string
enum:
- Failed
- Running
- Succeeded
AuditLogResponse:
description: Audit log response.
type: object
properties:
auditLog:
$ref: '#/components/schemas/AuditLog'
LoginRecordSearchCriteria:
description: ''
type: object
properties:
applicationId:
type: string
format: uuid
end:
$ref: '#/components/schemas/ZonedDateTime'
start:
$ref: '#/components/schemas/ZonedDateTime'
userId:
type: string
format: uuid
numberOfResults:
type: integer
orderBy:
type: string
startRow:
type: integer
BaseEvent:
description: Base class for all FusionAuth events.
type: object
properties:
createInstant:
$ref: '#/components/schemas/ZonedDateTime'
id:
type: string
format: uuid
info:
$ref: '#/components/schemas/EventInfo'
tenantId:
type: string
format: uuid
type:
$ref: '#/components/schemas/EventType'
AuditLogRequest:
description: ''
type: object
properties:
auditLog:
$ref: '#/components/schemas/AuditLog'
eventInfo:
$ref: '#/components/schemas/EventInfo'
AuditLogSearchCriteria:
description: ''
type: object
properties:
end:
$ref: '#/components/schemas/ZonedDateTime'
message:
type: string
newValue:
type: string
oldValue:
type: string
reason:
type: string
start:
$ref: '#/components/schemas/ZonedDateTime'
tenantId:
type: string
format: uuid
user:
type: string
numberOfResults:
type: integer
orderBy:
type: string
startRow:
type: integer
IdentityType:
description: Model identity types provided by FusionAuth.
type: object
properties:
name:
type: string
EventLog:
description: Event log used internally by FusionAuth to help developers debug hooks, Webhooks, email templates, etc.
type: object
properties:
id:
type: integer
format: int64
insertInstant:
$ref: '#/components/schemas/ZonedDateTime'
message:
type: string
type:
$ref: '#/components/schemas/EventLogType'
LoginRecordSearchRequest:
description: ''
type: object
properties:
retrieveTotal:
type: boolean
search:
$ref: '#/components/schemas/LoginRecordSearchCriteria'
Error:
description: Defines an error.
type: object
properties:
code:
type: string
data:
type: object
additionalProperties:
type: object
message:
type: string
DisplayableRawLogin:
description: A displayable raw login that includes application name and user loginId.
type: object
properties:
applicationName:
type: string
location:
$ref: '#/components/schemas/Location'
loginId:
type: string
loginIdType:
$ref: '#/components/schemas/IdentityType'
applicationId:
type: string
format: uuid
instant:
$ref: '#/components/schemas/ZonedDateTime'
ipAddress:
type: string
userId:
type: string
format: uuid
securitySchemes:
ApiKeyAuth:
type: apiKey
name: Authorization
in: header
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT