Skip to main content
Formalingo

Create a Form

How to create a form programmatically.

Create a Form

POST/api/v1/forms
Required scope:write:forms
Request Body
NameTypeDescription
titlestringForm title (1–200 characters)Customer Feedback
descriptionstringOptional form description (max 1000 chars)
curl -X POST https://formalingo.com/api/v1/forms \
-H "Authorization: Bearer af_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
  "title": "Customer Satisfaction Survey",
  "description": "Help us improve our service."
}'
Response201
{
  "success": true,
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "creatorId": "user-uuid",
    "workspaceId": "workspace-uuid",
    "title": "Customer Satisfaction Survey",
    "description": "Help us improve our service.",
    "status": "draft",
    "branding": {},
    "settings": {},
    "publicToken": null,
    "createdAt": "2026-02-25T10:00:00.000Z",
    "updatedAt": "2026-02-25T10:00:00.000Z"
  }
}

Next steps

After creating a form, you'll typically:

  1. Add sections (optional)
  2. Add questions
  3. Customize branding (optional)
  4. Publish the formPUT /api/v1/forms/{id} with { "status": "published" }
  5. Add recipients

Publishing

Update the form status to published when ready:

curl -X PUT https://formalingo.com/api/v1/forms/FORM_ID \
  -H "Authorization: Bearer af_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "status": "published" }'

Status transitions: draft → published → archived. You cannot go backwards.

On this page