Skip to main content

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

ParameterTypeRequiredDescription
submissionIdstringYesThe 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

FieldTypeDescription
submissionIdstringThe submission the data belongs to, echoing the value you requested
answersarrayOne 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:

PropertyTypeDescription
durableKeystringThe 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
displayOrderintegerThe configured position of this entry in the response. Not the field's position on the onboarding form
fieldobjectMetadata describing the field this entry represents. Always populated
answerobjectThe customer's answer, or null when the customer did not answer this field

Field Object Properties

PropertyTypeDescription
idstringUnique identifier of the field on this customer's version of the onboarding
labelstringDisplay label of the field
namestringInternal name of the field
tooltipstringTooltip text for the field (nullable)
fieldTypeIdstringType identifier of the field (e.g. "Text", "DatePicker", "Country")
isRequiredbooleanWhether the field is required
orderintegerDisplay order of the field on the onboarding form
isCraFieldbooleanWhether this is a CRA (Customer Risk Assessment) field
fieldReferenceIdstringReference identifier linking the field to a shared definition (nullable)
isLockedbooleanWhether the field is locked for editing
isCustomerViewOnlybooleanWhether the field is visible to the customer but not editable by them
conditionalRulesarrayConditional display rules attached to the field. Empty on this endpoint

Answer Object Properties

PropertyTypeDescription
idstringUnique identifier of the answer
fieldIDstringIdentifier of the field this answer belongs to, on the customer's version of the onboarding
Additional propertiesvariesProperties 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.

Determining the answer 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": null rather 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. answers is [], 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 CodeDescriptionSolution
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
401UnauthorizedVerify your authentication token
403ForbiddenCheck that your credentials have permission to access this submission
500Internal server errorContact support with the error details

Important Notes

  1. Map your integration on durableKey. The field.id and answer.fieldID values belong to the specific version of the onboarding the customer completed and will change when that onboarding is edited.
  2. An entry with "answer": null means the customer left the field blank — it does not mean the field is missing from your configuration.
  3. 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.
  4. Use answers[].field.fieldTypeId to decide how to parse each answer.
  5. 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.