NisuformDocs

Errors

Every error code the submit endpoint returns, what causes it and how to fix it.

Rejected submissions answer with an HTTP status and, for JSON requests, a body like this:

{ "ok": false, "error": "rate_limited", "message": "Too many requests. Try again shortly" }

Branch on error, which never changes. message is written for the people filling in your form, so you can show it to them as is. Browser form posts get the same outcome as a page with a link back to your site.

Errors from the API that manages forms and submissions look different. See API errors.

Error codes

StatuserrorMessageWhat to do
400too_many_filesToo many files attachedSend at most 5 files per submission.
402quota_exceededThis form has reached its monthly submission limitThe team used its monthly submissions. Upgrade or wait for next month.
403origin_not_allowedThis form does not accept submissions from this websiteAdd the site to the form's allowed websites.
403captcha_failedCaptcha verification failed. Complete the captcha and try againSend a valid Turnstile token. See Cloudflare Turnstile.
404form_not_foundForm not foundCheck the key in your endpoint. It may have been rotated or the form deleted.
405method_not_allowedThis is a nisuform form endpoint...Send a POST request.
413payload_too_largeSubmission too largeKeep the request under 200 KB, or 25 MB with file uploads.
413attachment_too_largeA file exceeds the upload size limitSend smaller files, or raise Size limit per file.
415unsupported_media_typeUnsupported content typeSend JSON, URL-encoded or multipart data, and valid JSON.
415attachment_type_rejectedA file type is not allowedSend JPEG, PNG, WebP, GIF or PDF files.
422empty_submissionThe submission is empty. Fill in the form and try againSend at least one non-empty field or a file.
423form_closed_manualThis form is closed and not accepting submissionsThe form is paused. Resume it in Settings, General.
423form_max_submissionsThis form has reached its maximum number of submissionsRaise or clear Maximum submissions.
423form_auto_closeThis form closed automatically on its scheduled dateClear or move the Close on date.
429rate_limitedToo many requests. Try again shortlyWait a minute, or the seconds in the Retry-After header when you can read it. See rate limits.
500upload_failedUploading your attachment failed. Please try againNothing was stored. Try again.
500internal_errorSomething went wrongTry again. If it keeps happening, contact support with the x-request-id header.

On Pro, the three 423 errors use your own Closed message when you set one. See Pause and close a form.

Errors that look like success

Some submissions are dropped on purpose but still answer 200 with { "ok": true } and no submissionId, so bots can't tell they were caught:

  • The _gotcha honeypot had a value.
  • _elapsed was under 2 seconds.
  • The sender's IP address or country is blocked for the form.

If your own test submissions are missing from the inbox, check these first. See Troubleshooting.

Validation problems are not errors

Answers that don't match your form's fields don't cause an error. The submission is stored and marked in the inbox. See Fields and validation.