Get Submission
The Get Submission API allows you to retrieve the answers for a specific submission by its submission ID and page ID. This is useful for retrieving previously submitted data, displaying saved progress, or integrating submission data into external systems.
API Endpoint
GET {base_url}/ExtForm/submissions/{submissionId}/pages/{pageId}
Request Format
This endpoint accepts a GET request with path parameters.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
submissionId | string | Yes | The unique identifier of the submission to retrieve |
pageId | string | Yes | The unique identifier of the page within the form to retrieve answers for |
Request Headers
Authorization: Bearer {token}
Response Format
{
"statusCode": 200,
"messages": ["Processed successfully"],
"result": {
"id": "a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6",
"userDetailsId": "user-12345",
"userDetails": {
"id": "user-12345",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com"
},
"companyId": null,
"company": null,
"formId": "7ac9ab5e-4123-4456-b8c3-123456789012",
"form": {
"id": "7ac9ab5e-4123-4456-b8c3-123456789012",
"name": "Individual KYC Form",
"entityType": "Individual",
"formType": "KYCOnboarding",
"isActive": true,
"tenantId": "tenant-abc",
"pages": []
},
"formApproverUserId": [],
"answers": [
{
"id": "ans-12345",
"fieldID": "3c2403cd-7067-4c08-821b-9fb2e5751c4f",
"fieldTypeId": "Text",
"field": {
"id": "3c2403cd-7067-4c08-821b-9fb2e5751c4f",
"label": "First Name",
"name": "FirstName",
"fieldTypeId": "Text",
"isRequired": true,
"order": 1,
"isLocked": false
},
"textValue": "John"
},
{
"id": "ans-67890",
"fieldID": "5d10fd74-658b-41d5-8fed-2d60d52a89c0",
"fieldTypeId": "DatePicker",
"field": {
"id": "5d10fd74-658b-41d5-8fed-2d60d52a89c0",
"label": "Date of Birth",
"name": "DateOfBirth",
"fieldTypeId": "DatePicker",
"isRequired": true,
"order": 2,
"isLocked": false
},
"date": "1990-05-15"
},
{
"id": "ans-11111",
"fieldID": "308fec76-b67f-45ec-81e2-06cff19b7c35",
"fieldTypeId": "Country",
"field": {
"id": "308fec76-b67f-45ec-81e2-06cff19b7c35",
"label": "Country of Residence",
"name": "CountryOfResidence",
"fieldTypeId": "Country",
"isRequired": true,
"order": 3,
"isLocked": false
},
"countryId": "AE",
"country": {
"id": "AE",
"name": "United Arab Emirates",
"code": "AE"
}
}
],
"moduleManagementFormApprovalStatus": [],
"jointAccountForm": null,
"parentSubmission": null
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier of the submission |
userDetailsId | string | Unique identifier of the user associated with this submission (for individual submissions) |
userDetails | object | User details including name and email (nullable) |
companyId | string | Unique identifier of the company (for corporate submissions, nullable) |
company | object | Company details (nullable) |
formId | string | Unique identifier of the form associated with this submission |
form | object | Form metadata including id, name, type, and structure |
formApproverUserId | array | List of user IDs who can approve this form |
answers | array | Array of answer objects for the requested page |
moduleManagementFormApprovalStatus | array | Approval status information for module management |
jointAccountForm | object | Joint account form information (nullable) |
parentSubmission | object | Parent submission reference for linked submissions (nullable) |
Answer Object Properties
Each answer object in the answers array contains:
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier of the answer |
fieldID | string | Unique identifier of the field this answer belongs to |
fieldTypeId | string | Type of the field (e.g., "Text", "DatePicker", "Country") |
field | object | Field metadata including label, name, type, and validation settings |
| Additional properties | varies | Properties specific to the field type (see Answer Models) |
Field Object Properties
| Property | Type | Description |
|---|---|---|
id | string | Unique identifier of the field |
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 |
isRequired | boolean | Whether the field is required |
order | integer | Display order of the field |
isCraField | boolean | Whether this is a CRA (Customer Risk Assessment) field |
isLocked | boolean | Whether the field is locked for editing |
The additional properties in each answer object depend on the fieldTypeId. Refer to the Answer Models section for the specific properties returned for each field type.
Example Usage
cURL Example
curl -X GET \
'{base_url}/ExtForm/submissions/a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6/pages/page-12345' \
-H 'Authorization: Bearer your_token_here'
Error Handling
| Status Code | Description | Solution |
|---|---|---|
| 400 | Invalid submission ID or page ID format | Check that both IDs are correctly formatted |
| 401 | Unauthorized | Verify your authentication token |
| 403 | Forbidden | Check that your account has permission to access this submission |
| 404 | Submission or page not found | Verify that the submission ID and page ID exist |
| 500 | Internal server error | Contact support with the error details |
Important Notes
- The
pageIdparameter refers to a specific page within the form structure. Use the Get Form Fields API to understand the form's page structure. - Each answer in the response will contain properties specific to its field type. For example:
- Text fields include
textValue - DatePicker fields include
date - Country fields include
countryIdandcountryName - Document fields include
documentId
- Text fields include
- Answers are only returned for fields on the specified page that have been submitted.
- This API is typically used to display saved progress or to retrieve data for review/editing.
Use Cases
- Resume Incomplete Submissions: Retrieve previously saved answers to allow users to continue where they left off
- Data Review: Display submitted data for review before final submission
- Data Export: Export submission data to external systems
- Audit Trail: Retrieve historical submission data for compliance and auditing purposes
- Pre-populate Forms: Use existing submission data to pre-fill related forms
Workflow Integration
The Get Submission API is typically used in the following workflows:
-
Retrieve Submission Progress:
- Call Get Submissions API to get the list of submissions and their IDs
- Use the Get Submission API with the submission ID and page ID to retrieve the answers for each page
-
Review Before Final Submission:
- After a user completes a form, retrieve all answers for review
- Display the data for confirmation before final processing
-
Data Synchronization:
- Periodically fetch submission data to sync with external systems
- Use in combination with webhooks for real-time data synchronization
Related Resources
- Get Forms API - Retrieve available forms
- Get Form Fields API - Retrieve form structure and field definitions
- Get Submissions API - List all submissions for a form
- Save Submission API - Submit or update form answers
- Answer Models Reference - Detailed information about answer model types