---
title: "Bulk Snapshot Topics"
method: POST
path: "/topics/bulk/snapshot"
tags: ["Topics"]
---

# Bulk Snapshot Topics

`POST /topics/bulk/snapshot`

Execute snapshot for selected topics, grouped by their source connector.

Accepts topic DB IDs, resolves them to their source connectors, and triggers
per-source snapshots scoped to only the selected topics (via topic_names).

Only topics produced by source connectors can be snapshotted - topics from
transforms, destinations, or manually created topics are skipped.

Supports both incremental (default) and blocking snapshot types:
- **incremental**: Uses watermarking to capture data while streaming continues.
- **blocking**: Pauses streaming during snapshot. Required for keyless tables.

Results are reported per source connector, since snapshots are source-level operations.
Returns partial success results - continues processing even if individual snapshots fail.

## Request body

- BulkTopicSnapshotReq — Request model for bulk snapshot operations at the topic level. Accepts topic DB IDs, groups them by their source connector, and triggers per-source snapshots with the selected topics only.
  - `topic_ids` string[], required — List of topic DB IDs (_id) to operate on.
  - `snapshot_type` 'incremental' | 'blocking' — Type of snapshot to execute. 'incremental' (default) uses watermarking while streaming continues. 'blocking' pauses streaming during snapshot - required for keyless tables.

## Response `200`

Successful Response

- BulkOperationRes — Response model for bulk operations.
  - `results` BulkOperationResult[], required — Detailed results for each entity
    - `id` string, required — Entity ID
    - `success` boolean, required — Whether the operation succeeded
    - `message` string, nullable — Success message or error details
    - `data` object, nullable — Optional data returned by the operation
  - `summary` BulkOperationSummary, required — Summary statistics for a bulk operation.
    - `total` integer, required — Total number of entities processed
    - `succeeded` integer, required — Number of successful operations
    - `failed` integer, required — Number of failed operations

## Other responses

- `422` — Validation Error

---

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