Forms
POST
Create Form
POST /v1/formsCreate a new form for lead capture and contact collection.
Behavior:
- Form is created in DRAFT status (not yet public)
- Content (HTML) is uploaded separately via the deploy endpoint
- Form must be deployed and published to accept submissions
Required Scope: write:forms
Request Body:
- name: Internal form name for identification
- fieldMapping: Maps form input field names to contact properties
- description: Form purpose/instructions (optional)
- settings: Behavioral settings like success action, double opt-in (optional)
Form Lifecycle:
- Create form with name + fieldMapping (DRAFT status)
- Deploy site bundle via POST /v1/forms/{formId}/deploy (HTML + CSS + JS + assets)
- Publish form (PUBLISHED status)
- Form is live at /p/forms/{formId}
- Create versions for updates, deploy new content, publish
Note: Forms in DRAFT status cannot receive public submissions. Deploy content and publish to make the form live.
Bodyrequired
namestringrequiredMin length: 1Max length: 200
descriptionanytype"SIGN_UP" | "SURVEY"display"POPUP" | "INLINE_EMBED"fieldMappingobjectrequiredsettingsobjectdoubleOptInEmailIdanyResponse
201Form created successfully. Returns the generated form ID.
objectstringrequiredidstringrequiredUnique form identifier