REST API: KYC

List questionnaire sessions

Page through questionnaire records.

Purpose

Use this call to list the records that the questionnaire step collected before the KYC started. See two-stage questionnaire, then KYC for the flow.

Request

POST <API_BASE_URL>/kyc/questionnaire/sessions. All calls are POST under your API address. Replace <API_BASE_URL> with the API address provided with your access.

Send a permanent API token in the token field of the body, or a user token in the token header. See authentication.

Content type: application/json.

FieldTypeRequiredDescription
tokenstring (uuid)if no headerYour permanent API token. Required unless you send a user token in the token header.
pagenumbernoThe page number.
pageSizenumbernoRecords per page.
schemaIdstring (uuid)noReturn only the records of this scenario.
filtersobjectnoAdditive filters for questionnaire records.

Response

HTTP 200. One page of questionnaire records, newest first.

FieldTypeDescription
statusstringAlways ok on this body.
resultsarray of objectThe records of this page, newest first.
results[].questionnaireSessionIdstring (uuid)The identifier of the record. Delete questionnaire session takes it.
results[].schemaIdstring (uuid)The scenario the form belonged to.
results[].clientKeystringYour own identifier for the person.
results[].statusstringidle when the form was opened but never committed, success when the answers were recorded. It says nothing about check verdicts.
results[].createdAtnumberA Unix timestamp in seconds, not milliseconds and not an ISO string. This is different from the ISO value in the webhook and in session status.
results[].fullNamestringAs entered in the form. Null once the answers were destroyed.
results[].dobstringAs entered in the form. Null once the answers were destroyed.
results[].fieldsarray of objectThe remaining form fields as entered, each with key, title and value.
results[].checksarray of objectA summary of the database checks run against the record, present only when there are any.
results[].linkedSessionsarray of string (uuid)The KYC sessions that were compared against this record, recorded for mismatches and document failures too.

Errors

  • 400: The body failed validation. The answer has status of error and a details list with one entry per offending field (path, expected, actual).
  • 401: The token is missing, expired or unknown.

A refusal can also come before the operation runs: an address outside your IP allowlist, a token bound to another address, or a body that is not valid JSON. See response format and errors.

Example

Request:

curl -X POST "<API_BASE_URL>/kyc/questionnaire/sessions" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "<your permanent API token>",
    "page": 1,
    "pageSize": 20
  }'

Response:

{
  "status": "ok",
  "results": [
    {
      "questionnaireSessionId": "00000000-0000-0000-0000-000000000000",
      "schemaId": "<your scenario id>",
      "clientKey": "<your identifier for the person>",
      "status": "success",
      "createdAt": 1767261600,
      "fullName": "<name as entered>",
      "dob": "<date of birth as entered>",
      "fields": [],
      "linkedSessions": []
    }
  ]
}

Questions while integrating?

Write to us with the details and we will help.

Talk to us