Apache Airflow · Capability

Airflow API — Connection

Airflow API — Connection. 8 operations. Lead operation: Airflow Get Connections. Self-contained Naftiko capability covering one Airflow business surface.

Run with Naftiko AirflowConnection

What You Can Do

GET
Getconnections — Airflow Get Connections
/v1/api/v2/connections
POST
Postconnection — Airflow Post Connection
/v1/api/v2/connections
PATCH
Bulkconnections — Airflow Bulk Connections
/v1/api/v2/connections
POST
Createdefaultconnections — Airflow Create Default Connections
/v1/api/v2/connections/defaults
POST
Testconnection — Airflow Test Connection
/v1/api/v2/connections/test
DELETE
Deleteconnection — Airflow Delete Connection
/v1/api/v2/connections/{connection-id}
GET
Getconnection — Airflow Get Connection
/v1/api/v2/connections/{connection-id}
PATCH
Patchconnection — Airflow Patch Connection
/v1/api/v2/connections/{connection-id}

MCP Tools

airflow-get-connections

Airflow Get Connections

read-only idempotent
airflow-post-connection

Airflow Post Connection

airflow-bulk-connections

Airflow Bulk Connections

idempotent
airflow-create-default-connections

Airflow Create Default Connections

airflow-test-connection

Airflow Test Connection

read-only
airflow-delete-connection

Airflow Delete Connection

idempotent
airflow-get-connection

Airflow Get Connection

read-only idempotent
airflow-patch-connection

Airflow Patch Connection

idempotent

Capability Spec

airflow-connection.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Airflow API — Connection
  description: 'Airflow API — Connection. 8 operations. Lead operation: Airflow Get Connections. Self-contained Naftiko capability
    covering one Airflow business surface.'
  tags:
  - Airflow
  - Connection
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AIRFLOW_API_KEY: AIRFLOW_API_KEY
capability:
  consumes:
  - type: http
    namespace: airflow-connection
    baseUri: ''
    description: Airflow API — Connection business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-connections
      path: /api/v2/connections
      operations:
      - name: getconnections
        method: GET
        description: Airflow Get Connections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
        - name: order_by
          in: query
          type: array
          description: 'Attributes to order by, multi criteria sort is supported. Prefix with `-` for descending order. Supported
            attributes: `conn_id, conn_type, description, host, po'
        - name: connection_id_pattern
          in: query
          type: string
          description: 'SQL LIKE expression — use `%` / `_` wildcards (e.g. `%customer_%`). or the pipe `|` operator for OR
            logic (e.g. `dag1 | dag2`). Regular expressions are **not** '
      - name: postconnection
        method: POST
        description: Airflow Post Connection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: bulkconnections
        method: PATCH
        description: Airflow Bulk Connections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-connections-defaults
      path: /api/v2/connections/defaults
      operations:
      - name: createdefaultconnections
        method: POST
        description: Airflow Create Default Connections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-connections-test
      path: /api/v2/connections/test
      operations:
      - name: testconnection
        method: POST
        description: Airflow Test Connection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-connections-connection_id
      path: /api/v2/connections/{connection_id}
      operations:
      - name: deleteconnection
        method: DELETE
        description: Airflow Delete Connection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: connection_id
          in: path
          type: string
          required: true
      - name: getconnection
        method: GET
        description: Airflow Get Connection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: connection_id
          in: path
          type: string
          required: true
      - name: patchconnection
        method: PATCH
        description: Airflow Patch Connection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: connection_id
          in: path
          type: string
          required: true
        - name: update_mask
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.AIRFLOW_API_KEY}}'
  exposes:
  - type: rest
    namespace: airflow-connection-rest
    port: 8080
    description: REST adapter for Airflow API — Connection. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/v2/connections
      name: api-v2-connections
      description: REST surface for api-v2-connections.
      operations:
      - method: GET
        name: getconnections
        description: Airflow Get Connections
        call: airflow-connection.getconnections
        with:
          limit: rest.limit
          offset: rest.offset
          order_by: rest.order_by
          connection_id_pattern: rest.connection_id_pattern
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postconnection
        description: Airflow Post Connection
        call: airflow-connection.postconnection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: bulkconnections
        description: Airflow Bulk Connections
        call: airflow-connection.bulkconnections
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/connections/defaults
      name: api-v2-connections-defaults
      description: REST surface for api-v2-connections-defaults.
      operations:
      - method: POST
        name: createdefaultconnections
        description: Airflow Create Default Connections
        call: airflow-connection.createdefaultconnections
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/connections/test
      name: api-v2-connections-test
      description: REST surface for api-v2-connections-test.
      operations:
      - method: POST
        name: testconnection
        description: Airflow Test Connection
        call: airflow-connection.testconnection
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/connections/{connection-id}
      name: api-v2-connections-connection-id
      description: REST surface for api-v2-connections-connection_id.
      operations:
      - method: DELETE
        name: deleteconnection
        description: Airflow Delete Connection
        call: airflow-connection.deleteconnection
        with:
          connection_id: rest.connection_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getconnection
        description: Airflow Get Connection
        call: airflow-connection.getconnection
        with:
          connection_id: rest.connection_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchconnection
        description: Airflow Patch Connection
        call: airflow-connection.patchconnection
        with:
          connection_id: rest.connection_id
          update_mask: rest.update_mask
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: airflow-connection-mcp
    port: 9090
    transport: http
    description: MCP adapter for Airflow API — Connection. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: airflow-get-connections
      description: Airflow Get Connections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: airflow-connection.getconnections
      with:
        limit: tools.limit
        offset: tools.offset
        order_by: tools.order_by
        connection_id_pattern: tools.connection_id_pattern
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-post-connection
      description: Airflow Post Connection
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: airflow-connection.postconnection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-bulk-connections
      description: Airflow Bulk Connections
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: airflow-connection.bulkconnections
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-create-default-connections
      description: Airflow Create Default Connections
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: airflow-connection.createdefaultconnections
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-test-connection
      description: Airflow Test Connection
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: airflow-connection.testconnection
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-delete-connection
      description: Airflow Delete Connection
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: airflow-connection.deleteconnection
      with:
        connection_id: tools.connection_id
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-get-connection
      description: Airflow Get Connection
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: airflow-connection.getconnection
      with:
        connection_id: tools.connection_id
      outputParameters:
      - type: object
        mapping: $.
    - name: airflow-patch-connection
      description: Airflow Patch Connection
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: airflow-connection.patchconnection
      with:
        connection_id: tools.connection_id
        update_mask: tools.update_mask
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.