API reference · v1

Build on the IndeForms platform.

Integrate IndeForms into your ecosystem. Every form, dispatch, submission, and workflow action is available via authenticated REST endpoints.

v1 · stable

Backward-compatible deprecations announced 90 days in advance. Tenant-scoped tokens. Audited end-to-end.

Base URL

/api/admin

Authentication

Bearer <JWT>

Format

JSON

Mobile API

/api/client

Forms

Create, list, publish, clone, and manage the full form lifecycle including AI-powered paper-to-digital conversion.

POST/form-builder/forms/getAllForms

Summary

Retrieve all forms with pagination, search, and sort

Retrieve all forms with pagination, search, and sort filters.

Parameters
Request body
page
number
Page number (1-based)
e.g. 1
limit
number
Rows per page
e.g. 20
search
string
Search term for form name
e.g. Daily
sortBy
string
Column to sort by
e.g. modified_on
sortOrder
string
asc or desc
e.g. desc
Request
application/json{
  "page": 1,
  "limit": 20,
  "search": "Daily",
  "sortBy": "modified_on",
  "sortOrder": "desc"
}
Response
200 OK · application/json
data
array
Array of form objectsrequired
data[].form_base_id
number
Unique form identifierrequired
data[].form_name
string
Form display namerequired
data[].current_published_version
number
Latest published version (0 = unpublished)required
data[].is_active
boolean
Whether form is activerequired
data[].modified_on
datetime
Last modified timestamprequired
total_count
number
Total matching formsrequired

POST/form-builder/forms/create

Summary

Create a new form with initial page and section

Create a new form with an initial page and section.

Parameters
Request body
form_name
string
Name of the formrequired
e.g. Daily Inspection
Request
application/json{
  "form_name": "Daily Inspection"
}
Response
200 OK · application/json
data.form_base_id
number
Created form IDrequired
message
string
Success messagerequired

POST/form-builder/forms/publish

Summary

Publish a form version — freezes structure and rules

Publish a form version — freezes structure, rules, and options into a versioned snapshot.

Parameters
Request body
form_base_id
number
Form to publishrequired
Request
application/json{
  "form_base_id": 0
}
Response
200 OK · application/json
data.form_id
number
Published form version IDrequired
data.form_version
number
Version numberrequired

POST/form-builder/forms/clone

Summary

Clone an existing form including structure, rules, and options

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/forms/changeStatus

Summary

Activate or deactivate a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

DELETE/form-builder/forms/delete

Summary

Permanently delete a form and all related data

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/forms/from-image

Summary

AI: upload paper form image, extract fields, create digital form

Upload a photo/scan of a paper form. AI extracts fields, maps to question types, creates a draft form.

Parameters
Request body
image
file
Paper form image (JPEG, PNG, WebP). Max 10 MB.required
form_name
string
Optional name for the created form
Request
multipart/form-data{
  "image": "<binary>",
  "form_name": "<string>"
}
Response
200 OK · application/json
data.form_base_id
number
Created form IDrequired
data.questions_extracted
number
Number of fields extractedrequired

POST/form-builder/forms/getFormDetails

Summary

Get full form structure, rules, and settings

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Form Builder

Manage form structure — add, update, delete, and reorder pages, sections, questions (28 types), and conditional rules.

POST/form-builder/structure/addPage

Summary

Add a page to the form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/structure/addSection

Summary

Add a regular or repeatable section

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/structure/addQuestion

Summary

Add a question to a section (28 types supported)

Schema

Detailed schema coming soon. Refer to the endpoint description above.

PUT/form-builder/structure/update

Summary

Update question properties, validation, or config

Schema

Detailed schema coming soon. Refer to the endpoint description above.

DELETE/form-builder/structure/delete

Summary

Delete a page, section, or question

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/structure/reorder

Summary

Reorder pages, sections, or questions

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/rules/create

Summary

Create IF/THEN/ELSE conditional rule

Schema

Detailed schema coming soon. Refer to the endpoint description above.

PUT/form-builder/rules/update

Summary

Update rule conditions and actions

Schema

Detailed schema coming soon. Refer to the endpoint description above.

DELETE/form-builder/rules/delete

Summary

Delete a rule

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Dispatch

Send forms to field agents via direct, broadcast (Uber-style), force-pull, or return for editing.

POST/forms/dispatchFormToUser

Summary

Dispatch form to users — direct, broadcast, or with field defaults

Dispatch a form to one or more users. Supports direct, broadcast (Uber-style first-wins), and pre-filled field defaults.

Parameters
Request body
form_base_id
number
Form to dispatchrequired
user_ids
string[]
Array of user IDs to receive the formrequired
dispatch_type
string
"direct" (default) or "broadcast"
e.g. direct
due_on
datetime
Due date for completion
e.g. 2026-04-01T18:00:00Z
field_defaults
object
Pre-filled field values keyed by unique_id
is_submittable
boolean
Whether user can submit (default true)
reassignable_users
string[]
User IDs the form can be reassigned to
active_rule_groups
string[]
Rule group codes to apply on the dispatched form. Omit or null = all groups apply; untagged rules always run.
e.g. ["B","C"]
Request
application/json{
  "form_base_id": 0,
  "user_ids": "<string[]>",
  "dispatch_type": "direct",
  "due_on": "2026-04-01T18:00:00Z",
  "field_defaults": {},
  "is_submittable": false,
  "reassignable_users": "<string[]>",
  "active_rule_groups": "[\"B\",\"C\"]"
}
Response
200 OK · application/json
data
array
Array of created user_forms_id valuesrequired
message
string
Success messagerequired

POST/forms/:id/forcePullForm

Summary

Force re-download of a form to user devices

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/forms/:id/sendForEditing

Summary

Send a completed submission back for field editing

Send a completed submission back to the field agent for editing with an optional note.

Parameters
Request body
user_forms_id
number
Submission to send for editingrequired
note
string
Instructions for the agent
active_rule_groups
string[]
Rule group codes to apply on the re-opened form. Omit or null = all groups apply; untagged rules always run.
e.g. ["B","C"]
Request
application/json{
  "user_forms_id": 0,
  "note": "<string>",
  "active_rule_groups": "[\"B\",\"C\"]"
}
Response
200 OK · application/json
message
string
Success confirmationrequired

POST/forms/getDispatchSettings

Summary

Get dispatch config: geo-tag, pull, broadcast, acceptance

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/forms/saveDispatchSettings

Summary

Save dispatch settings for a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Scheduled Dispatch

Configure cron-based bulk dispatch with Excel user lists and field defaults. View run history and error logs.

POST/forms/scheduledDispatch/upsert

Summary

Create or update cron-based scheduled dispatch

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/forms/scheduledDispatch/list

Summary

List scheduled dispatches for a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/forms/scheduledDispatch/validateUpload

Summary

Validate scheduled dispatch Excel/ZIP payload

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/forms/scheduledDispatch/downloadTemplate

Summary

Download Excel template for a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

DELETE/forms/scheduledDispatch/delete

Summary

Delete a scheduled dispatch

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/forms/scheduledDispatch/runs

Summary

Get run history with status and error logs

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Submissions & Exports

View, filter, export, and manage form submissions. Queue async detailed exports with presigned download URLs.

POST/dashboard/getFormSubmissions

Summary

List submissions with filters, search, and pagination

List submissions for a form with search, date filters, status filters, and pagination.

Parameters
Request body
form_base_id
number
Form to query submissions forrequired
page
number
Page number
e.g. 1
limit
number
Rows per page
e.g. 20
search
object
Search filters (status, date_from, date_to, user_id, text)
Request
application/json{
  "form_base_id": 0,
  "page": 1,
  "limit": 20,
  "search": {}
}
Response
200 OK · application/json
data
array
Array of submission objectsrequired
data[].user_forms_id
number
Submission IDrequired
data[].status
string
Current status (e.g. Complete (Success))required
data[].assigned_to
string
Assigned user display namerequired
data[].form_data
object
Submitted answers (JSON, only in detail view)
total_count
number
Total matching submissionsrequired

POST/dashboard/exportSubmissions

Summary

Export submissions as streaming XLSX or CSV

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/dashboard/cancelSubmission

Summary

Cancel an active submission

Cancel an active submission. Sets status to Cancelled By Admin.

Parameters
Request body
user_forms_id
number
Submission to cancelrequired
Request
application/json{
  "user_forms_id": 0
}
Response
200 OK · application/json
message
string
Confirmation messagerequired

POST/dashboard/reExecuteDataDestination

Summary

Re-trigger failed data destination connectors

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/dashboard/getSubmissionOutputDetails

Summary

Get connector execution details for a submission

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/dashboard/getVersionHistory

Summary

Get version history and audit trail

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/export-requests/create

Summary

Queue async detailed export with S3 form data

Queue an async detailed export. Batch service processes it and stores result in S3.

Parameters
Request body
form_base_id
number
Form to export submissions forrequired
format
string
"xlsx" (default) or "csv"
e.g. xlsx
search
object
Same filter object as getFormSubmissions
Request
application/json{
  "form_base_id": 0,
  "format": "xlsx",
  "search": {}
}
Response
200 OK · application/json
data.export_request_id
number
Queued request IDrequired
data.status
string
"pending"required
data.expires_on
datetime
Expiration date (7 days)required

GET/export-requests/list

Summary

List export requests for current user

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/export-requests/download

Summary

Get presigned download URL for completed export

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Mobile Client

Mobile app endpoints — sync forms, submit data offline, pull self-service forms, accept or reject broadcast assignments.

POST/client/getUserForms

Summary

Sync assigned forms for the authenticated user

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/client/getFormDetails

Summary

Download form structure, rules, and translations

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/client/pullable

Summary

List self-service pullable forms

List forms available for self-service pull by the authenticated mobile user.

Response
200 OK · application/json
data
array
Array of pullable formsrequired
data[].form_id
number
Form version IDrequired
data[].form_name
string
Form display namerequired
data[].form_config
object
Form config including max_active_instancesrequired

POST/client/pull

Summary

Pull a form instance (self-initiated)

Pull a form instance for the current user. Respects max_active_instances limit.

Parameters
Request body
form_base_id
number
Form to pullrequired
Request
application/json{
  "form_base_id": 0
}
Response
200 OK · application/json
data.user_forms_id
number
Created submission IDrequired
message
string
Success messagerequired

POST/client/submit

Summary

Submit form data (offline sync)

Submit form data from mobile device. Supports offline sync — may include file attachments.

Parameters
Request body
user_forms_id
number
Submission ID to updaterequired
form_data
object
Answers keyed by question unique_idrequired
submit_details
object
Device info, GPS, timestamps
Request
application/json{
  "user_forms_id": 0,
  "form_data": {},
  "submit_details": {}
}
Response
200 OK · application/json
message
string
Submission confirmationrequired

GET/client/pendingAcceptance

Summary

List broadcast forms awaiting acceptance

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/client/accept

Summary

Accept a broadcast form (first-wins)

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/client/reject

Summary

Reject a broadcast form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Data Destinations

Configure automated output connectors: Email, FTP, AWS S3, OneDrive, Google Sheets, Salesforce, SharePoint, webhooks, and more.

POST/form-builder/connectors/create

Summary

Create connector: Email, FTP, S3, OneDrive, Sheets, Salesforce, etc.

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/connectors/getAll

Summary

List all connectors

Schema

Detailed schema coming soon. Refer to the endpoint description above.

PUT/form-builder/connectors/update

Summary

Update connector configuration

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/connectors/linkToForm

Summary

Link connector to a form with optional filter

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/connectors/unlinkFromForm

Summary

Unlink connector from a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

DELETE/form-builder/connectors/delete

Summary

Delete a connector

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/filters/create

Summary

Create destination filter (conditional routing)

Schema

Detailed schema coming soon. Refer to the endpoint description above.

PUT/form-builder/filters/update

Summary

Update destination filter rules

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Users & Access

Create and manage users, send notifications, reset passwords. Access controlled by 8-component RBAC.

POST/user/getAllUsers

Summary

List all users with roles and status

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/user/addUser

Summary

Create a new user

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/user/disableUser

Summary

Disable a user account

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/user/sendNotification

Summary

Send push notification to selected users

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/user/resetPassword

Summary

Admin-initiated password reset

Schema

Detailed schema coming soon. Refer to the endpoint description above.

AI & Analytics

Natural language form building, conversational data analytics, submission anomaly detection, and baseline computation.

POST/ai-chat/chat

Summary

AI form builder — natural language to form structure and rules

AI-powered form building. Send natural language instructions to create, modify, or delete form elements and rules.

Parameters
Request body
form_base_id
number
Form context for AI actionsrequired
message
string
Natural language instructionrequired
e.g. Add a date selector called "Inspection Date" to the first section
session_id
string
Conversation session ID for context continuity
Request
application/json{
  "form_base_id": 0,
  "message": "Add a date selector called \"Inspection Date\" to the first section",
  "session_id": "<string>"
}
Response
200 OK · application/json
data.reply
string
AI response messagerequired
data.actions
array
Actions executed (add_question, update_rule, etc.)
data.suggestions
string[]
Follow-up suggestions

POST/ai-chat/analytics-chat

Summary

Conversational analytics — natural language to queries

Conversational analytics. Ask questions about submission data in natural language — AI generates safe read-only SQL.

Parameters
Request body
form_base_id
number
Form to query data forrequired
message
string
Natural language questionrequired
e.g. What is the average score by region this month?
Request
application/json{
  "form_base_id": 0,
  "message": "What is the average score by region this month?"
}
Response
200 OK · application/json
data.answer
string
AI-generated answerrequired
data.sql
string
Generated SQL query (read-only)
data.results
array
Query result rows
data.chart_type
string
Suggested visualization (bar, line, pie, table)

POST/forms/review/:id

Summary

AI anomaly detection — flag statistical outliers in submission

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/baselines/:id/compute

Summary

Recompute statistical baselines for a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Scheduled Reports

Automated cron-based report generation and email delivery with XLSX/CSV/PDF output formats.

POST/dashboard/scheduledReports/create

Summary

Create cron-based automated report

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/dashboard/scheduledReports/list

Summary

List scheduled reports for a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

PUT/dashboard/scheduledReports/update

Summary

Update report schedule, recipients, and filters

Schema

Detailed schema coming soon. Refer to the endpoint description above.

DELETE/dashboard/scheduledReports/delete

Summary

Delete a scheduled report

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/dashboard/scheduledReports/runs

Summary

Get run history with delivery status

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Approval Workflows

Multi-step approval chains — configure steps, approve, reject, or send back. Supports user, role, and dynamic field approvers.

POST/approval-workflows/get

Summary

Get approval workflow configuration for a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/approval-workflows/save

Summary

Save workflow with ordered approval steps

Save a multi-step approval workflow for a form. Replaces existing steps.

Parameters
Request body
form_base_id
number
Form to attach workflow torequired
steps
array
Ordered approval stepsrequired
steps[].step_order
number
Step sequence (1-based)required
steps[].step_name
string
Display name, e.g. "Supervisor Review"required
steps[].approver_type
string
"user", "role", or "dynamic"required
steps[].approver_id
string
User ID or role ID (for user/role type)
steps[].dynamic_field
string
Question unique_id to extract approver (for dynamic type)
steps[].auto_approve_hours
number
Auto-approve after N hours if no action
steps[].can_reject
boolean
Allow rejection at this step (default true)
Request
application/json{
  "form_base_id": 0,
  "steps": []
}
Response
200 OK · application/json
data
object
Saved workflow with stepsrequired
data.workflow_id
number
Workflow IDrequired
data.steps
array
Saved steps with generated IDsrequired

POST/approval-workflows/approve

Summary

Approve current step — advances chain or completes

Approve the current step. Advances to next step or completes the submission.

Parameters
Request body
approval_id
number
Approval record IDrequired
comments
string
Optional approval comments
Request
application/json{
  "approval_id": 0,
  "comments": "<string>"
}
Response
200 OK · application/json
data
object
Updated approval recordrequired
data.status
string
"approved"required

POST/approval-workflows/reject

Summary

Reject — sends submission back for editing

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/approval-workflows/send-back

Summary

Send back to previous approval step

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/approval-workflows/pending

Summary

List submissions pending approval for current user

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Languages & Translations

Manage multi-language support for forms. List supported languages, create and update field-level translations.

GET/form-builder/supported-languages

Summary

List all supported languages

Schema

Detailed schema coming soon. Refer to the endpoint description above.

GET/form-builder/translations/list

Summary

List translations for a form

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/form-builder/translations/upsert

Summary

Create or update translation for a language

Schema

Detailed schema coming soon. Refer to the endpoint description above.

DELETE/form-builder/translations/delete

Summary

Delete translation for a language

Schema

Detailed schema coming soon. Refer to the endpoint description above.

Tenant Branding

White-label configuration — app name, logo, favicon, brand colors, and support contact info per tenant.

GET/branding

Summary

Get tenant branding configuration

Schema

Detailed schema coming soon. Refer to the endpoint description above.

PUT/branding

Summary

Update branding (app name, colors, support info)

Schema

Detailed schema coming soon. Refer to the endpoint description above.

POST/branding/favicon

Summary

Upload favicon

Schema

Detailed schema coming soon. Refer to the endpoint description above.