Deprecated REST API

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

Before Airflow 2.0 this REST API was known as the “experimental” API, but now that the stable REST API is available, it has been renamed.

The endpoints for this API are available at /api/experimental/.

Changed in version 2.0: This 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:

  1. curl -X POST \
  2. 'http://localhost:8080/api/experimental/dags/<DAG_ID>/dag_runs' \
  3. --header 'Cache-Control: no-cache' \
  4. --header 'Content-Type: application/json' \
  5. --data '{"conf":"{\"key\":\"value\"}"}'

Trigger DAG with milliseconds precision, example:

  1. curl -X POST \
  2. 'http://localhost:8080/api/experimental/dags/<DAG_ID>/dag_runs' \
  3. --header 'Content-Type: application/json' \
  4. --header 'Cache-Control: no-cache' \
  5. --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 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.

GET /api/experimental/lineage/<DAG_ID>/<string:execution_date>/

Returns the lineage information for the DAG.