This page explains the structure and contents of a questionnaire report as returned by the API. The response includes metadata about the questionnaire, the sections and items presented to the user, and the answers provided.
Report structure
The verification report contains a questionnaire
object.
Core response fields
interface QuestionnaireReportResponse {
questionnaire: {
questionnaire_id: string; // Unique identifier for the questionnaire
title: string; // Questionnaire title (localized for the viewer)
description: string | null; // Optional questionnaire description
languages: string[]; // Supported languages
default_language: string; // Default language code
is_active: boolean; // Whether the questionnaire is active
sections: Array<{
title: string | null; // Optional section title
description: string | null; // Optional section description
items: Array<{
uuid: string; // Unique item identifier
order: number; // Display order (ascending)
element_type: string; // One of the supported element types
is_required: boolean; // Whether this item was required
title: string; // Item title (localized for the viewer)
description: string | null; // Optional item description
placeholder: string | null; // Optional placeholder
choices?: Array<{ // Dropdown/Single-choice options
label: string; // Option label (localized)
value: string; // Option value
requires_text_input?: boolean; // If selecting this option requires additional text
}> | null;
max_files?: number | null; // Upload limit for FILE_UPLOAD/IMAGE
answer?: { // User's answer
value?: string | null; // Selected choice value or free text
text?: string | null; // Supplemental text when required
files?: string[] | null; // Uploaded file URLs/paths
};
}>;
}>;
status: 'Approved' | 'In Review' | 'Not Finished'; // Response status
};
}
Sample JSON response
{
"questionnaire": {
"questionnaire_id": "9f7485e0-b00b-4d56-9d3e-7859b68d1213",
"title": "Source of Funds",
"description": "Reply to this questionnaire to help us understand the source of funds.",
"languages": ["en"],
"default_language": "en",
"is_active": true,
"sections": [
{
"title": null,
"description": null,
"items": [
{
"uuid": "618636d9-7d5c-41ce-b8d0-1ab2a4be20db",
"order": 1,
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your primary source of funds?",
"description": null,
"placeholder": null,
"choices": [
{ "label": "Salary", "value": "salary" },
{ "label": "Business Income", "value": "business_income" },
{ "label": "Savings", "value": "savings" },
{ "label": "Investments", "value": "investments" },
{ "label": "Sale of Asset", "value": "sale_of_asset" },
{ "label": "Inheritance/Gift", "value": "inheritance_gift" },
{ "label": "Pension", "value": "pension" },
{ "label": "Crypto Proceeds", "value": "crypto_proceeds" },
{ "label": "Other", "value": "other", "requires_text_input": true }
],
"max_files": 1,
"answer": { "value": "salary" }
},
{
"uuid": "2d16b527-72be-42e0-8e96-b164b818386c",
"order": 2,
"element_type": "LONG_TEXT",
"is_required": true,
"title": "Provide details of the primary source.",
"description": "e.g., employer/company name, role, industry, business nature, asset sold, date of inheritance/gift, etc.",
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": { "value": "Test answer" }
},
{
"uuid": "a9239b7c-fbfb-4ea7-b7e4-c835cd4016e0",
"order": 3,
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your annual income range (pre-tax)?",
"description": null,
"placeholder": null,
"choices": [
{ "label": "Less than $25,000", "value": "<25k" },
{ "label": "$25,000 - $50,000", "value": "25k-50k" },
{ "label": "$50,001 - $100,000", "value": "50k-100k" },
{ "label": "$100,001 - $250,000", "value": "100k-250k" },
{ "label": "More than $250,000", "value": ">250k" }
],
"max_files": 1,
"answer": { "value": "<25k" }
},
{
"uuid": "93dede62-6d0c-4a7f-934d-42175eb94011",
"order": 4,
"element_type": "DROPDOWN",
"is_required": true,
"title": "What is your approximate net worth (range)?",
"description": null,
"placeholder": null,
"choices": [
{ "label": "Less than $50,000", "value": "<50k" },
{ "label": "$50,000 - $250,000", "value": "50k-250k" },
{ "label": "$250,001 - $1,000,000", "value": "250k-1m" },
{ "label": "$1,000,001 - $5,000,000", "value": "1m-5m" },
{ "label": "More than $5,000,000", "value": ">5m" }
],
"max_files": 1,
"answer": { "value": "<50k" }
},
{
"uuid": "2af60d6f-6961-4692-9ee7-24b3033610a6",
"order": 5,
"element_type": "LONG_TEXT",
"is_required": true,
"title": "For your initial deposit/funding, indicate the exact source and amount.",
"description": "e.g., 'salary from ACME Ltd β July 2025 payroll'",
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": { "value": "Test answer" }
},
{
"uuid": "0ad9d1aa-736f-46cf-947b-9e1241b53e40",
"order": 6,
"element_type": "LONG_TEXT",
"is_required": true,
"title": "Breakdown of sources by percentage.",
"description": "e.g., Salary 70%, Investments 20%, Other 10%",
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": { "value": "Test answer" }
},
{
"uuid": "1bf8a2a3-14ee-48a8-bb3d-175481aae4aa",
"order": 7,
"element_type": "SINGLE_CHOICE",
"is_required": true,
"title": "Will any funds originate from third parties? If yes, please provide details.",
"description": null,
"placeholder": null,
"choices": [
{ "label": "Yes", "value": "yes", "requires_text_input": true },
{ "label": "No", "value": "no" }
],
"max_files": 1,
"answer": { "text": "Additional details", "value": "yes" }
},
{
"uuid": "e18d4dd3-b7bf-4883-ba18-d6046adbe313",
"order": 8,
"element_type": "SINGLE_CHOICE",
"is_required": true,
"title": "Do you hold or plan to use virtual assets (e.g., crypto) to fund this account? If yes, please provide details.",
"description": null,
"placeholder": null,
"choices": [
{ "label": "Yes", "value": "yes", "requires_text_input": true },
{ "label": "No", "value": "no" }
],
"max_files": 1,
"answer": { "text": "Additional details", "value": "yes" }
},
{
"uuid": "a90a073d-e098-404c-bbce-5130d8b12a13",
"order": 9,
"element_type": "FILE_UPLOAD",
"is_required": true,
"title": "Upload a proof of funds document",
"description": "You can upload your three (3) most recent bank statements, three (3) most recent payslips, your most recent tax return, proof of company ownership, trading exchange statement, sale of property, or proof of inheritance.",
"placeholder": null,
"choices": null,
"max_files": 3,
"answer": { "files": ["/media/ocr/", "/media/ocr/"] }
},
{
"uuid": "9503b486-7cb8-4c3b-a97d-4b64926a5a47",
"order": 10,
"element_type": "LONG_TEXT",
"is_required": false,
"title": "Would you like to add any details to help us expedite our review of the documents you submitted?",
"description": "You may provide any additional information or context regarding your uploaded documents.",
"placeholder": null,
"choices": null,
"max_files": 1,
"answer": { "value": "Test answer" }
}
]
}
],
"status": "Approved"
}
}
Status and review
The status
of the questionnaire reflects the current review outcome:
Not Finished
: The user has not completed the questionnaire.In Review
: The questionnaire has been submitted and is pending manual review. You can force all questionnaires to enter this state so a human must approve them.Approved
: The questionnaire has been reviewed and accepted.