REST API Reference¶
Airflow exposes an REST API. It is available through the webserver. Endpoints are
available at /api/experimental/
.
Warning
The API structure is not stable. We expect the endpoint definitions to change.
Endpoints¶
-
POST
/api/experimental/dags/<DAG_ID>/dag_runs
¶ Creates a dag_run for a given dag id.
Trigger DAG with config, example:
curl -X POST \ http://localhost:8080/api/experimental/dags/<DAG_ID>/dag_runs \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -d '{"conf":"{\"key\":\"value\"}"}'
-
GET
/api/experimental/dags/<DAG_ID>/dag_runs
¶ Returns a list of Dag Runs for a specific DAG ID.
-
GET
/api/experimental/dags/<string:dag_id>/dag_runs/<string:execution_date>
¶ Returns a JSON with a dag_run’s public instance variables. The format for the <string:execution_date> is expected to be “YYYY-mm-DDTHH:MM:SS”, for example: “2016-11-16T11:34:15”.
-
GET
/api/experimental/test
¶ To check REST API server correct work. Return status ‘OK’.
-
GET
/api/experimental/dags/<DAG_ID>/tasks/<TASK_ID>
¶ Returns info for a task.
-
GET
/api/experimental/dags/<DAG_ID>/dag_runs/<string:execution_date>/tasks/<TASK_ID>
¶ Returns a JSON with a task instance’s public instance variables. The format for the <string:execution_date> is expected to be “YYYY-mm-DDTHH:MM:SS”, for example: “2016-11-16T11:34:15”.
-
GET
/api/experimental/dags/<DAG_ID>/paused/<string:paused>
¶ ‘<string:paused>’ must be a ‘true’ to pause a DAG and ‘false’ to unpause.
-
GET
/api/experimental/dags/<DAG_ID>/paused
¶ Returns the paused state of a DAG
-
GET
/api/experimental/latest_runs
¶ Returns the latest DagRun for each DAG formatted for the UI.
-
GET
/api/experimental/pools
¶ Get all pools.
-
GET
/api/experimental/pools/<string:name>
¶ Get pool by a given name.
-
POST
/api/experimental/pools
¶ Create a pool.
-
DELETE
/api/experimental/pools/<string:name>
¶ Delete pool.