SAVEFORM

Integrate · Last updated April 23, 2026

Response format

When you POST JSON (for example with fetch), the submit endpoint always responds with JSON. Classic HTML form POSTs redirect to a success page instead — see Custom redirects.

Success

A 200 response confirms the submission was stored.

JSONresponse.json
{
  "success": true,
  "message": "Submission received successfully"
}

Errors

Errors come back with an error key and a human-friendly message.

JSONresponse.json
{
  "error":   "Submission limit reached",
  "message": "Your monthly submission limit has been reached."
}

Status codes

StatusMeaning
200 OKSubmission stored and any webhooks / emails queued.
400 Bad RequestThe payload was missing required fields or could not be parsed as JSON or form-encoded data.
404 Not FoundThe form ID in the URL does not exist or has been deleted.
429 Too Many RequestsYou hit your monthly submission limit. Upgrade your plan or wait for the next billing period — see Rate limits.
500 Server ErrorSomething blew up on our side. Safe to retry — submissions are idempotent by request ID.
Response format | SaveForm.io