What your form gets back when you post a lead
How to read the answer: stored, refused, and what to do about each refusal.
The answer tells you whether the lead was stored.
Stored
A JSON post gets status 200 with success: true and an id that starts with sub_. A browser post is redirected (303) to the form's thank-you page.
Refused
A refusal never looks like a success. A JSON post gets the status for that error and a body with success: false, an error code, a message, a fix that says what to change, and a docs_url.
- 415
unsupported_media_type: the content type is not form-encoded, multipart or JSON. - 413
payload_too_large: the post is over 64 KiB, or has too many fields. - 403
origin_not_allowed: the page is not on the form's list of allowed domains. - 429
rate_limited: too many posts; wait for theRetry-Aftertime.
Every code is listed in the error catalog.
When the answer is 503
A 503 unavailable means it is not known whether the lead was stored. Send the same post again with the same _id; a lead that was stored is answered as a duplicate, not stored twice.