Forms
Lead capture forms for events and campaigns.
Base path:
/api/v1/{workspace_id}/forms/
CRUD
GET /api/v1/{workspace_id}/forms/
POST /api/v1/{workspace_id}/forms/
GET /api/v1/{workspace_id}/forms/{form_id}/
PUT /api/v1/{workspace_id}/forms/{form_id}/
PATCH /api/v1/{workspace_id}/forms/{form_id}/
DELETE /api/v1/{workspace_id}/forms/{form_id}/
Authorization: Bearer <token>
Content-Type: application/json
Create form — request body
{
"name": "Event lead capture",
"description": "Booth visitor form",
"module": "leads",
"fields": [
{
"id": "email",
"type": "email",
"label": "Work email",
"required": true
},
{
"id": "company",
"type": "text",
"label": "Company",
"required": true
}
],
"settings": {
"redirect_url": "https://example.com/thanks"
}
}
Create form — response (201 Created)
{
"id": "990e8400-e29b-41d4-a716-446655440004",
"name": "Event lead capture",
"module": "leads",
"is_published": false,
"submission_count": 0,
"view_count": 0,
"created_at": "2026-06-20T12:00:00Z"
}
AI generation
GET /api/v1/{workspace_id}/forms/ai-status/
POST /api/v1/{workspace_id}/forms/generate-from-prompt/
POST /api/v1/{workspace_id}/forms/{form_id}/refine-from-prompt/
GET /api/v1/{workspace_id}/forms/{form_id}/ai-chat/
Publish
POST /api/v1/{workspace_id}/forms/{form_id}/publish/
POST /api/v1/{workspace_id}/forms/{form_id}/unpublish/
POST /api/v1/{workspace_id}/forms/{form_id}/duplicate/
Submissions
GET /api/v1/{workspace_id}/forms/{form_id}/submissions/
PATCH /api/v1/{workspace_id}/forms/{form_id}/submissions/{submission_id}/
GET /api/v1/{workspace_id}/forms/{form_id}/analytics/
POST /api/v1/{workspace_id}/forms/{form_id}/submissions/{submission_id}/convert-to-lead/
Public submit — request body
{
"data": {
"email": "visitor@example.com",
"company": "Visitor Co"
},
"event_id": "550e8400-e29b-41d4-a716-446655440000",
"attribution": {
"utm_source": "linkedin",
"utm_campaign": "booth-2026"
}
}
Email config
GET /api/v1/{workspace_id}/forms/email-config/
Returns Resend email configuration status for form notifications.
Public form (no auth)
GET /api/public/forms/{form_id}/
POST /api/public/forms/{form_id}/submit/
See Public API.