Skip to main content

Forms API

Authenticated Endpoints

MethodEndpointDescription
GET/formsList forms (query: status, search, page, limit)
GET/forms/:idGet form by ID
POST/formsCreate form
PUT/forms/:idUpdate form
DELETE/forms/:idSoft delete form
POST/forms/:id/duplicateDuplicate form as draft
GET/forms/:id/submissionsList submissions (query: page, limit, status, dateFrom, dateTo)
GET/forms/:id/analyticsSubmission analytics (stats, trends, field breakdowns)
POST/forms/:id/submissions/:submissionId/retry-webhookRetry failed webhook action

Public Endpoints (No Auth)

MethodEndpointDescription
GET/forms/public/:tenantSlug/:tokenGet public form for rendering
POST/forms/public/:tenantSlug/:token/submitSubmit form data

Form Object

{
"id": "uuid",
"name": "Contact Us",
"description": "Main contact form",
"status": "active",
"type": "standard",
"token": "abc123",
"tenantSlug": "acme",
"fields": [
{
"id": "field-1",
"type": "text",
"label": "Full Name",
"name": "full_name",
"required": true,
"width": "full"
}
],
"settings": {
"successMessage": "Thank you!",
"redirectUrl": null,
"allowMultiple": false,
"requireCaptcha": true,
"notifyEmails": ["admin@acme.com"]
},
"submitActions": [
{
"type": "create_lead",
"enabled": true,
"fieldMapping": {
"first_name": "full_name",
"email": "email_field"
}
}
],
"branding": {
"logoUrl": "https://...",
"primaryColor": "#7C3AED",
"backgroundColor": "#FFFFFF"
},
"submissionCount": 42,
"createdAt": "2026-01-15T...",
"updatedAt": "2026-03-19T..."
}

Field Types

TypeInputHas Options
textSingle-line textNo
emailEmail with validationNo
phonePhone numberNo
numberNumeric inputNo
dateDate pickerNo
textareaMulti-line textNo
selectDropdownYes
radioRadio buttonsYes
checkboxCheckboxesYes
fileFile uploadNo
headingDisplay onlyNo
paragraphDisplay onlyNo
dividerDisplay onlyNo

Submit Action Types

TypeDescriptionConfig
create_leadCreate CRM leadfieldMapping
create_contactCreate CRM contactfieldMapping
create_accountCreate CRM accountfieldMapping
webhookPOST to external URLwebhookUrl
send_emailEmail to submitteremailFieldName, subject, body