---
title: "Send a batch of topics to a destination (idempotent)"
method: POST
path: "/destinations/{destination_id}/topics"
tags: ["Destinations"]
---

# Send a batch of topics to a destination (idempotent)

`POST /destinations/{destination_id}/topics`

## Request

- Base URL: `https://api.streamkap.com`
- URL: `https://api.streamkap.com/destinations/{destination_id}/topics`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/streamkap/apis/streamkap-rest-api/docs/destinations/:destination_id/topics/post.ts> (a function with typed inputs; its response is checked against the schema)

Attach every topic in the body to this destination's managed binding in one write.

Topics already on the binding are no-ops, so a retry of the whole set is safe.

## Path parameters

- `destination_id` string, required

## Request body

- DestinationTopicsBatchReq: Body for the destination-scoped batch attach/detach. The whole set moves in one request so the binding is written once, the sink connector is re-rendered once and one notification is sent — per-topic calls cost one Kafka Connect reconfiguration (and consumer-group rebalance) each. The owning source is derived from the topic ids (``source_<id>.<schema>.<table>``); a set spanning more than one source is rejected, so no source id is carried here.
  - `topic_ids` string[], required: Full topic ids, all belonging to one source.

## Response `200`

Successful Response

- TopicDestinationLink: One (source, destination) managed binding, as seen from a topic. ``binding_id`` is the managed pipeline id, usable to look up its pipeline metrics. ``topic_ids`` is the binding's full topic set, not just the topic the caller addressed.
  - `binding_id` string, required
  - `source_id` string, required
  - `destination_id` string, required
  - `destination_name` string, required
  - `destination_connector` string, required
  - `topic_ids` string[], required
  - `managed` boolean

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-01** `50e54c2e65f2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/streamkap/apis/streamkap-rest-api/changes/destinations/:destination_id/topics/post.md)

---

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