Ir para o conteúdo

Schemas y Modelos

Referencia completa de modelos Pydantic generados automáticamente desde el esquema OpenAPI.


DAGInfo

Una entrada de la lista de DAGs.

Los aliases mapean los campos del envelope de etl_backend.list_etls() declarativamente — el controlador no transforma nada, Pydantic v2 valida la lista entera en su core Rust.

Campo Tipo Requerido Default Descripción
dag_id string ID del DAG
description string | null Descripción del DAG o ETL
last_run string | null Última ejecución

DAGListResponse

Respuesta con lista de DAGs.

Campo Tipo Requerido Default Descripción
dags DAGInfo[] Lista de DAGs
total integer 0 Total de DAGs
id_company string ID de la compañía

DagRunStats

Aggregated counts for /dags/{dag_id}/stats — output del etl.pvt_run_stats.

Reemplaza el viejo LogStats (que era log-centric y reportaba total_warnings=0, total_info=0 siempre porque metadata.parquet no tiene esas columnas). Esto es run-centric: cuántas ejecuciones, cuántas con cada fase OK/fail/skipped.

Campo Tipo Requerido Default Descripción
total_runs integer 0
extract PhaseStats Sub-bloque de DagRunStats con la distribución success/failed/not_run de una fase.
transform PhaseStats Sub-bloque de DagRunStats con la distribución success/failed/not_run de una fase.
load PhaseStats Sub-bloque de DagRunStats con la distribución success/failed/not_run de una fase.
fully_successful integer 0
any_phase_failed integer 0
date_range object

DagRunTimeline

Output del etl.pvt_run_timeline — buckets ordenados por tiempo.

Campo Tipo Requerido Default Descripción
interval string
points TimelinePoint[]

ErrorDetail

Individual error detail with field and message.

Campo Tipo Requerido Default Descripción
field string | null Field that caused the error (if applicable)
message string Error message for this field or context

ErrorResponse

Standardized error response for all endpoints.

Returns RFC 9457 Problem Details format for consistency across all HTTP error statuses.

Campo Tipo Requerido Default Descripción
error_code string Machine-readable error code (e.g., 'VALIDATION_ERROR', 'UNAUTHORIZED', 'NOT_FOUND')
message string Human-readable error message
status_code integer HTTP status code (400, 401, 403, 404, 422, 500, 502, 503, 504)
request_id string | null Unique request ID for tracing and support
details ErrorDetail[] | null List of additional error details (e.g., validation errors per field)
timestamp string | null ISO 8601 timestamp when error occurred

HTTPValidationError

Campo Tipo Requerido Default Descripción
detail ValidationError[]

HealthResponse

Estado de salud de la API.

Campo Tipo Requerido Default Descripción
status string Estado: healthy
app_name string Nombre de la aplicación
version string Versión de la aplicación
environment string Ambiente: production, develop

ParquetPageResponse

Respuesta paginada genérica para endpoints que leen archivos Parquet de S3.

Usado por todos los endpoints de /runs/ que retornan filas de parquet: - GET /runs/event/queue-data - GET /runs/event/payload - GET /runs/phases/{phase}/metadata - GET /runs/phases/{phase}/data - GET /runs/phases/{phase}/logs - GET /runs/phases/{phase}/errors

El campo rows es dinámico — su schema varía según el archivo parquet leído.

Campo Tipo Requerido Default Descripción
rows object[] Filas del archivo Parquet
total integer Total estimado de filas (puede ser 0 si not_found)
page integer Página actual (0-indexed)
limit integer Tamaño de página solicitado
has_more boolean Si hay más páginas disponibles
not_found boolean False True si el artefacto no existe en S3 (tarea aún no ejecutada)
message string | null Mensaje descriptivo cuando not_found=True

PhaseStats

Sub-bloque de DagRunStats con la distribución success/failed/not_run de una fase.

Campo Tipo Requerido Default Descripción
success integer 0
failed integer 0
not_run integer 0

PresignedUrlResponse

URL prefirmada de S3 para descarga directa de un artefacto Parquet.

Campo Tipo Requerido Default Descripción
url string URL prefirmada de S3 (GET)
key string Key S3 completo del archivo
filename string Nombre del archivo
expires_in integer Segundos hasta expiración de la URL
bucket string Nombre del bucket S3

RunArtifactInfo

Información de un artefacto Parquet dentro de un run.

Campo Tipo Requerido Default Descripción
key string Key S3 completo
path string Path relativo al run
filename string Nombre del archivo
size integer Tamaño en bytes
last_modified string Fecha de última modificación ISO
url string URL prefirmada para descarga directa

RunArtifactsResponse

Lista de todos los artefactos Parquet disponibles para un run.

Campo Tipo Requerido Default Descripción
run_id string ID de la ejecución
dag_id string ID del DAG/ETL
date string Fecha del run (YYYY-MM-DD)
total integer Total de artefactos encontrados
artifacts RunArtifactInfo[] Lista de artefactos con URLs

SearchRunResult

Resultado de un run individual en la búsqueda avanzada.

Campo Tipo Requerido Default Descripción
run_id string ID de la ejecución (Airflow run_id)
date string Fecha del run (YYYY-MM-DD)
type string Tipo: ERROR si alguna fase falló, ACTION_DONE si ok
first_timestamp string Primer timestamp registrado
last_timestamp string | null Último timestamp registrado
log_count integer | null Cantidad de logs del run. Null cuando se obtiene desde la PVT (etl.logs no almacena el conteo); el frontend puede consultar /runs/phases/{phase}/metadata si lo necesita.
extract string Estado del extract: success, failed
transform string Estado del transform: success, failed, not_run
load string Estado del load: success, failed, not_run
matched_phases string[] | null Fases donde matcheó el keyword (solo si se buscó por keyword)

SearchRunsResponse

Respuesta de búsqueda avanzada cross-phase.

Campo Tipo Requerido Default Descripción
runs SearchRunResult[] Runs que coinciden con los filtros
total integer Total de runs encontrados
page integer Página actual (0-indexed)
limit integer Tamaño de página
has_more boolean Si hay más páginas disponibles

TimelinePoint

Un bucket de la timeline.

Campo Tipo Requerido Default Descripción
timestamp string
total_runs integer 0
successful integer 0
failed integer 0

ValidationError

Campo Tipo Requerido Default Descripción
loc string | integer[]
msg string
type string
input any
ctx object