422 validation_failed
- HTTP status
- 422
- Code
validation_failed- Title
- Validation failed
- Meaning
- The request body or parameters are invalid. See errors[].
What to do
errors[] lists each invalid field by path, without echoing your values. Fix those fields and send the request again.
Where it comes from
POST /v1/contactsPOST /v1/contacts/batchPOST /v1/contacts/lookupGET /v1/contactsPATCH /v1/contacts/{id}POST /v1/contacts/{id}/resubscribePOST /v1/segmentsPATCH /v1/segments/{id}POST /v1/segments/countPOST /v1/templatesPOST /v1/templates/{id}/versionsPOST /v1/templates/{id}/renderPOST /v1/campaignsPATCH /v1/campaigns/{id}POST /v1/campaigns/{id}/testGET /v1/campaignsGET /v1/campaigns/{id}/recipientsPOST /v1/imports/csvPOST /v1/imports/mailchimpGET /v1/importsPOST /v1/imports/{id}/commitGET /v1/exportsPOST /v1/exportsPOST /v1/setup/domainsPATCH /v1/settingsPOST /v1/keys
The response
Errors are application/problem+json (RFC 9457). detail never repeats the values you sent, and type links to this page. Quote requestId if you contact support.
{ "type": "https://docs.rhinorelay.com/api/errors/validation-failed/", "title": "Validation failed", "status": 422, "code": "validation_failed", "detail": "The request body or parameters are invalid. See errors[].", "requestId": "req_01J9Z8X7W6V5T4S3R2Q1P0N9M8", "errors": [ { "path": "email", "message": "invalid email address" } ]}See it
With $BASE and $KEY set as in the quick start:
# Expect 422 validation_failedcurl -X POST "$BASE/contacts" -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' \ -d '{"email":"not-an-address","consent":{"source":"signup-form","at":"2026-06-01T09:00:00Z","method":"single_opt_in"}}'