Errores (RFC 9457 Problem Details)
Todas las respuestas de error usan Content-Type: application/problem+json. El campo type apunta a esta página con el ancla del código.
{
"type": "https://developers.onecore360.cl/errores#limite-por-minuto",
"title": "Demasiadas solicitudes",
"status": 429,
"detail": "Tu plan Gratis permite 10 solicitudes por minuto. Reintenta en 42 s.",
"instance": "/v1/liquidacion",
"codigo": "limite-por-minuto",
"solicitud_id": "3f1c…"
}| Código | HTTP | Qué significa y qué hacer |
|---|---|---|
| clave-faltante | 401 | No enviaste la cabecera X-API-Key. |
| clave-invalida | 401 | La clave no existe o fue eliminada. Revisa que la copiaste completa. |
| clave-suspendida | 403 | La clave está suspendida o revocada. Contáctanos. |
| api-no-contratada | 403 | Tu clave no incluye esta API (Laboral o DocExtract). |
| limite-por-minuto | 429 | Superaste las solicitudes por minuto del plan. Espera los segundos de Retry-After. |
| cuota-mensual-agotada | 429 | Agotaste la cuota mensual. Sube de plan o espera al próximo mes. |
| parametros-invalidos | 400 | El cuerpo no cumple el esquema. Revisa el arreglo errores (campo, mensaje). |
| periodo-invalido | 400 | El período debe tener formato AAAA-MM. |
| parametros-no-disponibles | 404 | No hay parámetros legales para ese mes. La respuesta lista los disponibles. |
| indicador-desconocido | 400 | Código de indicador no válido (uf, utm, dolar, euro, ipc, ivp, tpm). |
| archivo-faltante | 400 | Envía el archivo en el campo archivo (multipart) o en archivo_base64 (JSON). |
| archivo-vacio | 400 | El archivo no tiene contenido. |
| archivo-demasiado-grande | 413 | Supera el tamaño del plan. Usa un trabajo asíncrono con subida directa (POST /v1/trabajos) o sube de plan. |
| formato-no-soportado | 415 | El endpoint no acepta ese tipo de archivo. |
| esquema-faltante | 400 | El endpoint genérico necesita esquema. |
| esquema-invalido | 400 | El esquema no cumple el formato (campos con nombre y tipo válido). |
| plan-sin-asincrono | 403 | El plan Gratis no incluye trabajos asíncronos. |
| asincrono-no-configurado | 503 | El entorno no tiene cola ni bucket (solo en despliegues locales). |
| trabajo-no-encontrado | 404 | El trabajo no existe, expiró (24 h) o pertenece a otra clave. |
| tipo-trabajo-invalido | 400 | Tipos válidos: factura, cartola, planilla, generico. |
| no-encontrado | 404 | La ruta no existe. |
| error-interno | 500 | Error inesperado. Reintenta y, si persiste, envíanos el solicitud_id. |
| error-pasarela | 502 | Error de la pasarela (API Gateway). Reintenta en unos segundos. |
Los errores que genera la pasarela (clave inválida o ausente, límite por minuto o cuota del plan en API Gateway) traen el mismo cuerpo Problem Details pero con Content-Type: application/json.
Cabeceras de límites
RateLimit-Policy: 30;w=60, RateLimit: limit=30, remaining=29, reset=42, X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute, X-Quota-Limit-Month, X-Quota-Remaining-Month, X-Request-Id (envía tu propio X-Request-Id para correlacionar).