FusionAuth System API

The System API from FusionAuth — 11 operation(s) for system.

Operations 11

POST /api/system/audit-log #
POST /api/system/audit-log/search #
GET /api/system/audit-log/{auditLogId} #
POST /api/system/event-log/search #
GET /api/system/event-log/{eventLogId} #
POST /api/system/login-record/search #
POST /api/system/reindex #
GET /api/system/version #
GET /api/system/webhook-attempt-log/{webhookAttemptLogId} #
POST /api/system/webhook-event-log/search #
GET /api/system/webhook-event-log/{webhookEventLogId} #

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/fusionauth-system-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

fusionauth-system-api-openapi.yml Raw ↑
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