---
title: "Create Sink"
method: POST
path: "/api/v1/app/{app_id}/sink"
tags: ["Endpoint"]
---

# Create Sink

`POST /api/v1/app/{app_id}/sink`

Create a new sink for the application.

## Path parameters

- `app_id` string, required — The Application's ID or UID.

## Headers

- `idempotency-key` string

## Request body

- union
  - object
    - `description` string
    - `rateLimit` integer, nullable — Deprecated, use `throttleRate` instead.
    - `throttleRate` integer, nullable — Maximum messages per second to send to this endpoint. Outgoing messages will be throttled to this rate.
    - `uid` string, nullable — Optional unique identifier for the sink.
    - `secret` string, nullable — The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
    - `disabled` boolean
    - `filterTypes` string[], nullable
    - `channels` string[], nullable — List of message channels this sink listens to (omit for all).
    - `metadata` object
    - `type` 'http', required
    - `url` string, uri, required
  - object
    - `description` string
    - `rateLimit` integer, nullable — Deprecated, use `throttleRate` instead.
    - `throttleRate` integer, nullable — Maximum messages per second to send to this endpoint. Outgoing messages will be throttled to this rate.
    - `uid` string, nullable — Optional unique identifier for the sink.
    - `secret` string, nullable — The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
    - `disabled` boolean
    - `filterTypes` string[], nullable
    - `channels` string[], nullable — List of message channels this sink listens to (omit for all).
    - `metadata` object
    - `type` 'eventStream', required
  - object
    - `description` string
    - `rateLimit` integer, nullable — Deprecated, use `throttleRate` instead.
    - `throttleRate` integer, nullable — Maximum messages per second to send to this endpoint. Outgoing messages will be throttled to this rate.
    - `uid` string, nullable — Optional unique identifier for the sink.
    - `secret` string, nullable — The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
    - `disabled` boolean
    - `filterTypes` string[], nullable
    - `channels` string[], nullable — List of message channels this sink listens to (omit for all).
    - `metadata` object
    - `type` 'autoConfig', required

## Response `201`

- union
  - object
    - `id` string, required — The Endpoint's ID.
    - `metadata` object, required
    - `description` string, required
    - `rateLimit` integer, nullable — Deprecated, use `throttleRate` instead.
    - `throttleRate` integer, nullable — Maximum messages per second to send to this endpoint. Outgoing messages will be throttled to this rate.
    - `uid` string, nullable — Optional unique identifier for the endpoint.
    - `disabled` boolean
    - `filterTypes` string[], nullable
    - `channels` string[], nullable — List of message channels this endpoint listens to (omit for all).
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `type` 'http', required
    - `url` string, uri, required
  - object
    - `id` string, required — The Endpoint's ID.
    - `metadata` object, required
    - `description` string, required
    - `rateLimit` integer, nullable — Deprecated, use `throttleRate` instead.
    - `throttleRate` integer, nullable — Maximum messages per second to send to this endpoint. Outgoing messages will be throttled to this rate.
    - `uid` string, nullable — Optional unique identifier for the endpoint.
    - `disabled` boolean
    - `filterTypes` string[], nullable
    - `channels` string[], nullable — List of message channels this endpoint listens to (omit for all).
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `type` 'eventStream', required
  - object
    - `id` string, required — The Endpoint's ID.
    - `metadata` object, required
    - `description` string, required
    - `rateLimit` integer, nullable — Deprecated, use `throttleRate` instead.
    - `throttleRate` integer, nullable — Maximum messages per second to send to this endpoint. Outgoing messages will be throttled to this rate.
    - `uid` string, nullable — Optional unique identifier for the endpoint.
    - `disabled` boolean
    - `filterTypes` string[], nullable
    - `channels` string[], nullable — List of message channels this endpoint listens to (omit for all).
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `type` 'autoConfig', required

## Other responses

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

---

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