> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Lista de errores de TED Lerian

> **TED Lerian** devuelve respuestas de error estructuradas con un código estable, para que puedas identificar qué salió mal y cómo corregirlo.

**Formato de error**

Cada error es un cuerpo `application/problem+json` (RFC 9457) con un `code` estable. Gestiona los errores por `code`; el texto de `detail` puede cambiar.

```json JSON theme={null}
{
  "type": "about:blank",
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "Daily limit exceeded for the source account",
  "code": "TED-0030"
}
```

**Definiciones de campos**

* **`code`** – Un identificador estable para el error, en el formato `TED-NNNN`.
* **`title`** – Un resumen breve del tipo de problema.
* **`status`** – El código de estado HTTP.
* **`detail`** – Una explicación legible por humanos de esta ocurrencia.
* **`type`** – Una referencia al tipo de problema. El valor predeterminado es `about:blank`.
* **`instance`** – Opcional. Una referencia a esta ocurrencia.
* **`errors`** – Opcional. Una entrada para cada campo rechazado, con `location`, `message` y `value`.
* **`upstream`** – Opcional. El error que informó un proveedor intermediado, con su propio `code` y `message`, textualmente.

Cada respuesta, de éxito o de error, lleva el header `X-Request-Id`. Inclúyelo en las solicitudes de soporte.

## Errores de TED Lerian

***

Los siguientes errores pueden ocurrir cuando llamas a los endpoints de TED Lerian. `TED-0031`, `TED-1011` y `TED-1013` nunca son respuestas de error: llegan en `rejection.code` de una transferencia con estado `REJECTED`. En un envío, `TED-1001` llega de la misma forma. Si reintentas un `POST /v1/transfers` cuyo primer intento quedó sin respuesta, cualquier rechazo todavía puede significar que el primer intento creó la transferencia: consúltala con `GET /v1/transfers` antes de enviarla con una clave nueva.

| Código | HTTP | Título | Cuándo ocurre | Cómo corregirlo |
| - | - | - | - | - |
| `TED-0001` | 400 | Bad Request | El JSON está mal formado o un tipo es inválido. | Corrige el cuerpo de la solicitud. |
| `TED-0002` | 422 | Validation Failed | Falta un campo obligatorio o está fuera de formato (consulta `errors`). | Corrige los campos listados. |
| `TED-0003` | 422 | Invalid Purpose Code | `purposeCode` está fuera del dominio oficial. | Usa un código de 5 dígitos del diccionario de dominios del SFN. |
| `TED-0004` | 422 | Description Required | `purposeCode=99999` sin `description`. | Envía `description`. |
| `TED-0005` | 422 | Recipient Bank Required | No se envió ni `bankId` ni `bankCode`, o se enviaron ambos. | Envía exactamente uno. |
| `TED-0006` | 422 | Unknown Participant | `bankCode` o `bankId` no está en la lista de participantes del STR. | Verifícalo con `GET /v1/participants`. |
| `TED-0007` | 422 | Document Mismatch | El documento no es un CPF (11 dígitos) ni un CNPJ (14 dígitos), solo con dígitos. | Corrige el documento. |
| `TED-0008` | 400 | Account Header Required | Falta `X-Account-Id` o no es un UUID. | Envía `X-Account-Id` con la cuenta de origen. |
| `TED-0009` | 403 | Account Not Owned | `X-Account-Id` no pertenece a la organización de la identidad autenticada. | Usa una cuenta de tu propia organización. |
| `TED-0010` | 404 | Not Found | El recurso no existe en la institución. | Verifica el identificador. |
| `TED-0011` | 400 | Idempotency Key Required | Falta `X-Idempotency` en una solicitud con efecto. | Envía el header. |
| `TED-0012` | 422 | Idempotency Key Reuse | La misma clave con un cuerpo diferente. En `POST /v1/transfers`, también una clave que ya creó una transferencia, incluso después de la ventana de `X-TTL`. | Ya puede existir un recurso para esta clave. Consúltalo antes de usar una clave nueva (para una transferencia, `GET /v1/transfers` filtrado por `client_reference`, o por `account_id` y fecha). |
| `TED-0013` | 409 | Idempotent Request In Flight | Una solicitud con la misma clave todavía está en curso. | Reintenta después de `Retry-After`. |
| `TED-0014` | 409 | Duplicate Request | Una solicitud materialmente idéntica enviada poco después de otra. | Espera, o lee la transferencia existente. |
| `TED-0015` | 409 | Reconciliation Already Running | Ya hay un ciclo de conciliación en ejecución. | Espera a que termine el ciclo en ejecución. |
| `TED-0020` | 422 | Outside Operating Window | Fuera del horario oficial o después del horario de corte de la institución. | Envía de nuevo en la próxima ventana (`GET /v1/policy/window`). |
| `TED-0021` | 422 | Non-Business Day | Fin de semana o feriado bancario. | Envía de nuevo el próximo día hábil. |
| `TED-0022` | 503 | Operating Window Undetermined | El horario, el calendario o la configuración no están disponibles. TED Lerian rechaza en lugar de adivinar. | Reintenta. |
| `TED-0030` | 422 | Usage Limit Exceeded | Se superó el límite por transferencia, diario o mensual. | Reduce el monto o espera a que cambie el período. |
| `TED-0031` | — | Insufficient Balance | La cuenta de origen no tiene saldo suficiente. | Ajusta el monto. |
| `TED-0040` | 503 | Fee Calculation Unavailable | El cálculo de la comisión no está disponible y la política de la institución no permite enviar sin comisión. | Reintenta. |
| `TED-0060` | 409 | Invalid State Transition | La acción no corresponde al estado actual. | Lee el estado y elige la acción correcta. |
| `TED-0061` | 409 | Not Cancellable | La transferencia está liquidada, es recibida, ya es final, o está en espera de conciliación o agotada (el estado real es desconocido). | Usa una devolución cuando corresponda; para en espera de conciliación o agotada, usa `POST /v1/transfers/{transferId}/unblock` con evidencia. |
| `TED-0062` | 409 | Not Returnable | El estado no permite una devolución. | — |
| `TED-0063` | 422 | Partial Return Not Allowed | Se envió un monto parcial. | Las devoluciones son siempre totales. |
| `TED-0064` | 422 | Invalid Return Code | `returnCode` está fuera del dominio oficial. | Usa un `CodDevTransf` válido. |
| `TED-0065` | 422 | Evidence Required | Un desbloqueo sin evidencia válida, o sin `rejectionCode` cuando `outcome=REJECTED`. | Envía la evidencia del STR (y el código de rechazo cuando corresponda). |
| `TED-0066` | 422 | Return Code Required | Una resolución de revisión manual con `action=RETURN` y sin `returnCode`. | Envía `returnCode`. |
| `TED-0067` | 409 | Held Return Carried By Transfer | Una transferencia que todavía puede liquidar lleva la devolución retenida que intentaste cerrar. | No la cierres: TED Lerian devuelve el monto al remitente cuando esa transferencia liquida. Revierte cualquier crédito que hiciste en el ledger para ella. |
| `TED-0070` | 401 | Unauthorized | El token falta, es inválido o expiró. | Autentícate. |
| `TED-0071` | 403 | Forbidden | El rol no tiene permiso para el recurso o la acción, o la licencia del producto no es válida para la organización. | Solicita el permiso o contacta a Lerian sobre la licencia. |
| `TED-0080` | 503 | Tenant Configuration Missing | Falta una configuración obligatoria de la institución, como los límites de uso. | El administrador configura la política. |
| `TED-0081` | 422 | Cutoff After Official Close | El horario de corte es posterior al cierre oficial. | Envía un horario igual o anterior al cierre oficial. |
| `TED-1000` | 503 | Ledger Unavailable | El ledger no confirmó el resultado. La operación ya puede estar en el ledger. | Lee el estado del recurso antes de volver a actuar. |
| `TED-1001` | 422 | Ledger Rejected | El ledger rechazó por una regla de negocio (cuenta inactiva, activo, ruta). | Verifica la cuenta y la configuración. |
| `TED-1010` | 503 | Rail Unavailable | La respuesta del conector del STR a una cancelación es desconocida. La solicitud de cancelación sigue registrada. | Reintenta con el mismo `X-Idempotency` y el mismo `reason`. |
| `TED-1011` | — | Rail Rejected | El conector rechazó el comando por una validación del protocolo. | Corrige los datos. |
| `TED-1012` | 503 | Rail Capability Unavailable | El conector no ofrece la capacidad, como cancelar un asiento pendiente en el STR. | Sigue la transferencia hasta que llegue a un estado final. |
| `TED-1013` | — | Rail Closed Without STR Decision | El riel cerró la TED sin decisión del STR (aprobación denegada o expirada). | No cambies los datos. Verifica la aprobación o el caso en el riel y envía una nueva TED si todavía corresponde. |
| `TED-1020` | 503 | Account Registry Unavailable | El registro de cuentas no está disponible. | Reintenta. |
| `TED-1021` | 422 | Account Not Found | No se encontró la cuenta o su titular en el registro. | Verifica los datos. |
| `TED-9000` | 500 | Internal Error | Una falla inesperada. | Contacta a soporte con el `X-Request-Id`. |
| `TED-9002` | 503 | Service Unavailable | El servicio no está disponible, por ejemplo cuando el registro de auditoría no puede guardar un cambio de política. | Reintenta más tarde. |
| `TED-9003` | 413 | Request Entity Too Large | El cuerpo de la solicitud es más grande de lo que acepta el servidor HTTP. | Envía un cuerpo más pequeño. |
| `TED-9004` | 400 | Bad Request | El servidor HTTP rechaza la solicitud y ningún otro código aplica, por ejemplo cuando la ruta no acepta el método. El `detail` indica la causa. | Corrige la solicitud. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.