Authelia First Factor API

First Factor Authentication

Operations 4

POST /api/firstfactor Login #
POST /api/firstfactor/reauthenticate Reauthenticate #
GET /api/firstfactor/passkey First Factor Authentication - Passkey #
POST /api/firstfactor/passkey First Factor Authentication - Passkey #

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/authelia-first-factor-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

authelia-first-factor-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Authelia First Factor API
  description: Authelia is an open-source authentication and authorization server and portal fulfilling the identity and access management (IAM) role of information security in providing multi-factor authentication and single sign-on (SSO) for your applications via a web portal. Authelia is an OpenID Connect 1.0 Provider which is OpenID Certified™ allowing comprehensive integrations, and acts as a companion for common reverse proxies.
  contact:
    name: Support
    url: https://www.authelia.com/contact/
    email: team@authelia.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: 1.0.0
servers:
- url: https://auth.example.com
  description: Authelia API
tags:
- name: First Factor
  description: First Factor Authentication
  externalDocs:
    url: https://www.authelia.com/configuration/first-factor/introduction/
paths:
  /api/firstfactor:
    post:
      operationId: postFirstFactor
      tags:
      - First Factor
      summary: Login
      description: The firstfactor endpoint allows a user to login and generates an authentication cookie for authorization.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/handlers.bodyFirstFactorRequest'
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handlers.redirectResponse'
        '401':
          description: Unauthorized
  /api/firstfactor/reauthenticate:
    post:
      operationId: postFirstFactorReauthenticate
      tags:
      - First Factor
      summary: Reauthenticate
      description: The firstfactor reauthenticate endpoint allows an already authenticated user to prove they still know their password without providing their username.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/handlers.bodyFirstFactorReauthenticateRequest'
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handlers.redirectResponse'
        '401':
          description: Unauthorized
      security:
      - authelia_auth: []
  /api/firstfactor/passkey:
    get:
      operationId: getFirstFactorPasskey
      tags:
      - First Factor
      summary: First Factor Authentication - Passkey
      description: The WebAuthn endpoint starts the first factor authentication process with the FIDO2 WebAuthn credential.
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webauthn.PublicKeyCredentialRequestOptions'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/middlewares.Response.KO'
    post:
      operationId: postFirstFactorPasskey
      tags:
      - First Factor
      summary: First Factor Authentication - Passkey
      description: The WebAuthn endpoint completes the first factor authentication process with the FIDO2 WebAuthn credential.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/webauthn.PasskeyCredentialAssertionResponse'
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handlers.redirectResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/middlewares.Response.KO'
components:
  schemas:
    webauthn.CredentialDescriptor:
      allOf:
      - $ref: '#/components/schemas/webauthn.Transports'
      - type: object
        required:
        - id
        - type
        properties:
          id:
            type: string
            contentEncoding: base64url
          type:
            type: string
            examples:
            - public-key
            enum:
            - public-key
    middlewares.Response.KO:
      type: object
      required:
      - status
      properties:
        status:
          enum:
          - KO
          type: string
          examples:
          - KO
        message:
          type: string
          examples:
          - Operation Failed.
    webauthn.PublicKeyCredentialRequestOptions:
      type: object
      properties:
        status:
          type: string
          examples:
          - OK
        data:
          type: object
          properties:
            publicKey:
              allOf:
              - $ref: '#/components/schemas/webauthn.UserVerification'
              - type: object
                required:
                - challenge
                properties:
                  challenge:
                    type: string
                    contentEncoding: base64url
                  timeout:
                    type: integer
                    examples:
                    - 60000
                  rpId:
                    type: string
                    examples:
                    - auth.example.com
                  allowCredentials:
                    type: array
                    items:
                      allOf:
                      - $ref: '#/components/schemas/webauthn.CredentialDescriptor'
                  extensions:
                    type: object
                    properties:
                      appid:
                        type: string
                        examples:
                        - https://auth.example.com/
    webauthn.PublicKeyCredentialAssertion:
      description: 'The FIDO2 WebAuthn credential assertion response as produced by the browser.

        '
      allOf:
      - $ref: '#/components/schemas/webauthn.PublicKeyCredential'
      - $ref: '#/components/schemas/webauthn.AuthenticationExtensionsClientOutputs'
      - type: object
        required:
        - response
        properties:
          response:
            allOf:
            - $ref: '#/components/schemas/webauthn.AuthenticatorResponse'
            - type: object
              required:
              - authenticatorData
              - signature
              properties:
                authenticatorData:
                  type: string
                  contentEncoding: base64url
                signature:
                  type: string
                  contentEncoding: base64url
                userHandle:
                  type: string
                  contentEncoding: base64url
    handlers.redirectResponse:
      type: object
      properties:
        status:
          type: string
          examples:
          - OK
        data:
          type: object
          properties:
            redirect:
              type: string
              examples:
              - https://home.example.com
    webauthn.CredentialAssertionResponse:
      type: object
      required:
      - response
      properties:
        response:
          $ref: '#/components/schemas/webauthn.PublicKeyCredentialAssertion'
        targetURL:
          type: string
          examples:
          - https://secure.example.com
        flowID:
          type: string
          format: uuid
          pattern: ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$
          examples:
          - 3ebcfbc5-b0fd-4ee0-9d3c-080ae1e7298c
        flow:
          type: string
          examples:
          - openid_connect
          enum:
          - openid_connect
        subflow:
          description: The name of the subflow if applicable.
          type: string
          examples:
          - device_authorization
          enum:
          - device_authorization
        userCode:
          description: The user code from the Device Authorization Flow if applicable.
          type: string
          examples:
          - XGQWWFMM
    handlers.bodyFirstFactorRequest:
      required:
      - username
      - password
      type: object
      properties:
        username:
          type: string
          examples:
          - john
        password:
          type: string
          examples:
          - password
        targetURL:
          type: string
          examples:
          - https://home.example.com
        flowID:
          type: string
          format: uuid
          pattern: ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$
          examples:
          - 3ebcfbc5-b0fd-4ee0-9d3c-080ae1e7298c
        flow:
          type: string
          examples:
          - openid_connect
          enum:
          - openid_connect
        subflow:
          description: The name of the subflow if applicable.
          type: string
          examples:
          - device_authorization
          enum:
          - device_authorization
        userCode:
          description: The user code from the Device Authorization Flow if applicable.
          type: string
          examples:
          - XGQWWFMM
        requestMethod:
          type: string
          examples:
          - GET
        keepMeLoggedIn:
          type: boolean
          examples:
          - true
    webauthn.AuthenticationExtensionsClientOutputs:
      type: object
      properties:
        clientExtensionResults:
          type: object
          properties:
            appid:
              type: boolean
              examples:
              - true
            appidExclude:
              type: boolean
              examples:
              - false
            uvm:
              type: array
              items:
                type: string
                contentEncoding: base64url
            credProps:
              type: object
              properties:
                rk:
                  type: boolean
                  examples:
                  - false
            largeBlob:
              type: object
              properties:
                supported:
                  type: boolean
                  examples:
                  - false
                blob:
                  type: string
                written:
                  type: boolean
                  examples:
                  - false
    webauthn.Transports:
      type: object
      properties:
        transports:
          type: array
          examples:
          - - usb
            - nfc
          items:
            type: string
            enum:
            - usb
            - nfc
            - ble
            - smart-card
            - hybrid
            - internal
    webauthn.AuthenticatorResponse:
      type: object
      required:
      - clientDataJSON
      properties:
        clientDataJSON:
          type: string
          contentEncoding: base64url
    handlers.bodyFirstFactorReauthenticateRequest:
      required:
      - password
      type: object
      properties:
        password:
          type: string
          examples:
          - password
        targetURL:
          type: string
          examples:
          - https://home.example.com
        requestMethod:
          type: string
          examples:
          - GET
        flowID:
          type: string
          format: uuid
          pattern: ^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$
          examples:
          - 3ebcfbc5-b0fd-4ee0-9d3c-080ae1e7298c
        flow:
          type: string
          examples:
          - openid_connect
          enum:
          - openid_connect
        subflow:
          description: The name of the subflow if applicable.
          type: string
          examples:
          - device_authorization
          enum:
          - device_authorization
        userCode:
          description: The user code from the Device Authorization Flow if applicable.
          type: string
          examples:
          - XGQWWFMM
    webauthn.PasskeyCredentialAssertionResponse:
      allOf:
      - $ref: '#/components/schemas/webauthn.CredentialAssertionResponse'
      - type: object
        properties:
          requestMethod:
            type: string
            examples:
            - GET
          keepMeLoggedIn:
            type: boolean
            examples:
            - true
    webauthn.UserVerification:
      type: object
      properties:
        userVerification:
          type: string
          examples:
          - preferred
          enum:
          - required
          - preferred
          - discouraged
    webauthn.PublicKeyCredential:
      type: object
      required:
      - id
      - rawId
      - type
      properties:
        rawId:
          type: string
          contentEncoding: base64url
        id:
          type: string
        type:
          type: string
          examples:
          - public-key
          enum:
          - public-key
  securitySchemes:
    authelia_auth:
      type: apiKey
      name: authelia_session
      in: cookie
    openid:
      type: openIdConnect
      openIdConnectUrl: https://auth.example.com/.well-known/openid-configuration