Skip to main content
POST
/
sources
/
snapshot
Execute Snapshot
curl --request POST \
  --url https://api.streamkap.com/sources/snapshot \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "source_id": "<string>",
  "topic_names": [
    "<string>"
  ],
  "additional_conditions": [
    {
      "data_collection": "<string>",
      "filter": "<string>"
    }
  ],
  "snapshot_type": "incremental",
  "surrogate_key": "<string>"
}
'
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>",
      "input": "<unknown>",
      "ctx": {}
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Unified snapshot request body supporting all snapshot types.

This model supports:

  • Incremental snapshots: Use watermarking, streaming continues, supports filters
  • Blocking snapshots: Pause streaming, useful for keyless tables or faster snapshots

The snapshot_type field determines which snapshot mechanism is used. For stop operations, the type is auto-detected from the running snapshot.

source_id
string
required
topic_names
string[] | null
additional_conditions
AdditionalCondition · object[] | null
snapshot_type
enum<string>
default:incremental

Type of snapshot to execute. 'incremental' uses watermarking and allows streaming to continue. 'blocking' pauses streaming and is required for keyless tables. Note: additional_conditions and surrogate_key are only supported for incremental snapshots.

Available options:
incremental,
blocking
surrogate_key
string | null

Column name to use as surrogate primary key for all tables during snapshot chunking. Only supported for incremental snapshots, not blocking snapshots.

Response

Successful Response