Skip to main content

Get Forms

The Get Forms API allows you to retrieve a list of available forms in the system filtered by form type. This is typically used as a first step in the form submission workflow to identify which form templates are available for a customer to complete.

API Endpoint​

GET {base_url}/ExtForm/forms

Request Format​

This endpoint accepts a GET request with query parameters for filtering.

Query Parameters​

ParameterTypeRequiredDefaultDescription
includeVersionsbooleanNofalseAlso return every version of each form. See Form versions

Request Headers​

Authorization: Bearer {token}

Response Format​

{
"statusCode": 200,
"messages": ["Processed successfully"],
"result": {
"count": 2,
"forms": [
{
"formId": "7ac9ab5e-4123-4456-b8c3-123456789012",
"formName": "Individual KYC Form"
},
{
"formId": "8bd0bc6f-5234-5567-c9d4-234567890123",
"formName": "Corporate KYC Form"
}
]
}
}

Response Fields​

FieldDescription
countTotal number of forms returned
formsArray of form objects
forms[].formIdUnique identifier for the form
forms[].formNameDisplay name of the form
forms[].versionsEvery version of the form, newest first. Only returned with includeVersions=true

Form versions​

Editing a form creates a new version with a new formId. This endpoint always returns the current version, but customers who onboarded earlier stay on the version they started.

Get Session ID opens the customer's KYC for the formId you pass: an existing customer who has no submission on that form gets a new, empty one. To continue a customer's existing KYC, pass the formId of the version it was started on. To start a new KYC on the latest version, pass the current formId.

Older versions stay active: their formId keeps working in Get Session ID. If you keep passing an older formId, new customers will onboard on that older version until you switch to the current one.

Use includeVersions=true to list the versions:

curl -X GET \
'{base_url}/ExtForm/forms?includeVersions=true' \
-H 'Authorization: Bearer your_token_here'
{
"statusCode": 200,
"messages": ["Processed successfully"],
"result": {
"count": 1,
"forms": [
{
"formId": "7ac9ab5e-4123-4456-b8c3-123456789012",
"formName": "Individual KYC Form",
"versions": [
{
"formId": "7ac9ab5e-4123-4456-b8c3-123456789012",
"createdAt": "2026-03-01T09:00:00Z",
"supersededAt": null,
"submissionsCount": 12
},
{
"formId": "5d1e2f3a-4b5c-4d6e-8f7a-9b0c1d2e3f4a",
"createdAt": "2026-01-15T09:00:00Z",
"supersededAt": "2026-03-01T09:00:00Z",
"submissionsCount": 30
}
]
}
]
}
}
FieldDescription
versions[].formIdId of this version — accepted by Get Session ID and the submission APIs
versions[].createdAtWhen this version was created (UTC). null for some older forms with no recorded creation date; those are listed last
versions[].supersededAtWhen a newer version replaced it (UTC). null on the current version
versions[].submissionsCountActive submissions on this version that your credentials can access

To find the version a specific customer is on, use Search Submissions with the customer's email and no formId: each result includes the formId of the version it was started on. If the customer has more than one KYC, choose by kycState, not by position (results are newest first).

Example Usage​

cURL Example​

curl -X GET \
'{base_url}/ExtForm/forms' \
-H 'Authorization: Bearer your_token_here'

Error Handling​

Status CodeDescriptionSolution
400Invalid request parameters
401UnauthorizedVerify your authentication token
403ForbiddenCheck that your account has permission to access forms
500Internal server errorContact support with the error details