---
title: "Bulk Execute Snapshot Sources"
method: POST
path: "/sources/bulk/snapshot"
tags: ["Sources"]
---

# Bulk Execute Snapshot Sources

`POST /sources/bulk/snapshot`

Execute snapshot on multiple sources in parallel.

Supports both incremental (default) and blocking snapshot types via the
snapshot_type field:

- **incremental**: Uses watermarking to capture data while streaming continues.
- **blocking**: Pauses streaming during snapshot. Required for keyless tables.
  Executed with lower concurrency and staggered timing to avoid overwhelming
  Kafka Connect.

Supports two modes for source selection:
1. Explicit IDs: Pass a list of source IDs
2. Select all: Set select_all=true with optional filters

Returns partial success results - continues processing even if individual snapshots fail
(e.g. 409 when a snapshot is already running for a source).

## Request body

- BulkSnapshotReq — Request model for bulk snapshot operations with configurable snapshot type.
  - `ids` string[], nullable — List of entity IDs to perform the action on. Omit if using select_all=true.
  - `select_all` boolean — If true, select all entities matching the filters
  - `filters` BulkSelectionFilter — Optional filters for bulk operations when using 'select_all'. Supports filtering by source_id and destination_id for pipeline-related operations.
    - `source_id` string, nullable — Filter by source ID (for pipelines/destinations)
    - `destination_id` string, nullable — Filter by destination ID (for pipelines/destinations)
  - `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/8aea6143d003/schema)
