Get Configured Onboarding Data
The Get Configured Onboarding Data API returns the subset of a customer's onboarding answers that has been configured as shareable with your integration. Each answer is returned against a durable key — a stable identifier that survives edits to the onboarding form — so you can map answers onto your own schema once and keep that mapping working as the onboarding evolves.
This differs from the Get Submission API, which returns every answer on a specific page of the form and identifies each one by a fieldId that changes whenever the onboarding is edited.
API Endpoint
GET {base_url}/ExtForm/GetConfiguredOnboardingData/{submissionId}
Request Format
This endpoint accepts a GET request with a submission ID parameter in the URL path.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
submissionId | string | Yes | The unique identifier of the submission to retrieve configured data for |
Request Headers
Authorization: Bearer {token}
Response Format
{
"statusCode": 200,
"messages": ["Processed successfully"],
"result": {
"submissionId": "a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6",
"answers": [
{
"durableKey": "8f14e45f-ceea-467a-9c4b-2f6a1d3e5b70",
"displayOrder": 0,
"field": {
"id": "3c2403cd-7067-4c08-821b-9fb2e5751c4f",
"label": "First Name",
"name": "FirstName",
"tooltip": null,
"fieldTypeId": "Text",
"isRequired": true,
"order": 1,
"isCraField": false,
"fieldReferenceId": null,
"isLocked": false,
"isCustomerViewOnly": false,
"conditionalRules": []
},
"answer": {
"id": "ans-12345",
"fieldID": "3c2403cd-7067-4c08-821b-9fb2e5751c4f",
"textValue": "John"
}
},
{
"durableKey": "c9f0f895-fb98-4b41-96b8-6f1a2d4c7e83",
"displayOrder": 1,
"field": {
"id": "5d10fd74-658b-41d5-8fed-2d60d52a89c0",
"label": "Date of Birth",
"name": "DateOfBirth",
"tooltip": null,
"fieldTypeId": "DatePicker",
"isRequired": true,
"order": 2,
"isCraField": false,
"fieldReferenceId": null,
"isLocked": false,
"isCustomerViewOnly": false,
"conditionalRules": []
},
"answer": null
}
]
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
submissionId | string | The submission the data belongs to, echoing the value you requested |
answers | array | One entry per configured field that exists on this customer's onboarding, in the configured order |
Answer Entry Properties
Each entry in the answers array contains:
| Property | Type | Description |
|---|---|---|
durableKey | string | The stable identifier for this field. Key your integration on this value — it is the only identifier in the response that survives an edit to the onboarding |
displayOrder | integer | The configured position of this entry in the response. Not the field's position on the onboarding form |
field | object | Metadata describing the field this entry represents. Always populated |
answer | object | The customer's answer, or null when the customer did not answer this field |
Field Object Properties
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier of the field on this customer's version of the onboarding |
label | string | Display label of the field |
name | string | Internal name of the field |
tooltip | string | Tooltip text for the field (nullable) |
fieldTypeId | string | Type identifier of the field (e.g. "Text", "DatePicker", "Country") |
isRequired | boolean | Whether the field is required |
order | integer | Display order of the field on the onboarding form |
isCraField | boolean | Whether this is a CRA (Customer Risk Assessment) field |
fieldReferenceId | string | Reference identifier linking the field to a shared definition (nullable) |
isLocked | boolean | Whether the field is locked for editing |
isCustomerViewOnly | boolean | Whether the field is visible to the customer but not editable by them |
conditionalRules | array | Conditional display rules attached to the field. Empty on this endpoint |
Answer Object Properties
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier of the answer |
fieldID | string | Identifier of the field this answer belongs to, on the customer's version of the onboarding |
| Additional properties | varies | Properties specific to the field type (see Answer Models) |
The additional properties in each answer object depend on the field type. For example, a Text field returns textValue, a DatePicker field returns date, and a Country field returns countryId. Refer to the Answer Models section for the properties returned by each type.
Read the answer type from answers[].field.fieldTypeId, not from any property inside the answer object itself. The answer object on this endpoint does not carry its own type or field metadata — those are provided once, at the entry level, in the field block.
Which Fields Are Returned
The set of fields this endpoint returns is configured for you by Azakaw, not chosen per request. Contact your Azakaw representative to have fields added to, removed from, or reordered in your configuration; there is no self-service API for managing it.
Once configured, the following rules determine the response:
- One entry per configured field, whether or not the customer answered it. An unanswered field is returned with
"answer": nullrather than being omitted, so the shape of the response is the same for every customer of the same onboarding. - Entries are ordered by
displayOrder, which comes from your configuration. Reordering the configuration reorders the response; ties are broken consistently so that repeated calls return the same order. - Fields that do not exist on this customer's onboarding are omitted. If a field was added to the onboarding after this customer completed it, that customer's response will not contain an entry for it.
- An empty configuration returns an empty list.
answersis[], not an error.
Because entries are keyed on the durable key, one configuration applies to every version of an onboarding. When an onboarding is edited, the underlying field.id and answer.fieldID values change, but the durableKey for each field does not — which is why your integration should map on durableKey alone.
Example Usage
cURL Example
curl -X GET \
'{base_url}/ExtForm/GetConfiguredOnboardingData/a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6' \
-H 'Authorization: Bearer your_token_here'
Error Handling
| Status Code | Description | Solution |
|---|---|---|
| 400 | "Parameter 'submissionId' with value '...' was not found." | The submission ID does not exist. Verify the ID using the Get Submissions API |
| 400 | "Submission does not exist" | The submission is not accessible to your credentials, or is no longer active |
| 400 | "Onboarding is not active" | The onboarding form this submission belongs to has been deactivated. Contact your Azakaw representative |
| 401 | Unauthorized | Verify your authentication token |
| 403 | Forbidden | Check that your credentials have permission to access this submission |
| 500 | Internal server error | Contact support with the error details |
Important Notes
- Map your integration on
durableKey. Thefield.idandanswer.fieldIDvalues belong to the specific version of the onboarding the customer completed and will change when that onboarding is edited. - An entry with
"answer": nullmeans the customer left the field blank — it does not mean the field is missing from your configuration. - A missing entry means the opposite: the field is not part of this customer's onboarding, so there is no answer of theirs to report.
- Use
answers[].field.fieldTypeIdto decide how to parse each answer. - The configured set of fields is managed by Azakaw. Adding or reordering fields takes effect immediately, with no change required on your side.
Use Cases
- Selective Data Sharing — Receive only the onboarding fields relevant to your integration, rather than filtering a full submission yourself.
- Stable Schema Mapping — Map onboarding answers onto your own data model once, using durable keys that survive onboarding changes.
- Downstream Enrichment — Push approved customer attributes into a CRM, core banking system, or data warehouse.
- Version-Independent Processing — Process customers who completed different versions of the same onboarding through one code path.
Related Resources
- Get Submission API - Retrieve all answers for a specific page of a submission
- Get Submissions API - List submissions for a form
- Search Submissions API - Find submissions by field values
- Get Form Fields API - Retrieve the full structure of an onboarding form
- Answer Models Reference - Properties returned for each field type