Skip to main content

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

ParameterTypeRequiredDescription
submissionIdstringYesThe unique identifier of the submission to retrieve
pageIdstringYesThe 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

FieldTypeDescription
idstringUnique identifier of the submission
userDetailsIdstringUnique identifier of the user associated with this submission (for individual submissions)
userDetailsobjectUser details including name and email (nullable)
companyIdstringUnique identifier of the company (for corporate submissions, nullable)
companyobjectCompany details (nullable)
formIdstringUnique identifier of the form associated with this submission
formobjectForm metadata including id, name, type, and structure
formApproverUserIdarrayList of user IDs who can approve this form
answersarrayArray of answer objects for the requested page
moduleManagementFormApprovalStatusarrayApproval status information for module management
jointAccountFormobjectJoint account form information (nullable)
parentSubmissionobjectParent submission reference for linked submissions (nullable)

Answer Object Properties

Each answer object in the answers array contains:

PropertyTypeDescription
idstringUnique identifier of the answer
fieldIDstringUnique identifier of the field this answer belongs to
fieldTypeIdstringType of the field (e.g., "Text", "DatePicker", "Country")
fieldobjectField metadata including label, name, type, and validation settings
Additional propertiesvariesProperties specific to the field type (see Answer Models)

Field Object Properties

PropertyTypeDescription
idstringUnique identifier of the field
labelstringDisplay label of the field
namestringInternal name of the field
tooltipstringTooltip text for the field (nullable)
fieldTypeIdstringType identifier of the field
isRequiredbooleanWhether the field is required
orderintegerDisplay order of the field
isCraFieldbooleanWhether this is a CRA (Customer Risk Assessment) field
isLockedbooleanWhether 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 CodeDescriptionSolution
400Invalid submission ID or page ID formatCheck that both IDs are correctly formatted
401UnauthorizedVerify your authentication token
403ForbiddenCheck that your account has permission to access this submission
404Submission or page not foundVerify that the submission ID and page ID exist
500Internal server errorContact support with the error details

Important Notes

  1. The pageId parameter refers to a specific page within the form structure. Use the Get Form Fields API to understand the form's page structure.
  2. 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 countryId and countryName
    • Document fields include documentId
  3. Answers are only returned for fields on the specified page that have been submitted.
  4. 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:

  1. 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
  2. Review Before Final Submission:

    • After a user completes a form, retrieve all answers for review
    • Display the data for confirmation before final processing
  3. Data Synchronization:

    • Periodically fetch submission data to sync with external systems
    • Use in combination with webhooks for real-time data synchronization