idempotency_key_required
HTTP 400§9.2 Request shape: validation, filtering, pagination, idempotency§9.9 Non-customer surfaces
This code is registered on two surfaces. The two entries are the same rule enforced in two places, so the meaning below is quoted per surface.
§9.2 · Request shape: validation, filtering, pagination, idempotency
The endpoint requires Idempotency-Key and none was sent - the two where a duplicate costs money or dials a human twice (§1).
§9.9 · Non-customer surfaces
A mutating tool call arrived without an idempotency key. No mutation path exists without one - including for MCP-provided tools. Same code as the /v1 guard's (§9.2), same rule.
Problem shape
Every non-2xx response is an RFC 9457 application/problem+json body. The type URI below is stable and machine-matchable, so branch on the final path segment (the code) and treat the status as redundant confirmation. See the error-handling guide.
{
"type": "https://docs.vocapable.com/errors/idempotency_key_required",
"title": "…",
"status": 400,
"detail": "…",
"instance": "/v1/…"
}