Sinch Verification API Start Verification API

Initiate a phone number verification.

OpenAPI Specification

sinch-verify-start-verification-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Sinch Verification Report Verification Start Verification 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: Start Verification
  description: Initiate a phone number verification.
paths:
  /verifications:
    post:
      operationId: startVerification
      tags:
      - Start Verification
      summary: Start a verification
      description: Starts a verification using the chosen method (sms, flashcall, callout, or seamless). Provide the phone number as the identity. Sinch returns the template or CLI filter the client should observe. Used by the mobile and web Verification SDKs and callable directly from a backend.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartVerificationRequest'
      responses:
        '200':
          description: Verification started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartVerificationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Authentication failed or was missing.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request was malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    StartVerificationResponse:
      type: object
      properties:
        id:
          type: string
        method:
          type: string
          enum:
          - sms
          - flashcall
          - callout
          - seamless
        sms:
          type: object
          description: Present for SMS verifications; includes the template to match.
          properties:
            template:
              type: string
        flashCall:
          type: object
          description: Present for flash call verifications; includes the CLI filter.
          properties:
            cliFilter:
              type: string
            interceptionTimeout:
              type: integer
    StartVerificationRequest:
      type: object
      required:
      - identity
      - method
      properties:
        identity:
          $ref: '#/components/schemas/Identity'
        method:
          type: string
          enum:
          - sms
          - flashcall
          - callout
          - seamless
        reference:
          type: string
          description: Optional custom reference for tracking and later lookup.
        custom:
          type: string
          description: Optional custom string passed through to callbacks.
    Identity:
      type: object
      properties:
        type:
          type: string
          example: number
        endpoint:
          type: string
          description: The phone number in E.164 format.
          example: '+15551234567'
    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.