Apache Airflow Pool API

The Pool API from Apache Airflow — 2 operation(s) for pool.

OpenAPI Specification

airflow-pool-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Airflow Asset Pool 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: Pool
paths:
  /api/v2/pools/{pool_name}:
    delete:
      tags:
      - Pool
      summary: Airflow Delete Pool
      description: Delete a pool entry.
      operationId: delete_pool
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: pool_name
        in: path
        required: true
        schema:
          type: string
          title: Pool Name
      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
        '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
    get:
      tags:
      - Pool
      summary: Airflow Get Pool
      description: Get a pool.
      operationId: get_pool
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: pool_name
        in: path
        required: true
        schema:
          type: string
          title: Pool Name
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolResponse'
        '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
    patch:
      tags:
      - Pool
      summary: Airflow Patch Pool
      description: Update a Pool.
      operationId: patch_pool
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      parameters:
      - name: pool_name
        in: path
        required: true
        schema:
          type: string
          title: Pool Name
      - 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/PoolPatchBody'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolResponse'
        '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/pools:
    get:
      tags:
      - Pool
      summary: Airflow Get Pools
      description: Get all pools entries.
      operationId: get_pools
      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: `id, pool, name`'
          default:
          - id
          title: Order By
        description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported attributes: `id, pool, name`'
      - name: pool_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: Pool 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/PoolCollectionResponse'
        '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
    post:
      tags:
      - Pool
      summary: Airflow Post Pool
      description: Create a Pool.
      operationId: post_pool
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PoolBody'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: Forbidden
        '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
    patch:
      tags:
      - Pool
      summary: Airflow Bulk Pools
      description: Bulk create, update, and delete pools.
      operationId: bulk_pools
      security:
      - OAuth2PasswordBearer: []
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkBody_PoolBody_'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkResponse'
        '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:
    BulkResponse:
      properties:
        create:
          anyOf:
          - $ref: '#/components/schemas/BulkActionResponse'
          - type: 'null'
          description: Details of the bulk create operation, including successful keys and errors.
        update:
          anyOf:
          - $ref: '#/components/schemas/BulkActionResponse'
          - type: 'null'
          description: Details of the bulk update operation, including successful keys and errors.
        delete:
          anyOf:
          - $ref: '#/components/schemas/BulkActionResponse'
          - type: 'null'
          description: Details of the bulk delete operation, including successful keys and errors.
      type: object
      title: BulkResponse
      description: 'Serializer for responses to bulk entity operations.


        This represents the results of create, update, and delete actions performed on entity in bulk.

        Each action (if requested) is represented as a field containing details about successful keys and any encountered errors.

        Fields are populated in the response only if the respective action was part of the request, else are set None.'
    BulkActionNotOnExistence:
      type: string
      enum:
      - fail
      - skip
      title: BulkActionNotOnExistence
      description: Bulk Action to be taken if the entity does not exist.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    BulkBody_PoolBody_:
      properties:
        actions:
          items:
            oneOf:
            - $ref: '#/components/schemas/BulkCreateAction_PoolBody_'
            - $ref: '#/components/schemas/BulkUpdateAction_PoolBody_'
            - $ref: '#/components/schemas/BulkDeleteAction_PoolBody_'
          type: array
          title: Actions
      additionalProperties: false
      type: object
      required:
      - actions
      title: BulkBody[PoolBody]
    PoolCollectionResponse:
      properties:
        pools:
          items:
            $ref: '#/components/schemas/PoolResponse'
          type: array
          title: Pools
        total_entries:
          type: integer
          title: Total Entries
      type: object
      required:
      - pools
      - total_entries
      title: PoolCollectionResponse
      description: Pool Collection serializer for responses.
    PoolBody:
      properties:
        name:
          type: string
          maxLength: 256
          title: Name
        slots:
          type: integer
          minimum: -1.0
          title: Slots
          description: Number of slots. Use -1 for unlimited.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        include_deferred:
          type: boolean
          title: Include Deferred
          default: false
        team_name:
          anyOf:
          - type: string
            maxLength: 50
          - type: 'null'
          title: Team Name
      additionalProperties: false
      type: object
      required:
      - name
      - slots
      title: PoolBody
      description: Pool serializer for post bodies.
    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
    PoolPatchBody:
      properties:
        pool:
          anyOf:
          - type: string
          - type: 'null'
          title: Pool
        slots:
          anyOf:
          - type: integer
            minimum: -1.0
            description: Number of slots. Use -1 for unlimited.
          - type: 'null'
          title: Slots
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        include_deferred:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Include Deferred
        team_name:
          anyOf:
          - type: string
            maxLength: 50
          - type: 'null'
          title: Team Name
      additionalProperties: false
      type: object
      title: PoolPatchBody
      description: Pool serializer for patch bodies.
    BulkUpdateAction_PoolBody_:
      properties:
        action:
          type: string
          const: update
          title: Action
          description: The action to be performed on the entities.
        entities:
          items:
            $ref: '#/components/schemas/PoolBody'
          type: array
          title: Entities
          description: A list of entities to be updated.
        update_mask:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Update Mask
          description: A list of field names to update for each entity.Only these fields will be applied from the request body to the database model.Any extra fields provided will be ignored.
        action_on_non_existence:
          $ref: '#/components/schemas/BulkActionNotOnExistence'
          default: fail
      additionalProperties: false
      type: object
      required:
      - action
      - entities
      title: BulkUpdateAction[PoolBody]
    BulkCreateAction_PoolBody_:
      properties:
        action:
          type: string
          const: create
          title: Action
          description: The action to be performed on the entities.
        entities:
          items:
            $ref: '#/components/schemas/PoolBody'
          type: array
          title: Entities
          description: A list of entities to be created.
        action_on_existence:
          $ref: '#/components/schemas/BulkActionOnExistence'
          default: fail
      additionalProperties: false
      type: object
      required:
      - action
      - entities
      title: BulkCreateAction[PoolBody]
    BulkActionResponse:
      properties:
        success:
          items:
            type: string
          type: array
          title: Success
          description: A list of unique id/key representing successful operations.
          default: []
        errors:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Errors
          description: A list of errors encountered during the operation, each containing details about the issue.
          default: []
      type: object
      title: BulkActionResponse
      description: 'Serializer for individual bulk action responses.


        Represents the outcome of a single bulk operation (create, update, or delete).

        The response includes a list of successful keys and any errors encountered during the operation.

        This structure helps users understand which key actions succeeded and which failed.'
    BulkActionOnExistence:
      type: string
      enum:
      - fail
      - skip
      - overwrite
      title: BulkActionOnExistence
      description: Bulk Action to be taken if the entity already exists or not.
    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.
    BulkDeleteAction_PoolBody_:
      properties:
        action:
          type: string
          const: delete
          title: Action
          description: The action to be performed on the entities.
        entities:
          items:
            anyOf:
            - type: string
            - $ref: '#/components/schemas/PoolBody'
          type: array
          title: Entities
          description: A list of entity id/key or entity objects to be deleted.
        action_on_non_existence:
          $ref: '#/components/schemas/BulkActionNotOnExistence'
          default: fail
      additionalProperties: false
      type: object
      required:
      - action
      - entities
      title: BulkDeleteAction[PoolBody]
    PoolResponse:
      properties:
        name:
          type: string
          title: Name
        slots:
          type: integer
          minimum: -1.0
          title: Slots
          description: Number of slots. Use -1 for unlimited.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        include_deferred:
          type: boolean
          title: Include Deferred
        occupied_slots:
          type: integer
          title: Occupied Slots
        running_slots:
          type: integer
          title: Running Slots
        queued_slots:
          type: integer
          title: Queued Slots
        scheduled_slots:
          type: integer
          title: Scheduled Slots
        open_slots:
          type: integer
          title: Open Slots
        deferred_slots:
          type: integer
          title: Deferred Slots
        team_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Team Name
      type: object
      required:
      - name
      - slots
      - include_deferred
      - occupied_slots
      - running_slots
      - queued_slots
      - scheduled_slots
      - open_slots
      - deferred_slots
      - team_name
      title: PoolResponse
      description: Pool 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