Apache Airflow website screenshot

Apache Airflow

Apache Airflow is an open-source platform to programmatically author, schedule, and monitor workflows. Airflow uses directed acyclic graphs (DAGs) to manage workflow orchestration. The Airflow REST API provides programmatic access to DAGs, DAG runs, tasks, connections, variables, pools, and monitoring for both Airflow OSS and cloud-managed deployments.

1 APIs 9 Features
Workflow OrchestrationData PipelineOpen SourceApacheDAGSchedulingETLData Engineering

APIs

Apache Airflow API

The Apache Airflow REST API (v2) provides stable, backward-compatible endpoints for managing workflows (DAGs), DAG runs, task instances, connections, variables, XComs, pools, an...

Collections

Pricing Plans

Airflow Plans Pricing

3 plans

PLANS

Rate Limits

Airflow Rate Limits

5 limits

RATE LIMITS

FinOps

Features

DAG Authoring

Define workflows as Python code using Directed Acyclic Graphs (DAGs).

Dynamic DAG Generation

Programmatically generate DAGs and tasks based on configuration or data.

Rich Operator Library

Pre-built operators for databases, cloud services, APIs, and data tools.

REST API v2

Stable REST API for programmatic management of DAGs, runs, tasks, and infrastructure.

Web UI

Built-in web interface for monitoring, triggering, and debugging workflows.

Scheduler

Robust scheduler with support for CRON and timed triggers.

Extensible

Plugin system and provider packages for extending functionality.

Multi-Cloud Support

Provider packages for AWS, GCP, Azure, and other cloud platforms.

Managed Services

Available as managed service from AWS (MWAA), GCP (Cloud Composer), and Astronomer.

Use Cases

ETL Pipeline Orchestration

Schedule and monitor extract, transform, load data pipelines.

ML Pipeline Management

Orchestrate machine learning training, evaluation, and deployment workflows.

Data Quality Checks

Schedule data validation and quality check jobs.

Report Generation

Automate periodic report generation and distribution.

API Orchestration

Coordinate calls to multiple APIs in complex workflows.

Database Operations

Schedule database maintenance, migrations, and backup jobs.

Integrations

Apache Spark

Run Spark jobs from Airflow DAGs.

dbt

Orchestrate dbt model runs via the dbt operator.

Kubernetes

Run tasks in Kubernetes pods with the KubernetesPodOperator.

AWS

Provider package for S3, Redshift, EMR, Lambda, and other AWS services.

Google Cloud

Provider package for BigQuery, Dataflow, GCS, and other GCP services.

Azure

Provider package for Azure Data Factory, Blob Storage, and other Azure services.

Snowflake

SnowflakeOperator for running SQL in Snowflake data warehouse.

Airbyte

Trigger Airbyte syncs from Airflow DAGs.

Semantic Vocabularies

Airflow Context

128 classes · 304 properties

JSON-LD

API Governance Rules

Apache Airflow API Rules

24 rules · 8 errors 7 warnings 9 info

SPECTRAL

JSON Structure

Airflow App Builder View Response Structure

4 properties

JSON STRUCTURE

Airflow Asset Alias Response Structure

3 properties

JSON STRUCTURE

Airflow Asset Collection Response Structure

2 properties

JSON STRUCTURE

Airflow Asset Event Response Structure

13 properties

JSON STRUCTURE

Airflow Asset Response Structure

13 properties

JSON STRUCTURE

Airflow Asset Watcher Response Structure

3 properties

JSON STRUCTURE

Airflow Backfill Post Body Structure

8 properties

JSON STRUCTURE

Airflow Backfill Response Structure

12 properties

JSON STRUCTURE

Airflow Base Info Response Structure

1 properties

JSON STRUCTURE

Airflow Bulk Action On Existence Structure

0 properties

JSON STRUCTURE

Airflow Bulk Action Response Structure

2 properties

JSON STRUCTURE

Airflow Bulk Body_ Connection Body_ Structure

1 properties

JSON STRUCTURE

Airflow Bulk Body_ Pool Body_ Structure

1 properties

JSON STRUCTURE

Airflow Bulk Body_ Variable Body_ Structure

1 properties

JSON STRUCTURE

Airflow Bulk Response Structure

3 properties

JSON STRUCTURE

Airflow Bulk Task Instance Body Structure

10 properties

JSON STRUCTURE

Airflow Clear Task Instances Body Structure

15 properties

JSON STRUCTURE

Airflow Config Option Structure

2 properties

JSON STRUCTURE

Airflow Config Section Structure

2 properties

JSON STRUCTURE

Airflow Config Structure

1 properties

JSON STRUCTURE

Airflow Connection Body Structure

10 properties

JSON STRUCTURE

Airflow Connection Response Structure

10 properties

JSON STRUCTURE

Airflow Connection Test Response Structure

2 properties

JSON STRUCTURE

Airflow Create Asset Events Body Structure

3 properties

JSON STRUCTURE

Airflow Dag Collection Response Structure

2 properties

JSON STRUCTURE

Airflow Dag Details Response Structure

48 properties

JSON STRUCTURE

Airflow Dag Patch Body Structure

1 properties

JSON STRUCTURE

Airflow Dag Processor Info Response Structure

2 properties

JSON STRUCTURE

Airflow Dag Response Structure

30 properties

JSON STRUCTURE

Airflow Dag Run Asset Reference Structure

9 properties

JSON STRUCTURE

Airflow Dag Run Clear Body Structure

3 properties

JSON STRUCTURE

Airflow Dag Run Collection Response Structure

2 properties

JSON STRUCTURE

Airflow Dag Run Patch Body Structure

2 properties

JSON STRUCTURE

Airflow Dag Run Patch States Structure

0 properties

JSON STRUCTURE

Airflow Dag Run Response Structure

21 properties

JSON STRUCTURE

Airflow Dag Run State Structure

0 properties

JSON STRUCTURE

Airflow Dag Run Triggered By Type Structure

0 properties

JSON STRUCTURE

Airflow Dag Run Type Structure

0 properties

JSON STRUCTURE

Airflow Dag Runs Batch Body Structure

26 properties

JSON STRUCTURE

Airflow Dag Source Response Structure

4 properties

JSON STRUCTURE

Airflow Dag Stats Response Structure

3 properties

JSON STRUCTURE

Airflow Dag Stats State Response Structure

2 properties

JSON STRUCTURE

Airflow Dag Tag Collection Response Structure

2 properties

JSON STRUCTURE

Airflow Dag Tag Response Structure

3 properties

JSON STRUCTURE

Airflow Dag Version Response Structure

8 properties

JSON STRUCTURE

Airflow Dag Warning Response Structure

5 properties

JSON STRUCTURE

Airflow Dag Warning Type Structure

0 properties

JSON STRUCTURE

Airflow Dry Run Backfill Response Structure

3 properties

JSON STRUCTURE

Airflow Event Log Response Structure

13 properties

JSON STRUCTURE

Airflow External Log Url Response Structure

1 properties

JSON STRUCTURE

Airflow External View Response Structure

7 properties

JSON STRUCTURE

Airflow Fast Api App Response Structure

3 properties

JSON STRUCTURE

Airflow Health Info Response Structure

4 properties

JSON STRUCTURE

Airflow Hitl Detail Collection Structure

2 properties

JSON STRUCTURE

Airflow Hitl Detail History Structure

14 properties

JSON STRUCTURE

Airflow Hitl Detail Response Structure

4 properties

JSON STRUCTURE

Airflow Hitl Detail Structure

14 properties

JSON STRUCTURE

Airflow Hitl User Structure

2 properties

JSON STRUCTURE

Airflow Http Exception Response Structure

1 properties

JSON STRUCTURE

Airflow Import Error Response Structure

5 properties

JSON STRUCTURE

Airflow Job Collection Response Structure

2 properties

JSON STRUCTURE

Airflow Job Response Structure

11 properties

JSON STRUCTURE

Airflow Json Value Structure

0 properties

JSON STRUCTURE

Airflow Last Asset Event Response Structure

2 properties

JSON STRUCTURE

Airflow Materialize Asset Body Structure

8 properties

JSON STRUCTURE

Airflow Patch Task Instance Body Structure

6 properties

JSON STRUCTURE

Airflow Plugin Collection Response Structure

2 properties

JSON STRUCTURE

Airflow Plugin Response Structure

14 properties

JSON STRUCTURE

Airflow Pool Body Structure

5 properties

JSON STRUCTURE

Airflow Pool Collection Response Structure

2 properties

JSON STRUCTURE

Airflow Pool Patch Body Structure

5 properties

JSON STRUCTURE

Airflow Pool Response Structure

11 properties

JSON STRUCTURE

Airflow Provider Response Structure

4 properties

JSON STRUCTURE

Airflow Queued Event Response Structure

4 properties

JSON STRUCTURE

Airflow React App Response Structure

7 properties

JSON STRUCTURE

Airflow Reprocess Behavior Structure

0 properties

JSON STRUCTURE

Airflow Scheduler Info Response Structure

2 properties

JSON STRUCTURE

Airflow Structured Log Message Structure

2 properties

JSON STRUCTURE

Airflow Task Collection Response Structure

2 properties

JSON STRUCTURE

Airflow Task Dependency Response Structure

2 properties

JSON STRUCTURE

Airflow Task Inlet Asset Reference Structure

4 properties

JSON STRUCTURE

Airflow Task Instance Response Structure

34 properties

JSON STRUCTURE

Airflow Task Instance State Structure

0 properties

JSON STRUCTURE

Airflow Task Instances Batch Body Structure

30 properties

JSON STRUCTURE

Airflow Task Instances Log Response Structure

2 properties

JSON STRUCTURE

Airflow Task Outlet Asset Reference Structure

4 properties

JSON STRUCTURE

Airflow Task Response Structure

27 properties

JSON STRUCTURE

Airflow Time Delta Structure

4 properties

JSON STRUCTURE

Airflow Trigger Dag Run Post Body Structure

8 properties

JSON STRUCTURE

Airflow Trigger Response Structure

6 properties

JSON STRUCTURE

Airflow Triggerer Info Response Structure

2 properties

JSON STRUCTURE

Airflow Update Hitl Detail Payload Structure

2 properties

JSON STRUCTURE

Airflow Variable Body Structure

4 properties

JSON STRUCTURE

Airflow Variable Response Structure

5 properties

JSON STRUCTURE

Airflow Version Info Structure

2 properties

JSON STRUCTURE

Airflow X Com Collection Response Structure

2 properties

JSON STRUCTURE

Airflow X Com Create Body Structure

3 properties

JSON STRUCTURE

Airflow X Com Response Native Structure

11 properties

JSON STRUCTURE

Airflow X Com Response String Structure

11 properties

JSON STRUCTURE

Airflow X Com Response Structure

10 properties

JSON STRUCTURE

Airflow X Com Update Body Structure

2 properties

JSON STRUCTURE

Example Payloads

Airflow Asset Response Example

13 fields

EXAMPLE

Airflow Config Example

1 fields

EXAMPLE

Airflow Dag Response Example

30 fields

EXAMPLE

Airflow Hitl Detail Example

14 fields

EXAMPLE

Airflow Hitl User Example

2 fields

EXAMPLE

Airflow Job Response Example

11 fields

EXAMPLE

Airflow Pool Body Example

5 fields

EXAMPLE

Airflow Pool Response Example

11 fields

EXAMPLE

Airflow Task Response Example

27 fields

EXAMPLE

Airflow Time Delta Example

4 fields

EXAMPLE

Airflow Version Info Example

2 fields

EXAMPLE

Airflow X Com Response Example

10 fields

EXAMPLE

Resources

🔗
LinkedIn
LinkedIn
🌐
Portal
Portal
🚀
GettingStarted
GettingStarted
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
📰
Blog
Blog
👥
StackOverflow
StackOverflow
📄
ChangeLog
ChangeLog
🔗
IssueTracker
IssueTracker
📦
Docker Image
SDKs
📦
Helm Chart
SDKs
🔗
Airflow Spectral Rules
SpectralRules
🔗
Airflow Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Airflow API
  version: '2'
items:
- info:
    name: Asset
    type: folder
  items:
  - info:
      name: Airflow Get Assets
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/assets'
      params:
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: name_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: uri_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: dag_ids
        value: ''
        type: query
      - name: only_active
        value: ''
        type: query
      - name: order_by
        value: ''
        type: query
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported
          attributes: `id, name, uri, created_at, updated_at`'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get assets.
  - info:
      name: Airflow Get Asset Aliases
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/assets/aliases'
      params:
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: name_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: order_by
        value: ''
        type: query
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported
          attributes: `id, name`'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get asset aliases.
  - info:
      name: Airflow Get Asset Alias
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/assets/aliases/:asset_alias_id'
      params:
      - name: asset_alias_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get an asset alias.
  - info:
      name: Airflow Get Asset Events
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/assets/events'
      params:
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: order_by
        value: ''
        type: query
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported
          attributes: `source_task_id, source_dag_id, source_run_id, source_map_index, timestamp`'
      - name: asset_id
        value: ''
        type: query
      - name: source_dag_id
        value: ''
        type: query
      - name: source_task_id
        value: ''
        type: query
      - name: source_run_id
        value: ''
        type: query
      - name: source_map_index
        value: ''
        type: query
      - name: name_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: timestamp_gte
        value: ''
        type: query
      - name: timestamp_gt
        value: ''
        type: query
      - name: timestamp_lte
        value: ''
        type: query
      - name: timestamp_lt
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get asset events.
  - info:
      name: Airflow Create Asset Event
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/assets/events'
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Create asset events.
  - info:
      name: Airflow Materialize Asset
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/assets/:asset_id/materialize'
      params:
      - name: asset_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Materialize an asset by triggering a DAG run that produces it.
  - info:
      name: Airflow Get Asset Queued Events
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/assets/:asset_id/queuedEvents'
      params:
      - name: asset_id
        value: ''
        type: path
      - name: before
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get queued asset events for an asset.
  - info:
      name: Airflow Delete Asset Queued Events
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/v2/assets/:asset_id/queuedEvents'
      params:
      - name: asset_id
        value: ''
        type: path
      - name: before
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Delete queued asset events for an asset.
  - info:
      name: Airflow Get Asset
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/assets/:asset_id'
      params:
      - name: asset_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get an asset.
  - info:
      name: Airflow Get Dag Asset Queued Events
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dags/:dag_id/assets/queuedEvents'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: before
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get queued asset events for a DAG.
  - info:
      name: Airflow Delete Dag Asset Queued Events
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/v2/dags/:dag_id/assets/queuedEvents'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: before
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Delete Dag Asset Queued Events
  - info:
      name: Airflow Get Dag Asset Queued Event
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dags/:dag_id/assets/:asset_id/queuedEvents'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: asset_id
        value: ''
        type: path
      - name: before
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get a queued asset event for a DAG.
  - info:
      name: Airflow Delete Dag Asset Queued Event
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/v2/dags/:dag_id/assets/:asset_id/queuedEvents'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: asset_id
        value: ''
        type: path
      - name: before
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Delete a queued asset event for a DAG.
- info:
    name: Backfill
    type: folder
  items:
  - info:
      name: Airflow List Backfills
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/backfills'
      params:
      - name: dag_id
        value: ''
        type: query
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: order_by
        value: ''
        type: query
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported
          attributes: `id`'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow List Backfills
  - info:
      name: Airflow Create Backfill
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/backfills'
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Create Backfill
  - info:
      name: Airflow Get Backfill
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/backfills/:backfill_id'
      params:
      - name: backfill_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Get Backfill
  - info:
      name: Airflow Pause Backfill
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/api/v2/backfills/:backfill_id/pause'
      params:
      - name: backfill_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Pause Backfill
  - info:
      name: Airflow Unpause Backfill
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/api/v2/backfills/:backfill_id/unpause'
      params:
      - name: backfill_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Unpause Backfill
  - info:
      name: Airflow Cancel Backfill
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/api/v2/backfills/:backfill_id/cancel'
      params:
      - name: backfill_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Cancel Backfill
  - info:
      name: Airflow Create Backfill Dry Run
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/backfills/dry_run'
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Create Backfill Dry Run
- info:
    name: Connection
    type: folder
  items:
  - info:
      name: Airflow Get Connection
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/connections/:connection_id'
      params:
      - name: connection_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get a connection entry.
  - info:
      name: Airflow Patch Connection
      type: http
    http:
      method: PATCH
      url: '{{baseUrl}}/api/v2/connections/:connection_id'
      params:
      - name: connection_id
        value: ''
        type: path
      - name: update_mask
        value: ''
        type: query
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Update a connection entry.
  - info:
      name: Airflow Delete Connection
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/v2/connections/:connection_id'
      params:
      - name: connection_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Delete a connection entry.
  - info:
      name: Airflow Get Connections
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/connections'
      params:
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: order_by
        value: ''
        type: query
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported
          attributes: `conn_id, conn_type, description, host, port, id, team_name, connection_id`'
      - name: connection_id_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get all connection entries.
  - info:
      name: Airflow Post Connection
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/connections'
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Create connection entry.
  - info:
      name: Airflow Bulk Connections
      type: http
    http:
      method: PATCH
      url: '{{baseUrl}}/api/v2/connections'
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Bulk create, update, and delete connections.
  - info:
      name: Airflow Test Connection
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/connections/test'
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Test an API connection.


      This method first creates an in-memory transient conn_id & exports that to an env var,

      as some hook classes tries to find out the `conn` from their __init__ method & errors out if not found.

      It also deletes the conn id env connection after the test.'
  - info:
      name: Airflow Create Default Connections
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/connections/defaults'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Create default connections.
- info:
    name: DagRun
    type: folder
  items:
  - info:
      name: Airflow Get Dag Run
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns/:dag_run_id'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: dag_run_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Get Dag Run
  - info:
      name: Airflow Patch Dag Run
      type: http
    http:
      method: PATCH
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns/:dag_run_id'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: dag_run_id
        value: ''
        type: path
      - name: update_mask
        value: ''
        type: query
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Modify a DAG Run.
  - info:
      name: Airflow Delete Dag Run
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns/:dag_run_id'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: dag_run_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Delete a DAG Run entry.
  - info:
      name: Airflow Get Upstream Asset Events
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns/:dag_run_id/upstreamAssetEvents'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: dag_run_id
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: If dag run is asset-triggered, return the asset events that triggered it.
  - info:
      name: Airflow Clear Dag Run
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns/:dag_run_id/clear'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: dag_run_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Clear Dag Run
  - info:
      name: Airflow Get Dag Runs
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: run_after_gte
        value: ''
        type: query
      - name: run_after_gt
        value: ''
        type: query
      - name: run_after_lte
        value: ''
        type: query
      - name: run_after_lt
        value: ''
        type: query
      - name: logical_date_gte
        value: ''
        type: query
      - name: logical_date_gt
        value: ''
        type: query
      - name: logical_date_lte
        value: ''
        type: query
      - name: logical_date_lt
        value: ''
        type: query
      - name: start_date_gte
        value: ''
        type: query
      - name: start_date_gt
        value: ''
        type: query
      - name: start_date_lte
        value: ''
        type: query
      - name: start_date_lt
        value: ''
        type: query
      - name: end_date_gte
        value: ''
        type: query
      - name: end_date_gt
        value: ''
        type: query
      - name: end_date_lte
        value: ''
        type: query
      - name: end_date_lt
        value: ''
        type: query
      - name: duration_gte
        value: ''
        type: query
      - name: duration_gt
        value: ''
        type: query
      - name: duration_lte
        value: ''
        type: query
      - name: duration_lt
        value: ''
        type: query
      - name: updated_at_gte
        value: ''
        type: query
      - name: updated_at_gt
        value: ''
        type: query
      - name: updated_at_lte
        value: ''
        type: query
      - name: updated_at_lt
        value: ''
        type: query
      - name: conf_contains
        value: ''
        type: query
      - name: run_type
        value: ''
        type: query
      - name: state
        value: ''
        type: query
      - name: dag_version
        value: ''
        type: query
      - name: bundle_version
        value: ''
        type: query
      - name: order_by
        value: ''
        type: query
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported
          attributes: `id, state, dag_id, run_id, logical_date, run_after, start_date, end_date, updated_at, conf, duration,
          dag_run_id`'
      - name: run_id_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: triggering_user_name_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: dag_id_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: partition_key_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: consuming_asset_pattern
        value: ''
        type: query
        description: Filter by consuming asset name or URI using pattern matching
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Get all DAG Runs.


      This endpoint allows specifying `~` as the dag_id to retrieve Dag Runs for all DAGs.'
  - info:
      name: Airflow Trigger Dag Run
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns'
      params:
      - name: dag_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Trigger a DAG.
  - info:
      name: 'Airflow Experimental: Wait for a Dag Run to Complete, and Return Task Results if Requested.'
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns/:dag_run_id/wait'
      params:
      - name: dag_id
        value: ''
        type: path
      - name: dag_run_id
        value: ''
        type: path
      - name: interval
        value: ''
        type: query
        description: Seconds to wait between dag run state checks
      - name: result
        value: ''
        type: query
        description: Collect result XCom from task. Can be set multiple times.
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 🚧 This is an experimental endpoint and may change or be removed without notice.Successful response are streamed
      as newline-delimited JSON (NDJSON). Each line is a JSON object representing the DAG run state.
  - info:
      name: Airflow Get List Dag Runs Batch
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/dags/:dag_id/dagRuns/list'
      params:
      - name: dag_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get a list of DAG Runs.
- info:
    name: DagSource
    type: folder
  items:
  - info:
      name: Airflow Get Dag Source
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dagSources/:dag_id'
      headers:
      - name: accept
        value: ''
      params:
      - name: dag_id
        value: ''
        type: path
      - name: version_number
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get source code using file token.
- info:
    name: DagStats
    type: folder
  items:
  - info:
      name: Airflow Get Dag Stats
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dagStats'
      params:
      - name: dag_ids
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get Dag statistics.
- info:
    name: Config
    type: folder
  items:
  - info:
      name: Airflow Get Config
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/config'
      headers:
      - name: accept
        value: ''
      params:
      - name: section
        value: ''
        type: query
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Get Config
  - info:
      name: Airflow Get Config Value
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/config/section/:section/option/:option'
      headers:
      - name: accept
        value: ''
      params:
      - name: section
        value: ''
        type: path
      - name: option
        value: ''
        type: path
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Airflow Get Config Value
- info:
    name: DagWarning
    type: folder
  items:
  - info:
      name: Airflow List Dag Warnings
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dagWarnings'
      params:
      - name: dag_id
        value: ''
        type: query
      - name: warning_type
        value: ''
        type: query
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: order_by
        value: ''
        type: query
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported
          attributes: `dag_id, warning_type, message, timestamp`'
      auth:
        type: oauth2
        flow: resource_owner_password_credentials
        accessTokenUrl: /auth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get a list of DAG warnings.
- info:
    name: DAG
    type: folder
  items:
  - info:
      name: Airflow Get Dags
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/dags'
      params:
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: tags
        value: ''
        type: query
      - name: tags_match_mode
        value: ''
        type: query
      - name: owners
        value: ''
        type: query
      - name: dag_id_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: dag_display_name_pattern
        value: ''
        type: query
        description: SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR logic
          (e.g. `dag1 | dag2`). Regular expressions are **not** supported.
      - name: exclude_stale
        value: ''
        type: query
      - name: paused
        value: ''
        type: query
      - name: has_import_errors
        value: ''
        type: query
        description: Filter Dags by having import errors. Only Dags that have been successfully loaded before will be returned.
      - name: last_dag_run_state
        value: ''
        type: query
      - name: bundle_name
        value: ''
        type: query
      - name: bundle_version
        value: ''
        type: query
      - name: has_asset_schedule
        value: ''
        type: query
        description: Filter Dags with asset-based scheduling
      - name: asset_dependency
        value: ''
        type: query
        description: Filter Dags by asset dependency (name or URI)
      - name: dag_run_start_date_gte
        value: ''
        type: query
      - name: dag_run_start_date_gt
        value: ''
        type: query
      - name: dag_run_start_date_lte
        value: ''
        type: query
      - name: dag_run_start_date_lt
        value: ''
        type: query
      - name: dag

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/airflow/refs/heads/main/apis.yml