# Get verification by Reference

Queries the verification result by sending the verification Reference. With this query you can get the result of a verification.

Endpoint: GET /verification/v1/verifications/reference/{reference}
Version: 2.0.1
Security: Basic, Application

## Path parameters:

  - `reference` (string, required)
    The custom reference of the verification.

## Response 200 fields (application/json):

  - `body` (object) — one of (discriminator: method):
    - sms:
      - `id` (string)
        The unique ID of the verification request.
        Example: "1234567890"
      - `status` (string)
        The status of the verification
        Enum: "PENDING", "SUCCESSFUL", "FAIL", "DENIED", "ABORTED", "ERROR"
      - `reason` (string)
        Displays the reason why a verification has FAILED, was DENIED, or was ABORTED.
        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"
      - `reference` (string)
        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.
      - `identity` (object)
        Specifies the type of endpoint that will be verified and the particular endpoint. number is currently the only supported endpoint type.
      - `identity.type` (string, required)
        Currently only number type is supported.
        Enum: "number"
      - `identity.endpoint` (string, required)
        For type number use an [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)-compatible phone number.
        Example: "+11235551234"
      - `countryId` (string)
        The ID of the country to which the verification was sent.
        Example: "US"
      - `verificationTimestamp` (string)
        The timestamp in UTC format.

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"
      - `method` (string)
        The method of the verification request. This will always be sms.
        Enum: "sms"
      - `price` (object)
        Prices associated with this verification
      - `price.verificationPrice` (object)
        The maximum price charged for this verification process.

This property will appear in the body of the response with a delay. 
It will become visible only when the verification status is other than PENDING.
      - `price.verificationPrice.currencyId` (string)
        ISO 4217 currency code
        Example: "USD"
      - `price.verificationPrice.amount` (number)
        Example: 0.0127
      - `source` (string)
        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.
        Enum: "intercepted", "manual"
    - flashcall:
      - `id` (string)
        The unique ID of the verification request.
        Example: "1234567890"
      - `status` (string)
        The status of the verification
        Enum: same as `status` in "sms" (6 values)
      - `reason` (string)
        Displays the reason why a verification has FAILED, was DENIED, or was ABORTED.
        Enum: same as `reason` in "sms" (14 values)
      - `reference` (string)
        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.
      - `identity` (object)
        Specifies the type of endpoint that will be verified and the particular endpoint. number is currently the only supported endpoint type.
      - `identity.type` (string, required)
        Currently only number type is supported.
        Enum: same as `identity.type` in "sms" (1 values)
      - `identity.endpoint` (string, required)
        For type number use an [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)-compatible phone number.
        Example: "+11235551234"
      - `countryId` (string)
        The ID of the country to which the verification was sent.
        Example: "US"
      - `verificationTimestamp` (string)
        The timestamp in UTC format.

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"
      - `method` (string)
        The method of the verification request. This will always be flashcall.
        Enum: "flashcall"
      - `callComplete` (boolean)
        Shows whether the call is complete or not.
        Example: true
      - `callResult` (string)
        The type of the call result.
        Enum: "ANSWERED", "CANCEL", "COMPLETED", "NO_ANSWER", "BUSY", "FAILED"
      - `price` (object)
        Prices associated with this verification
      - `price.verificationPrice` (object)
        The maximum price charged for this verification process.

This property will appear in the body of the response with a delay. 
It will become visible only when the verification status is other than PENDING.
      - `price.verificationPrice.currencyId` (string)
        ISO 4217 currency code
        Example: "USD"
      - `price.verificationPrice.amount` (number)
        Example: 0.0127
      - `price.terminationPrice` (object)
        The maximum cost of the call made during this verification process.

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

This property will appear in the body of the response with a delay. 
It will become visible only after the call is completed, when its cost is known to Sinch.
      - `price.terminationPrice.currencyId` (string)
        ISO 4217 currency code
        Example: "USD"
      - `price.terminationPrice.amount` (number)
        Example: 0.0127
      - `price.billableDuration` (integer)
        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.
        Example: 42
      - `source` (string)
        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.
        Enum: same as `source` in "sms" (2 values)
    - callout:
      - `id` (string)
        The unique ID of the verification request.
        Example: "1234567890"
      - `status` (string)
        The status of the verification
        Enum: same as `status` in "sms" (6 values)
      - `reason` (string)
        Displays the reason why a verification has FAILED, was DENIED, or was ABORTED.
        Enum: same as `reason` in "sms" (14 values)
      - `reference` (string)
        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.
      - `identity` (object)
        Specifies the type of endpoint that will be verified and the particular endpoint. number is currently the only supported endpoint type.
      - `identity.type` (string, required)
        Currently only number type is supported.
        Enum: same as `identity.type` in "sms" (1 values)
      - `identity.endpoint` (string, required)
        For type number use an [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)-compatible phone number.
        Example: "+11235551234"
      - `countryId` (string)
        The ID of the country to which the verification was sent.
        Example: "US"
      - `verificationTimestamp` (string)
        The timestamp in UTC format.

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"
      - `method` (string)
        The method of the verification request. This will always be callout.
        Enum: "callout"
      - `callComplete` (boolean)
        Shows whether the call is complete or not.
        Example: true
      - `callResult` (string)
        The type of the call result.
        Enum: same as `callResult` in "flashcall" (6 values)
      - `price` (object)
        Prices associated with this verification
      - `price.verificationPrice` (object)
        The maximum price charged for this verification process.

This property will appear in the body of the response with a delay. 
It will become visible only when the verification status is other than PENDING.
      - `price.verificationPrice.currencyId` (string)
        ISO 4217 currency code
        Example: "USD"
      - `price.verificationPrice.amount` (number)
        Example: 0.0127
      - `price.terminationPrice` (object)
        The maximum cost of the call made during this verification process.

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

This property will appear in the body of the response with a delay. 
It will become visible only after the call is completed, when its cost is known to Sinch.
      - `price.terminationPrice.currencyId` (string)
        ISO 4217 currency code
        Example: "USD"
      - `price.terminationPrice.amount` (number)
        Example: 0.0127
      - `price.billableDuration` (integer)
        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.
        Example: 42
    - whatsapp:
      - `id` (string)
        The unique ID of the verification request.
        Example: "1234567890"
      - `status` (string)
        The status of the verification
        Enum: same as `status` in "sms" (6 values)
      - `reason` (string)
        Displays the reason why a verification has FAILED, was DENIED, or was ABORTED.
        Enum: same as `reason` in "sms" (14 values)
      - `reference` (string)
        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.
      - `identity` (object)
        Specifies the type of endpoint that will be verified and the particular endpoint. number is currently the only supported endpoint type.
      - `identity.type` (string, required)
        Currently only number type is supported.
        Enum: same as `identity.type` in "sms" (1 values)
      - `identity.endpoint` (string, required)
        For type number use an [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)-compatible phone number.
        Example: "+11235551234"
      - `countryId` (string)
        The ID of the country to which the verification was sent.
        Example: "US"
      - `verificationTimestamp` (string)
        The timestamp in UTC format.

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"
      - `method` (string)
        The method of the verification request. This will always be whatsapp.
        Enum: "whatsapp"
      - `price` (object)
        Prices associated with this verification
      - `price.verificationPrice` (object)
        The maximum price charged for this verification process.

This property will appear in the body of the response with a delay. 
It will become visible only when the verification status is other than PENDING.
      - `price.verificationPrice.currencyId` (string)
        ISO 4217 currency code
        Example: "USD"
      - `price.verificationPrice.amount` (number)
        Example: 0.0127
      - `source` (string)
        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.
        Enum: same as `source` in "sms" (2 values)


