openapi: 3.0.3 info: title: Sinch Verification Report Verification Verification Status API description: 'The Sinch Verification API (Sinch Verify) confirms that a user controls a mobile phone number, powering OTP, two-factor authentication (2FA), and anti-fraud sign-up flows. It supports four verification methods: SMS, flash call, phone call (callout), and data (seamless / silent). The flow is: start a verification, report the received code or caller ID, then read the pass/fail result. Status can also be queried by id, by number, or by a custom reference. Base URL is https://verification.api.sinch.com/verification/v1. Requests are server-to-server and authenticated with either an Application-signed request (HMAC-SHA256 over the request using your application key and secret) or HTTP Basic auth (recommended only for prototyping). Paths and methods below are grounded in the public Sinch developer documentation; request/response schemas are modeled and should be reconciled against the live API reference.' version: '1.0' contact: name: Sinch url: https://developers.sinch.com/docs/verification/ x-modeled: true servers: - url: https://verification.api.sinch.com/verification/v1 description: Sinch Verification API production security: - applicationSigned: [] - basicAuth: [] tags: - name: Verification Status description: Query the status of pending and completed verifications. paths: /verifications/id/{id}: get: operationId: getVerificationStatusById tags: - Verification Status summary: Query verification status by id description: Returns the status and outcome of the verification with the given id. parameters: - name: id in: path required: true schema: type: string responses: '200': description: Verification status. content: application/json: schema: $ref: '#/components/schemas/VerificationStatus' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /verifications/{method}/number/{endpoint}: get: operationId: getVerificationStatusByIdentity tags: - Verification Status summary: Query verification status by number and method description: Returns the status of the verification for the given method and phone number (identity). parameters: - name: method in: path required: true description: The verification method. schema: type: string enum: - sms - flashcall - callout - seamless - name: endpoint in: path required: true description: The phone number (identity), in E.164 format. schema: type: string responses: '200': description: Verification status. content: application/json: schema: $ref: '#/components/schemas/VerificationStatus' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /verifications/reference/{reference}: get: operationId: getVerificationStatusByReference tags: - Verification Status summary: Query verification status by reference description: Returns the status of the verification associated with the custom reference string supplied when the verification was started. parameters: - name: reference in: path required: true description: The custom reference string set at verification start. schema: type: string responses: '200': description: Verification status. content: application/json: schema: $ref: '#/components/schemas/VerificationStatus' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: responses: Unauthorized: description: Authentication failed or was missing. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: No matching verification was found. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Identity: type: object properties: type: type: string example: number endpoint: type: string description: The phone number in E.164 format. example: '+15551234567' VerificationStatus: type: object properties: id: type: string method: type: string status: type: string enum: - PENDING - SUCCESSFUL - FAIL - DENIED - ABORTED - ERROR reason: type: string reference: type: string identity: $ref: '#/components/schemas/Identity' countryId: type: string Error: type: object properties: errorCode: type: integer message: type: string reference: type: string securitySchemes: applicationSigned: type: apiKey in: header name: Authorization description: Application-signed request. The Authorization header is "Application {application_key}:{signature}" where signature is a Base64-encoded HMAC-SHA256 of the canonicalized request (method, content type, Content-MD5, x-timestamp header, and path) using the Base64-decoded application secret. Recommended for production. basicAuth: type: http scheme: basic description: HTTP Basic authentication using the application key as username and the application secret as password. Recommended for prototyping only.