Forms
POST
Create Form Version
POST /v1/forms/{formId}/versionsCreate a new version of an existing form for updates.
Use Cases:
- Update a published form without breaking the live version
- Test changes before deploying to production
- Create A/B test variants
- Roll back to previous versions
- Maintain form version history
Behavior:
- New version inherits all fields from parent if not provided
- Created in DRAFT status (can be edited)
- Parent can be root form or any existing version
- Only one DRAFT version allowed per root form
- All fields are optional (defaults to parent values)
- New version gets unique ID but shares root form lineage
Required Scope: write:forms
Version Inheritance:
- If no fields provided, copies all from parent
- Specify only fields you want to change
- Omitted fields default to parent values
- Creates independent copy (changes don't affect parent)
Versioning Workflow:
- Published form is live on website
- Create new version (inherits configuration)
- Modify new DRAFT version as needed
- Test new version
- Publish new version
- Previous published version becomes ARCHIVED
- Form URL remains constant across versions
Important:
- Cannot create version if DRAFT already exists for this root form
- Only one DRAFT version per form family
- Publish or delete existing DRAFT before creating new version
- Versions share the same root form ID
Note: This enables zero-downtime form updates - edit in draft, test, then publish when ready.
Path parameters
formIdstringrequiredForm ID (can be root form or any version)
Bodyrequired
namestringMin length: 1Max length: 200
descriptionanytype"SIGN_UP" | "SURVEY"display"POPUP" | "INLINE_EMBED"fieldsobjectsettingsanydoubleOptInEmailIdanyseoTitleanyseoDescriptionanyseoImageUrlanyseoFaviconUrlanysluganyResponse
201Form version created successfully in DRAFT status. Returns new version with unique ID inheriting parent configuration.
objectstringrequiredidstringrequiredUnique form identifier