Ir para o conteúdo

Runs

7 endpoint(s)


GET /api/v1/dags/{dag_id}/runs

Search runs for a DAG

Scope of keyword filters (event/extract/transform/load): each ILIKE matches against (log->'<phase>')::text, which contains: - Phase status (success, message, total) - The s3_data_path to the parquet artifact - The first 100 rows of the phase's data array (writer caps inline)

For DEEP search across ALL rows of a specific phase's data parquet (rows 101+), use the per-run drill-down: GET /dags/{dag_id}/runs/{date}/{run_id}/phases/{phase}/data?keyword=... — that one goes to S3+DuckDB and scans the full data file.

Autenticación

Bearer Token requerido. El id_company se extrae automáticamente del token.

Parámetros de ruta

Parámetro Tipo Requerido Default Descripción
dag_id string

Query parameters

Parámetro Tipo Requerido Default Descripción
date_from string
date_to string
extract_status string all
transform_status string all
load_status string all
event_keyword string | null
extract_keyword string | null
transform_keyword string | null
load_keyword string | null
run_ids string | null Comma-separated run_id allowlist (consolidates the old /runs/search/keyword)
page integer 0
limit integer 20

Respuestas

Código Descripción
200 Runs matching the filters — SearchRunsResponse
401 Unauthorized — ErrorResponse
422 Invalid date range or filter — ErrorResponse
502 Run lookup failed — ErrorResponse

GET /api/v1/dags/{dag_id}/runs/{date}/{run_id}

Run summary

Single PVT lookup (no S3) returning per-phase status + paths. Same shape as the items in /dags/{dag_id}/runs.

Autenticación

Bearer Token requerido. El id_company se extrae automáticamente del token.

Parámetros de ruta

Parámetro Tipo Requerido Default Descripción
dag_id string DAG/ETL UUID
date string Run partition date (YYYY-MM-DD)
run_id string Airflow run_id (URL-encoded)

Respuestas

Código Descripción
200 Run found — SearchRunResult
401 Unauthorized — ErrorResponse
404 Run not found in etl.logs — ErrorResponse
422 Validation Error — HTTPValidationError

GET /api/v1/dags/{dag_id}/runs/{date}/{run_id}/event

Event payload (combined queue_data + processed event)

Returns both queue_data.parquet (raw trigger message) and event.parquet (processed event JSON) in a single response. Reads are parallelized via asyncio.gather so latency = max(queue_data_read, event_read) instead of sum.

Autenticación

Bearer Token requerido. El id_company se extrae automáticamente del token.

Parámetros de ruta

Parámetro Tipo Requerido Default Descripción
dag_id string DAG/ETL UUID
date string Run partition date (YYYY-MM-DD)
run_id string Airflow run_id (URL-encoded)

Respuestas

Código Descripción
200 Successful Response
422 Validation Error — HTTPValidationError

GET /api/v1/dags/{dag_id}/runs/{date}/{run_id}/phases/{phase}

Phase attempt summary (metadata + counts)

Returns metadata.parquet (1 row, ~1KB) for the given phase + attempt. Counts (log_count, error_log_count) are inside the metadata row.

Autenticación

Bearer Token requerido. El id_company se extrae automáticamente del token.

Parámetros de ruta

Parámetro Tipo Requerido Default Descripción
dag_id string DAG/ETL UUID
date string Run partition date (YYYY-MM-DD)
run_id string Airflow run_id (URL-encoded)
phase string

Query parameters

Parámetro Tipo Requerido Default Descripción
attempt integer 1 Attempt number (1-based)

Respuestas

Código Descripción
200 Successful Response — ParquetPageResponse
422 Validation Error — HTTPValidationError

GET /api/v1/dags/{dag_id}/runs/{date}/{run_id}/phases/{phase}/data

Phase data rows (paginated)

Paginated read of data_NNN.parquet files. With ?keyword= uses index.parquet for full-text matching, then resolves matches in the data files.

Autenticación

Bearer Token requerido. El id_company se extrae automáticamente del token.

Parámetros de ruta

Parámetro Tipo Requerido Default Descripción
dag_id string DAG/ETL UUID
date string Run partition date (YYYY-MM-DD)
run_id string Airflow run_id (URL-encoded)
phase string

Query parameters

Parámetro Tipo Requerido Default Descripción
attempt integer 1 Attempt number (1-based)
page integer 0 0-indexed page
limit integer 50 Page size
keyword string | null ILIKE on index.parquet._searchable

Respuestas

Código Descripción
200 Successful Response — ParquetPageResponse
422 Validation Error — HTTPValidationError

GET /api/v1/dags/{dag_id}/runs/{date}/{run_id}/phases/{phase}/errors

Phase errors (paginated)

Reads errors_NNN.parquet directly — RFC 7807-aligned fields (error_type, error_title, error_status, error_detail, traceback).

Autenticación

Bearer Token requerido. El id_company se extrae automáticamente del token.

Parámetros de ruta

Parámetro Tipo Requerido Default Descripción
dag_id string DAG/ETL UUID
date string Run partition date (YYYY-MM-DD)
run_id string Airflow run_id (URL-encoded)
phase string

Query parameters

Parámetro Tipo Requerido Default Descripción
attempt integer 1 Attempt number (1-based)
page integer 0 0-indexed page
limit integer 50 Page size

Respuestas

Código Descripción
200 Successful Response — ParquetPageResponse
422 Validation Error — HTTPValidationError

GET /api/v1/dags/{dag_id}/runs/{date}/{run_id}/phases/{phase}/logs

Phase logs (paginated or streamed)

Default response is paginated JSON. To stream all logs as NDJSON without pagination, send Accept: application/x-ndjson (Zalando #244 content negotiation).

Autenticación

Bearer Token requerido. El id_company se extrae automáticamente del token.

Parámetros de ruta

Parámetro Tipo Requerido Default Descripción
dag_id string DAG/ETL UUID
date string Run partition date (YYYY-MM-DD)
run_id string Airflow run_id (URL-encoded)
phase string

Query parameters

Parámetro Tipo Requerido Default Descripción
attempt integer 1 Attempt number (1-based)
page integer 0 0-indexed page
limit integer 50 Page size
level string | null Filter by log level
keyword string | null ILIKE on message column

Respuestas

Código Descripción
200 Successful Response
422 Validation Error — HTTPValidationError