Forms
POST
Create Form
POST /v1/formsCreate a new embeddable form for lead capture and contact collection.
Use Cases:
- Build newsletter signup forms for your website
- Create lead generation forms
- Capture event registrations
- Collect customer feedback
- Build preference center forms
Behavior:
- Form is created in DRAFT status (not yet public)
- Uses form builder JSON schema for flexibility
- Form gets a unique ID and slug for embedding
- Initial version is created automatically
- Form must be published to make it publicly accessible
- Submissions are tracked and stored
Required Scope: write:forms
Form Configuration:
- name: Internal form name for identification
- title: Display title shown to users
- description: Form purpose/instructions (optional)
- fields: Form builder JSON schema defining fields
- redirectUrl: Where to send users after submission (optional)
- submitText: Custom submit button text (optional)
Form Builder Features:
- Supports all standard field types (text, email, number, phone, etc.)
- Flexible field validation and conditional logic
- Multi-page and multi-section forms
- Custom styling and appearance options
Form Lifecycle:
- Create form (DRAFT status)
- Configure fields and settings
- Test form submission
- Publish form (PUBLISHED status)
- Embed on website
- Create versions for updates
- Publish new versions (previous auto-archived)
Note: Forms in DRAFT status cannot receive public submissions. Publish the form to make it live.
Bodyrequired
namestringrequiredMin length: 1Max length: 200
descriptionanytype"SIGN_UP" | "SURVEY"display"POPUP" | "INLINE_EMBED"fieldsobjectResponse
201Form created successfully. Returns the generated form ID.
objectstringrequiredidstringrequiredUnique form identifier