Corbado Identifiers API

Manage login identifiers (email, phone, username) attached to a user.

Operations 4

POST /users/{userID}/identifiers Create login identifier #
PATCH /users/{userID}/identifiers/{identifierID} Update identifier #
DELETE /users/{userID}/identifiers/{identifierID} Delete identifier #
GET /identifiers List all login identifiers #

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/corbado-identifiers-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

corbado-identifiers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Corbado Backend ConnectTokens Identifiers API
  description: The Corbado Backend API is a server-to-server REST API for the Corbado passkey-first authentication platform. It manages users, login identifiers, sessions, passkeys (WebAuthn credentials), passkey events, Connect tokens, and project data exports. Requests authenticate with HTTP Basic auth using the project ID as username and the API secret as password (both obtained from the Corbado Developer Panel).
  termsOfService: https://www.corbado.com/legal/terms
  contact:
    name: Corbado Support
    url: https://docs.corbado.com
    email: support@corbado.com
  version: 2.0.0
servers:
- url: https://backendapi.corbado.io/v2
  description: Corbado Backend API v2
security:
- basicAuth: []
tags:
- name: Identifiers
  description: Manage login identifiers (email, phone, username) attached to a user.
paths:
  /users/{userID}/identifiers:
    parameters:
    - $ref: '#/components/parameters/UserID'
    post:
      operationId: identifierCreate
      tags:
      - Identifiers
      summary: Create login identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentifierCreateReq'
      responses:
        '200':
          description: The created login identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identifier'
        '400':
          $ref: '#/components/responses/ErrorRsp'
  /users/{userID}/identifiers/{identifierID}:
    parameters:
    - $ref: '#/components/parameters/UserID'
    - name: identifierID
      in: path
      required: true
      schema:
        type: string
    patch:
      operationId: identifierUpdate
      tags:
      - Identifiers
      summary: Update identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentifierUpdateReq'
      responses:
        '200':
          description: The updated identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identifier'
        '404':
          $ref: '#/components/responses/ErrorRsp'
    delete:
      operationId: identifierDelete
      tags:
      - Identifiers
      summary: Delete identifier
      responses:
        '200':
          description: The identifier was deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericRsp'
        '404':
          $ref: '#/components/responses/ErrorRsp'
  /identifiers:
    get:
      operationId: identifierList
      tags:
      - Identifiers
      summary: List all login identifiers
      parameters:
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A paged list of login identifiers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentifierList'
        '401':
          $ref: '#/components/responses/ErrorRsp'
components:
  schemas:
    IdentifierList:
      type: object
      required:
      - identifiers
      - paging
      properties:
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
        paging:
          $ref: '#/components/schemas/Paging'
    IdentifierCreateReq:
      type: object
      required:
      - identifierType
      - identifierValue
      - status
      properties:
        identifierType:
          type: string
          enum:
          - email
          - phone
          - username
        identifierValue:
          type: string
        status:
          type: string
          enum:
          - primary
          - verified
          - pending
    Identifier:
      type: object
      required:
      - identifierID
      - userID
      - identifierType
      - identifierValue
      - status
      properties:
        identifierID:
          type: string
          example: emai-2398470283402934
        userID:
          type: string
        identifierType:
          type: string
          enum:
          - email
          - phone
          - username
        identifierValue:
          type: string
          example: jane.doe@example.com
        status:
          type: string
          enum:
          - primary
          - verified
          - pending
        created:
          type: string
          format: date-time
    Paging:
      type: object
      properties:
        page:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
        totalItems:
          type: integer
          format: int32
    RequestData:
      type: object
      properties:
        requestID:
          type: string
        link:
          type: string
    GenericRsp:
      type: object
      properties:
        httpStatusCode:
          type: integer
          format: int32
        message:
          type: string
        requestData:
          $ref: '#/components/schemas/RequestData'
        runtime:
          type: number
          format: float
    IdentifierUpdateReq:
      type: object
      properties:
        status:
          type: string
          enum:
          - primary
          - verified
          - pending
    ErrorRsp:
      type: object
      required:
      - httpStatusCode
      - message
      properties:
        httpStatusCode:
          type: integer
          format: int32
        message:
          type: string
        requestData:
          $ref: '#/components/schemas/RequestData'
        runtime:
          type: number
          format: float
        error:
          type: object
          properties:
            type:
              type: string
            details:
              type: string
            validation:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
  parameters:
    Filter:
      name: filter
      in: query
      required: false
      description: Repeatable filter expressions, e.g. status:eq:active.
      schema:
        type: array
        items:
          type: string
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        format: int32
        default: 1
    Sort:
      name: sort
      in: query
      required: false
      description: Field and direction to sort by, e.g. created:desc.
      schema:
        type: string
    UserID:
      name: userID
      in: path
      required: true
      description: The Corbado user ID (e.g. usr-4693224802260150919).
      schema:
        type: string
    PageSize:
      name: pageSize
      in: query
      required: false
      schema:
        type: integer
        format: int32
        default: 10
  responses:
    ErrorRsp:
      description: An error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorRsp'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication. The username is the project ID (e.g. pro-1234567890) and the password is the API secret, both issued from the Corbado Developer Panel.