{"components":{"securitySchemes":{"bearer":{"scheme":"bearer","type":"http"}}},"info":{"description":"Forms, actions and domains for one workspace. Authenticate with an API key: `Authorization: Bearer \u003ckey\u003e`. Write endpoints take the same JSON as the MCP tools (snake_case keys); ids in the path override ids in the body.","title":"Intake API","version":"1"},"openapi":"3.1.0","paths":{"/public/v1/action-types":{"get":{"description":"Needs an API key with the `forms:read` scope.","operationId":"get_action_types","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:read"]}],"summary":"Every action type with its config fields and an example"}},"/public/v1/action/{id}":{"delete":{"description":"Needs an API key with the `forms:write` scope.","operationId":"delete_action_id","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"action_id":{"type":"string"}},"required":["action_id"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Delete an action"},"patch":{"description":"Needs an API key with the `forms:write` scope.","operationId":"patch_action_id","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"action_id":{"type":"string"},"name":{"type":["null","string"]},"enabled":{"type":["null","boolean"]},"config":{"type":"object","description":"only the keys to change; merged over the existing config","additionalProperties":true},"conditions":{"type":["null","array"],"items":{"type":"object","properties":{"field":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["field","op"],"additionalProperties":false},"description":"only run for submissions matching these tests: [{field, op, value}]; ops: equals, not_equals, contains, not_contains, starts_with, empty, not_empty, gt, lt"},"conditions_mode":{"type":["null","string"],"description":"all (default) or any"}},"required":["action_id"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Change an action; config keys are merged over the existing config"}},"/public/v1/action/{id}/retry":{"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_action_id_retry","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"action_id":{"type":"string"}},"required":["action_id"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Re-queue the action's failed deliveries"}},"/public/v1/action/{id}/test":{"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_action_id_test","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"action_id":{"type":"string"},"data":{"type":"object","description":"sample submission fields, e.g. {\"name\":\"Ada\",\"email\":\"ada@example.com\"}","additionalProperties":true}},"required":["action_id","data"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Run an action once with sample data (really performs it; stores nothing)"}},"/public/v1/domain":{"get":{"description":"Needs an API key with the `forms:read` scope.","operationId":"get_domain","parameters":[{"in":"query","name":"page","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:read"]}],"summary":"Custom domains and their DNS records"},"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_domain","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","description":"a hostname such as forms.example.com"}},"required":["domain"],"additionalProperties":false}}}},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Register a custom domain"}},"/public/v1/domain/{id}":{"delete":{"description":"Needs an API key with the `forms:write` scope.","operationId":"delete_domain_id","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"domain_id":{"type":"string","description":"id from list_domains"}},"required":["domain_id"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Remove a custom domain"}},"/public/v1/domain/{id}/verify":{"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_domain_id_verify","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"domain_id":{"type":"string","description":"id from list_domains"}},"required":["domain_id"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Check a domain's DNS record and activate it"}},"/public/v1/email-template/preview":{"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_email_template_preview","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"Liquid template"},"mock_data":{"type":"object","additionalProperties":true},"form_id":{"type":"string","description":"optional: uses the form's name for form.name"}},"required":["body"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Render a Liquid email body against mock data"}},"/public/v1/form":{"get":{"description":"Needs an API key with the `forms:read` scope.","operationId":"get_form","parameters":[{"in":"query","name":"page","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"string"}},{"in":"query","name":"sort","schema":{"type":"string"}},{"in":"query","name":"order","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:read"]}],"summary":"List forms"},"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_form","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"form name"},"description":{"type":"string"},"group":{"type":"string","description":"label to group related forms, e.g. a customer or site name"},"allowed_domains":{"type":["null","array"],"items":{"type":"string"},"description":"sites allowed to post (hosts or URLs); empty allows any"},"success_redirect":{"type":"string","description":"http(s) URL or path browsers are sent to after a form post"},"honeypot_field":{"type":"string","description":"hidden field name that bots fill in (default fc_honeypot)"},"recaptcha_min_score":{"type":["null","number"],"description":"0 to 1; enables reCAPTCHA v3 checks (needs a plan that includes it)"},"submissions_enabled":{"type":["null","boolean"],"description":"default true"},"collect_visitor_info":{"type":["null","boolean"],"description":"store each visitor's IP and browser (personal data; default off)"},"max_links":{"type":["null","integer"],"description":"more URLs than this in a submission marks it spam; 0 = off"},"block_disposable_emails":{"type":["null","boolean"]},"max_per_email_per_hour":{"type":["null","integer"],"description":"same email address posting more often than this is spam; 0 = off"},"blocked_ips":{"type":["null","array"],"items":{"type":"string"},"description":"IP addresses or CIDR ranges stored as spam; replaces the list"}},"required":["name"],"additionalProperties":false}}}},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Create a form"}},"/public/v1/form/{id}":{"delete":{"description":"Needs an API key with the `forms:write` scope.","operationId":"delete_form_id","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"form_id":{"type":"string"},"confirm_name":{"type":"string","description":"the form's exact current name"}},"required":["form_id","confirm_name"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Delete a form with its submissions, files and actions; confirm_name must equal its name"},"get":{"description":"Needs an API key with the `forms:read` scope.","operationId":"get_form_id","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:read"]}],"summary":"Get a form"},"patch":{"description":"Needs an API key with the `forms:write` scope.","operationId":"patch_form_id","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"form_id":{"type":"string"},"name":{"type":["null","string"]},"description":{"type":["null","string"]},"group":{"type":["null","string"],"description":"label to group related forms; empty string ungroups"},"allowed_domains":{"type":["null","array"],"items":{"type":"string"},"description":"replaces the whole list; an empty list allows any site"},"success_redirect":{"type":["null","string"],"description":"empty string resets to the built-in thank-you page"},"honeypot_field":{"type":["null","string"]},"recaptcha_min_score":{"type":["null","number"],"description":"0 to 1"},"submissions_enabled":{"type":["null","boolean"]},"collect_visitor_info":{"type":["null","boolean"],"description":"store each visitor's IP and browser (personal data; default off)"},"max_links":{"type":["null","integer"],"description":"more URLs than this in a submission marks it spam; 0 = off"},"block_disposable_emails":{"type":["null","boolean"]},"max_per_email_per_hour":{"type":["null","integer"],"description":"same email address posting more often than this is spam; 0 = off"},"blocked_ips":{"type":["null","array"],"items":{"type":"string"},"description":"IP addresses or CIDR ranges stored as spam; replaces the list"}},"required":["form_id"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Change a form's settings (only the fields you send)"}},"/public/v1/form/{id}/action":{"get":{"description":"Needs an API key with the `forms:read` scope.","operationId":"get_form_id_action","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:read"]}],"summary":"A form's actions (secrets masked)"},"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_form_id_action","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"form_id":{"type":"string"},"type":{"type":"string","description":"email | email_template | autoreply | email_digest | webhook | ntfy | n8n | slack | discord | teams | telegram | sheets"},"name":{"type":"string","description":"optional label"},"enabled":{"type":["null","boolean"],"description":"default true"},"config":{"type":"object","description":"the type's fields; see describe_action_types","additionalProperties":true},"conditions":{"type":["null","array"],"items":{"type":"object","properties":{"field":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["field","op"],"additionalProperties":false},"description":"only run for submissions matching these tests: [{field, op, value}]; ops: equals, not_equals, contains, not_contains, starts_with, empty, not_empty, gt, lt"},"conditions_mode":{"type":"string","description":"all (default) or any"}},"required":["form_id","type","config"],"additionalProperties":false}}}},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Add an action to a form"}},"/public/v1/form/{id}/duplicate":{"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_form_id_duplicate","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"form_id":{"type":"string"},"name":{"type":"string","description":"name for the copy (default: Copy of \u003cname\u003e)"}},"required":["form_id"],"additionalProperties":false}}}},"responses":{"201":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Copy a form with its settings and actions"}},"/public/v1/form/{id}/fields":{"get":{"description":"Needs an API key with the `forms:read` scope.","operationId":"get_form_id_fields","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:read"]}],"summary":"Field names a form actually receives"}},"/public/v1/form/{id}/replay":{"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_form_id_replay","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"form_id":{"type":"string"},"submission_ids":{"type":["null","array"],"items":{"type":"integer"},"description":"ids of the submissions to run again (max 100)"}},"required":["form_id","submission_ids"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Run actions again for specific submissions (max 100)"}},"/public/v1/form/{id}/schema":{"put":{"description":"Needs an API key with the `forms:write` scope.","operationId":"put_form_id_schema","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"form_id":{"type":"string"},"fields":{"type":["null","array"],"items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"required":{"type":"boolean"},"maxLength":{"type":"integer"},"label":{"type":"string"},"options":{"type":["null","array"],"items":{"type":"string"}}},"required":["name","type","required"],"additionalProperties":false},"description":"the expected fields; an empty list clears the schema"},"enforce":{"type":"boolean","description":"reject submissions that do not match (422). Default false: the fields are only documented"}},"required":["form_id","fields"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Set the fields a form expects, optionally enforced with 422 responses"}},"/public/v1/form/{id}/snippets":{"get":{"description":"Needs an API key with the `forms:read` scope.","operationId":"get_form_id_snippets","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:read"]}],"summary":"Endpoint URL and paste-in HTML/fetch snippets"}},"/public/v1/form/{id}/submission":{"get":{"description":"Needs an API key with the `submissions:read` scope.","operationId":"get_form_id_submission","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"string"}},{"in":"query","name":"sort","schema":{"type":"string"}},{"in":"query","name":"order","schema":{"type":"string"}},{"in":"query","name":"getSpam","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["submissions:read"]}],"summary":"List a form's submissions"}},"/public/v1/form/{id}/submission/{sid}/claim":{"post":{"description":"Needs an API key with the `forms:write` scope.","operationId":"post_form_id_submission_sid_claim","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"sid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"form_id":{"type":"string"},"submission_id":{"type":"integer"},"by":{"type":"string","description":"who is picking it up (name or email); default: the API key's name"}},"required":["form_id","submission_id"],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:write"]}],"summary":"Mark a submission as picked up (stops reminders, sends submission.claimed)"}},"/public/v1/plan":{"get":{"description":"Needs an API key with the `forms:read` scope.","operationId":"get_plan","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Missing or invalid API key"},"403":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Scope, plan or single-form restriction"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"description":"Rate limited"}},"security":[{"bearer":["forms:read"]}],"summary":"Plan, limits and current usage"}}},"servers":[{"url":"https://intake.starstorm.dev"}]}
