Skip to navigation

List verifications

GET /api/kyc/verifications

Your organisation’s verification history, paginated and filterable — reconcile your records without keeping your own ledger of ids. Scoped to the key’s environment, so a sandbox key never lists production traffic.

Records you have deleted are not listed and are not counted in total.

Authentication: Authorization: Bearer sk_… (secret key required), like the per-id result read beside it.

Query parameters

ParameterDescription
statusOne value from the status vocabulary — the same words /status/:id and webhooks use, so the filter and the labels can never disagree. An unknown word is a 400 invalid_status naming the vocabulary.
channelsdk (capture-flow verifications) or dashboard (spot checks).
subjectTypeindividual or business.
countryISO-2 country code.
idTypeID type (or the business product, which rides the same field).
workflowIdThe wf_… public id — every submission a workflow drove.
externalUserIdYour reference for the subject; matches sessions, entities and webhook payloads.
from / toISO dates bounding createdAt.
page / pageSizePagination; pageSize max 100, default 25.

Response

{
"verifications": [
{
"verificationId": "cmt…",
"requestId": "order_1001",
"externalUserId": "user_42",
"metadata": { "loanId": "loan_20191" },
"channel": "sdk",
"subjectType": "individual",
"status": "approved",
"checkStatus": "verified",
"reasonCode": null,
"country": "NG",
"idType": "bvn",
"workflowId": "wf_AbC123dEf456",
"workflowVersion": 3,
"createdAt": "2026-08-20T12:00:00.000Z",
"completedAt": "2026-08-20T12:00:04.512Z"
}
],
"total": 812,
"page": 1,
"pageSize": 25
}

Rows are deliberately light: identifiers and states, no biodata. metadata is your own customer metadata echoed unchanged, not something Toden derived. status is the outcome to act on (what the checks, your workflow or a reviewer concluded); checkStatus is what the automated checks themselves found, so approving a failed check (an exception) stays distinguishable from approving a passing one. See Status and checkStatus. The full result, PII included, lives on GET /verifications/:id.

Business rows additionally carry businessName.