Skip to main content
The questionnaire is sent as sections → items. A single-select item uses { "value": "..." }; a multi-select uses { "values": [ ... ] }. Country items take a 3-letter code. Only the format is checked here, not whether the country exists.
Shape
A value outside the lists below returns 400 ERRCUS_1306, with field naming the exact question — questionnaire.sections.profileDetails.items.occupation.value. The whole payload is rejected and nothing is created. Every questionnaire code is in the onboarding error catalogue.
The questionnaire is set on create only. It cannot be updated afterwards — sending one on update is 400 ERRCUS_1303.

Reading answers back

Get customer returns the questionnaire in a different shape from the one you submit:
  • Only questionnaireId and the customer’s answers come back. The blank form — the sections, items and option catalogue, identical for every customer — is not returned.
  • answers is flattened to { "<sectionId>": { "<itemId>": value } }. There is no items / value wrapper; that exists only on the submit payload.
  • A single-select answer is a scalar ("accountPurpose": "payroll"); a multi-select or country-multi answer is an array ("nationalities": ["ARE"]).
  • questionnaireId is endlIndividualProfileQuestionnairenew for an individual and endlKybQuestionnaireBridgeTest for a business.
  • The whole field is omitted until a questionnaire has been submitted.
Individual
Business
In the business answers, the multi-select businessActivity.pleaseSelectAllActiv is an array and every other answer is a scalar. Conditional items that were not triggered — ifOtherPleaseSpecify, for instance — are simply absent.

Individual questionnaire

Items marked required if are only needed when their trigger question has the stated value.

Occupation

All 50 codes.

Annual salary

Account purpose

Expected monthly volume

Custom fields

Sent as customFields, alongside the questionnaire rather than inside it. An unknown key returns 400 ERRCUS_1321, with field: "customFields.foo". A required key that is missing is ERRCUS_1322, and an empty value is ERRCUS_1323.

Business questionnaire

ifYesPleasePro_gd5nk is a file item. This file item can’t be sent through the JSON API, and leaving it out does not fail create. No document type satisfies it.

Business industry

Source of funds

Estimated annual revenue

Business activities

Multi-select — send any number of these in values.

Primary account purpose