Create a form endpoint
Name defaults to "Untitled form". projectId must belong to the caller when given; otherwise the oldest project is used and a "Default" project is auto-created if none exist. Created with successBehavior json, honeypot on, spamProvider turnstile, contentFilter medium, aiFilter off, active true.
View as MarkdownAuthorization
bearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/forms" \ -H "Content-Type: application/json" \ -d '{}'{ "form": { "id": "string", "projectId": "string", "name": "string", "endpointUrl": "string", "targetEmails": [ "string" ], "allowedOrigins": [ "string" ], "successBehavior": "string", "redirectUrl": "string", "honeypot": true, "spamProvider": "string", "contentFilter": "string", "aiFilter": true, "autoresponder": { "enabled": true, "subject": "string", "body": "string" }, "submissionCount": 0, "spamCount": 0, "active": true, "visibility": "string", "ownerId": "string", "created": "2019-08-24T14:15:22Z", "updated": "2019-08-24T14:15:22Z" }}List forms
Forms the caller can read: their own (active-org-scoped; legacy rows without org_id stay visible) plus any shared with the organization by a teammate. created_at descending, limit 500.
Form detail (composite)
The form plus its latest 200 submissions (including spam) and a 14-day daily series of non-spam submissions. Readable: the caller's own form or one a teammate shared with the organization.