---
title: "Get Sink"
method: GET
path: "/api/v1/stream/{stream_id}/sink/{sink_id}"
tags: ["Sink"]
---

# Get Sink

`GET /api/v1/stream/{stream_id}/sink/{sink_id}`

## Request

- Base URL: `https://api.eu.svix.com`
- URL: `https://api.eu.svix.com/api/v1/stream/{stream_id}/sink/{sink_id}`
- Auth: HTTP bearer

Get a sink by id or uid.

## Path parameters

- `stream_id` string, required: The Stream's ID or UID.
- `sink_id` string, required: The StreamSink's ID or UID.

## 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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink's UID.
    - `updatedAt` string, date-time, required
    - `type` 'poller', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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` 'http', required
  - object
    - `batchSize` integer, required
    - `channels` string[]
    - `createdAt` string, date-time, required
    - `currentIterator` string, required
    - `eventTypes` string[]
    - `failureReason` string, nullable
    - `id` string, required: The sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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 sink's ID.
    - `maxWaitSecs` integer, required
    - `metadata` object, required
    - `nextRetryAt` string, date-time, nullable
    - `status` 'enabled' | 'paused' | 'disabled' | 'retrying', required
    - `uid` string, nullable: The sink'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, 1 info
  - added `#/components/schemas/StreamSinkOut_postHog` to the response body `oneOf` list for the response status `200`
  - added `postHog` mapping keys to the response discriminator for the response status `200`
- **2026-10-19** `cca56e67e5a4`: 1 info
  - added the required property `code` to the response with the `422` status
- **2026-10-15** `b050e0615b17`: 1 info
  - added the required property `oneOf[#/components/schemas/StreamSinkOut_elasticSearch]/config/operation` to the response with the `200` status
- **2026-10-08** `fffe4442f5fb`: 1 breaking, 1 info
  - added `#/components/schemas/StreamSinkOut_elasticSearch` to the response body `oneOf` list for the response status `200`
  - added `elasticSearch` mapping keys to the response discriminator for the response status `200`
- **2026-09-23** `8955da998a2e`: 1 info
  - added the required property `oneOf[#/components/schemas/StreamSinkOut_rabbitMq]/config/mandatory` to the response with the `200` status

[Operation history](https://skmtc.dev/svix/apis/svix-api/changes/api/v1/stream/:stream_id/sink/:sink_id/get.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)
