Save Submission
The Save Submission API allows you to submit answers to form fields programmatically. This API is typically used after uploading any required documents with the Document Upload API.
API Endpoint
POST {base_url}/ExtForm/submissions
Request Format
Request Headers
Content-Type: application/json
Authorization: Bearer {token}
Request Body
{
"submissionId": "7ac9ab5e-4123-4456-b8c3-123456789012",
"answers": [
{
"fqName": "PersonalInfo_Identity_Passport",
"answer": {
"fieldTypeId": "Passport",
"documentId": "d8f72bae-5c9a-4f8e-b8e7-19d8fcd7e34b"
}
},
{
"fieldId": "g23e45f6-7g8h-9i0j-1k2l-3m4n5o6p7q8",
"answer": {
"fieldTypeId": "Country",
"countryId": "US"
}
}
// Additional answers...
]
}
Request Fields
| Field | Type | Required | Description |
|---|---|---|---|
submissionId | string | Yes | Unique identifier for an existing submission |
answers | array | Yes | Array of answer items |
Answer Item
Each answer item in the answers array must include:
| Field | Type | Required | Description |
|---|---|---|---|
fqName | string | Conditional | Fully qualified name of the field (PageName_SectionName_FieldName). Required if fieldId is not provided |
fieldId | string | Conditional | Direct field identifier. Required if fqName is not provided |
answer | object | Yes | Answer model specific to the field type |
Important: Either fqName OR fieldId must be provided for each answer item - not both simultaneously.
The answer object must include:
| Field | Type | Required | Description |
|---|---|---|---|
fieldTypeId | string | Yes | Type of the field (matches the answer model type) |
| Additional fields | varies | Yes | Fields specific to the answer model type |
Response Format
{
"statusCode": 200,
"messages": ["Processed successfully"],
"result": "7ac9ab5e-4123-4456-b8c3-123456789012"
}
Response Fields
| Field | Description |
|---|---|
result | The submission ID that was processed or created |
Field Qualified Names (FQN)
Each field in the form can be identified by its fully qualified name (FQN), which follows the pattern:
{PageName}_{SectionName}_{FieldName}
For example:
PersonalInfo_Identity_PassportBusinessDetails_Address_CompanyAddressFinancial_Source_SourceOfWealth
Alternatively, you can use the direct fieldId value if you know it.
Answer Models
Each field type requires a specific answer model. The fieldTypeId in your request must match the appropriate model for the field you're answering.
For a complete list of available answer models and their required fields, refer to the Answer Models section of the documentation.
Common Answer Models
Some frequently used answer models include:
| Field Type | Answer Model | Key Properties |
|---|---|---|
| Passport upload | Passport | documentId |
| ID card upload | IdCard | idCardFrontId, idCardBackId |
| Country selection | Country | countryId |
| Text input | Text | textValue |
| Date selection | DatePicker | date |
| Multiple choice | SingleOptionRadio | optionId |
| Multiple selection | MultiOptionsCheckBox | optionIds (array) |
Error Handling
| Status Code | Description | Solution |
|---|---|---|
| 400 | "Make sure all answer models have either a FQName or FieldId" | Ensure each answer has either a FQName or FieldId |
| 400 | Invalid request format | Check the structure of your request |
| 400 | Field not found | Verify that the FQN or fieldId is correct |
| 400 | Invalid field type | Ensure the fieldTypeId matches the field type |
| 400 | Missing required field | Provide all required fields for the answer model |
| 401 | Unauthorized | Verify your authentication token |
| 500 | Internal server error | Contact support with the error details |
Important Notes
- Each answer must use the correct answer model corresponding to the field type.
- All required fields for each answer model must be provided.
- Document IDs referenced in answers must have been previously uploaded using the Document Upload API.
- Fields that allow multiple items (like SourceOfFund) require an array of items in the answer model.
Related Resources
- Get Forms API - Retrieving available forms
- Get Form Fields API - Retrieving form structure and fields
- Get Submissions API - Retrieving submissions
- Upload Documents API - Uploading documents for a submission
- Get Submission Documents API - Retrieving documents for a submission
- Answer Models Reference - Detailed information about answer model types