Apache Airflow DAG API

The DAG API from Apache Airflow — 6 operation(s) for dag.

OpenAPI Specification

airflow-dag-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Airflow Asset DAG API
  description: Airflow API. All endpoints located under ``/api/v2`` can be used safely, are stable and backward compatible. Endpoints located under ``/ui`` are dedicated to the UI and are subject to breaking change depending on the need of the frontend. Users should not rely on those but use the public ones instead.
  version: '2'
tags:
- name: DAG
paths:
  /api/v2/dags:
    get:
      tags:
      - DAG
      summary: Airflow Get Dags
      description: Get all DAGs.
      operationId: get_dags
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      - name: tags
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          title: Tags
      - name: tags_match_mode
        in: query
        required: false
        schema:
          anyOf:
          - enum:
            - any
            - all
            type: string
          - type: 'null'
          title: Tags Match Mode
      - name: owners
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          title: Owners
      - name: dag_id_pattern
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          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.
          title: Dag Id Pattern
        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
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          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.
          title: Dag Display Name Pattern
        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
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Exclude Stale
      - name: paused
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Paused
      - name: has_import_errors
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Filter Dags by having import errors. Only Dags that have been successfully loaded before will be returned.
          title: Has Import Errors
        description: Filter Dags by having import errors. Only Dags that have been successfully loaded before will be returned.
      - name: last_dag_run_state
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/DagRunState'
          - type: 'null'
          title: Last Dag Run State
      - name: bundle_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Bundle Name
      - name: bundle_version
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Bundle Version
      - name: has_asset_schedule
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Filter Dags with asset-based scheduling
          title: Has Asset Schedule
        description: Filter Dags with asset-based scheduling
      - name: asset_dependency
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter Dags by asset dependency (name or URI)
          title: Asset Dependency
        description: Filter Dags by asset dependency (name or URI)
      - name: dag_run_start_date_gte
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Dag Run Start Date Gte
      - name: dag_run_start_date_gt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Dag Run Start Date Gt
      - name: dag_run_start_date_lte
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Dag Run Start Date Lte
      - name: dag_run_start_date_lt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Dag Run Start Date Lt
      - name: dag_run_end_date_gte
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Dag Run End Date Gte
      - name: dag_run_end_date_gt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Dag Run End Date Gt
      - name: dag_run_end_date_lte
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Dag Run End Date Lte
      - name: dag_run_end_date_lt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Dag Run End Date Lt
      - name: dag_run_state
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          title: Dag Run State
      - name: order_by
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported attributes: `dag_id, dag_display_name, next_dagrun, state, start_date, last_run_state, last_run_start_date`'
          default:
          - dag_id
          title: Order By
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported attributes: `dag_id, dag_display_name, next_dagrun, state, start_date, last_run_state, last_run_start_date`'
      - name: is_favorite
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Favorite
      - name: timetable_type
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          title: Timetable Type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DAGCollectionResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      tags:
      - DAG
      summary: Airflow Patch Dags
      description: 'Patch multiple DAGs.


        If `dag_id_pattern` is not provided, no DAGs will be matched regardless

        of other filters. To match all DAGs, pass a wildcard value such as `~`

        or `%` for `dag_id_pattern`.'
      operationId: patch_dags
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: update_mask
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Update Mask
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      - name: tags
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          title: Tags
      - name: tags_match_mode
        in: query
        required: false
        schema:
          anyOf:
          - enum:
            - any
            - all
            type: string
          - type: 'null'
          title: Tags Match Mode
      - name: owners
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          title: Owners
      - name: dag_id_pattern
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          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.
          title: Dag Id Pattern
        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
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Exclude Stale
      - name: paused
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Paused
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DAGPatchBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DAGCollectionResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/dags/{dag_id}:
    get:
      tags:
      - DAG
      summary: Airflow Get Dag
      description: Get basic information about a DAG.
      operationId: get_dag
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: dag_id
        in: path
        required: true
        schema:
          type: string
          title: Dag Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DAGResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unprocessable Entity
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      tags:
      - DAG
      summary: Airflow Patch Dag
      description: Patch the specific DAG.
      operationId: patch_dag
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: dag_id
        in: path
        required: true
        schema:
          type: string
          title: Dag Id
      - name: update_mask
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Update Mask
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DAGPatchBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DAGResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      tags:
      - DAG
      summary: Airflow Delete Dag
      description: Delete the specific DAG.
      operationId: delete_dag
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: dag_id
        in: path
        required: true
        schema:
          type: string
          title: Dag Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unprocessable Entity
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/dags/{dag_id}/details:
    get:
      tags:
      - DAG
      summary: Airflow Get Dag Details
      description: Get details of DAG.
      operationId: get_dag_details
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: dag_id
        in: path
        required: true
        schema:
          type: string
          title: Dag Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DAGDetailsResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/dags/{dag_id}/favorite:
    post:
      tags:
      - DAG
      summary: Airflow Favorite Dag
      description: Mark the DAG as favorite.
      operationId: favorite_dag
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: dag_id
        in: path
        required: true
        schema:
          type: string
          title: Dag Id
      responses:
        '204':
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/dags/{dag_id}/unfavorite:
    post:
      tags:
      - DAG
      summary: Airflow Unfavorite Dag
      description: Unmark the DAG as favorite.
      operationId: unfavorite_dag
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: dag_id
        in: path
        required: true
        schema:
          type: string
          title: Dag Id
      responses:
        '204':
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Conflict
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/dagTags:
    get:
      tags:
      - DAG
      summary: Airflow Get Dag Tags
      description: Get all DAG tags.
      operationId: get_dag_tags
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      - name: order_by
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported attributes: `name`'
          default:
          - name
          title: Order By
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported attributes: `name`'
      - name: tag_name_pattern
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          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.
          title: Tag Name Pattern
        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.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DAGTagCollectionResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    DagVersionResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        version_number:
          type: integer
          title: Version Number
        dag_id:
          type: string
          title: Dag Id
        bundle_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Bundle Name
        bundle_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Bundle Version
        created_at:
          type: string
          format: date-time
          title: Created At
        dag_display_name:
          type: string
          title: Dag Display Name
        bundle_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Bundle Url
      type: object
      required:
      - id
      - version_number
      - dag_id
      - bundle_name
      - bundle_version
      - created_at
      - dag_display_name
      - bundle_url
      title: DagVersionResponse
      description: Dag Version serializer for responses.
    DagRunState:
      type: string
      enum:
      - queued
      - running
      - success
      - failed
      title: DagRunState
      description: 'All possible states that a DagRun can be in.


        These are "shared" with TaskInstanceState in some parts of the code,

        so please ensure that their values always match the ones with the

        same name in TaskInstanceState.'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    HTTPExceptionResponse:
      properties:
        detail:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          title: Detail
      type: object
      required:
      - detail
      title: HTTPExceptionResponse
      description: HTTPException Model used for error response.
    DAGCollectionResponse:
      properties:
        dags:
          items:
            $ref: '#/components/schemas/DAGResponse'
          type: array
          title: Dags
        total_entries:
          type: integer
          title: Total Entries
      type: object
      required:
      - dags
      - total_entries
      title: DAGCollectionResponse
      description: DAG Collection serializer for responses.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    DAGPatchBody:
      properties:
        is_paused:
          type: boolean
          title: Is Paused
      additionalProperties: false
      type: object
      required:
      - is_paused
      title: DAGPatchBody
      description: Dag Serializer for updatable bodies.
    DAGTagCollectionResponse:
      properties:
        tags:
          items:
            type: string
          type: array
          title: Tags
        total_entries:
          type: integer
          title: Total Entries
      type: object
      required:
      - tags
      - total_entries
      title: DAGTagCollectionResponse
      description: DAG Tags Collection serializer for responses.
    DAGResponse:
      properties:
        dag_id:
          type: string
          title: Dag Id
        dag_display_name:
          type: string
          title: Dag Display Name
        is_paused:
          type: boolean
          title: Is Paused
        is_stale:
          type: boolean
          title: Is Stale
        last_parsed_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Parsed Time
        last_parse_duration:
          anyOf:
          - type: number
          - type: 'null'
          title: Last Parse Duration
        last_expired:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Expired
        bundle_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Bundle Name
        bundle_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Bundle Version
        relative_fileloc:
          anyOf:
          - type: string
          - type: 'null'
          title: Relative Fileloc
        fileloc:
          type: string
          title: Fileloc
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        timetable_summary:
          anyOf:
          - type: string
          - type: 'null'
          title: Timetable Summary
        timetable_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Timetable Description
        timetable_partitioned:
          type: boolean
          title: Timetable Partitioned
        timetable_periodic:
          type: boolean
          title: Timetable Periodic
        tags:
          items:
            $ref: '#/components/schemas/DagTagResponse'
          type: array
          title: Tags
        max_active_tasks:
          type: integer
          title: Max Active Tasks
        max_active_runs:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Active Runs
        max_consecutive_failed_dag_runs:
          type: integer
          title: Max Consecutive Failed Dag Runs
        has_task_concurrency_limits:
          type: boolean
          title: Has Task Concurrency Limits
        has_import_errors:
          type: boolean
          title: Has Import Errors
        next_dagrun_logical_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Next Dagrun Logical Date
        next_dagrun_data_interval_start:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Next Dagrun Data Interval Start
        next_dagrun_data_interval_end:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Next Dagrun Data Interval End
        next_dagrun_run_after:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Next Dagrun Run After
        allowed_run_types:
          anyOf:
          - items:
              $ref: '#/components/schemas/DagRunType'
            type: array
          - type: 'null'
          title: Allowed Run Types
        owners:
          items:
            type: string
          type: array
          title: Owners
        is_backfillable:
          type: boolean
          title: Is Backfillable
          description: Whether this DAG's schedule supports backfilling.
          readOnly: true
        file_token:
          type: string
          title: File Token
          description: Return file token.
          readOnly: true
      type: object
      required:
      - dag_id
      - dag_display_name
      - is_paused
      - is_stale
      - last_parsed_time
      - last_parse_duration
      - last_expired
      - bundle_name
      - bundle_version
      - relative_fileloc
      - fileloc
      - description
      - timetable_summary
      - timetable_description
      - timetable_partitioned
      - timetable_periodic
      - tags
      - max_active_tasks
      - max_active_runs
      - max_consecutive_failed_dag_runs
      - has_task_concurrency_limits
      - has_import_errors
      - next_dagrun_logical_date
      - next_dagrun_data_interval_start
      - next_dagrun_data_interval_end
      - next_dagrun_run_after
      - allowed_run_types
      - owners
      - is_backfillable
      - file_token
      title: DAGRespon

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