Standard problem envelope
typepoints to public documentation of the error class.titleis a short human label;detailprovides optional context.codeis a stable machine-readable identifier you can switch on in client code.requestIdhelps support trace the failure. Pass it along in support tickets.errorsonly appears on validation responses and is a map of field → message array.
400 – Validation errors
- Every invalid field is listed in
errors. - Clients should read
errorsfirst, and then fall back todetailfor a summary.
401 – Unauthorized
As we introduce API keys, unauthenticated calls will return:- Ensure you include the correct
Authorizationheader (for example,Bearer <API_KEY>). - Regenerate or rotate keys from the dashboard if you suspect a leak.
403 – Forbidden
When authentication succeeds but the key lacks access to the requested resource, the API will return:- Check the key’s permissions in the MedDRA dashboard.
- Reach out to the workspace owner if you need the role upgraded.
429 – Rate limited
- The HTTP response includes a
Retry-Afterheader (seconds until reset). retryAfter,limit, andresetrepeat the same values in the body for convenience.- Back off until the reset time and then retry.
500 – Internal errors
- We only return 500s for unexpected failures.
- Provide the
requestIdwhen contacting support so we can trace the root cause quickly.
Handling guidelines
- Always inspect
statusandcode. They are stable across endpoints. - Surface
detailto humans; parseerrorsfor field-level feedback. - For retries, respect
retryAfterandlimit. - Log
requestIdso you can correlate user reports with our backend diagnostics.