# Errores

> El catálogo de errores: estado HTTP, códigos de problema de OperationOutcome y qué hacer para cada uno.

Source: https://developers.anpheros.com/es/guides/errors

Bajo errores `/fhir/R4` están `OperationOutcome`; en otros lugares `{"error": {"type", "message", "field"?}}`. Cada respuesta lleva `Anpheros-Request-Id`; cítesla cuando escriba a soporte.

| HTTP | `issue.code` / `type` | Significado | Qué hacer |
|---|---|---|---|
| 400 | `invalid`, `structure`, `value` | JSON malformado, FHIR inválido, valor no en un conjunto de valores requerido, parámetro de búsqueda no soportado, filtro de alcance no soportado | corrija la solicitud; el mensaje nombra el campo |
| 400 | `too-costly` | anidamiento de recursos > 64 niveles, texto > 10 000 caracteres | simplifique el recurso |
| 401 | `login` | credencial faltante, desconocida, expirada o revocada; consentimiento ya no activo; la respuesta lleva `WWW-Authenticate: Bearer realm="anpheros"` (con `error="invalid_token"` cuando se envió una credencial) | reautentíquese; para OAuth, actualice o re-consienta |
| 403 | `forbidden` | alcance, propiedad (escrito por otra organización), concesión de solo lectura, solo administrador | solicite el alcance correcto; escriba su propio recurso |
| 404 | `not-found` | no existe para este llamador | nunca asuma la existencia a partir de un 404 |
| 409 | `conflict` | clave de idempotencia en progreso; documento ya finalizado; límite de endpoint | reintente en breve / use una nueva clave |
| 410 | `deleted` | recurso o archivo eliminado | — |
| 412 | `conflict` | discrepancia de versión `If-Match` | relea, luego actualice |
| 413 | `too-costly` | cuerpo o documento por encima del límite | divida o comprima |
| 422 | `not-found` / `invalid` | paciente referenciado no existe para usted; recurso movido entre pacientes; clave de idempotencia reutilizada con otro cuerpo | corrija la referencia |
| 429 | `throttled` | límite de tasa por credencial o por IP | espere `Retry-After` segundos; los SDK hacen esto |
| 503 | `transient` | almacenamiento de documentos no disponible | reintente con backoff |
| 500 | `exception` | error inesperado, registrado y auditado con el ID de solicitud | informe el ID de solicitud |
