Catalog

Create catalog snapshot.

Changed on

Save the set of channels matching the supplied catalog filters at creation time. Returns metadata and the channel count, without channel IDs. The saved filters are reused when creating diffs; search sorting and pagination do not apply.

The maximum matching-channel count comes from your current API plan or Subscription key settings and is capped by the datastore ceiling. Larger results return 422 SNAPSHOT_TOO_LARGE rather than being truncated. Snapshots expire after 30 days; storage is included in the creation price. Credits keys: 0.400 credits per successful creation, with no additional base or per-channel fee. Every POST creates and bills a new resource; creation does not deduplicate retries. After a timeout, inspect existing resources before sending another POST. Your active snapshot cap is returned as active_limit by List snapshots. Reaching it returns 429 SNAPSHOT_LIMIT_REACHED. Only one snapshot creation per user can run at a time; concurrent requests return 429 SNAPSHOT_CREATION_IN_PROGRESS. Retry temporary conflicts after Retry-After. Catalog and snapshot access must both be enabled for your API credentials.

post/v1/catalog/snapshots

Request

Request body

Example request

{
  "filters": {
    "privacy": "Public"
  }
}

Response

Snapshot created

snapshot_idstring required

Unique identifier of the original snapshot. Pass it unchanged to snapshot endpoints.

channels_countinteger required

Number of channels saved in the snapshot, up to 800,000.

created_atstring required

Creation timestamp in UTC, formatted as RFC 3339.

expires_atstring required

Expiration timestamp in UTC, formatted as RFC 3339. Resources expire 30 days after their own creation.

Example response

{
  "snapshot_id": "01900000-0000-7000-8000-000000000001",
  "channels_count": 1500,
  "created_at": "2026-09-08T12:00:00Z",
  "expires_at": "2026-10-08T12:00:00Z"
}

Changes

    • breaking

      the response's body type changed from object to no type for status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • info

      added subschema #2 to the response body allOf list for the response status

    • info

      endpoint added