Content-Type: application/problem+json.
The error document is not wrapped in an error object.
Problem fields
Branch application behavior on
code and status.
Do not parse title or detail strings as a programmatic contract.
Status map
Safe retries
Retry idempotent reads, deletes whose documented state semantics permit it, and email admissions carrying the same JSON-bodyidempotencyKey.
For 429, wait at least the integer seconds in Retry-After when returned.
Cap retry count and elapsed time.
Do not automatically retry other 4xx failures unchanged.
Do not create a new idempotency key for the same logical email.
Logging
Recordcode, status, requestId, instance, endpoint, UTC time, and your own operation ID.
Never record the API key, Authorization header, attachment content, or sensitive message body.
Error contract
See the complete problem example and shared retry guidance.