Frontegg Passwordless API

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

Documentation

Specifications

Other Resources

OpenAPI Specification

frontegg-passwordless-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Multi-Apps Overview Account Invitations Passwordless API
  description: Frontegg’s Multi-Apps feature simplifies and streamlines application management, delivering a seamless user experience. This section includes all necessary endpoints for managing applications and copying application settings across environments. All endpoints are categorized as **Management Endpoints**, requiring environment-level authorization and providing full control over entitlement resources.
  version: '1.0'
  x-metadata:
    note: Trigger publish artifacts job, remove this x-metadata after publishing
servers:
- url: https://api.frontegg.com/applications
  description: EU Region
- url: https://api.us.frontegg.com/applications
  description: US Region
- url: https://api.ca.frontegg.com/applications
  description: CA Region
- url: https://api.au.frontegg.com/applications
  description: AU Region
- url: https://{domain}.frontegg.com/applications
  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:
    UserMFAPhoneDeviceResponse:
      type: object
      properties:
        id:
          type: string
        phoneNumber:
          type: string
      required:
      - id
      - phoneNumber
    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
    UserMFAWebAuthnDeviceResponse:
      type: object
      properties:
        id:
          type: string
        deviceType:
          type: string
          enum:
          - Platform
          - CrossPlatform
        name:
          type: string
      required:
      - id
      - deviceType
      - name
    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
    UserMFAAuthenticatorAppResponse:
      type: object
      properties:
        id:
          type: string
      required:
      - id
    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
    UserMFAEmailCodeResponse:
      type: object
      properties:
        email:
          type: string
      required:
      - email
    PasswordlessAuthenticationSmsOTCPreloginResponseDto:
      type: object
      properties:
        phoneNumber:
          type: string
        resetPhoneNumberToken:
          type: string
    PasswordlessAuthenticationPreloginDto:
      type: object
      properties:
        recaptchaToken:
          type: string
        invitationToken:
          type: string
        email:
          type: string
        userId:
          type: string
        username:
          type: string
      required:
      - email
      - userId
      - username
    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
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
x-tagGroups:
- name: Management
  tags:
  - Applications settings