Troubleshoot Customer.io form submissions
Last updated July 20, 2026
When a submission fails, Vyro returns an error code that tells you what to fix. Use this guide to resolve the most common ones.
Successful submission
A 201 response means the submission was accepted:
{ "code": "success", "description": "Form submission received. Processing is asynchronous." }
Processing is asynchronous, so allow a short delay before the enquiry appears in your dashboard.
Common errors
401 — Unauthorised
The x-api-key header is missing or wrong.
- Confirm the header is named exactly
x-api-key. - Confirm the key matches the one from your Account Manager, with no extra spaces.
403 — Forbidden
The submission isn't allowed for this form or showroom.
- Check the
showroom_codematches the showroom that owns the form. - Confirm your showroom has been enabled for the integration — ask your Account Manager if you're unsure.
400 — Bad request
The submission was authorised but the body was rejected.
- Invalid keys: a key in
valuesdoesn't match a field on the form. Remove it or correct the spelling. See Map Customer.io fields to your Vyro form. form_not_found: theform_iddoesn't exist. Confirm you're sending the correct form ID.- Validation errors: a required field is missing or a value is the wrong format (for example, an invalid email). Correct the value and resend.
429 — Too many requests
Too many submissions arrived from the same source in a short window. Space out retries and avoid resending duplicates.
The enquiry went to the wrong dealer
- If you used postcode routing, confirm the customer's postcode is listed in the intended dealer's primary market area.
- If the enquiry landed on the fallback location, the postcode didn't match any dealer. See Route enquiries to the right dealer by postcode.
- If you sent an explicit location, remember it always overrides postcode routing.
Related
Was this article helpful?
