Structure
A schema defines anobject with properties. Each property specifies its type and validation constraints:
required array lists properties that must be provided when submitting the form.
Steps
Root-level properties in the schema represent steps — logical groupings of related questions. Each step is an object containing the fields the user needs to complete. A form with one step:Progressive disclosure
Steps enable progressive disclosure — as the user completes one step and submits their answers, the API may return an updated schema with new steps revealed. This means the schema grows dynamically based on previous answers, allowing you to guide users through a multi-step flow without showing all questions upfront.Types
String
Text values, typically rendered as text inputs.Number
Numeric values, typically rendered as number inputs.Boolean
True/false values, typically rendered as checkboxes or toggles.Array
Lists of items, typically rendered as multi-selects or repeatable sections.Object
Nested structures with their own properties.Formats
Theformat keyword provides semantic meaning to string values.
Date
Date values, typically rendered as date pickers.Validation keywords
String validation
| Keyword | Description |
|---|---|
minLength | Minimum number of characters |
maxLength | Maximum number of characters |
pattern | Regular expression the value must match |
Array validation
| Keyword | Description |
|---|---|
minItems | Minimum number of items |
maxItems | Maximum number of items |
uniqueItems | When true, all items must be unique |
contains | At least one item must match the specified schema |