send21-io Auth API

The Auth API from send21-io — 26 operation(s) for auth.

Operations 26

POST /api/v1/accounts/agent-signup Create api accounts agent signup #
POST /api/v1/accounts/claim/begin Create api accounts claim begin #
POST /api/v1/accounts/claim/passkey Create api accounts claim passkey #
POST /api/v1/accounts/claim/password Create api accounts claim password #
POST /api/v1/accounts/claim/decline Create api accounts claim decline #
POST /api/v1/auth/register/begin Create api auth register begin #
POST /api/v1/auth/register/verify Create api auth register verify #
POST /api/v1/auth/register/complete Create api auth register complete #
POST /api/v1/auth/login/begin Create api auth login begin #
POST /api/v1/auth/login/complete Create api auth login complete #
POST /api/v1/auth/logout Create api auth logout #
POST /api/v1/auth/password/register Create api auth password register #
POST /api/v1/auth/password/register/complete Create api auth password register complete #
POST /api/v1/auth/password/change Create api auth password change #
POST /api/v1/auth/sessions/revoke Create api auth sessions revoke #
POST /api/v1/auth/password/forgot Create api auth password forgot #
POST /api/v1/auth/password/forgot/complete Create api auth password forgot complete #
POST /api/v1/auth/password/login Create api auth password login #
POST /api/v1/auth/password/login/complete Create api auth password login complete #
GET /api/v1/auth/me Get api auth me #
DELETE /api/v1/auth/account Delete api auth account #
POST /api/v1/auth/step-up/begin Create api auth step up begin #
POST /api/v1/auth/step-up/complete Create api auth step up complete #
POST /api/v1/auth/totp/setup Create api auth totp setup #
POST /api/v1/auth/totp/enable Create api auth totp enable #
POST /api/v1/auth/totp/disable Create api auth totp disable #

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/send21-io:send21-io-auth-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

send21-io-auth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Send21 Io Auth API
  version: v1
  contact:
    name: send21 integration support
    email: integration@send21.io
  description: 'Operations tagged Auth across 2 of this provider''s published API definitions: send21-io-openapi.json, swagger.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://send21.io
security:
- ApiKey: []
tags:
- name: Auth
paths:
  /api/v1/accounts/agent-signup:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentSignupRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/AgentSignupRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/AgentSignupRequest'
      responses:
        '201':
          description: Created
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/AgentSignupResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/AgentSignupResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/AgentSignupResponse'
      summary: Create api accounts agent signup
      x-summary-source: derived
      operationId: postApiV1AccountsAgentSignup
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/accounts/claim/begin:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaimTokenRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ClaimTokenRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ClaimTokenRequest'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ClaimInfoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ClaimInfoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ClaimInfoResponse'
      summary: Create api accounts claim begin
      x-summary-source: derived
      operationId: postApiV1AccountsClaimBegin
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/accounts/claim/passkey:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaimPasskeyRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ClaimPasskeyRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ClaimPasskeyRequest'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/MeResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/MeResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/MeResponse'
      summary: Create api accounts claim passkey
      x-summary-source: derived
      operationId: postApiV1AccountsClaimPasskey
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/accounts/claim/password:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaimPasswordRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ClaimPasswordRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ClaimPasswordRequest'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/MeResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/MeResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/MeResponse'
      summary: Create api accounts claim password
      x-summary-source: derived
      operationId: postApiV1AccountsClaimPassword
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/accounts/claim/decline:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaimTokenRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ClaimTokenRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ClaimTokenRequest'
      responses:
        '204':
          description: No Content
      summary: Create api accounts claim decline
      x-summary-source: derived
      operationId: postApiV1AccountsClaimDecline
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/register/begin:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterBeginRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/RegisterBeginRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/RegisterBeginRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth register begin
      x-summary-source: derived
      operationId: postApiV1AuthRegisterBegin
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/register/verify:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth register verify
      x-summary-source: derived
      operationId: postApiV1AuthRegisterVerify
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/register/complete:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterCompleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/RegisterCompleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/RegisterCompleteRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth register complete
      x-summary-source: derived
      operationId: postApiV1AuthRegisterComplete
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/login/begin:
    post:
      tags:
      - Auth
      responses:
        '200':
          description: OK
      summary: Create api auth login begin
      x-summary-source: derived
      operationId: postApiV1AuthLoginBegin
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/login/complete:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginCompleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/LoginCompleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/LoginCompleteRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth login complete
      x-summary-source: derived
      operationId: postApiV1AuthLoginComplete
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/logout:
    post:
      tags:
      - Auth
      responses:
        '200':
          description: OK
      summary: Create api auth logout
      x-summary-source: derived
      operationId: postApiV1AuthLogout
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/password/register:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordRegisterRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/PasswordRegisterRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PasswordRegisterRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth password register
      x-summary-source: derived
      operationId: postApiV1AuthPasswordRegister
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/password/register/complete:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth password register complete
      x-summary-source: derived
      operationId: postApiV1AuthPasswordRegisterComplete
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/password/change:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordChangeRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/PasswordChangeRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PasswordChangeRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth password change
      x-summary-source: derived
      operationId: postApiV1AuthPasswordChange
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/sessions/revoke:
    post:
      tags:
      - Auth
      responses:
        '200':
          description: OK
      summary: Create api auth sessions revoke
      x-summary-source: derived
      operationId: postApiV1AuthSessionsRevoke
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/password/forgot:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordForgotRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/PasswordForgotRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PasswordForgotRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth password forgot
      x-summary-source: derived
      operationId: postApiV1AuthPasswordForgot
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/password/forgot/complete:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordForgotCompleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/PasswordForgotCompleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PasswordForgotCompleteRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth password forgot complete
      x-summary-source: derived
      operationId: postApiV1AuthPasswordForgotComplete
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/password/login:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordLoginRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/PasswordLoginRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PasswordLoginRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth password login
      x-summary-source: derived
      operationId: postApiV1AuthPasswordLogin
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/password/login/complete:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/EmailCodeCompleteRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth password login complete
      x-summary-source: derived
      operationId: postApiV1AuthPasswordLoginComplete
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/me:
    get:
      tags:
      - Auth
      responses:
        '200':
          description: OK
      summary: Get api auth me
      x-summary-source: derived
      operationId: getApiV1AuthMe
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/account:
    delete:
      tags:
      - Auth
      responses:
        '200':
          description: OK
      summary: Delete api auth account
      x-summary-source: derived
      operationId: deleteApiV1AuthAccount
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/step-up/begin:
    post:
      tags:
      - Auth
      responses:
        '200':
          description: OK
      summary: Create api auth step up begin
      x-summary-source: derived
      operationId: postApiV1AuthStepUpBegin
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/step-up/complete:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StepUpCompleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/StepUpCompleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/StepUpCompleteRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth step up complete
      x-summary-source: derived
      operationId: postApiV1AuthStepUpComplete
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/totp/setup:
    post:
      tags:
      - Auth
      responses:
        '200':
          description: OK
      summary: Create api auth totp setup
      x-summary-source: derived
      operationId: postApiV1AuthTotpSetup
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/totp/enable:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TotpCodeRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/TotpCodeRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/TotpCodeRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth totp enable
      x-summary-source: derived
      operationId: postApiV1AuthTotpEnable
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
  /api/v1/auth/totp/disable:
    post:
      tags:
      - Auth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TotpCodeRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/TotpCodeRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/TotpCodeRequest'
      responses:
        '200':
          description: OK
      summary: Create api auth totp disable
      x-summary-source: derived
      operationId: postApiV1AuthTotpDisable
      x-operation-id-source: derived
    servers:
    - url: https://send21.io
components:
  schemas:
    ClaimPasswordRequest:
      type: object
      properties:
        token:
          type:
          - string
          - 'null'
        password:
          type:
          - string
          - 'null'
      additionalProperties: false
    AuthenticationExtensionsPRFValues:
      required:
      - first
      type: object
      properties:
        first:
          type:
          - string
          - 'null'
          format: byte
        second:
          type:
          - string
          - 'null'
          format: byte
      additionalProperties: false
    ClaimTokenRequest:
      type: object
      properties:
        token:
          type:
          - string
          - 'null'
      additionalProperties: false
    MeResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        email:
          type:
          - string
          - 'null'
        displayName:
          type:
          - string
          - 'null'
        totpEnabled:
          type: boolean
        hasPassword:
          type: boolean
        isAdmin:
          type: boolean
        credentials:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CredentialInfo'
        receivingAddressPolicy:
          $ref: '#/components/schemas/ReceivingAddressPolicy'
      additionalProperties: false
    LoginCompleteRequest:
      type: object
      properties:
        ceremonyId:
          type: string
          format: uuid
        credential:
          $ref: '#/components/schemas/AuthenticatorAssertionRawResponse'
        totpCode:
          type:
          - string
          - 'null'
      additionalProperties: false
    CredentialInfo:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type:
          - string
          - 'null'
        createdAt:
          type: string
          format: date-time
        lastUsedAt:
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: false
    EmailCodeCompleteRequest:
      type: object
      properties:
        ceremonyId:
          type: string
          format: uuid
        code:
          type:
          - string
          - 'null'
      additionalProperties: false
    AttestationResponse:
      required:
      - attestationObject
      - clientDataJSON
      - transports
      type: object
      properties:
        attestationObject:
          type:
          - string
          - 'null'
          format: byte
        clientDataJSON:
          type:
          - string
          - 'null'
          format: byte
        transports:
          type: array
          items:
            $ref: '#/components/schemas/AuthenticatorTransport'
      additionalProperties: false
    AuthenticatorAttestationRawResponse:
      required:
      - clientExtensionResults
      - id
      - rawId
      - response
      - type
      type: object
      properties:
        id:
          minLength: 1
          type: string
        rawId:
          type: string
          format: byte
        type:
          $ref: '#/components/schemas/PublicKeyCredentialType'
        response:
          $ref: '#/components/schemas/AttestationResponse'
        extensions:
          $ref: '#/components/schemas/AuthenticationExtensionsClientOutputs'
        clientExtensionResults:
          $ref: '#/components/schemas/AuthenticationExtensionsClientOutputs'
      additionalProperties: false
    ReceivingAddressPolicy:
      enum:
      - InlineAllowed
      - ApprovedOnly
      type: string
    AgentSignupResponse:
      type: object
      properties:
        accountStatus:
          type:
          - string
          - 'null'
        apiKey:
          type:
          - string
          - 'null'
        keyScopes:
          type:
          - array
          - 'null'
          items:
            type: string
        keyExpiresAt:
          type: string
          format: date-time
        ownerEmail:
          type:
          - string
          - 'null'
        claimLinkExpiresAt:
          type: string
          format: date-time
        nextSteps:
          type:
          - array
          - 'null'
          items:
            type: string
      additionalProperties: false
    PublicKeyCredentialType:
      enum:
      - PublicKey
      - Invalid
      type: string
    RegisterBeginRequest:
      type: object
      properties:
        email:
          type:
          - string
          - 'null'
        displayName:
          type:
          - string
          - 'null'
      additionalProperties: false
    AuthenticatorAssertionRawResponse:
      required:
      - clientExtensionResults
      - id
      - rawId
      - type
      type: object
      properties:
        id:
          minLength: 1
          type: string
        rawId:
          type: string
          format: byte
        response:
          $ref: '#/components/schemas/AssertionResponse'
        type:
          $ref: '#/components/schemas/PublicKeyCredentialType'
        extensions:
          $ref: '#/components/schemas/AuthenticationExtensionsClientOutputs'
        clientExtensionResults:
          $ref: '#/components/schemas/AuthenticationExtensionsClientOutputs'
      additionalProperties: false
    AgentSignupRequest:
      type: object
      properties:
        email:
          type:
          - string
          - 'null'
        agentName:
          type:
          - string
          - 'null'
        intendedUse:
          type:
          - string
          - 'null'
      additionalProperties: false
    AuthenticationExtensionsClientOutputs:
      type: object
      properties:
        example.extension.bool:
          type:
          - boolean
          - 'null'
        appid:
          type: boolean
        exts:
          type:
          - array
          - 'null'
          items:
            type: string
        uvm:
          type:
          - array
          - 'null'
          items:
            type: array
            items:
              type: integer
              format: int64
        credProps:
          $ref: '#/components/schemas/CredentialPropertiesOutput'
        prf:
          $ref: '#/components/schemas/AuthenticationExtensionsPRFOutputs'
        largeBlob:
          $ref: '#/components/schemas/AuthenticationExtensionsLargeBlobOutputs'
        credProtect:
          $ref: '#/components/schemas/CredentialProtectionPolicy'
      additionalProperties: false
    AssertionResponse:
      required:
      - authenticatorData
      - clientDataJSON
      - signature
      type: object
      properties:
        authenticatorData:
          type:
          - string
          - 'null'
          format: byte
        signature:
          type:
          - string
          - 'null'
          format: byte
        clientDataJSON:
          type:
          - string
          - 'null'
          format: byte
        userHandle:
          type:
          - string
          - 'null'
          format: byte
      additionalProperties: false
    TotpCodeRequest:
      type: object
      properties:
        code:
          type:
          - string
          - 'null'
      additionalProperties: false
    AuthenticatorTransport:
      enum:
      - Usb
      - Nfc
      - Ble
      - SmartCard
      - Hybrid
      - Internal
      type: string
    AuthenticationExtensionsPRFOutputs:
      type: object
      properties:
        enabled:
          type: boolean
        results:
          $ref: '#/components/schemas/AuthenticationExtensionsPRFValues'
      additionalProperties: false
    PasswordLoginRequest:
      type: object
      properties:
        email:
          type:
          - string
          - 'null'
        password:
          type:
          - string
          - 'null'
        totpCode:
          type:
          - string
          - 'null'
      additionalProperties: false
    PasswordForgotCompleteRequest:
      type: object
      properties:
        ceremonyId:
          type: string
          format: uuid
        code:
          type:
          - string
          - 'null'
        newPassword:
          type:
          - string
          - 'null'
        totpCode:
          type:
          - string
          - 'null'
      additionalProperties: false
    StepUpCompleteRequest:
      type: object
      properties:
        ceremonyId:
          type:
          - string
          - 'null'
          format: uuid
        credential:
          $ref: '#/components/schemas/AuthenticatorAssertionRawResponse'
        totpCode:
          type:
          - string
          - 'null'
      additionalProperties: false
    CredentialPropertiesOutput:
      type: object
      properties:
        rk:
          type: boolean
        authenticatorDisplayName:
          type:
          - string
          - 'null'
      additionalProperties: false
    PasswordRegisterRequest:
      type: object
      properties:
        email:
          type:
          - string
          - 'null'
        password:
          type:
          - string
          - 'null'
        displayName:
          type:
          - string
          - 'null'
      additionalProperties: false
    RegisterCompleteRequest:
      type: object
      properties:
        ceremonyId:
          type: string
          format: uuid
        credential:
          $ref: '#/components/schemas/AuthenticatorAttestationRawResponse'
        credentialName:
          type:
          - string
          - 'null'
      additionalProperties: false
    CredentialProtectionPolicy:
      enum:
      - UserVerificationOptional
      - UserVerificationOptionalWithCredentialIdList
      - UserVerificationRequired
      type: string
    PasswordChangeRequest:
      type: object
      properties:
        currentPassword:
          type:
          - string
          - 'null'
        newPassword:
          type:
          - string
          - 'null'
      additionalProperties: false
    AuthenticationExtensionsLargeBlobOutputs:
      type: object
      properties:
        supported:
          type: boolean
        blob:
          type:
          - string
          - 'null'
          format: byte
        written:
          type: boolean
      additionalProperties: false
    ClaimPasskeyRequest:
      type: object
      properties:
        token:
          type:
          - string
          - 'null'
        ceremonyId:
          type: string
          format: uuid
        credential:
          $ref: '#/components/schemas/AuthenticatorAttestationRawResponse'
        credentialName:
          type:
          - string
          - 'null'
      additionalProperties: false
    ClaimInfoResponse:
      type: object
      properties:
        email:
          type:
          - string
          - 'null'
        agentName:
          type:
          - string
          - 'null'
        intendedUse:
          type:
          - string
          - 'null'
        createdAt:
          type: string
          format: date-time
        ceremonyId:
          type: string
          format: uuid
        passkeyOptions: {}
      additionalProperties: false
    PasswordForgotRequest:
      type: object
      properties:
        email:
          type:
          - string
          - 'null'
      additionalProperties: false
  securitySchemes:
    ApiKey:
      type: http
      description: 'AI-agent API key (Authorization: Bearer s21_...). Humans use passkey session cookies instead.'
      scheme: bearer
      bearerFormat: s21_...
x-refined-from:
- send21-io-openapi.json
- swagger.json