08PHONE_VERIFICATION

Phone Verification

Confirm the number. Keep onboarding moving.

A mistyped or inaccessible phone number can interrupt onboarding and future contact. Phone Verification checks access to the number your customer provides through a six-digit WhatsApp code. Keep the capture experience in your own product, connect the result to your customer reference and make the next step using a recorded verification status.

Reach the customer behind the contact detail.

Send a short-lived WhatsApp code, confirm the code your customer enters and retrieve a clear verification result.

01

Confirm access to the provided number

Your customer demonstrates access by entering the code received through WhatsApp. Use the result to reduce mistyped or inaccessible contact details.

02

Fit the flow into your own experience

Collect the number and code in your application. A separate applicant or identity-verification session is not required.

03

Retry without creating duplicate checks

A stable idempotency key reuses the original request. Keep your own customer reference so the check remains connected to the right account.

04

Keep incomplete outcomes visible

Pending, verified, failed and expired results distinguish an unfinished check from confirmed access.

From request to structured result.

  1. Request a code

    Obtain consent, submit the international phone number with your customer reference and create the check using your organisation credential.

  2. Confirm the customer’s code

    Submit the six-digit code against the returned verification ID. The customer has ten minutes and up to five incorrect attempts.

  3. Read the recorded result

    After confirmation, retrieve the check through the authenticated API. Use VERIFIED status and verifiedAt to continue your workflow.

After confirmation

A successful code confirmation returns 204 No Content. Retrieve the verification record to read the JSON result, including its status and confirmation time.

GET /v1/verifications/phone-verifications/{id}

Example verified resultJSON
{
  "id": "00000000-0000-4000-8000-000000000001",
  "organisationId": "00000000-0000-4000-8000-000000000002",
  "organisationName": null,
  "applicantId": null,
  "phoneNumber": "+447700900123",
  "requesterReference": "customer-123",
  "status": "VERIFIED",
  "issuedAt": "2026-11-12T10:00:00Z",
  "expiresAt": "2026-11-12T10:10:00Z",
  "verifiedAt": "2026-11-12T10:01:00Z"
}

Start with consent and a clear customer reference

The customer must agree to receive the verification message before your service starts the check. Submit the international phone number, requesterReference and recipientConsentConfirmed. An applicantId is optional when an existing applicant belongs to your organisation.

Separate sending, confirmation and retrieval

Creating a check returns HTTP 201 after WhatsApp accepts the send request. A correct code returns HTTP 204 with no response body. Retrieve the check through the authenticated endpoint to read the JSON result. Each response answers a different question.

Handle expiry and incorrect codes

A code expires after ten minutes. The first four incorrect attempts return HTTP 400; the fifth and subsequent attempts return HTTP 410. An expired check also returns HTTP 410. Explain the outcome and guide the customer through a new check when needed.

Make retries and review traceable

Reuse the same idempotency key and request body when retrying a request. A successful repeated request reuses the check without sending a new code. A changed body with the same key returns HTTP 409. If provider acceptance is uncertain, the same code can be delivered more than once.

Operational use cases

  • ✓Customer onboarding contact checks
  • ✓Confirming a newly provided number
  • ✓Connecting a reachable number to an applicant
  • ✓Checking contact details before a service handover

What the product returns

  • ✓Verification ID and customer reference
  • ✓Normalised international phone number
  • ✓Pending, verified, failed or expired status
  • ✓Issue, expiry and confirmation timestamps
i
Product boundary

A verified result establishes access to the number at the time of the check. It does not establish legal ownership of the number, the person’s identity or continued access. WhatsApp acceptance of a send request does not confirm delivery to the handset.

Questions your team may ask.

Confirm that your customers can receive WhatsApp messages on the numbers they provide. A phone access check complements your onboarding policy; identity and document checks remain separate.

Does this verify the customer’s identity?

No. It confirms access to a phone number at the time of the check. Use the appropriate identity product when you need document or presenter evidence.

Does the customer need WhatsApp?

Yes. This flow sends the six-digit code through WhatsApp. It does not provide an SMS fallback.

Do I need to create an applicant first?

No. Phone Verification works independently. You can optionally associate the check with an existing applicant in your organisation.

What does a successful confirmation return?

The confirmation request returns HTTP 204 with no body. Your authenticated service retrieves the check to receive the JSON record with VERIFIED status and its verifiedAt timestamp.

How long is the code valid?

Ten minutes. After five incorrect attempts the check cannot be confirmed. Your application should show a clear retry or restart instruction.

Does an accepted send mean the message arrived?

No. HTTP 201 means WhatsApp accepted the send request. Successful code confirmation provides the evidence that the customer accessed the message.

Make phone access part of your onboarding.

Tell us where phone checks fit into your customer journey. We’ll help you connect code delivery, confirmation and the result.

Get started with VeriqoCheck