Frontegg Passwordless API

The Passwordless API from Frontegg — 6 operation(s) for passwordless.

Operations 6

POST /resources/auth/v1/passwordless/smscode/prelogin SMS Code Prelogin #
POST /resources/auth/v1/passwordless/smscode/postlogin SMS Code Postlogin #
POST /resources/auth/v1/passwordless/magiclink/prelogin Magic Link Prelogin #
POST /resources/auth/v1/passwordless/magiclink/postlogin Magic Link Postlogin #
POST /resources/auth/v1/passwordless/code/prelogin OTC (One-Time Code) Prelogin #
POST /resources/auth/v1/passwordless/code/postlogin OTC (One-Time Code) Postlogin #

Documentation

Specifications

Other Resources

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/frontegg-passwordless-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

frontegg-passwordless-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Frontegg Passwordless API
  version: '1.0'
  description: 'Operations tagged Passwordless across 2 of this provider''s published API definitions: frontegg-combined-openapi.yml, frontegg-identity-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.frontegg.com/identity
  description: EU Region
- url: https://api.us.frontegg.com/identity
  description: US Region
- url: https://api.ca.frontegg.com/identity
  description: CA Region
- url: https://api.au.frontegg.com/identity
  description: AU Region
- url: https://{domain}.frontegg.com/identity
  description: Frontegg sub-domain for use with user tokens
  variables:
    domain:
      default: app-xxx
tags:
- name: Passwordless
  x-displayName: Passwordless
paths:
  /resources/auth/v1/passwordless/smscode/prelogin:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: AuthenticationPasswordlessControllerV1_smsCodePreLogin
      summary: SMS Code Prelogin
      description: 'Initiate SMS-based passwordless authentication by sending a one-time code (OTC) to the user''s phone.


        This is the first step in the SMS OTC passwordless login flow. The system sends an SMS to the user associated with the provided email address.


        Request body must include:

        - `email`: The email address of the user initiating the login.

        - `invitationToken` (optional): Include if the user is signing up through an invitation.

        - `recaptchaToken` (optional): Required if reCAPTCHA is enabled for login.


        Use this endpoint to begin the passwordless login process using SMS verification.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordlessAuthenticationSmsOtcPreloginDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordlessAuthenticationSmsOTCPreloginResponseDto'
        '400':
          description: User does not have a phone number
      tags:
      - Passwordless
      security:
      - bearer: []
  /resources/auth/v1/passwordless/smscode/postlogin:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: AuthenticationPasswordlessControllerV1_smsCodePostLogin
      summary: SMS Code Postlogin
      description: 'Complete passwordless authentication using a one-time code (OTC) sent via SMS.


        This is the second step in the SMS OTC passwordless login flow. After the user receives the code, this endpoint finalizes authentication and returns a valid JWT and refresh cookie.


        Request body must include:

        - `token`: The token ID associated with the SMS OTC sent to the user.

        - `invitationToken` (optional): Include if the user is signing up through an invitation.

        - `recaptchaToken` (optional): Required if reCAPTCHA is enabled for login.


        Use this endpoint to complete passwordless login via SMS and receive authentication tokens for the session.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthenticateUserPasswordlessDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationResponseDto'
      tags:
      - Passwordless
      security:
      - bearer: []
  /resources/auth/v1/passwordless/magiclink/prelogin:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: AuthenticationPasswordlessControllerV1_magicLinkPrelogin
      summary: Magic Link Prelogin
      description: 'Initiate passwordless authentication by sending a magic link to the user''s email address.


        This is the first step in the magic link passwordless login flow for local users. The system sends an email containing a secure login link to the provided address.


        Request body must include:

        - `email`: The email address of the user initiating the login.

        - `invitationToken` (optional): Include if the user is signing up through an invitation.

        - `recaptchaToken` (optional): Required if reCAPTCHA is enabled for login.


        Use this endpoint to start the magic link authentication process by delivering a login link to the user''s email inbox.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordlessAuthenticationPreloginDto'
      responses:
        '200':
          description: ''
        '400':
          description: Invalid authentication type, magic link authentication should be enabled
      tags:
      - Passwordless
      security:
      - bearer: []
  /resources/auth/v1/passwordless/magiclink/postlogin:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: AuthenticationPasswordlessControllerV1_magicLinkPostLogin
      summary: Magic Link Postlogin
      description: 'Complete passwordless authentication using a magic link.


        This is the second step in the magic link passwordless login flow for local users. After the user clicks the link in their email, this endpoint validates the token and authenticates the user.


        Request body must include:

        - `token`: The token ID extracted from the magic link.

        - `invitationToken` (optional): Include if the user is signing up through an invitation.

        - `recaptchaToken` (optional): Required if reCAPTCHA is enabled for login.


        Use this endpoint to complete the magic link login flow and receive authentication credentials, including a JWT and a refresh cookie.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthenticateUserPasswordlessDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationResponseDto'
      tags:
      - Passwordless
      security:
      - bearer: []
  /resources/auth/v1/passwordless/code/prelogin:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: AuthenticationPasswordlessControllerV1_emailCodePrelogin
      summary: OTC (One-Time Code) Prelogin
      description: 'Initiate passwordless authentication by sending a one-time code (OTC) to the user''s email address.


        This is the first step in the email OTC (one-time code) passwordless login flow for local users. The system sends a time-sensitive code to the specified email address.


        Request body must include:

        - `email`: The email address of the user initiating the login.

        - `invitationToken` (optional): Include if the user is signing up through an invitation.

        - `recaptchaToken` (optional): Required if reCAPTCHA is enabled for login.


        Use this endpoint to start the passwordless login process via an email-based one-time code.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordlessAuthenticationPreloginDto'
      responses:
        '201':
          description: ''
        '400':
          description: Invalid authentication type, OTC (One-Time Code) authentication should be enabled
      tags:
      - Passwordless
      security:
      - bearer: []
  /resources/auth/v1/passwordless/code/postlogin:
    servers:
    - url: https://api.frontegg.com/identity
      description: EU Region
    - url: https://api.us.frontegg.com/identity
      description: US Region
    - url: https://api.ca.frontegg.com/identity
      description: CA Region
    - url: https://api.au.frontegg.com/identity
      description: AU Region
    - url: https://{domain}.frontegg.com/identity
      description: Frontegg sub-domain for use with user tokens
      variables:
        domain:
          default: app-xxx
    post:
      operationId: AuthenticationPasswordlessControllerV1_emailCodePostLogin
      summary: OTC (One-Time Code) Postlogin
      description: 'Complete passwordless authentication using a one-time code (OTC) sent to the user''s email.


        This is the second step in the email OTC passwordless login flow. After the user receives and enters the code, this endpoint validates the token and finalizes authentication.


        Request body must include:

        - `token`: The token ID associated with the email OTC sent to the user.

        - `invitationToken` (optional): Include if the user is signing up via an invitation.

        - `recaptchaToken` (optional): Required if reCAPTCHA is enabled for login.


        Use this endpoint to validate the email-based one-time code and receive authentication credentials, including a JWT and refresh cookie.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthenticateUserPasswordlessDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationResponseDto'
      tags:
      - Passwordless
      security:
      - bearer: []
components:
  schemas:
    PasswordlessAuthenticationPreloginDto:
      type: object
      properties:
        recaptchaToken:
          type: string
        invitationToken:
          type: string
        email:
          type: string
        userId:
          type: string
        username:
          type: string
      required:
      - email
      - userId
      - username
    UserMFAWebAuthnDeviceResponse:
      type: object
      properties:
        id:
          type: string
        deviceType:
          type: string
          enum:
          - Platform
          - CrossPlatform
        name:
          type: string
      required:
      - id
      - deviceType
      - name
    PasswordlessAuthenticationSmsOTCPreloginResponseDto:
      type: object
      properties:
        phoneNumber:
          type: string
        resetPhoneNumberToken:
          type: string
    AuthenticateUserPasswordlessDto:
      type: object
      properties:
        token:
          type: string
          description: One time code to login with - get it from the email sent after prelogin request
        recaptchaToken:
          type: string
        invitationToken:
          type: string
      required:
      - token
    UserMFAAuthenticatorAppResponse:
      type: object
      properties:
        id:
          type: string
      required:
      - id
    PasswordlessAuthenticationSmsOtcPreloginDto:
      type: object
      properties:
        recaptchaToken:
          type: string
        invitationToken:
          type: string
        email:
          type: string
        userId:
          type: string
        username:
          type: string
        phoneNumber:
          type: string
      required:
      - email
      - userId
      - username
      - phoneNumber
    UserMFAEmailCodeResponse:
      type: object
      properties:
        email:
          type: string
      required:
      - email
    UserMFADevicesResponse:
      type: object
      properties:
        webauthn:
          type: array
          items:
            $ref: '#/components/schemas/UserMFAWebAuthnDeviceResponse'
        phones:
          type: array
          items:
            $ref: '#/components/schemas/UserMFAPhoneDeviceResponse'
        authenticators:
          type: array
          items:
            $ref: '#/components/schemas/UserMFAAuthenticatorAppResponse'
        emails:
          type: array
          items:
            $ref: '#/components/schemas/UserMFAEmailCodeResponse'
      required:
      - webauthn
      - phones
      - authenticators
      - emails
    AuthenticationResponseDto:
      type: object
      properties:
        tokenType:
          type: string
          default: bearer
        otcToken:
          type: string
        mfaRequired:
          type: boolean
        mfaToken:
          type: string
        resetPasswordToken:
          type: string
        passwordExpiresIn:
          type: number
        notificationPeriod:
          type: number
        mfaEnrolled:
          type: boolean
        mfaDevices:
          $ref: '#/components/schemas/UserMFADevicesResponse'
        mfaStrategies:
          type: object
        qrCode:
          type: string
        recoveryCode:
          type: string
        accessToken:
          type: string
        refreshToken:
          type: string
        expiresIn:
          type: number
        expires:
          type: string
        userId:
          type: string
        userEmail:
          type: string
        emailVerified:
          type: boolean
        isBreachedPassword:
          type: boolean
      required:
      - mfaRequired
      - accessToken
      - refreshToken
      - expiresIn
      - expires
    UserMFAPhoneDeviceResponse:
      type: object
      properties:
        id:
          type: string
        phoneNumber:
          type: string
      required:
      - id
      - phoneNumber
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
x-refined-from:
- frontegg-combined-openapi.yml
- frontegg-identity-openapi.yml
x-tagGroups:
- name: Management
  tags:
  - Applications settings