Con este endpoint puedes obtener la lista completa de integraciones ETL (DAGs) configuradas para tu empresa. Cada DAG representa un pipeline de datos — usa el dag_id retornado para consultar sus ejecuciones y logs.
Autenticación
Requiere un Bearer token OAuth2 obtenido mediante el flujo client_credentials. Ver Autenticación.
Encabezados
| Nombre | Valor |
|---|---|
Authorization | Bearer <access_token> |
Accept | application/json |
Ejemplo de request
GET /hub/api/v1/dags
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/jsonRespuesta exitosa — 200
{
"id_company": "empresa-uuid",
"total": 2,
"dags": [
{
"dag_id": "589b6c65-1ce9-4a46-9c11-ad380d9bf27a",
"description": "Órdenes de venta ETL",
"last_run": "2026-06-05"
},
{
"dag_id": "a1b2c3d4-5678-90ab-cdef-111213141516",
"description": "Sincronización de inventario",
"last_run": "2026-06-04"
}
]
}| Campo | Tipo | Descripción |
|---|---|---|
id_company | string | Identificador de la empresa autenticada |
total | integer | Total de DAGs disponibles |
dags[].dag_id | string (UUID) | Identificador único del DAG/ETL |
dags[].description | string | Descripción del pipeline |
dags[].last_run | string (YYYY-MM-DD) | Fecha de la última ejecución |
Códigos de error
| Código | Descripción |
|---|---|
401 | Token inválido o expirado |
403 | Sin permisos sobre el módulo ETL |
500 | Error interno del servidor |
502 | Servicio backend (S3 / Airflow) no disponible |
Problemas posibles
Todos los errores siguen el formato RFC 9457 con Content-Type: application/problem+json.
401 — Token ausente o inválido
401 — Token ausente o inválidoEl header Authorization no está presente, no empieza con Bearer, o el token no es válido.
{
"error_code": "MISSING_BEARER_TOKEN",
"message": "Authorization header with Bearer token is required",
"status_code": 401
}Solución: Verifica que el header sea Authorization: Bearer <token>.
401 — Token expirado
401 — Token expiradoEl token superó su tiempo de vida (2 horas para OAuth2).
{
"error_code": "TOKEN_EXPIRED",
"message": "The provided token has expired",
"status_code": 401
}Solución: Solicita un nuevo token via POST /oauth/token.
403 — Sin permisos sobre el módulo ETL
403 — Sin permisos sobre el módulo ETLEl cliente OAuth2 autenticó correctamente pero no tiene habilitado el módulo ETL.
{
"error_code": "OAUTH2_ETL_ACCESS_DENIED",
"message": "This OAuth2 client does not have access to the ETL module",
"status_code": 403
}Solución: Verifica que el Grupo de Permisos del consumer tenga habilitado Automatizador → Fracttal Hub.
502 — Error en servicio dependiente
502 — Error en servicio dependiente{
"error_code": "BACKEND_RPC_ERROR",
"message": "Upstream service returned an unexpected error",
"status_code": 502
}Solución: Reintenta con backoff exponencial. Si persiste, revisa el estado de los servicios.
200