Create a new form request to send to a contact.
| Field | Type | Description |
|---|---|---|
flow.slug | string | Form template identifier |
| Field | Type | Description |
|---|---|---|
company.slug | string | Workspace identifier (if multiple authorized) |
user.email | string | Contact email address |
user.phone | string | Contact phone number |
user.given_name | string | Contact first name |
user.family_name | string | Contact last name |
user.locale | string | Contact language (e.g., en, fr) |
data | object | Pre-filled form data (keys must match form field keys) |
external_args | object | Your custom metadata |
redirect_url | string | HTTPS URL to redirect after completion |
draft | boolean | Create as draft (default: false) |
active_from | string | ISO 8601 date when form becomes active |
active_until | string | ISO 8601 date when form expires |
owner.email | string | Form owner email address |
branding.slug | string | Custom branding identifier |
| Status | Description |
|---|---|
draft | Form created but not yet sent |
pending | Form sent, waiting for completion |
completed | Contact submitted the form |
declined | Contact declined to fill the form |
processed | Response has been reviewed/processed |
data parameter allows you to pre-fill form fields with values. This is useful for importing data from your system or providing a better user experience by reducing the amount of information the contact needs to enter.
data object must exactly match the field keys defined in your form template. When a contact opens the form, these fields will already contain the provided values.
Example:
If your form template has fields with keys:
company_nameaddress_zipannual_revenue| Field Type | Example Keys |
|---|---|
| Company Info | company_name, company_vat, company_registration |
| Address | address_street, address_city, address_zip, address_country |
| Contact | contact_name, contact_email, contact_phone |
| Financial | annual_revenue, number_employees, bank_account |
| Custom | Any custom field keys you’ve defined in your template |
external_args to store your own metadata with forms for easy tracking:
| Code | Description |
|---|---|
201 | Created - New form created successfully |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Invalid access token |
403 | Forbidden - No access to this resource |
409 | Conflict - Multiple form templates match criteria |
422 | Unprocessable - Validation failed |
429 | Too Many Requests - Rate limit exceeded |
500 | Server Error - Internal error |
draft: true is specified. Draft forms must be activated by setting draft: false via PATCH.OAuth2 access token. Include as: Authorization: Bearer {access_token}
Request created successfully
Request UUID
Creation timestamp
Current request status
draft, pending, completed, declined, processed Whether the request is archived
Timestamp when archived
Timestamp when marked as processed
When the form becomes active
When the form expires
URLs for accessing the request
Contact information
Request owner information
Form template information
Pre-filled form data
Custom metadata
Form-specific options
Array of form responses
Array of notifications sent for this request