Get a customer's KYC review status
Reads the live review state for a customer's verification. It does not change the customer's KYC status, which only the webhooks update.
For the final result, read kyc on the customer (GET /v1/customers/{customer_id}) or listen for the customer.kyc.status.* webhooks. reviewStatus: completed with reviewAnswer: rejected means verification failed. Customers verified by automatic document verification have no review and get a 404 here.
Path Parameters
UUID of the customer
Responses
| Status | Description |
|---|---|
200 |
Current review state |
400 |
Invalid customer ID |
404 |
Customer not found, or verification not started |
500 |
The review state could not be read |
503 |
The service is not configured or not reachable. Retry later. |
200 response
Review state: pending, on_hold or completed. Other values from the review are passed through as they are. completed with reviewAnswer rejected means verification failed.
Review outcome. Omitted until there is a result.
Verification decision.
Possible values: approved, rejected, pending
Reason codes. Present only when the review is rejected.
Rejection category, such as RETRY or FINAL. Present only when the review is rejected.
Time of the review decision, as YYYY-MM-DD HH:MM:SS+0000. Omitted until the review is done.
Review queue priority.
{
"data": {
"reviewStatus": "completed",
"reviewResult": {
"reviewAnswer": "approved"
},
"reviewDate": "2026-06-19 21:59:00+0000",
"priority": 0
},
"error": null
}
{
"data": {
"reviewStatus": "completed",
"reviewResult": {
"reviewAnswer": "rejected",
"rejectLabels": [
"BAD_SELFIE"
],
"reviewRejectType": "RETRY"
},
"reviewDate": "2026-06-19 20:44:19+0000",
"priority": 0
},
"error": null
}
{
"data": {
"reviewStatus": "pending",
"priority": 0
},
"error": null
}
400 response
Always null for error responses
Error message. Most messages start with an upper-case code and a colon, such as INVALID_REQUEST: ....
{
"data": null,
"error": "INVALID_REQUEST: The customer ID provided is not valid. Please verify the customer ID format."
}
404 response
Always null for error responses
Error message. Most messages start with an upper-case code and a colon, such as INVALID_REQUEST: ....
{
"data": null,
"error": "CUSTOMER_NOT_FOUND: Customer not found. Please verify the customer exists in our system."
}
{
"data": null,
"error": "no applicant found for customer; KYC has not been initiated"
}
500 response
Always null for error responses
Error message. Most messages start with an upper-case code and a colon, such as INVALID_REQUEST: ....
{
"data": null,
"error": "failed to retrieve applicant status"
}
503 response
Always null for error responses
Error message. Most messages start with an upper-case code and a colon, such as INVALID_REQUEST: ....
{
"data": null,
"error": "verification provider not configured"
}
Authorization
- ApiKeyAuth