Experimental REST API Reference¶
Airflow exposes an REST API. It is available through the webserver. Endpoints are
available at /api/experimental/
.
Warning
This REST API is deprecated since version 2.0. Please consider using the stable REST API. For more information on migration, see UPDATING.md
Changed in version 2.0: The experimental REST API is disabled by default. To restore these APIs while migrating to
the stable REST API, set enable_experimental_api
option in [api]
section to True
.
Endpoints¶
-
POST
/api/experimental/dags/<DAG_ID>/dag_runs
¶ Creates a dag_run for a given dag id. Note: If execution_date is not specified in the body, airflow by default creates only one DAG per second for a given DAG_ID. In order to create multiple DagRun within one second, you should set parameter
"replace_microseconds"
to"false"
(boolean as string).The execution_date must be specified with the format
YYYY-mm-DDTHH:MM:SS.ssssss
.Trigger DAG with config, example:
curl -X POST \ 'http://localhost:8080/api/experimental/dags/<DAG_ID>/dag_runs' \ --header 'Cache-Control: no-cache' \ --header 'Content-Type: application/json' \ --data '{"conf":"{\"key\":\"value\"}"}'
Trigger DAG with milliseconds precision, example:
curl -X POST \ 'http://localhost:8080/api/experimental/dags/<DAG_ID>/dag_runs' \ --header 'Content-Type: application/json' \ --header 'Cache-Control: no-cache' \ --data '{"replace_microseconds":"false"}'
-
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 beYYYY-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 beYYYY-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.
-
GET
/api/experimental/lineage/<DAG_ID>/<string:execution_date>/
¶ Returns the lineage information for the dag.