---
title: "Verify customer OTP"
method: POST
path: "/v6/customer-portal/auth/otp/verify"
tags: ["Member Session"]
---

# Verify customer OTP

`POST /v6/customer-portal/auth/otp/verify`

## Request

- Base URL: `https://api.favcrm.io`
- URL: `https://api.favcrm.io/v6/customer-portal/auth/otp/verify`
- Auth: none declared

## Headers

- `X-Company-Id` string

## Request body

- OtpVerifyRequest
  - `phone` string
  - `email` string, email
  - `code` string, required

## Response `200`

Standard success response

- SuccessResponse
  - `success` true, required
  - `data` object, required

## Other responses

- `403`: `REGISTRATION_REQUIRED` — the OTP is correct but the identifier belongs to an unregistered WhatsApp contact. No token is issued; pass `details.registrationTicket` to `POST /auth/register`.
- `409`: `REGISTRATION_REVIEW_REQUIRED` — several unregistered records match the phone; the customer must contact the merchant.

---

[API](https://skmtc.dev/favcrm/apis/favcrm-public-sdk-api.md) · [All operations](https://skmtc.dev/favcrm/apis/favcrm-public-sdk-api/llms.txt) · [OpenAPI document](https://skmtc.dev/favcrm/apis/favcrm-public-sdk-api/revisions/3dadd7980291?raw)
