Ir al contenido

Cómo leer los errores

Los errores vuelven como application/problem+json al estilo de RFC 7807. type es una URI identificadora estable, y cada una tiene su página de explicación en https://docs.d2b.dev/errors/<slug>.

{
"type": "https://docs.d2b.dev/errors/validation",
"title": "Transform validation failed",
"detail": "Avoid hard-coding source names in the template …",
"status": 400,
"trace_id": "8f3c…",
"suggested_fix": "Use {{ arg }} placeholders and bind via `args`. See /api/v1/workbooks/{cid}/artifacts to discover names.",
"alternative_tools": ["get_lineage"]
}

suggested_fix está redactado como una frase que un LLM puede leer tal cual para decidir su siguiente acción — el patrón recomendado es pasar el mensaje de la excepción completo al loop del agente. El SDK lanza excepciones con suggested_fix incluido, y la CLI imprime la misma frase por stderr.

typestatus típicoSignificado
validation400 / 422La entrada no cumple el contrato (SQL que falla, nombres no permitidos, referencias hardcodeadas en la plantilla, etc.)
propagation-failed400La transformación se guardó y materializó; después falló la reconstrucción de una transformación posterior
unauthorized401PAT ausente, inválido o revocado
forbidden403Scope insuficiente, rechazo por política (mask / deny), fuera del scope del workbook
unknown-workbook404El workbook no existe o no es visible
unknown-artifact404La tabla / el artifact no existe, o es un tipo no expuesto en /api/v1
conflict409Bloqueo optimista (expected_version desactualizado), workbook en procesamiento, nombre duplicado
rate-limited429Límite de tasa. Obedece Retry-After
internal5xxFalla del lado del servidor. Contacta soporte adjuntando el trace_id

Las respuestas 5xx usan el mismo problem+json. El trace_id (también en la cabecera X-D2B-Trace-Id) se corresponde 1:1 con el stack trace del servidor — inclúyelo al reportar. Los jobs de ingest asíncrono fallidos también llevan trace_id y la fase fallida (phase).

Para superficies donde el vocabulario REST (GET /api/...) no encaja, los errores aplicables incluyen además suggested_fix_cli (vocabulario d2b ...). La CLI muestra esa variante automáticamente.