curl --request GET \
--url https://api.verify.privue.ai/verifications \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.verify.privue.ai/verifications"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.verify.privue.ai/verifications', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"verifications": [
{
"id": "6a2f0c91-3b7e-4d15-8c4a-0f9e2b7d1c58",
"mode": "staged",
"status": "open",
"workflow_key": "vendor-verification",
"version": 1,
"reference_user_id": "VENDOR-4471",
"created_at": "2026-08-27T11:02:09",
"run_requested_at": "2026-08-27T11:06:40",
"submitted_at": null,
"completed_at": null,
"cancelled_at": null,
"gated_at": null,
"gated_by_step": null,
"failed_at": null,
"expired_at": null,
"expired_by": null,
"last_activity_at": "2026-08-27T11:06:40",
"resets": 0,
"callback": null
},
{
"id": "3f2504e0-4f89-41d3-9a0c-0305e82c3301",
"mode": "hosted",
"status": "completed",
"workflow_key": "merchant-onboarding",
"version": 2,
"reference_user_id": "merchant-42",
"created_at": "2026-08-10T14:02:11",
"run_requested_at": null,
"submitted_at": "2026-08-10T14:41:06",
"completed_at": "2026-08-10T14:41:09",
"cancelled_at": null,
"gated_at": null,
"gated_by_step": null,
"failed_at": null,
"expired_at": null,
"expired_by": null,
"last_activity_at": "2026-08-10T14:41:06",
"resets": 0,
"callback": {
"status": "delivered",
"settled_at": "2026-08-10T14:41:09",
"reason": null
}
},
{
"id": "9c1f7b30-5d84-4e26-a0f3-7b58c1d94e62",
"mode": "hosted",
"status": "cancelled",
"workflow_key": "merchant-onboarding",
"version": 2,
"reference_user_id": "merchant-41",
"created_at": "2026-08-09T10:37:52",
"run_requested_at": null,
"submitted_at": null,
"completed_at": null,
"cancelled_at": "2026-08-10T15:02:44",
"gated_at": null,
"gated_by_step": null,
"failed_at": null,
"expired_at": null,
"expired_by": null,
"last_activity_at": "2026-08-10T14:14:37",
"resets": 0,
"callback": null
},
{
"id": "0e8a5d24-3f71-4c68-9b52-8d17a40e5c93",
"mode": "hosted",
"status": "expired",
"workflow_key": "merchant-onboarding",
"version": 2,
"reference_user_id": "merchant-17",
"created_at": "2026-08-03T09:41:27",
"run_requested_at": null,
"submitted_at": "2026-08-10T14:41:06",
"completed_at": "2026-08-10T14:41:09",
"cancelled_at": null,
"gated_at": null,
"gated_by_step": null,
"failed_at": null,
"expired_at": "2026-08-17T15:00:04",
"expired_by": "retention",
"last_activity_at": "2026-08-10T14:41:06",
"resets": 0,
"callback": {
"status": "delivered",
"settled_at": "2026-08-10T14:41:09",
"reason": null
}
}
],
"next_cursor": "MjAyNi0wOC0wM1QwOTo0MToyN3wwZThhNWQyNC0zZjcxLTRjNjgtOWI1Mi04ZDE3YTQwZTVjOTM="
}{
"code": "workflow-not-found",
"detail": "client 'acme' has no workflow 'merchant-onboarding'"
}{
"code": "unauthenticated",
"detail": "Missing or malformed Authorization header"
}{
"code": "environment-mismatch",
"detail": "workflow 'merchant-onboarding' is production and this request is for uat"
}{
"code": "page-cursor-invalid",
"detail": "cursor: not one we issued"
}{
"code": "rate-limited",
"detail": "Unauthorized: RATE_LIMITED"
}{
"code": "auth-unavailable",
"detail": "Auth provider unavailable"
}List verifications
List the verifications in your API key’s environment, newest created first.
Every verification without its steps: what it is, who completes it, where it stands, when it got there, and how its callback ended. Narrow it by status, by workflow, by the reference you started it under, or to a period with from and to, which are read against the day a verification was started.
Read next_cursor from a page and pass it back as cursor for the page after it; the page that carries none is the last. A verification started while you are partway through never shifts a later page, so a walk of the list sees each record once.
Filtering on reference_user_id alone gathers every record carrying it, expired ones included. On a hosted or staged workflow one live verification holds it, so that is one run of each of those workflows; on an instant workflow it is a label, so every verification you ran under it is listed. Name the workflow as well to narrow the list to that one.
Every key you can read on a record is a key you can filter on, a workflow no longer in use included, so a journey withdrawn from service still lists the verifications that ran it.
Read a verification by id for its steps, what they collected, and why anything did not pass.
curl --request GET \
--url https://api.verify.privue.ai/verifications \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.verify.privue.ai/verifications"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.verify.privue.ai/verifications', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"verifications": [
{
"id": "6a2f0c91-3b7e-4d15-8c4a-0f9e2b7d1c58",
"mode": "staged",
"status": "open",
"workflow_key": "vendor-verification",
"version": 1,
"reference_user_id": "VENDOR-4471",
"created_at": "2026-08-27T11:02:09",
"run_requested_at": "2026-08-27T11:06:40",
"submitted_at": null,
"completed_at": null,
"cancelled_at": null,
"gated_at": null,
"gated_by_step": null,
"failed_at": null,
"expired_at": null,
"expired_by": null,
"last_activity_at": "2026-08-27T11:06:40",
"resets": 0,
"callback": null
},
{
"id": "3f2504e0-4f89-41d3-9a0c-0305e82c3301",
"mode": "hosted",
"status": "completed",
"workflow_key": "merchant-onboarding",
"version": 2,
"reference_user_id": "merchant-42",
"created_at": "2026-08-10T14:02:11",
"run_requested_at": null,
"submitted_at": "2026-08-10T14:41:06",
"completed_at": "2026-08-10T14:41:09",
"cancelled_at": null,
"gated_at": null,
"gated_by_step": null,
"failed_at": null,
"expired_at": null,
"expired_by": null,
"last_activity_at": "2026-08-10T14:41:06",
"resets": 0,
"callback": {
"status": "delivered",
"settled_at": "2026-08-10T14:41:09",
"reason": null
}
},
{
"id": "9c1f7b30-5d84-4e26-a0f3-7b58c1d94e62",
"mode": "hosted",
"status": "cancelled",
"workflow_key": "merchant-onboarding",
"version": 2,
"reference_user_id": "merchant-41",
"created_at": "2026-08-09T10:37:52",
"run_requested_at": null,
"submitted_at": null,
"completed_at": null,
"cancelled_at": "2026-08-10T15:02:44",
"gated_at": null,
"gated_by_step": null,
"failed_at": null,
"expired_at": null,
"expired_by": null,
"last_activity_at": "2026-08-10T14:14:37",
"resets": 0,
"callback": null
},
{
"id": "0e8a5d24-3f71-4c68-9b52-8d17a40e5c93",
"mode": "hosted",
"status": "expired",
"workflow_key": "merchant-onboarding",
"version": 2,
"reference_user_id": "merchant-17",
"created_at": "2026-08-03T09:41:27",
"run_requested_at": null,
"submitted_at": "2026-08-10T14:41:06",
"completed_at": "2026-08-10T14:41:09",
"cancelled_at": null,
"gated_at": null,
"gated_by_step": null,
"failed_at": null,
"expired_at": "2026-08-17T15:00:04",
"expired_by": "retention",
"last_activity_at": "2026-08-10T14:41:06",
"resets": 0,
"callback": {
"status": "delivered",
"settled_at": "2026-08-10T14:41:09",
"reason": null
}
}
],
"next_cursor": "MjAyNi0wOC0wM1QwOTo0MToyN3wwZThhNWQyNC0zZjcxLTRjNjgtOWI1Mi04ZDE3YTQwZTVjOTM="
}{
"code": "workflow-not-found",
"detail": "client 'acme' has no workflow 'merchant-onboarding'"
}{
"code": "unauthenticated",
"detail": "Missing or malformed Authorization header"
}{
"code": "environment-mismatch",
"detail": "workflow 'merchant-onboarding' is production and this request is for uat"
}{
"code": "page-cursor-invalid",
"detail": "cursor: not one we issued"
}{
"code": "rate-limited",
"detail": "Unauthorized: RATE_LIMITED"
}{
"code": "auth-unavailable",
"detail": "Auth provider unavailable"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Verifications per page.
1 <= x <= 200next_cursor from the previous page.
Only these statuses. Repeat the parameter for more than one; omit it for every status.
Where a verification stands.
open, submitted, completed, cancelled, gated, expired, failed Only verifications on the workflow with this key, in use or withdrawn.
Only verifications you created under this reference.
First day to include, in IST, inclusive.
Last day to include, in IST, inclusive.
Response
One page of verifications, newest created first.
One page of verifications, newest first.
