---
title: "Update a connection"
method: POST
path: "/v1/web_backend/connections/update"
tags: ["web_backend"]
---

# Update a connection

`POST /v1/web_backend/connections/update`

Apply a patch-style update to a connection. Only fields present on the update request body will be updated.
Any operations that lack an ID will be created. Then, the newly created operationId will be applied to the
connection along with the rest of the operationIds in the request body.
Apply a patch-style update to a connection. Only fields present on the update request body will be updated.
Note that if a catalog is present in the request body, the connection's entire catalog will be replaced
with the catalog from the request. This means that to modify a single stream, the entire new catalog
containing the updated stream needs to be sent.

## Request body

- WebBackendConnectionUpdate — Used to apply a patch-style update to a connection, which means that null properties remain unchanged
  - `connectionId` string, uuid, required
  - `geography` 'auto' | 'us' | 'eu'
  - `name` string — Name that will be set to the connection
  - `namespaceDefinition` 'source' | 'destination' | 'customformat' — Method used for computing final namespace in destination
  - `namespaceFormat` string — Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'.
  - `nonBreakingChangesPreference` 'ignore' | 'disable'
  - `notifySchemaChanges` boolean
  - `operations` WebBackendOperationCreateOrUpdate[]
    - `name` string, required
    - `operationId` string, uuid
    - `operatorConfiguration` OperatorConfiguration, required
      - `dbt` OperatorDbt
        - `dbtArguments` string
        - `dockerImage` string
        - `gitRepoBranch` string
        - `gitRepoUrl` string, required
      - `normalization` OperatorNormalization
        - `option` 'basic'
      - `operatorType` 'normalization' | 'dbt' | 'webhook', required
      - `webhook` OperatorWebhook
        - `dbtCloud` object
          - `accountId` integer, required — The account id associated with the job
          - `jobId` integer, required — The job id associated with the job
        - `executionBody` string — DEPRECATED. Populate dbtCloud instead.
        - `executionUrl` string — DEPRECATED. Populate dbtCloud instead.
        - `webhookConfigId` string, uuid — The id of the webhook configs to use from the workspace.
        - `webhookType` 'dbtCloud'
    - `workspaceId` string, uuid, required
  - `prefix` string — Prefix that will be prepended to the name of each stream when it is written to the destination.
  - `resourceRequirements` ResourceRequirements — optional resource requirements to run workers (blank for unbounded allocations)
    - `cpu_limit` string
    - `cpu_request` string
    - `memory_limit` string
    - `memory_request` string
  - `schedule` ConnectionSchedule — if null, then no schedule is set.
    - `timeUnit` 'minutes' | 'hours' | 'days' | 'weeks' | 'months', required
    - `units` integer, required
  - `scheduleData` ConnectionScheduleData — schedule for when the the connection should run, per the schedule type
    - `basicSchedule` object
      - `timeUnit` 'minutes' | 'hours' | 'days' | 'weeks' | 'months', required
      - `units` integer, required
    - `cron` object
      - `cronExpression` string, required
      - `cronTimeZone` string, required
  - `scheduleType` 'manual' | 'basic' | 'cron' — determine how the schedule data should be interpreted
  - `skipReset` boolean
  - `sourceCatalogId` string, uuid
  - `status` 'active' | 'inactive' | 'deprecated' — Active means that data is flowing through the connection. Inactive means it is not. Deprecated means the connection is off and cannot be re-activated. the schema field describes the elements of the schema that will be synced.
  - `syncCatalog` AirbyteCatalog — describes the available schema (catalog).
    - `streams` AirbyteStreamAndConfiguration[], required
      - `config` AirbyteStreamConfiguration — the mutable part of the stream to configure the destination
        - `aliasName` string — Alias name to the stream to be used in the destination
        - `cursorField` string[] — 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`. Otherwise it is ignored.
        - `destinationSyncMode` 'append' | 'overwrite' | 'append_dedup', required
        - `fieldSelectionEnabled` boolean — Whether field selection should be enabled. If this is true, only the properties in `selectedFields` will be included.
        - `primaryKey` array[] — Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup`. Otherwise it is ignored.
          - string[]
        - `selected` boolean — If this is true, the stream is selected with all of its properties. For new connections, this considers if the stream is suggested or not
        - `selectedFields` SelectedFieldInfo[] — Paths to the fields that will be included in the configured catalog. This must be set if `fieldSelectedEnabled` is set. An empty list indicates that no properties will be included.
          - `fieldPath` string[]
        - `suggested` boolean — Does the connector suggest that this stream be enabled by default?
        - `syncMode` 'full_refresh' | 'incremental', required
      - `stream` AirbyteStream — the immutable schema defined by the source
        - `defaultCursorField` string[] — Path to the field that will be used to determine if a record is new or modified since the last sync. If not provided by the source, the end user will have to specify the comparable themselves.
        - `jsonSchema` StreamJsonSchema — Stream schema using Json Schema specs.
        - `name` string, required — Stream's name.
        - `namespace` string — Optional Source-defined namespace. Airbyte streams from the same sources should have the same namespace. Currently only used by JDBC destinations to determine what schema to write to.
        - `sourceDefinedCursor` boolean — If the source defines the cursor field, then any other cursor field inputs will be ignored. If it does not, either the user_provided one is used, or the default one is used as a backup.
        - `sourceDefinedPrimaryKey` array[] — If the source defines the primary key, paths to the fields that will be used as a primary key. If not provided by the source, the end user will have to specify the primary key themselves.
          - string[]
        - `supportedSyncModes` SyncMode[]

## Response `200`

Successful operation

- WebBackendConnectionRead
  - `catalogDiff` CatalogDiff — Describes the difference between two Airbyte catalogs.
    - `transforms` StreamTransform[], required — list of stream transformations. order does not matter.
      - `streamDescriptor` StreamDescriptor, required
        - `name` string, required
        - `namespace` string
      - `transformType` 'add_stream' | 'remove_stream' | 'update_stream', required
      - `updateStream` FieldTransform[] — list of field transformations. order does not matter.
        - `addField` FieldAdd
          - `schema` FieldSchema — JSONSchema representation of the field
        - `breaking` boolean, required
        - `fieldName` string[], required — A field name is a list of strings that form the path to the field.
        - `removeField` FieldRemove
          - `schema` FieldSchema — JSONSchema representation of the field
        - `transformType` 'add_field' | 'remove_field' | 'update_field_schema', required
        - `updateFieldSchema` FieldSchemaUpdate
          - `newSchema` FieldSchema, required — JSONSchema representation of the field
          - `oldSchema` FieldSchema, required — JSONSchema representation of the field
  - `catalogId` string, uuid
  - `connectionId` string, uuid, required
  - `destination` DestinationRead, required
    - `connectionConfiguration` unknown, required
    - `destinationDefinitionId` string, uuid, required
    - `destinationId` string, uuid, required
    - `destinationName` string, required
    - `icon` string
    - `name` string, required
    - `workspaceId` string, uuid, required
  - `destinationId` string, uuid, required
  - `geography` 'auto' | 'us' | 'eu'
  - `isSyncing` boolean, required
  - `latestSyncJobCreatedAt` integer — epoch time of the latest sync job. null if no sync job has taken place.
  - `latestSyncJobStatus` 'pending' | 'running' | 'incomplete' | 'failed' | 'succeeded' | 'cancelled'
  - `name` string, required
  - `namespaceDefinition` 'source' | 'destination' | 'customformat' — Method used for computing final namespace in destination
  - `namespaceFormat` string — Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'.
  - `nonBreakingChangesPreference` 'ignore' | 'disable', required
  - `notifySchemaChanges` boolean, required
  - `operationIds` OperationId[]
  - `operations` OperationRead[]
    - `name` string, required
    - `operationId` string, uuid, required
    - `operatorConfiguration` OperatorConfiguration, required
      - `dbt` OperatorDbt
        - `dbtArguments` string
        - `dockerImage` string
        - `gitRepoBranch` string
        - `gitRepoUrl` string, required
      - `normalization` OperatorNormalization
        - `option` 'basic'
      - `operatorType` 'normalization' | 'dbt' | 'webhook', required
      - `webhook` OperatorWebhook
        - `dbtCloud` object
          - `accountId` integer, required — The account id associated with the job
          - `jobId` integer, required — The job id associated with the job
        - `executionBody` string — DEPRECATED. Populate dbtCloud instead.
        - `executionUrl` string — DEPRECATED. Populate dbtCloud instead.
        - `webhookConfigId` string, uuid — The id of the webhook configs to use from the workspace.
        - `webhookType` 'dbtCloud'
    - `workspaceId` string, uuid, required
  - `prefix` string — Prefix that will be prepended to the name of each stream when it is written to the destination.
  - `resourceRequirements` ResourceRequirements — optional resource requirements to run workers (blank for unbounded allocations)
    - `cpu_limit` string
    - `cpu_request` string
    - `memory_limit` string
    - `memory_request` string
  - `schedule` ConnectionSchedule — if null, then no schedule is set.
    - `timeUnit` 'minutes' | 'hours' | 'days' | 'weeks' | 'months', required
    - `units` integer, required
  - `scheduleData` ConnectionScheduleData — schedule for when the the connection should run, per the schedule type
    - `basicSchedule` object
      - `timeUnit` 'minutes' | 'hours' | 'days' | 'weeks' | 'months', required
      - `units` integer, required
    - `cron` object
      - `cronExpression` string, required
      - `cronTimeZone` string, required
  - `scheduleType` 'manual' | 'basic' | 'cron' — determine how the schedule data should be interpreted
  - `schemaChange` 'no_change' | 'non_breaking' | 'breaking', required
  - `source` SourceRead, required
    - `connectionConfiguration` unknown, required
    - `icon` string
    - `name` string, required
    - `sourceDefinitionId` string, uuid, required
    - `sourceId` string, uuid, required
    - `sourceName` string, required
    - `workspaceId` string, uuid, required
  - `sourceId` string, uuid, required
  - `status` 'active' | 'inactive' | 'deprecated', required — Active means that data is flowing through the connection. Inactive means it is not. Deprecated means the connection is off and cannot be re-activated. the schema field describes the elements of the schema that will be synced.
  - `syncCatalog` AirbyteCatalog, required — describes the available schema (catalog).
    - `streams` AirbyteStreamAndConfiguration[], required
      - `config` AirbyteStreamConfiguration — the mutable part of the stream to configure the destination
        - `aliasName` string — Alias name to the stream to be used in the destination
        - `cursorField` string[] — 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`. Otherwise it is ignored.
        - `destinationSyncMode` 'append' | 'overwrite' | 'append_dedup', required
        - `fieldSelectionEnabled` boolean — Whether field selection should be enabled. If this is true, only the properties in `selectedFields` will be included.
        - `primaryKey` array[] — Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup`. Otherwise it is ignored.
          - string[]
        - `selected` boolean — If this is true, the stream is selected with all of its properties. For new connections, this considers if the stream is suggested or not
        - `selectedFields` SelectedFieldInfo[] — Paths to the fields that will be included in the configured catalog. This must be set if `fieldSelectedEnabled` is set. An empty list indicates that no properties will be included.
          - `fieldPath` string[]
        - `suggested` boolean — Does the connector suggest that this stream be enabled by default?
        - `syncMode` 'full_refresh' | 'incremental', required
      - `stream` AirbyteStream — the immutable schema defined by the source
        - `defaultCursorField` string[] — Path to the field that will be used to determine if a record is new or modified since the last sync. If not provided by the source, the end user will have to specify the comparable themselves.
        - `jsonSchema` StreamJsonSchema — Stream schema using Json Schema specs.
        - `name` string, required — Stream's name.
        - `namespace` string — Optional Source-defined namespace. Airbyte streams from the same sources should have the same namespace. Currently only used by JDBC destinations to determine what schema to write to.
        - `sourceDefinedCursor` boolean — If the source defines the cursor field, then any other cursor field inputs will be ignored. If it does not, either the user_provided one is used, or the default one is used as a backup.
        - `sourceDefinedPrimaryKey` array[] — If the source defines the primary key, paths to the fields that will be used as a primary key. If not provided by the source, the end user will have to specify the primary key themselves.
          - string[]
        - `supportedSyncModes` SyncMode[]

## Other responses

- `422` — Input failed validation

---

[API](https://skmtc.net/airbyte/apis/config.md) · [All operations](https://skmtc.net/airbyte/apis/config/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/airbyte/config/revisions/ce48e08e02ec/schema)
