Request body or parameters invalid
The JSON or query parameters did not match the schema.
| Problem type | /problems/request-invalid |
|---|---|
| HTTP status | 422 |
| Emitted by | Dashboard (JSON requests), REST API (/v1) |
| Title values | Request body or parameters invalid |
| Trigger |
REST API (/v1):
request body/params failed validation
|
What happened
The request failed schema validation before any handler ran: a missing required member, a wrong type, an unknown enum value, or a member the schema does not have. Unknown members are refused rather than ignored, at any depth (a recipient, a field, a field’s settings), so a misspelling such as feilds or redirect_uri names itself here instead of being dropped. A string that contains U+0000 (NUL) fails the same way, in any member of the body or any query parameter: the database cannot store the character, so the API refuses it here and names the member. So does a list offset above 9223372036854775807 (2^63 − 1), the largest the database can count to. POST /v1/documents takes multipart/form-data with a document part and a file part; any other body, or a missing, repeated or unknown part, fails here with a detail that says so, and a member of the document part is named as document.title. The response is HTTP 422 and detail lists the first few offending locations as path: message.
What it means
Nothing was processed. This is the schema check; validation-failed is the engine’s semantic check that runs after it.
What to do next
Fix the locations detail names; an unknown member reads body.feilds: unknown key. Send only the members the request takes: a GET response pasted back into a PATCH or PUT carries read-only members (id, status) and is refused. The request schemas are in the OpenAPI document at /v1/openapi.json. Generated TypeScript clients catch many mismatches at compile time; they do not perform runtime request validation. The server validates every request.
Problem body
Every error the API returns is an RFC 9457 problem document with media type
application/problem+json. The type member is the
stable identifier to switch on; docs_url is this page.
{
"type": "/problems/request-invalid",
"title": "Request body or parameters invalid",
"status": 422,
"instance": "/v1/...",
"docs_url": "https://staging.signenvoy-docs-b4g.pages.dev/errors/request-invalid"
}