JSON Forms & Submissions
SurveyJS-compatible JSON schemas. No coding or database migrations needed when you build a new form or change single a question.
{
"title": "Patient Intake",
"pages": [{
"elements": [
{
"type": "text",
"name": "firstName",
"title": "First name"
},
{
"type": "dropdown",
"name": "visitReason",
"title": "Reason for visit",
"choices": [
"Routine checkup",
"Follow-up",
"Urgent care"
]
},
{
"type": "boolean",
"name": "hasAllergies",
"title": "Do you have allergies?"
},
{
"type": "text",
"name": "allergyDetails",
"title": "Please describe your allergies",
"visibleIf": "{hasAllergies} = true",
"isRequired": "{hasAllergies} = true"
}
]
}]
} {
"firstName": "Alex",
"visitReason": "Follow-up",
"hasAllergies": true
} Forms that are not hardcoded
The entire form lives in a database record. One JSON object captures what a form looks like, how it behaves, and what it accepts.
- Form layout (pages, panels, columns, etc.)
- Default values
- Validation rules
- Conditional logic
- Calculated values and expressions
- Navigation options
- Translations
- Themes (colors, fonts, borders, logos, etc.)
Enterprise-grade scalability
Submission JSON objects are persisted to a relational database and linked to the form versions they were collected against.
- GIN-indexed JSONB queries on PostgreSQL
- OPENJSON row expansion for MS SQL reporting
- Horizontal scaling on your existing database
Portability between environments
A form definition is a single JSON object. That makes it trivial to promote between environments or hand off to another team.
- Manually export JSON form definitions
- Automate JSON transfers through the API
- Promote dev → staging → production without migrations
Supported databases
Endatix uses EF Core - no document store, no secondary infrastructure. Choose the relational database you already run.
- Binary JSON storage
- GIN-indexed for fast queries
- json_path_query support
- Full-text search ready
- JSON_VALUE / JSON_QUERY / OPENJSON
- Row expansion for SQL reporting
- Fully managed on Azure SQL
- Elastic scale & geo-replication
Why JSON-first storage
Schema-flexible storage is a deliberate design choice - not a workaround.
Schema Evolution Without Migrations
Add, remove, or rename a question in SurveyJS and save. No ALTER TABLE, no migration file, no deployment window. Existing submissions are unaffected.
Queryable with Standard SQL
PostgreSQL JSONB supports GIN-indexed queries. MS SQL exposes JSON_VALUE and JSON_QUERY. Filter and aggregate submission data without an ORM or external search engine.
Form Versioning Built In
Each form has one active version (the form definition). Historical submissions always reference the schema that was active when they were created, so reporting never breaks.
Forms that evolve without downtime.
Change your SurveyJS form schema any time - no schema migrations, no breaking changes to historical data.
Forms that evolve without downtime.
Change your form schema any time - no migrations, no breakage.
Talk to an engineer