Apache Airflow Connection API

The Connection API from Apache Airflow — 3 operation(s) for connection.

Operations 6

GET /connections Apache Airflow List Connections #
POST /connections Apache Airflow Create a Connection #
POST /connections/test Apache Airflow Test a Connection #
DELETE /connections/{connection_id} Apache Airflow Delete a Connection #
GET /connections/{connection_id} Apache Airflow Get a Connection #
PATCH /connections/{connection_id} Apache Airflow Update a Connection #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/apache-airflow-connection-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

apache-airflow-connection-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: dev@airflow.apache.org
    name: Apache Software Foundation
    url: https://airflow.apache.org
    x-twitter: TheASF
  description: '# Overview


    To facilitate management, Apache Airflow supports a range of REST API endpoints across its

    objects.'
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Airflow API (Stable) Connection API
  version: 2.5.3
  x-apisguru-categories:
  - messaging
  x-logo:
    url: https://twitter.com/TheASF/profile_image?size=original
  x-origin:
  - format: openapi
    url: https://airflow.apache.org/docs/apache-airflow/stable/_specs/v1.yaml
    version: '3.0'
  x-providerName: apache.org
  x-serviceName: airflow
servers:
- description: Apache Airflow Stable API.
  url: /api/v1
- url: https://apache.local
security: []
tags:
- name: Connection
paths:
  /connections:
    get:
      operationId: get_connections
      parameters:
      - $ref: '#/components/parameters/PageLimit'
      - $ref: '#/components/parameters/PageOffset'
      - $ref: '#/components/parameters/OrderBy'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionCollection'
          description: Success.
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/PermissionDenied'
      summary: Apache Airflow List Connections
      tags:
      - Connection
      x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
    post:
      operationId: post_connection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Connection'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/PermissionDenied'
      summary: Apache Airflow Create a Connection
      tags:
      - Connection
      x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
  /connections/test:
    post:
      description: 'Test a connection.


        *New in version 2.2.0*'
      operationId: test_connection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Connection'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionTest'
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/PermissionDenied'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Apache Airflow Test a Connection
      tags:
      - Connection
      x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
  /connections/{connection_id}:
    parameters:
    - $ref: '#/components/parameters/ConnectionID'
    delete:
      operationId: delete_connection
      responses:
        '204':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/PermissionDenied'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Apache Airflow Delete a Connection
      tags:
      - Connection
      x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
    get:
      operationId: get_connection
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
          description: Success.
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/PermissionDenied'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Apache Airflow Get a Connection
      tags:
      - Connection
      x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
    patch:
      operationId: patch_connection
      parameters:
      - $ref: '#/components/parameters/UpdateMask'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Connection'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/PermissionDenied'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Apache Airflow Update a Connection
      tags:
      - Connection
      x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
components:
  schemas:
    CollectionInfo:
      description: Metadata about collection.
      properties:
        total_entries:
          description: 'Count of total objects in the current result set before pagination parameters

            (limit, offset) are applied.

            '
          type: integer
      type: object
    Connection:
      allOf:
      - $ref: '#/components/schemas/ConnectionCollectionItem'
      - properties:
          extra:
            description: Other values that cannot be put into another field, e.g. RSA keys.
            type:
            - string
            - 'null'
          password:
            description: Password of the connection.
            format: password
            type: string
            writeOnly: true
        type: object
      description: Full representation of the connection.
    ConnectionCollectionItem:
      description: 'Connection collection item.

        The password and extra fields are only available when retrieving a single object due to the sensitivity of this data.

        '
      properties:
        conn_type:
          description: The connection type.
          type: string
        connection_id:
          description: The connection ID.
          type: string
        description:
          description: The description of the connection.
          type:
          - string
          - 'null'
        host:
          description: Host of the connection.
          type:
          - string
          - 'null'
        login:
          description: Login of the connection.
          type:
          - string
          - 'null'
        port:
          description: Port of the connection.
          type:
          - integer
          - 'null'
        schema:
          description: Schema of the connection.
          type:
          - string
          - 'null'
      type: object
    Error:
      description: '[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.

        '
      properties:
        detail:
          description: A human-readable explanation specific to this occurrence of the problem.
          type: string
        instance:
          description: 'A URI reference that identifies the specific occurrence of the problem. It may or may

            not yield further information if dereferenced.

            '
          type: string
        status:
          description: The HTTP status code generated by the API server for this occurrence of the problem.
          type: number
        title:
          description: A short, human-readable summary of the problem type.
          type: string
        type:
          description: 'A URI reference [RFC3986] that identifies the problem type. This specification

            encourages that, when dereferenced, it provide human-readable documentation for

            the problem type.

            '
          type: string
      required:
      - type
      - title
      - status
      type: object
    ConnectionTest:
      description: 'Connection test results.


        *New in version 2.2.0*

        '
      properties:
        message:
          description: The success or failure message of the request.
          type: string
        status:
          description: The status of the request.
          type: boolean
      type: object
    ConnectionCollection:
      allOf:
      - properties:
          connections:
            items:
              $ref: '#/components/schemas/ConnectionCollectionItem'
            type: array
        type: object
      - $ref: '#/components/schemas/CollectionInfo'
      description: 'Collection of connections.


        *Changed in version 2.1.0*: ''total_entries'' field is added.

        '
      type: object
  parameters:
    ConnectionID:
      description: The connection ID.
      in: path
      name: connection_id
      required: true
      schema:
        type: string
    OrderBy:
      description: 'The name of the field to order the results by.

        Prefix a field name with `-` to reverse the sort order.


        *New in version 2.1.0*

        '
      in: query
      name: order_by
      required: false
      schema:
        type: string
    UpdateMask:
      description: 'The fields to update on the resource. If absent or empty, all modifiable fields are updated.

        A comma-separated list of fully qualified names of fields.

        '
      explode: false
      in: query
      name: update_mask
      schema:
        items:
          type: string
        type: array
      style: form
    PageOffset:
      description: The number of items to skip before starting to collect the result set.
      in: query
      name: offset
      required: false
      schema:
        minimum: 0
        type: integer
    PageLimit:
      description: The numbers of items to return.
      in: query
      name: limit
      required: false
      schema:
        default: 100
        type: integer
  responses:
    Unauthenticated:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Request not authenticated due to missing, invalid, authentication info.
    PermissionDenied:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Client does not have sufficient permission.
    NotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: A specified resource is not found.
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Client specified an invalid argument.
  securitySchemes:
    Basic:
      scheme: basic
      type: http
    GoogleOpenId:
      openIdConnectUrl: https://accounts.google.com/.well-known/openid-configuration
      type: openIdConnect
    Kerberos:
      scheme: negotiate
      type: http
externalDocs:
  url: https://airflow.apache.org/docs/apache-airflow/stable/