List verifications
GET /api/kyc/verificationsYour 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.
Authentication: Authorization: Bearer sk_… (secret key required), like the per-id result read beside it.
Query parameters
| Parameter | Description |
|---|---|
status | One 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. |
channel | sdk (capture-flow verifications) or dashboard (spot checks). |
subjectType | individual or business. |
country | ISO-2 country code. |
idType | ID type (or the business product, which rides the same field). |
workflowId | The wf_… public id — every submission a workflow drove. |
externalUserId | Your reference for the subject; matches sessions, entities and webhook payloads. |
from / to | ISO dates bounding createdAt. |
page / pageSize | Pagination; 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 Myaza derived. status is the merged top-line (what a decision graph or reviewer concluded); checkStatus is what the checks themselves found — approving a failed check (a policy override) stays distinguishable from approving a passing one. The full result, PII included, lives on GET /verifications/:id.
Business rows additionally carry businessName.