---
title: "Patch Destination"
method: PATCH
path: "/api/v1/app/{app_id}/destination/{destination_id}"
tags: ["Destination"]
---

# Patch Destination

`PATCH /api/v1/app/{app_id}/destination/{destination_id}`

## Request

- Base URL: `https://api.eu.svix.com`
- URL: `https://api.eu.svix.com/api/v1/app/{app_id}/destination/{destination_id}`
- Auth: HTTP bearer

Partially update a destination.

## Path parameters

- `app_id` string, required: The Application's ID or UID.
- `destination_id` string, required: The Destination's ID or UID.

## Request body

- union
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `type` 'pollingEndpoint', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` AzureBlobStorageConfigPatch, required
      - `accessKey` string
      - `account` string
      - `container` string
    - `type` 'azureBlobStorage', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` OtelTracingConfigPatch, required
      - `url` string, uri
    - `type` 'otelTracing', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` SinkHttpConfigPatch, required
      - `url` string, uri
    - `type` 'fifoEndpoint', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` S3ConfigPatch, required
      - `accessKeyId` string
      - `bucket` string
      - `endpointUrl` string, uri
      - `externalId` string
      - `region` string
      - `roleArn` string
      - `secretAccessKey` string
    - `type` 'amazonS3', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` GoogleCloudStorageConfigPatch, required
      - `bucket` string
      - `credentials` string
    - `type` 'googleCloudStorage', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` GoogleCloudPubSubConfigPatch, required
      - `credentials` string
      - `projectId` string
      - `topicId` string
    - `type` 'googleCloudPubSub', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` SqsConfigPatch, required
      - `accessKeyId` string
      - `endpointUrl` string, uri, nullable
      - `externalId` string
      - `queueUrl` string, uri
      - `region` string
      - `roleArn` string
      - `secretAccessKey` string
    - `type` 'sqs', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` SnsConfigPatch, required
      - `accessKeyId` string
      - `endpointUrl` string, uri, nullable
      - `externalId` string
      - `region` string
      - `roleArn` string
      - `secretAccessKey` string
      - `topicArn` string
    - `type` 'sns', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` BigQueryConfigPatch, required
      - `credentials` string
      - `datasetId` string
      - `projectId` string
      - `tableId` string
    - `type` 'bigQuery', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` ClickhouseConfigPatch, required
      - `database` string
      - `password` string
      - `tableName` string
      - `url` string, uri
      - `username` string
    - `type` 'clickhouse', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` EventBridgeConfigPatch, required
      - `accessKeyId` string
      - `detailType` string
      - `eventBusName` string
      - `externalId` string
      - `region` string
      - `roleArn` string
      - `secretAccessKey` string
    - `type` 'eventBridge', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` SnowflakeConfigPatch, required
      - `accountIdentifier` string
      - `dbName` string: Database name. Only required if not using transformations.
      - `privateKey` string
      - `schemaName` string: Schema name. Only required if not using transformations.
      - `tableName` string: Table name. Only required if not using transformations.
      - `userId` string
    - `type` 'snowflake', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` RabbitMqConfigPatch, required
      - `mandatory` boolean
      - `routingKey` string
      - `uri` string
    - `type` 'rabbitMq', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` RedshiftConfigPatch, required
      - `accessKeyId` string
      - `dbName` string: Database name. Only required if not using transformations.
      - `externalId` string
      - `region` string
      - `roleArn` string
      - `schemaName` string, nullable: Schema name. Only used if not using transformations.
      - `secretAccessKey` string
      - `tableName` string: Table name. Only required if not using transformations.
    - `type` 'redshift', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` PostgresConfigPatch, required
      - `password` string
      - `sslRootCert` string
      - `tableName` string
      - `url` string
    - `type` 'postgres', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` ElasticSearchConfigPatch, required
      - `apiKey` string
      - `indexName` string
      - `operation` 'index' | 'create': Operation for bulk indexing. `index` will do an upsert for the given document ID, and `create` will insert it (and do nothing on conflict). Only `create` is supported for Data Stream targets.
      - `refresh` boolean
      - `url` string, uri
    - `type` 'elasticSearch', required
  - object
    - `batchSize` integer, nullable
    - `channels` string[]
    - `eventTypes` string[]
    - `maxWaitSecs` integer, nullable
    - `metadata` object
    - `status` 'enabled' | 'disabled'
    - `uid` string, nullable: The Destination's UID.
    - `config` PostHogConfigPatch, required
      - `domain` string, uri
      - `projectToken` string
    - `type` 'postHog', required

## Response `200`

- union
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `type` 'pollingEndpoint', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` AzureBlobStorageConfigOut, required
      - `account` string, required
      - `container` string, required
    - `type` 'azureBlobStorage', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` OtelTracingConfigOut, required
      - `headers` EndpointHeadersOut, required: The value of the headers is returned in the `headers` field. Sensitive headers that have been redacted are returned in the sensitive field.
        - `headers` object, required
        - `sensitive` string[], required
      - `url` string, uri, required
    - `type` 'otelTracing', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` SinkHttpConfigOut, required
      - `headers` EndpointHeadersOut, required: The value of the headers is returned in the `headers` field. Sensitive headers that have been redacted are returned in the sensitive field.
        - `headers` object, required
        - `sensitive` string[], required
      - `url` string, uri, required
    - `type` 'fifoEndpoint', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` S3ConfigOut, required
      - `accessKeyId` string, nullable
      - `bucket` string, required
      - `endpointUrl` string, uri, nullable
      - `externalId` string, nullable
      - `region` string, required
      - `roleArn` string, nullable
    - `type` 'amazonS3', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` SnowflakeConfigOut, required
      - `accountIdentifier` string, required
      - `dbName` string: Database name. Only required if not using transformations.
      - `schemaName` string: Schema name. Only required if not using transformations.
      - `tableName` string: Table name. Only required if not using transformations.
      - `userId` string, required
    - `type` 'snowflake', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` GoogleCloudStorageConfigOut, required
      - `bucket` string, required
    - `type` 'googleCloudStorage', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` GoogleCloudPubSubConfigOut, required
      - `projectId` string, required
      - `topicId` string, required
    - `type` 'googleCloudPubSub', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` RedshiftConfigOut, required
      - `accessKeyId` string, nullable
      - `clusterIdentifier` string, nullable
      - `dbName` string: Database name. Only required if not using transformations.
      - `dbUser` string, nullable
      - `externalId` string, nullable
      - `region` string, required
      - `roleArn` string, nullable
      - `schemaName` string, nullable: Schema name. Only used if not using transformations.
      - `tableName` string: Table name. Only required if not using transformations.
      - `workgroupName` string, nullable
    - `type` 'redshift', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` BigQueryConfigOut, required
      - `datasetId` string, required
      - `projectId` string, required
      - `tableId` string, required
    - `type` 'bigQuery', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` ClickhouseConfigOut, required
      - `database` string, required
      - `tableName` string, required
      - `url` string, uri, required
      - `username` string, required
    - `type` 'clickhouse', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` RabbitMqConfigOut, required
      - `mandatory` boolean, required
      - `routingKey` string, required
      - `uri` string, required
    - `type` 'rabbitMq', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` SqsConfigOut, required
      - `accessKeyId` string, nullable
      - `endpointUrl` string, uri, nullable
      - `externalId` string, nullable
      - `queueUrl` string, uri, required
      - `region` string, required
      - `roleArn` string, nullable
    - `type` 'sqs', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` EventBridgeConfigOut, required
      - `accessKeyId` string, nullable
      - `detailType` string, required
      - `eventBusName` string, required
      - `externalId` string, nullable
      - `region` string, required
      - `roleArn` string, nullable
    - `type` 'eventBridge', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` SnsConfigOut, required
      - `accessKeyId` string, nullable
      - `externalId` string, nullable
      - `region` string, required
      - `roleArn` string, nullable
      - `topicArn` string, required
    - `type` 'sns', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` PostgresConfigOut, required
      - `sslRootCert` string, nullable
      - `tableName` string, required
      - `url` string, required
    - `type` 'postgres', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` ElasticSearchConfigOut, required
      - `indexName` string, required
      - `operation` 'index' | 'create', required: Operation for bulk indexing. `index` will do an upsert for the given document ID, and `create` will insert it (and do nothing on conflict). Only `create` is supported for Data Stream targets.
      - `refresh` boolean, required
      - `url` string, uri, required
    - `type` 'elasticSearch', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The Destination's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The Destination's UID.
    - `updatedAt` string, date-time, required
    - `config` PostHogConfigOut, required
      - `domain` string, uri, required
    - `type` 'postHog', required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Too Many Requests

## Changes

- **2026-10-26** `77555fa3a659`: 1 breaking, 3 info
  - added `#/components/schemas/DestinationOut_postHog` to the response body `oneOf` list for the response status `200`
  - added `postHog` mapping keys to the request discriminator
  - added `#/components/schemas/DestinationPatch_postHog` to the request body `oneOf` list
  - added `postHog` mapping keys to the response discriminator for the response status `200`
- **2026-10-21** `36b59828b304`: 55 warning
  - the `oneOf[#/components/schemas/DestinationPatch_amazonS3]/config/accessKeyId` request property's maxLength was set to `512`
  - the `oneOf[#/components/schemas/DestinationPatch_amazonS3]/config/bucket` request property's maxLength was set to `512`
  - the `oneOf[#/components/schemas/DestinationPatch_amazonS3]/config/externalId` request property's maxLength was set to `512`
  - the `oneOf[#/components/schemas/DestinationPatch_amazonS3]/config/region` request property's maxLength was set to `16`
  - …51 more
- **2026-10-19** `cca56e67e5a4`: 1 info
  - added the required property `code` to the response with the `422` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/svix/apis/svix-api/changes/api/v1/app/:app_id/destination/:destination_id/patch.md)

---

[API](https://skmtc.dev/svix/apis/svix-api.md) - [All operations](https://skmtc.dev/svix/apis/svix-api/llms.txt) - [OpenAPI document](https://skmtc.dev/svix/apis/svix-api/revisions/21bb0f86a732?raw)
