Apache Airflow Task API

The Task API from Apache Airflow — 2 operation(s) for task.

OpenAPI Specification

airflow-task-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Airflow Asset Task 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: Task
paths:
  /api/v2/dags/{dag_id}/tasks:
    get:
      tags:
      - Task
      summary: Airflow Get Tasks
      description: Get tasks for DAG.
      operationId: get_tasks
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: dag_id
        in: path
        required: true
        schema:
          type: string
          title: Dag Id
      - name: order_by
        in: query
        required: false
        schema:
          type: string
          default: task_id
          title: Order By
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCollectionResponse'
        '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}/tasks/{task_id}:
    get:
      tags:
      - Task
      summary: Airflow Get Task
      description: Get simplified representation of a task.
      operationId: get_task
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: dag_id
        in: path
        required: true
        schema:
          type: string
          title: Dag Id
      - name: task_id
        in: path
        required: true
        schema:
          title: Task Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskResponse'
        '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
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TaskCollectionResponse:
      properties:
        tasks:
          items:
            $ref: '#/components/schemas/TaskResponse'
          type: array
          title: Tasks
        total_entries:
          type: integer
          title: Total Entries
      type: object
      required:
      - tasks
      - total_entries
      title: TaskCollectionResponse
      description: Task collection serializer for responses.
    TimeDelta:
      properties:
        __type:
          type: string
          title: Type
          default: TimeDelta
        days:
          type: integer
          title: Days
        seconds:
          type: integer
          title: Seconds
        microseconds:
          type: integer
          title: Microseconds
      type: object
      required:
      - days
      - seconds
      - microseconds
      title: TimeDelta
      description: TimeDelta can be used to interact with datetime.timedelta objects.
    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
    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.
    TaskResponse:
      properties:
        task_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Task Id
        task_display_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Task Display Name
        owner:
          anyOf:
          - type: string
          - type: 'null'
          title: Owner
        start_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Start Date
        end_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: End Date
        trigger_rule:
          anyOf:
          - type: string
          - type: 'null'
          title: Trigger Rule
        depends_on_past:
          type: boolean
          title: Depends On Past
        wait_for_downstream:
          type: boolean
          title: Wait For Downstream
        retries:
          anyOf:
          - type: number
          - type: 'null'
          title: Retries
        queue:
          anyOf:
          - type: string
          - type: 'null'
          title: Queue
        pool:
          anyOf:
          - type: string
          - type: 'null'
          title: Pool
        pool_slots:
          anyOf:
          - type: number
          - type: 'null'
          title: Pool Slots
        execution_timeout:
          anyOf:
          - $ref: '#/components/schemas/TimeDelta'
          - type: 'null'
        retry_delay:
          anyOf:
          - $ref: '#/components/schemas/TimeDelta'
          - type: 'null'
        retry_exponential_backoff:
          type: number
          title: Retry Exponential Backoff
        priority_weight:
          anyOf:
          - type: number
          - type: 'null'
          title: Priority Weight
        weight_rule:
          anyOf:
          - type: string
          - type: 'null'
          title: Weight Rule
        ui_color:
          anyOf:
          - type: string
          - type: 'null'
          title: Ui Color
        ui_fgcolor:
          anyOf:
          - type: string
          - type: 'null'
          title: Ui Fgcolor
        template_fields:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Template Fields
        downstream_task_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Downstream Task Ids
        doc_md:
          anyOf:
          - type: string
          - type: 'null'
          title: Doc Md
        operator_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Operator Name
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Params
        class_ref:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Class Ref
        is_mapped:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Mapped
        extra_links:
          items:
            type: string
          type: array
          title: Extra Links
          description: Extract and return extra_links.
          readOnly: true
      type: object
      required:
      - task_id
      - task_display_name
      - owner
      - start_date
      - end_date
      - trigger_rule
      - depends_on_past
      - wait_for_downstream
      - retries
      - queue
      - pool
      - pool_slots
      - execution_timeout
      - retry_delay
      - retry_exponential_backoff
      - priority_weight
      - weight_rule
      - ui_color
      - ui_fgcolor
      - template_fields
      - downstream_task_ids
      - doc_md
      - operator_name
      - params
      - class_ref
      - is_mapped
      - extra_links
      title: TaskResponse
      description: Task serializer for responses.
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      description: To authenticate Airflow API requests, clients must include a JWT (JSON Web Token) in the Authorization header of each request. This token is used to verify the identity of the client and ensure that they have the appropriate permissions to access the requested resources. You can use the endpoint ``POST /auth/token`` in order to generate a JWT token. Upon successful authentication, the server will issue a JWT token that contains the necessary information (such as user identity and scope) to authenticate subsequent requests. To learn more about Airflow public API authentication, please read https://airflow.apache.org/docs/apache-airflow/stable/security/api.html.
      flows:
        password:
          scopes: {}
          tokenUrl: /auth/token
    HTTPBearer:
      type: http
      scheme: bearer