Prove Auth API

Phone-based authentication and device binding.

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/prove-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

prove-auth-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Prove Auth API
  description: 'Phone-centric identity verification and authentication API. The Prove API (v3) uses a consumer''s mobile phone number and cryptographic possession signals to power the Pre-Fill verification flow (start, validate, challenge, complete), Unified Authentication / Trust Score (unify, unify-bind, unify-status), identity discovery (discover, fetch), phone-based Auth, and a persistent Identity Manager. All endpoints are OAuth 2.0 (client-credentials) secured; obtain a Bearer access token from the /token endpoint and send it as `Authorization: Bearer <token>` on every subsequent request.'
  termsOfService: https://www.prove.com/legal/terms
  contact:
    name: Prove Developer Support
    url: https://developer.prove.com
  version: '3.0'
servers:
- url: https://api.prove.com/v3
  description: Production
- url: https://platform.proveapis.com/v3
  description: Production (platform host)
- url: https://platform.uat.proveapis.com/v3
  description: UAT / Sandbox
security:
- bearerAuth: []
tags:
- name: Auth
  description: Phone-based authentication and device binding.
paths:
  /server/auth/start:
    post:
      operationId: authStartRequest
      tags:
      - Auth
      summary: Start a phone authentication flow
      description: Begins a phone-based authentication flow for a known customer, returning an auth identifier used to drive the client possession challenge.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthStartRequest'
      responses:
        '200':
          description: Auth flow started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /server/auth/continue:
    post:
      operationId: authContinueRequest
      tags:
      - Auth
      summary: Continue a phone authentication flow
      description: Continues an in-progress authentication flow with intermediate possession data.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthContinueRequest'
      responses:
        '200':
          description: Auth flow continued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /server/auth/finish:
    post:
      operationId: authFinishRequest
      tags:
      - Auth
      summary: Finish a phone authentication flow
      description: Completes the auth flow and returns the final authentication result for the customer's phone possession.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthContinueRequest'
      responses:
        '200':
          description: Auth result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /device/revoke:
    post:
      operationId: v3DeviceRevokeRequest
      tags:
      - Auth
      summary: Revoke a bound device
      description: Revokes a previously bound device / Prove Key so it can no longer be used for passive authentication.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceRevokeRequest'
      responses:
        '200':
          description: Device revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    AuthContinueRequest:
      type: object
      required:
      - authId
      properties:
        authId:
          type: string
          description: Identifier returned by auth start.
    DeviceRevokeRequest:
      type: object
      properties:
        deviceId:
          type: string
        proveId:
          type: string
        phoneNumber:
          type: string
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: object
            additionalProperties: true
    AuthStartRequest:
      type: object
      required:
      - phoneNumber
      properties:
        phoneNumber:
          type: string
        clientRequestId:
          type: string
        finalTargetURL:
          type: string
          format: uri
    AuthResponse:
      type: object
      properties:
        success:
          type: boolean
        authId:
          type: string
        evaluation:
          type: string
        next:
          $ref: '#/components/schemas/Next'
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
    Next:
      type: object
      additionalProperties:
        type: string
      description: Map of allowed next operations for the flow (for example `v3-challenge`, `v3-complete`).
  responses:
    Unauthorized:
      description: Missing, invalid, or expired access token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 client-credentials Bearer access token obtained from POST /token.
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.prove.com/v3/token
          scopes: {}