Sinch Verification status API

Get the status of specific verification requests in the verification process. Returns the status of pending and completed verifications. You can retrieve the status of verification requests by using the ID of the request, the phone number of the user being verified, or a custom reference string.

Operations 3

GET /verification/v1/verifications/id/{id} Get verification by ID #
GET /verification/v1/verifications/{method}/number/{endpoint} Get verification by Identity #
GET /verification/v1/verifications/reference/{reference} Get verification by Reference #

Documentation

📖
Documentation
https://developers.sinch.com/docs/conversation
📖
APIReference
https://developers.sinch.com/docs/conversation/api-reference/template
📖
Documentation
https://developers.sinch.com/docs/est
📖
APIReference
https://developers.sinch.com/docs/est/api-reference/est
📖
Documentation
https://developers.sinch.com/docs/fax
📖
APIReference
https://developers.sinch.com/docs/fax/api-reference/fax
📖
Documentation
https://developers.sinch.com/docs/number-lookup-api-v2
📖
APIReference
https://developers.sinch.com/docs/number-lookup-api-v2/api-reference/number-lookup-v2
📖
Documentation
https://developers.sinch.com/docs/numbers
📖
APIReference
https://developers.sinch.com/docs/numbers/api-reference/imported-hosting
📖
APIReference
https://developers.sinch.com/docs/numbers/api-reference/numbers
📖
APIReference
https://developers.sinch.com/docs/numbers/api-reference/porting
📖
Documentation
https://developers.sinch.com/docs/provisioning-api
📖
APIReference
https://developers.sinch.com/docs/provisioning-api/api-reference/provisioning-api-1
📖
Documentation
https://developers.sinch.com/docs/verification
📖
APIReference
https://developers.sinch.com/docs/verification/api-reference/verification
📖
Documentation
https://developers.sinch.com/docs/voice-2.0
📖
APIReference
https://developers.sinch.com/docs/voice-2.0/api-reference/voice
📖
Documentation
https://developers.sinch.com/docs/10dlc-registration
📖
APIReference
https://developers.sinch.com/docs/10dlc-registration/api-reference/10dlc-registration
📖
Documentation
https://developers.sinch.com/docs/accesskeys
📖
APIReference
https://developers.sinch.com/docs/accesskeys/api-reference/oldaccesskeys
📖
APIReference
https://developers.sinch.com/docs/accesskeys/api-reference/accesskeys
📖
Documentation
https://developers.sinch.com/docs/campaigns
📖
APIReference
https://developers.sinch.com/docs/campaigns/api-reference/campaigns
📖
Documentation
https://developers.sinch.com/docs/chatlayer-analytics
📖
APIReference
https://developers.sinch.com/docs/chatlayer-analytics/api-reference/chatlayer-analytics
📖
Documentation
https://developers.sinch.com/docs/compliance-center
📖
APIReference
https://developers.sinch.com/docs/compliance-center/api-reference/compliance-brands
📖
Documentation
https://developers.sinch.com/docs/subprojects
📖
APIReference
https://developers.sinch.com/docs/subprojects/api-reference/subprojects

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-v2-template-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-v2-list-translations-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-v2-list-templates-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-call-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-sip-trunk-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-sip-endpoint-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-ip-range-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-access-control-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-fax-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-service-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-template-by-name-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-update-template-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-service-phone-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-cover-page-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-number-lookup-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-number-lookup-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-hosting-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-qualified-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-text-enable-numbers-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-hosting-order-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-imported-number-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-imported-numbers-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-active-number-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-rent-any-number-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-validate-address-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-number-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-number-order-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-registration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-order-list-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-defaults-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-pagination-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-voice-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-order-document-base-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-port-in-order-group-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-whatsapp-account-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-whatsapp-sender-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-whatsapp-template-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-whatsapp-partial-template-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-webhook-webhook-input-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-webhook-update-webhook-input-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-verification-report-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-batch-summary-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-session-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-call-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-service-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-validate-svaml-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-tcr-campaign-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-access-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-access-key-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-access-keys-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-access-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-update-access-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-campaign-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-carrier-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-note-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-campaign-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-campaign-attachment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-campaign-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-get-flow-step-details-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-get-conversation-flow-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-funnel-step-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-funnel-step-filter-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-get-intents-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-event-definitions-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-brand-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-brand-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-attachment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-import-brand-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-create-brand-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-callback-config-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-subproject-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sinch/refs/heads/main/json-schema/sinch-list-subprojects-response-schema.json

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/sinch:sinch-verification-status-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

sinch-verification-status-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Verification | Sinch Verification status API
  license:
    name: MIT
    url: https://www.sinch.com/toc
  contact:
    name: Sinch
    url: https://www.sinch.com/contact-us/
    email: support@sinch.com
  version: 2.0.1
  description: Sinch offers a platform for phone number verification.
servers:
- url: https://verification.api.sinch.com
security:
- Basic: []
- Application: []
tags:
- name: Verification status
  description: Get the status of specific verification requests in the verification process. Returns the status of pending and completed verifications. You can retrieve the status of verification requests by using the ID of the request, the phone number of the user being verified, or a custom reference string.
  x-displayName: Verifications status
paths:
  /verification/v1/verifications/id/{id}:
    parameters:
    - $ref: '#/components/parameters/id'
    get:
      tags:
      - Verification status
      summary: Get verification by ID
      description: Queries the verification result by sending the verification ID. With this query you can get the result of a verification.
      operationId: VerificationStatusById
      responses:
        '200':
          $ref: '#/components/responses/VerificationResult'
      x-codeSamples:
      - lang: Java
        source: "/**\n * Sinch Java Snippet\n *\n * <p>This snippet is available at https://github.com/sinch/sinch-sdk-java\n *\n * <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details\n */\npackage verification.status;\n\nimport com.sinch.sdk.SinchClient;\nimport com.sinch.sdk.domains.verification.api.v1.VerificationsStatusService;\nimport com.sinch.sdk.domains.verification.models.v1.status.response.VerificationStatusResponse;\nimport com.sinch.sdk.models.Configuration;\nimport java.util.logging.Logger;\nimport utils.Settings;\n\npublic class GetById {\n\n  private static final Logger LOGGER = Logger.getLogger(GetById.class.getName());\n\n  public static void main(String[] args) {\n\n    String applicationKey = Settings.getApplicationKey().orElse(\"MY_APPLICATION_KEY\");\n    String applicationSecret = Settings.getApplicationSecret().orElse(\"MY_APPLICATION_SECRET\");\n\n    // The id you received back from the API call when starting verification\n    String verificationId = \"VERIFICATION_ID\";\n\n    Configuration configuration =\n        Configuration.builder()\n            .setApplicationKey(applicationKey)\n            .setApplicationSecret(applicationSecret)\n            .build();\n\n    SinchClient client = new SinchClient(configuration);\n\n    VerificationsStatusService verificationsStatusService =\n        client.verification().v1().verificationStatus();\n\n    LOGGER.info(String.format(\"Verification status for verification ID '%s'\", verificationId));\n\n    VerificationStatusResponse response = verificationsStatusService.getById(verificationId);\n\n    LOGGER.info(\"Response: \" + response);\n  }\n}\n"
      - lang: Node.js
        source: "/**\n * Sinch Node.js Snippet\n * See: https://github.com/sinch/sinch-sdk-node/examples/snippets\n */\nimport { SinchClient } from '@sinch/sdk-core';\nimport * as dotenv from 'dotenv';\ndotenv.config();\n\nasync function main() {\n  const applicationKey = process.env.SINCH_APPLICATION_KEY ?? 'MY_APPLICATION_KEY';\n  const applicationSecret = process.env.SINCH_APPLICATION_SECRET ?? 'MY_APPLICATION_SECRET';\n\n  // The id you received back from the API call when starting the verification.\n  const verificationId = 'VERIFICATION_ID';\n\n  const sinch = new SinchClient({ applicationKey, applicationSecret });\n\n  try {\n    const response = await sinch.verification.verificationStatus.getById({\n      id: verificationId,\n    });\n    console.log('✅ Successfully retrieved Verification.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve the Verification with ID ${verificationId}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"
  /verification/v1/verifications/{method}/number/{endpoint}:
    parameters:
    - $ref: '#/components/parameters/endpoint'
    - $ref: '#/components/parameters/method'
    get:
      tags:
      - Verification status
      summary: Get verification by Identity
      description: Queries the verification result by sending the verification Identity (usually a phone number) and its method. With this query you can get the result of a verification.
      operationId: VerificationStatusByIdentity
      responses:
        '200':
          $ref: '#/components/responses/VerificationResult'
      x-codeSamples:
      - lang: Java
        source: "/**\n * Sinch Java Snippet\n *\n * <p>This snippet is available at https://github.com/sinch/sinch-sdk-java\n *\n * <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details\n */\npackage verification.status;\n\nimport com.sinch.sdk.SinchClient;\nimport com.sinch.sdk.domains.verification.api.v1.VerificationsStatusService;\nimport com.sinch.sdk.domains.verification.models.v1.NumberIdentity;\nimport com.sinch.sdk.domains.verification.models.v1.VerificationMethod;\nimport com.sinch.sdk.domains.verification.models.v1.status.response.VerificationStatusResponse;\nimport com.sinch.sdk.models.Configuration;\nimport java.util.logging.Logger;\nimport utils.Settings;\n\npublic class GetByIdentity {\n\n  private static final Logger LOGGER = Logger.getLogger(GetByIdentity.class.getName());\n\n  public static void main(String[] args) {\n\n    String applicationKey = Settings.getApplicationKey().orElse(\"MY_APPLICATION_KEY\");\n    String applicationSecret = Settings.getApplicationSecret().orElse(\"MY_APPLICATION_SECRET\");\n\n    // The phone number you are verifying, in E.164 format (e.g. +46701234567).\n    // This should be the same number you used when starting the verification.\n    String phoneNumber = \"PHONE_NUMBER\";\n    // The verification method you used when starting the verification.\n    VerificationMethod verificationMethod = VerificationMethod.SMS;\n\n    Configuration configuration =\n        Configuration.builder()\n            .setApplicationKey(applicationKey)\n            .setApplicationSecret(applicationSecret)\n            .build();\n\n    SinchClient client = new SinchClient(configuration);\n\n    VerificationsStatusService verificationsStatusService =\n        client.verification().v1().verificationStatus();\n\n    LOGGER.info(String.format(\"Verification status for phone number '%s'\", phoneNumber));\n\n    NumberIdentity identity = NumberIdentity.valueOf(phoneNumber);\n\n    VerificationStatusResponse response =\n        verificationsStatusService.getByIdentity(identity, verificationMethod);\n\n    LOGGER.info(\"Response: \" + response);\n  }\n}\n"
      - lang: Node.js
        source: "/**\n * Sinch Node.js Snippet\n * See: https://github.com/sinch/sinch-sdk-node/examples/snippets\n */\nimport { SinchClient } from '@sinch/sdk-core';\nimport * as dotenv from 'dotenv';\ndotenv.config();\n\nasync function main() {\n  const applicationKey = process.env.SINCH_APPLICATION_KEY ?? 'MY_APPLICATION_KEY';\n  const applicationSecret = process.env.SINCH_APPLICATION_SECRET ?? 'MY_APPLICATION_SECRET';\n\n  // The phone number you are verifying, in E.164 format (e.g. +46701234567).\n  // This should be the same number you used when starting the verification.\n  const phoneNumber = 'PHONE_NUMBER';\n  // Possible values: 'sms', 'flashcall', 'phonecall', 'whatsapp'\n  const verificationMethod = 'sms';\n\n  const sinch = new SinchClient({ applicationKey, applicationSecret });\n\n  try {\n    const response = await sinch.verification.verificationStatus.getByIdentity({\n      endpoint: phoneNumber,\n      method: verificationMethod,\n    });\n    console.log('✅ Successfully retrieved Verification.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve the Verification for the phone number ${phoneNumber}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"
  /verification/v1/verifications/reference/{reference}:
    parameters:
    - $ref: '#/components/parameters/reference'
    get:
      tags:
      - Verification status
      summary: Get verification by Reference
      description: Queries the verification result by sending the verification Reference. With this query you can get the result of a verification.
      operationId: VerificationStatusByReference
      responses:
        '200':
          $ref: '#/components/responses/VerificationResult'
      x-codeSamples:
      - lang: Java
        source: "/**\n * Sinch Java Snippet\n *\n * <p>This snippet is available at https://github.com/sinch/sinch-sdk-java\n *\n * <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details\n */\npackage verification.status;\n\nimport com.sinch.sdk.SinchClient;\nimport com.sinch.sdk.domains.verification.api.v1.VerificationsStatusService;\nimport com.sinch.sdk.domains.verification.models.v1.status.response.VerificationStatusResponse;\nimport com.sinch.sdk.models.Configuration;\nimport java.util.logging.Logger;\nimport utils.Settings;\n\npublic class GetByReference {\n\n  private static final Logger LOGGER = Logger.getLogger(GetByReference.class.getName());\n\n  public static void main(String[] args) {\n\n    String applicationKey = Settings.getApplicationKey().orElse(\"MY_APPLICATION_KEY\");\n    String applicationSecret = Settings.getApplicationSecret().orElse(\"MY_APPLICATION_SECRET\");\n\n    // The reference you defined when starting the verification process.\n    String verificationReference = \"VERIFICATION_REFERENCE\";\n\n    Configuration configuration =\n        Configuration.builder()\n            .setApplicationKey(applicationKey)\n            .setApplicationSecret(applicationSecret)\n            .build();\n\n    SinchClient client = new SinchClient(configuration);\n\n    VerificationsStatusService verificationsStatusService =\n        client.verification().v1().verificationStatus();\n\n    LOGGER.info(\n        String.format(\n            \"Verification status for verification with reference '%s'\", verificationReference));\n\n    VerificationStatusResponse response =\n        verificationsStatusService.getByReference(verificationReference);\n\n    LOGGER.info(\"Response: \" + response);\n  }\n}\n"
      - lang: Node.js
        source: "/**\n * Sinch Node.js Snippet\n * See: https://github.com/sinch/sinch-sdk-node/examples/snippets\n */\nimport { SinchClient } from '@sinch/sdk-core';\nimport * as dotenv from 'dotenv';\ndotenv.config();\n\nasync function main() {\n  const applicationKey = process.env.SINCH_APPLICATION_KEY ?? 'MY_APPLICATION_KEY';\n  const applicationSecret = process.env.SINCH_APPLICATION_SECRET ?? 'MY_APPLICATION_SECRET';\n\n  // The reference you defined when starting the verification process.\n  const verificationReference = 'VERIFICATION_REFERENCE';\n\n  const sinch = new SinchClient({ applicationKey, applicationSecret });\n\n  try{\n    const response = await sinch.verification.verificationStatus.getByReference({\n      reference: verificationReference,\n    });\n    console.log('✅ Successfully retrieved Verification.');\n    console.log(JSON.stringify(response, null, 2));\n  } catch (err) {\n    console.error(`❌ Failed to retrieve the Verification with reference ${verificationReference}:`);\n    console.error(err);\n  }\n}\n\nmain();\n"
components:
  schemas:
    Price:
      title: Price
      type: object
      additionalProperties: false
      properties:
        currencyId:
          type: string
          description: ISO 4217 currency code
          example: USD
        amount:
          type: number
          format: float
          example: 0.0127
    VerificationStatusResponseFlashCall:
      title: Flash Call Verification Status Response
      type: object
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/VerificationStatusResponseBase'
      - type: object
        properties:
          method:
            type: string
            description: The method of the verification request. This will always be `flashcall`.
            x-enumDescriptions:
              flashcall: Verification is of flashcall type
            enum:
            - flashcall
          callComplete:
            type: boolean
            description: Shows whether the call is complete or not.
            example: true
          callResult:
            $ref: '#/components/schemas/StatusCallResult'
          price:
            $ref: '#/components/schemas/StatusPrice'
          source:
            $ref: '#/components/schemas/Source'
    VerificationStatusResponseWhatsApp:
      title: WhatsApp Verification Status Response
      type: object
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/VerificationStatusResponseBase'
      - type: object
        properties:
          method:
            type: string
            description: The method of the verification request. This will always be `whatsapp`.
            x-enumDescriptions:
              whatsapp: Verification is of WhatsApp type
            enum:
            - whatsapp
          price:
            type: object
            description: Prices associated with this verification
            properties:
              verificationPrice:
                $ref: '#/components/schemas/VerificationPrice'
          source:
            $ref: '#/components/schemas/Source'
    VerificationStatusResponsePhoneCall:
      title: Phone Call Verification Status Response
      type: object
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/VerificationStatusResponseBase'
      - type: object
        properties:
          method:
            type: string
            description: The method of the verification request. This will always be `callout`.
            x-enumDescriptions:
              callout: Verification is of Phone Call type
            enum:
            - callout
          callComplete:
            type: boolean
            description: Shows whether the call is complete or not.
            example: true
          callResult:
            $ref: '#/components/schemas/StatusCallResult'
          price:
            $ref: '#/components/schemas/StatusPrice'
    StatusPrice:
      type: object
      description: Prices associated with this verification
      properties:
        verificationPrice:
          $ref: '#/components/schemas/VerificationPrice'
        terminationPrice:
          $ref: '#/components/schemas/TerminationPrice'
        billableDuration:
          $ref: '#/components/schemas/BillableDuration'
    VerificationStatusResponseSms:
      title: SMS Verification Status Response
      type: object
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/VerificationStatusResponseBase'
      - type: object
        properties:
          method:
            type: string
            description: The method of the verification request. This will always be `sms`.
            x-enumDescriptions:
              sms: Verification is of SMS type
            enum:
            - sms
          price:
            type: object
            description: Prices associated with this verification
            properties:
              verificationPrice:
                $ref: '#/components/schemas/VerificationPrice'
          source:
            $ref: '#/components/schemas/Source'
    VerificationEventReference:
      type: string
      description: Used to pass your own reference in the request for tracking purposes. Must be a unique value for each started verification request. The value must be encodable in the URL path segment. This value is passed to all events and returned from the status and report endpoints. The reference can be used to check the [status of verifications](https://developers.sinch.com/docs/verification/api-reference/verification/verification-status/verificationstatusbyreference), like with ID or identity.
    VerificationStatusResponseBase:
      title: Verification Status Response Common Fields
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          description: The unique ID of the verification request.
          example: '1234567890'
        status:
          $ref: '#/components/schemas/VerificationStatus'
        reason:
          $ref: '#/components/schemas/VerificationStatusReason'
        reference:
          $ref: '#/components/schemas/VerificationEventReference'
        identity:
          $ref: '#/components/schemas/Identity'
        countryId:
          $ref: '#/components/schemas/CountryId'
        verificationTimestamp:
          $ref: '#/components/schemas/VerificationTimestamp'
    Source:
      type: string
      description: With the SMS verification method, a user's phone number is verified by sending an SMS containing an OTP code that must be manually returned. If you are are using an Android handset, you could instead intercept the SMS message delivery and capture the OTP code automatically.
      x-enumDescriptions:
        intercepted: OTP verification was performed automatically
        manual: OTP verification was manually performed
      enum:
      - intercepted
      - manual
      example: intercepted
    BillableDuration:
      description: 'The time of the call for which the fee was charged.


        Present only when termination debiting is enabled (disabled by default).


        Depending on the type of rounding used, the value is the actual call time rounded to the nearest second, minute or other value.

        '
      type: integer
      example: 42
    VerificationStatusResponse:
      type: object
      oneOf:
      - $ref: '#/components/schemas/VerificationStatusResponseSms'
      - $ref: '#/components/schemas/VerificationStatusResponseFlashCall'
      - $ref: '#/components/schemas/VerificationStatusResponsePhoneCall'
      - $ref: '#/components/schemas/VerificationStatusResponseWhatsApp'
      discriminator:
        propertyName: method
        mapping:
          sms: '#/components/schemas/VerificationStatusResponseSms'
          flashcall: '#/components/schemas/VerificationStatusResponseFlashCall'
          callout: '#/components/schemas/VerificationStatusResponsePhoneCall'
          whatsapp: '#/components/schemas/VerificationStatusResponseWhatsApp'
    VerificationTimestamp:
      type: string
      description: 'The timestamp in UTC format.

        <br>

        **Note:** The formatting does not respect `ISO-8601` and the returned value has the format `YYYY-MM-DDThh:mm:ss.SSS`. If you need to parse this value into a specific date object in your programming language, please append `Z` (Zulu time = UTC) at the end of the date value to match the `ISO-8601` format: `YYYY-MM-DDThh:mm:ss.SSSZ`.'
      example: '2023-04-21T14:45:51'
    VerificationPrice:
      allOf:
      - $ref: '#/components/schemas/Price'
      description: "The maximum price charged for this verification process.\n\nThis property will appear in the body of the response with a delay. \nIt will become visible only when the verification status is other than PENDING.\n"
    Identity:
      type: object
      additionalProperties: false
      description: Specifies the type of endpoint that will be verified and the particular endpoint. `number` is currently the only supported endpoint type.
      required:
      - type
      - endpoint
      properties:
        type:
          type: string
          description: Currently only `number` type is supported.
          x-enumDescriptions:
            number: Identity is of number type
          enum:
          - number
        endpoint:
          type: string
          description: For type `number` use an [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)-compatible phone number.
          example: '+11235551234'
    TerminationPrice:
      allOf:
      - $ref: '#/components/schemas/Price'
      description: "The maximum cost of the call made during this verification process.\n\nPresent only when termination debiting is enabled (disabled by default).\n\nThis property will appear in the body of the response with a delay. \nIt will become visible only after the call is completed, when its cost is known to Sinch.\n"
    StatusCallResult:
      type: string
      description: The type of the call result.
      x-enumDescriptions:
        ANSWERED: Call answered
        CANCEL: Call canceled
        COMPLETED: Call completed
        NO_ANSWER: No answer to call
        BUSY: Busy Call
        FAILED: Call failed
      enum:
      - ANSWERED
      - CANCEL
      - COMPLETED
      - NO_ANSWER
      - BUSY
      - FAILED
    VerificationStatusReason:
      type: string
      description: Displays the reason why a verification has `FAILED`, was `DENIED`, or was `ABORTED`.
      x-enumDescriptions:
        Fraud: Fraudulent activity.
        Not enough credit: Not enough credit in dashboard account.
        Blocked: Blocked number.
        Denied by callback: Callback response denied the verification.
        Invalid callback: Callback was invalid.
        Internal error: Internal server error.
        Destination denied: Verification destination denied.
        Network error or number unreachable: Network error or destination number is otherwise unreachable.
        Failed pending: Pending failure.
        SMS delivery failure: Could not deliver SMS.
        Invalid CLI: CLI is invalid.
        Invalid code: Input code is invalid.
        Expired: Verification request has expired.
        Hung up without entering valid code: Phone call ended without entering code.
      enum:
      - Fraud
      - Not enough credit
      - Blocked
      - Denied by callback
      - Invalid callback
      - Internal error
      - Destination denied
      - Network error or number unreachable
      - Failed pending
      - SMS delivery failure
      - Invalid CLI
      - Invalid code
      - Expired
      - Hung up without entering valid code
      example: Expired
    VerificationStatus:
      type: string
      description: The status of the verification
      example: PENDING
      x-enumDescriptions:
        PENDING: The verification is ongoing.
        SUCCESSFUL: The verification was successful.
        FAIL: The verification attempt was made, but the number wasn't verified.
        DENIED: The verification attempt was denied by Sinch or your backend.
        ABORTED: The verification attempt was aborted by requesting a new verification.
        ERROR: The verification couldn't be completed due to a network error or the number being unreachable.
      enum:
      - PENDING
      - SUCCESSFUL
      - FAIL
      - DENIED
      - ABORTED
      - ERROR
    CountryId:
      type: string
      description: The ID of the country to which the verification was sent.
      example: US
  parameters:
    reference:
      name: reference
      in: path
      required: true
      description: The custom reference of the verification.
      schema:
        type: string
    endpoint:
      name: endpoint
      in: path
      required: true
      description: For type `number` use a [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)-compatible phone number.
      schema:
        type: string
    id:
      name: id
      in: path
      required: true
      description: The ID of the verification.
      schema:
        type: string
    method:
      name: method
      in: path
      required: true
      description: The method of the verification.
      schema:
        type: string
  responses:
    VerificationResult:
      description: A success response, or an [Error](https://developers.sinch.com/docs/verification/api-reference/errors/).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VerificationStatusResponse'
  securitySchemes:
    Basic:
      type: http
      scheme: basic
      description: For more information about basic authentication, see [Basic Authentication](https://developers.sinch.com/docs/verification/api-reference/authentication/).
    Application:
      type: apiKey
      in: header
      name: Authentication
      description: For more information about application request signing authentication, see [Request Signing](https://developers.sinch.com/docs/verification/api-reference/authentication/application-signed-request).
x-explorer-enabled: false
x-samples-languages:
- curl
- csharp
- java
- node
- php
x-proxy-enabled: true
x-samples-enabled: true