For Agents
Trigger DAG runs, inspect task instances, and manage Airflow connections, variables, and datasets across an Apache Airflow deployment.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Airflow API (Stable), or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Airflow API (Stable) API.
Trigger a new DAG run with a custom configuration payload and capture the run id
Inspect the state of a DAG run and its task instances, including logs and try numbers
Pause, unpause, and update DAGs, including retrieving the parsed source
Manage Airflow connections, variables, and pools used by tasks at runtime
GET STARTED
Use for: I need to trigger a DAG run from outside Airflow, Check the state of a specific DAG run, Retrieve logs for a failed task instance, List all DAGs that are currently paused
Not supported: Does not handle DAG authoring, code deployment, or the Airflow UI - use for triggering and inspecting runs, task instances, and Airflow metadata only.
Apache Airflow is the open-source workflow orchestration platform used to schedule and monitor data pipelines, ML training runs, and ETL jobs. The stable REST API exposes DAGs, DAG runs, task instances, connections, variables, datasets, pools, and XComs so external systems can trigger runs, inspect state, and manage Airflow's metadata without going through the web UI. Authentication options include HTTP basic, Google OpenID Connect, and Kerberos, configured per Airflow deployment. The base URL is the /api/v1 path on whichever host runs the Airflow webserver.
List datasets and their associated DAGs to understand data lineage across pipelines
Clear or set the state of task instances to recover failed runs without UI access
Patterns agents use Airflow API (Stable) API for, with concrete tasks.
★ Trigger a pipeline from an external system
Kick off an Airflow DAG run from a service outside Airflow, for example a webhook from a SaaS app or an event from a message broker. The agent posts to /dags/{dag_id}/dagRuns with a config payload, then polls /dags/{dag_id}/dagRuns/{dag_run_id} for state until it reaches success or failure. This avoids hard-wiring schedules and keeps the trigger event observable in Airflow's UI.
POST to /dags/sales_etl/dagRuns with {"conf": {"date": "2026-06-09"}} and then GET /dags/sales_etl/dagRuns/{dag_run_id} every 30 seconds until state is success or failed
Operational dashboard over Airflow state
Build a custom dashboard that surfaces DAG and task health beyond what the Airflow UI offers, for example aggregated SLA misses or per-team DAG ownership. The agent calls /dags to list DAGs, /dags/{dag_id}/dagRuns for run history, and /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances for fine-grained task state.
GET /dags, then for each dag GET /dags/{dag_id}/dagRuns?limit=20 and aggregate failed-run counts per team for a Slack digest
Recover failed task instances
When a downstream service was briefly down, recover failed task instances by clearing them so Airflow reschedules. The agent identifies failed task instances via /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances and POSTs to /dags/{dag_id}/clearTaskInstances to reset them, optionally including downstream tasks.
GET /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances filtered to state=failed, then POST to /dags/{dag_id}/clearTaskInstances with the failed task ids and include_downstream=true
Manage connections and variables programmatically
Manage Airflow connections (database URLs, API tokens, cloud credentials) and variables from automation rather than the web UI. Useful for environment promotion or rotating credentials. The agent uses /connections and /variables endpoints to create, update, and test entries, and POSTs /connections/test to validate before saving.
POST /connections/test with the new connection payload, then PATCH /connections/{connection_id} once the test returns success
AI agent integration via Jentic
An agent that needs to operate an Airflow deployment from natural language can search Jentic for 'trigger an Airflow DAG' and Jentic returns the schema for /dags/{dag_id}/dagRuns. Jentic stores the deployment's auth (basic, OIDC, or Kerberos) and base URL so the agent does not handle credentials or hostnames.
Search Jentic for 'trigger an Airflow DAG', load the /dags/{dag_id}/dagRuns schema, and execute it for the user-named DAG
89 endpoints — apache airflow is the open-source workflow orchestration platform used to schedule and monitor data pipelines, ml training runs, and etl jobs.
METHOD
PATH
DESCRIPTION
/dags/{dag_id}/dagRuns
Trigger a new DAG run
/dags/{dag_id}/dagRuns/{dag_run_id}
Get a DAG run by id
/dags
List all DAGs registered in the deployment
/dags/{dag_id}
Fetch a single DAG's metadata
/dags/{dag_id}/clearTaskInstances
Clear task instances to reschedule failed runs
/connections
List Airflow connections
/connections/test
Test a connection definition before saving
/variables
List Airflow variables
/dags/{dag_id}/dagRuns
Trigger a new DAG run
/dags/{dag_id}/dagRuns/{dag_run_id}
Get a DAG run by id
/dags
List all DAGs registered in the deployment
/dags/{dag_id}
Fetch a single DAG's metadata
/dags/{dag_id}/clearTaskInstances
Clear task instances to reschedule failed runs
Three things that make agents converge on Jentic-routed access.
Credential isolation
Airflow auth (basic, OIDC, or Kerberos) is stored encrypted in the Jentic vault (MAXsystem). The agent receives a scoped context, while the actual Authorization header is attached server-side per call.
Intent-based discovery
Agents search Jentic by intent ('trigger an Airflow DAG', 'list failed task instances') and Jentic returns the matching Airflow operation with its parameter schema, removing the need to consult the Airflow REST docs.
Time to first call
Direct integration: half a day to a day depending on auth backend (Kerberos in particular needs ticket setup). Through Jentic: under an hour - search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Prefect API
Workflow orchestration with a hosted control plane and Python-first flow definitions.
Pick Prefect for hosted orchestration with a hosted UI; pick Airflow when running self-hosted DAGs in Python with the existing operator ecosystem.
Temporal API
Durable workflow execution with code-defined workflows and signals.
Pick Temporal for long-running stateful workflows with strong replay semantics; pick Airflow for batch and ETL DAGs scheduled by cron.
GitHub API
Source the DAGs from a GitHub repo and react to commits.
Use GitHub to manage DAG source and CI; use Airflow API to trigger or inspect runs after merges.
Specific to using Airflow API (Stable) API through Jentic.
What authentication does the Airflow API use?
The spec declares three options: HTTP Basic, Google OpenID Connect, and Kerberos (negotiate). Which one is active depends on the deployment's auth backend in airflow.cfg. Through Jentic the chosen credential is stored in the encrypted MAXsystem vault and attached server-side, so the agent never sees the raw secret.
Can I trigger a DAG run with a custom config through the API?
Yes. POST to /dags/{dag_id}/dagRuns with a JSON body including a conf object that the DAG code reads via context['dag_run'].conf. The response returns the new dag_run_id which can be polled via GET /dags/{dag_id}/dagRuns/{dag_run_id} for state.
How do I trigger an Airflow DAG through Jentic?
Search Jentic for 'trigger an Airflow DAG', load the schema for POST /dags/{dag_id}/dagRuns, and execute it with the dag id and the conf payload. Jentic injects the configured auth and base URL for your Airflow deployment.
What are the rate limits for the Airflow API?
Apache Airflow itself does not enforce a global rate limit; throughput is bounded by the webserver's worker pool and the underlying metadata database. In practice deployments sit behind a reverse proxy that may add request limits.
Can I clear failed task instances to retry them?
Yes. POST to /dags/{dag_id}/clearTaskInstances with a list of task ids and optional include_downstream and reset_dag_runs flags, and Airflow re-queues the cleared tasks. This is the API equivalent of the UI's clear button.
Is the Airflow API free to use?
Apache Airflow is open source under the Apache 2.0 license, so the API itself is free. Cost is the infrastructure that runs the webserver, scheduler, and workers - or a managed offering such as Astronomer or AWS MWAA.
/connections
List Airflow connections
/connections/test
Test a connection definition before saving
/variables
List Airflow variables