Endpoint
YOUR_FORM_PUBLIC_KEY with the Public Key from the Endpoint form’s General tab.
Form-specific URL
The Public Key is the final URL segment. The request body contains only the answers you want to collect:Accepted request formats
The JSON or URL-encoded body is limited to 1 MB. File limits and storage allowances depend on the form owner’s plan.
Answer fields
Every field other than the reserved request fields becomes part of the stored response. Use short, stable names that are clear in the dashboard and exports:name becomes the answer name. An input without a name is not submitted.
Reserved fields
The CAPTCHA field is
g-recaptcha-response, h-captcha-response, or cf-turnstile-response, depending on the provider.
Success response
A successful JSON or JavaScript request returns an acknowledgement:201 Created. The endpoint may return 202 Accepted when the response has been safely queued for background processing. Treat any 2xx status as success.
When the response is queued, the message reads “Thank you! Your response has been received and is being processed.” instead.
The response does not expose the stored answers, submission ID, or timestamp. The form owner can view those details under Submissions.
Domain restriction
An Endpoint form can be limited to your own websites. Open the form’s Settings, turn on Domain restriction, and add up to five domains. Subdomains of a listed domain are allowed automatically, soexample.com also covers www.example.com. Use Allow localhost while you develop.
The check reads the request’s Origin or Referer header. Browsers send one of them; a plain server-to-server call usually does not, so it is rejected while the restriction is on. Rejected requests get a 403 with the code domain_not_allowed.
Error response
Errors use one of these shapes:response.ok before showing a success message. See Troubleshooting for common causes.