Forms are the core resource in formdata.dev. Each form gets a unique public key (pk_ prefix) used in the ingestion URL.
All form endpoints require the x-tenant-key header.
200)| Field | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|
name |
string |
Yes | — | 2 - 120 chars | Display name |
slug |
string |
Yes | — | 2 - 80 chars, ^[a-z0-9-]+$ |
URL-safe identifier |
allowedOrigins |
string[] |
No | [] |
Each must be a valid URL | Origins allowed to submit; empty = allow all |
verifyCaptcha |
boolean |
No | false |
— | Enable captcha verification |
captchaSecret |
string |
Conditional | — | min 8 chars | Required when verifyCaptcha is true |
isEnabled |
boolean |
No | true |
— | Whether the form accepts submissions |
200)The publicKey field is what you use in the ingestion URL: POST /v1/f/pk_abc123...
| Status | Error | Cause |
|---|---|---|
400 |
Validation error | Missing or invalid fields |
400 |
captchaSecret is required when verifyCaptcha is true |
Captcha enabled without a secret |
Returns a single form along with all of its configured destinations.
200)| Status | Error | Cause |
|---|---|---|
404 |
Form not found |
Invalid form ID or belongs to another organization |
Supports partial updates. Only include the fields you want to change.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
name |
string |
No | 2 - 120 chars | Display name |
allowedOrigins |
string[] |
No | Each must be a valid URL | Allowed origins |
verifyCaptcha |
boolean |
No | — | Toggle captcha |
captchaSecret |
string |
No | min 8 chars | Captcha secret |
isEnabled |
boolean |
No | — | Enable or disable the form |
200)| Status | Error | Cause |
|---|---|---|
400 |
No fields to update |
Request body contains no recognized fields |
404 |
Form not found |
Invalid form ID or belongs to another organization |
Deletes the form and all of its destinations. Also removes the form's KV entry so the public key stops accepting submissions immediately.
200)| Status | Error | Cause |
|---|---|---|
404 |
Form not found |
Invalid form ID or belongs to another organization |