openapi: 3.0.1 info: title: Prove Auth Authentication 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 ` 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: Authentication description: OAuth 2.0 token issuance. paths: /token: post: operationId: v3TokenRequest tags: - Authentication summary: Issue an OAuth 2.0 access token description: 'Exchange a client ID and client secret for a short-lived Bearer access token using the OAuth 2.0 client-credentials grant. The returned access_token must be sent as `Authorization: Bearer ` on all other Prove API calls.' requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TokenRequest' responses: '200': description: A new access token. content: application/json: schema: $ref: '#/components/schemas/TokenResponse' '401': $ref: '#/components/responses/Unauthorized' security: [] components: schemas: TokenResponse: type: object properties: access_token: type: string token_type: type: string example: Bearer expires_in: type: integer description: Access token lifetime in seconds. refresh_token: type: string refresh_expires_in: type: integer Error: type: object properties: code: type: string message: type: string details: type: array items: type: object additionalProperties: true TokenRequest: type: object required: - grant_type - client_id - client_secret properties: grant_type: type: string enum: - client_credentials description: OAuth 2.0 grant type. client_id: type: string description: Prove-issued client ID. client_secret: type: string description: Prove-issued client secret. 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: {}