Airbyte public_connections API

The public_connections API from Airbyte — 2 operation(s) for public_connections.

OpenAPI Specification

airbyte-public-connections-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: airbyte-api Applications public_connections API
  version: 1.0.0
  description: Programmatically control Airbyte Cloud, OSS & Enterprise.
servers:
- url: https://api.airbyte.com/v1
  description: Airbyte API v1
tags:
- name: public_connections
paths:
  /connections:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectionCreateRequest'
            examples:
              Connection Creation Request Example:
                value:
                  sourceId: 95e66a59-8045-4307-9678-63bc3c9b8c93
                  destinationId: e478de0d-a3a0-475c-b019-25f7dd29e281
                  name: Postgres-to-Bigquery
        required: true
      tags:
      - public_connections
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionResponse'
              examples:
                Connection Creation Response Example:
                  value:
                    connectionId: 9924bcd0-99be-453d-ba47-c2c9766f7da5
          description: Successful operation
        '400':
          description: Invalid data
        '403':
          description: Not allowed
      operationId: createConnection
      x-speakeasy-alias: createConnection
      x-speakeasy-group: Connections
      summary: Airbyte Create a Connection
      x-speakeasy-entity-operation: Connection#create
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      tags:
      - public_connections
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionsResponse'
              examples:
                listConnections200Example:
                  summary: Default listConnections 200 response
                  x-microcks-default: true
                  value:
                    previous: example
                    next: example
                    data: example
          description: Successful operation
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: listConnections
      x-speakeasy-alias: listConnections
      x-speakeasy-group: Connections
      summary: Airbyte List Connections
      x-speakeasy-entity-operation: Connections#read
      parameters:
      - name: workspaceIds
        description: The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces.
        schema:
          type: array
          items:
            format: uuid
            type: string
        in: query
        required: false
      - name: tagIds
        description: The UUIDs of the tags you wish to list connections for. Empty list will retrieve all connections.
        schema:
          type: array
          items:
            format: uuid
            type: string
        in: query
        required: false
      - name: includeDeleted
        description: Include deleted connections in the returned results.
        schema:
          default: false
          type: boolean
        in: query
        required: false
      - name: limit
        description: Set the limit on the number of Connections returned. The default is 20.
        schema:
          format: int32
          type: integer
          minimum: 1
          maximum: 100
          default: 20
        in: query
      - name: offset
        description: Set the offset to start at when returning Connections. The default is 0
        schema:
          type: integer
          format: int32
          minimum: 0
          default: 0
        in: query
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /connections/{connectionId}:
    parameters:
    - name: connectionId
      schema:
        format: UUID
        type: string
      in: path
      required: true
    get:
      tags:
      - public_connections
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionResponse'
              examples:
                Connection Get Response Example:
                  value:
                    workspaceId: 18dccc91-0ab1-4f72-9ed7-0b8fc27c5826
                    name: Postgres To Snowflake
                    sourceId: 9924bcd0-99be-453d-ba47-c2c9766f7da5
                    destinationId: 744cc0ed-7f05-4949-9e60-2a814f90c035
          description: Get a Connection by the id in the path.
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: getConnection
      x-speakeasy-alias: getConnection
      x-speakeasy-group: Connections
      summary: Airbyte Get Connection Details
      x-speakeasy-entity-operation: Connection#read
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      tags:
      - public_connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectionPatchRequest'
            examples:
              Connection Update Request Example:
                value:
                  sourceId: 95e66a59-8045-4307-9678-63bc3c9b8c93
                  destinationId: e478de0d-a3a0-475c-b019-25f7dd29e281
                  name: Postgres-to-Bigquery
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionResponse'
              examples:
                Connection Get Response Example:
                  value:
                    workspaceId: 18dccc91-0ab1-4f72-9ed7-0b8fc27c5826
                    name: Postgres To Snowflake
                    sourceId: 9924bcd0-99be-453d-ba47-c2c9766f7da5
                    destinationId: 744cc0ed-7f05-4949-9e60-2a814f90c035
          description: Update a Connection by the id in the path.
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: patchConnection
      x-speakeasy-alias: patchConnection
      x-speakeasy-group: Connections
      summary: Airbyte Update Connection Details
      x-speakeasy-entity-operation: Connection#update
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      tags:
      - public_connections
      responses:
        '204':
          description: The resource was deleted successfully
        '403':
          description: Not allowed
        '404':
          description: Not found
      operationId: deleteConnection
      x-speakeasy-alias: deleteConnection
      x-speakeasy-group: Connections
      summary: Airbyte Delete a Connection
      x-speakeasy-entity-operation: Connection#delete
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    NonBreakingSchemaUpdatesBehaviorEnumNoDefault:
      type: string
      description: Set how Airbyte handles syncs when it detects a non-breaking schema change in the source
      enum:
      - ignore
      - disable_connection
      - propagate_columns
      - propagate_fully
      x-speakeasy-component: true
    RowFilteringMapperConfiguration:
      title: Row Filtering
      type: object
      properties:
        conditions:
          $ref: '#/components/schemas/RowFilteringOperation'
      required:
      - conditions
      x-speakeasy-component: true
    ConnectionScheduleResponse:
      description: schedule for when the the connection should run, per the schedule type
      type: object
      required:
      - scheduleType
      properties:
        scheduleType:
          $ref: '#/components/schemas/ScheduleTypeWithBasicEnum'
        cronExpression:
          type: string
        basicTiming:
          type: string
      x-speakeasy-component: true
    ConfiguredStreamMapper:
      type: object
      required:
      - type
      - mapperConfiguration
      properties:
        id:
          type: string
          format: uuid
        type:
          $ref: '#/components/schemas/StreamMapperType'
        mapperConfiguration:
          $ref: '#/components/schemas/MapperConfiguration'
      x-speakeasy-component: true
    RowFilteringOperation:
      type: object
      oneOf:
      - $ref: '#/components/schemas/RowFilteringOperationEqual'
      - $ref: '#/components/schemas/RowFilteringOperationNot'
      discriminator:
        propertyName: type
        mapping:
          EQUAL: '#/components/schemas/RowFilteringOperationEqual'
          NOT: '#/components/schemas/RowFilteringOperationNot'
      x-speakeasy-component: true
      x-airbyte-circular-ref: true
    AirbyteApiConnectionSchedule:
      description: schedule for when the the connection should run, per the schedule type
      type: object
      required:
      - scheduleType
      properties:
        scheduleType:
          $ref: '#/components/schemas/ScheduleTypeEnum'
        cronExpression:
          type: string
      x-speakeasy-component: true
    EncryptionMapperAESConfiguration:
      title: Encryption - AES
      type: object
      properties:
        algorithm:
          $ref: '#/components/schemas/EncryptionMapperAlgorithm'
        fieldNameSuffix:
          type: string
        key:
          type: string
          x-speakeasy-param-sensitive: true
        mode:
          type: string
          enum:
          - CBC
          - CFB
          - OFB
          - CTR
          - GCM
          - ECB
        padding:
          type: string
          enum:
          - NoPadding
          - PKCS5Padding
        targetField:
          type: string
      required:
      - algorithm
      - key
      - mode
      - padding
      - targetField
      - fieldNameSuffix
      x-speakeasy-component: true
    StreamConfigurations:
      description: A list of configured stream options for a connection.
      type: object
      properties:
        streams:
          type: array
          format: set
          items:
            $ref: '#/components/schemas/StreamConfiguration'
      x-speakeasy-component: true
    RowFilteringOperationType:
      type: string
      enum:
      - EQUAL
      - NOT
      x-speakeasy-component: true
    StreamMapperType:
      type: string
      enum:
      - hashing
      - field-renaming
      - row-filtering
      - encryption
      - field-filtering
      x-speakeasy-component: true
    FieldRenamingMapperConfiguration:
      title: Field Renaming
      type: object
      properties:
        newFieldName:
          type: string
          title: New Field Name
          description: The new name for the field after renaming.
        originalFieldName:
          type: string
          title: Original Field Name
          description: The current name of the field to rename.
      required:
      - newFieldName
      - originalFieldName
      x-speakeasy-component: true
    HashingMapperConfiguration:
      title: Hashing
      type: object
      properties:
        fieldNameSuffix:
          type: string
          title: Field name suffix
          description: The suffix to append to the field name after hashing.
        method:
          type: string
          enum:
          - MD2
          - MD5
          - SHA-1
          - SHA-224
          - SHA-256
          - SHA-384
          - SHA-512
          title: Hashing method
          description: The hashing algorithm to use.
        targetField:
          type: string
          title: Original Field Name
          description: The name of the field to be hashed.
      required:
      - fieldNameSuffix
      - method
      - targetField
      x-speakeasy-component: true
    MapperConfiguration:
      type: object
      description: The values required to configure the mapper.
      oneOf:
      - $ref: '#/components/schemas/HashingMapperConfiguration'
      - $ref: '#/components/schemas/FieldFilteringMapperConfiguration'
      - $ref: '#/components/schemas/FieldRenamingMapperConfiguration'
      - $ref: '#/components/schemas/RowFilteringMapperConfiguration'
      - $ref: '#/components/schemas/EncryptionMapperConfiguration'
      x-speakeasy-component: true
    EncryptionMapperAlgorithm:
      type: string
      enum:
      - RSA
      - AES
      x-speakeasy-component: true
    WorkspaceId:
      type: string
      format: uuid
      x-speakeasy-component: true
    ConnectionSyncModeEnum:
      enum:
      - full_refresh_overwrite
      - full_refresh_overwrite_deduped
      - full_refresh_append
      - full_refresh_update
      - full_refresh_soft_delete
      - incremental_append
      - incremental_deduped_history
      - incremental_update
      - incremental_soft_delete
      x-speakeasy-component: true
    NonBreakingSchemaUpdatesBehaviorEnum:
      type: string
      description: Set how Airbyte handles syncs when it detects a non-breaking schema change in the source
      enum:
      - ignore
      - disable_connection
      - propagate_columns
      - propagate_fully
      default: ignore
      x-speakeasy-component: true
    ScheduleTypeWithBasicEnum:
      type: string
      enum:
      - manual
      - cron
      - basic
      x-speakeasy-component: true
    ScheduleTypeEnum:
      type: string
      enum:
      - manual
      - cron
      x-speakeasy-component: true
    ConnectionResponse:
      title: Root Type for ConnectionResponse
      description: Provides details of a single connection.
      type: object
      required:
      - connectionId
      - name
      - sourceId
      - destinationId
      - workspaceId
      - status
      - schedule
      - configurations
      - createdAt
      - tags
      properties:
        connectionId:
          format: UUID
          type: string
        name:
          type: string
        sourceId:
          format: UUID
          type: string
        destinationId:
          format: UUID
          type: string
        workspaceId:
          format: UUID
          type: string
        status:
          $ref: '#/components/schemas/ConnectionStatusEnum'
        schedule:
          $ref: '#/components/schemas/ConnectionScheduleResponse'
        nonBreakingSchemaUpdatesBehavior:
          $ref: '#/components/schemas/NonBreakingSchemaUpdatesBehaviorEnum'
        namespaceDefinition:
          $ref: '#/components/schemas/NamespaceDefinitionEnum'
        namespaceFormat:
          type: string
        prefix:
          type: string
        configurations:
          $ref: '#/components/schemas/StreamConfigurations'
        createdAt:
          format: int64
          type: integer
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        statusReason:
          type: string
      x-speakeasy-entity: Connection
      x-speakeasy-param-suppress-computed-diff: true
      x-speakeasy-component: true
    SelectedFields:
      description: Paths to the fields that will be included in the configured catalog.
      type: array
      format: set
      items:
        $ref: '#/components/schemas/SelectedFieldInfo'
      x-speakeasy-component: true
    RowFilteringOperationEqual:
      type: object
      title: EQUAL
      required:
      - comparisonValue
      - fieldName
      - type
      properties:
        comparisonValue:
          type: string
          title: Comparison Value
          description: The value to compare the field against.
        fieldName:
          type: string
          title: Field Name
          description: The name of the field to apply the operation on.
        type:
          $ref: '#/components/schemas/RowFilteringOperationType'
      x-speakeasy-component: true
    NamespaceDefinitionEnumNoDefault:
      type: string
      description: Define the location where the data will be stored in the destination
      enum:
      - source
      - destination
      - custom_format
      x-speakeasy-component: true
    ConnectionStatusEnum:
      type: string
      enum:
      - active
      - inactive
      - deprecated
      - locked
      x-speakeasy-component: true
    RowFilteringOperationNot:
      type: object
      title: NOT
      required:
      - conditions
      - type
      properties:
        conditions:
          title: Sub-Conditions (NOT)
          description: Conditions to evaluate with the NOT operator.
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/RowFilteringOperation'
        type:
          $ref: '#/components/schemas/RowFilteringOperationType'
      x-speakeasy-component: true
    TagId:
      type: string
      format: uuid
      x-speakeasy-component: true
    ConnectionCreateRequest:
      required:
      - sourceId
      - destinationId
      type: object
      properties:
        name:
          description: Optional name of the connection
          type: string
        sourceId:
          format: uuid
          type: string
        destinationId:
          format: uuid
          type: string
        configurations:
          $ref: '#/components/schemas/StreamConfigurations'
        schedule:
          $ref: '#/components/schemas/AirbyteApiConnectionSchedule'
        dataResidency:
          deprecated: true
          x-speakeasy-deprecation-message: We no longer support modifying dataResidency on Community and Enterprise connections. All connections will use the dataResidency of their associated workspace.
          type: string
        namespaceDefinition:
          $ref: '#/components/schemas/NamespaceDefinitionEnum'
        namespaceFormat:
          type: string
          description: Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'.
          default: null
          example: ${SOURCE_NAMESPACE}
        prefix:
          type: string
          description: Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”).
          default: ''
        nonBreakingSchemaUpdatesBehavior:
          $ref: '#/components/schemas/NonBreakingSchemaUpdatesBehaviorEnum'
        status:
          $ref: '#/components/schemas/ConnectionStatusEnum'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
      x-speakeasy-entity: Connection
      x-speakeasy-param-suppress-computed-diff: true
      x-speakeasy-component: true
    NamespaceDefinitionEnum:
      type: string
      description: Define the location where the data will be stored in the destination
      enum:
      - source
      - destination
      - custom_format
      default: destination
      x-speakeasy-component: true
    StreamConfiguration:
      description: Configurations for a single stream.
      type: object
      required:
      - name
      properties:
        name:
          type: string
        namespace:
          type: string
          description: Namespace of the stream.
        syncMode:
          $ref: '#/components/schemas/ConnectionSyncModeEnum'
        cursorField:
          description: Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default.
          type: array
          items:
            type: string
        primaryKey:
          description: Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema.
          type: array
          items:
            type: array
            items:
              type: string
        includeFiles:
          description: Whether to move raw files from the source to the destination during the sync.
          type: boolean
        destinationObjectName:
          description: The name of the destination object that this stream will be written to, used for data activation destinations.
          type: string
        selectedFields:
          description: By default (if not provided in the request) all fields will be synced. Otherwise, only the fields in this list will be synced.
          $ref: '#/components/schemas/SelectedFields'
        mappers:
          description: Mappers that should be applied to the stream before writing to the destination.
          type: array
          items:
            $ref: '#/components/schemas/ConfiguredStreamMapper'
      x-speakeasy-component: true
    FieldFilteringMapperConfiguration:
      title: Field Filtering
      type: object
      properties:
        targetField:
          type: string
          title: The Field to Filter
          description: The name of the field to filter.
      required:
      - targetField
      x-speakeasy-component: true
    ConnectionsResponse:
      title: Root Type for ConnectionsResponse
      description: ''
      required:
      - data
      type: object
      properties:
        previous:
          type: string
        next:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/ConnectionResponse'
          default: []
      example:
        next: https://api.airbyte.com/v1/connections?limit=5&offset=10
        previous: https://api.airbyte.com/v1/connections?limit=5&offset=0
        data:
        - name: test-connection
        - connection_id: 18dccc91-0ab1-4f72-9ed7-0b8fc27c5826
        - sourceId: 49237019-645d-47d4-b45b-5eddf97775ce
        - destinationId: al312fs-0ab1-4f72-9ed7-0b8fc27c5826
        - schedule:
            scheduleType: manual
        - status: active
      x-speakeasy-component: true
    EncryptionMapperConfiguration:
      title: Encryption
      type: object
      oneOf:
      - $ref: '#/components/schemas/EncryptionMapperRSAConfiguration'
      - $ref: '#/components/schemas/EncryptionMapperAESConfiguration'
      discriminator:
        propertyName: algorithm
        mapping:
          RSA: '#/components/schemas/EncryptionMapperRSAConfiguration'
          AES: '#/components/schemas/EncryptionMapperAESConfiguration'
      x-speakeasy-component: true
    ConnectionPatchRequest:
      type: object
      properties:
        name:
          description: Optional name of the connection
          type: string
        configurations:
          $ref: '#/components/schemas/StreamConfigurations'
        schedule:
          $ref: '#/components/schemas/AirbyteApiConnectionSchedule'
        dataResidency:
          deprecated: true
          x-speakeasy-deprecation-message: We no longer support modifying dataResidency on Community and Enterprise connections. All connections will use the dataResidency of their associated workspace.
          type: string
        namespaceDefinition:
          $ref: '#/components/schemas/NamespaceDefinitionEnumNoDefault'
        namespaceFormat:
          type: string
          description: Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'.
          default: null
          example: ${SOURCE_NAMESPACE}
        prefix:
          type: string
          description: Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”).
        nonBreakingSchemaUpdatesBehavior:
          $ref: '#/components/schemas/NonBreakingSchemaUpdatesBehaviorEnumNoDefault'
        status:
          $ref: '#/components/schemas/ConnectionStatusEnum'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
      x-speakeasy-entity: Connection
      x-speakeasy-param-suppress-computed-diff: true
      x-speakeasy-component: true
    SelectedFieldInfo:
      type: object
      description: Path to a field/column/property in a stream to be selected. For example, if the field to be selected is a database column called "foo", this will be ["foo"]. Use multiple path elements for nested schemas.
      properties:
        fieldPath:
          type: array
          items:
            type: string
      x-speakeasy-component: true
    EncryptionMapperRSAConfiguration:
      title: Encryption - RSA
      type: object
      properties:
        algorithm:
          $ref: '#/components/schemas/EncryptionMapperAlgorithm'
        fieldNameSuffix:
          type: string
        publicKey:
          type: string
        targetField:
          type: string
      required:
      - algorithm
      - publicKey
      - targetField
      - fieldNameSuffix
      x-speakeasy-component: true
    Tag:
      description: A tag that can be associated with a connection. Useful for grouping and organizing connections in a workspace.
      type: object
      x-speakeasy-component: true
      required:
      - tagId
      - workspaceId
      - name
      - color
      properties:
        tagId:
          $ref: '#/components/schemas/TagId'
        workspaceId:
          $ref: '#/components/schemas/WorkspaceId'
        name:
          type: string
        color:
          type: string