---
title: "Get a snapshot source with its capture timeline"
method: GET
path: "/v1/db-snapshots/sources/{connectionId}"
tags: ["DB Snapshots"]
---

# Get a snapshot source with its capture timeline

`GET /v1/db-snapshots/sources/{connectionId}`

## Request

- Base URL: `https://api.talonic.com`
- URL: `https://api.talonic.com/v1/db-snapshots/sources/{connectionId}`
- Auth: HTTP bearer

## Path parameters

- `connectionId` string, uuid, required

## Response `200`

The source plus one timeline point per retained capture.

- object
  - `connection_id` string, uuid, required
  - `name` string, required
  - `engine` string, required: SQL engine (`postgres`, `mssql`, `mysql`), or `csv` for file-based sources.
  - `connection_type` 'sql_database' | 'azure_blob'
  - `snapshot_count` integer, required
  - `capturing` boolean, required: A capture is in flight, so `latest_delta` is still growing.
  - `cadence` object, nullable: Scheduled re-capture settings; null when no cadence is configured.
    - `enabled` boolean
    - `interval_hours` integer
    - `capture_mode` 'auto' | 'full': `auto` captures incrementally where a table qualifies; `full` re-streams everything.
  - `latest_snapshot` object, nullable
    - `id` string, uuid
    - `status` 'capturing' | 'ready' | 'failed'
    - `capture_mode` string
    - `captured_at` string, date-time
    - `completed_at` string, date-time, nullable
    - `error` string, nullable
  - `latest_delta` object, nullable
    - `id` string, uuid
    - `status` 'partial' | 'complete': `complete` = the capture finished and these counts are final. `partial` = the capture is unfinished, so the counts are a FLOOR — an all-zero partial delta means "not counted yet", never "nothing changed".
    - `computed_at` string, date-time
    - `totals` DbSnapshotDeltaTotals
      - `added` integer
      - `modified` integer
      - `removed` integer
      - `tables_touched` integer
      - `tables_total` integer
      - `tables_skipped` integer: Tables the scan cadence deferred; they are excluded from every other count here.
      - `drift` boolean
  - `last_complete_delta_id` string, uuid, nullable, required: Newest delta whose counts are final; null until a second capture has completed.
  - `timeline` DbSnapshotTimelinePoint[]: Retained captures in chronological order, OLDEST first — the last element is the most recent capture. Older points beyond the retention window are dropped, not summarized.
    - `snapshot_id` string, uuid
    - `captured_at` string, date-time
    - `status` 'capturing' | 'ready' | 'failed'
    - `rows_changed` integer, nullable: Added + modified + removed for the delta ending here; null on the first capture.
    - `drift` boolean: The source's table or column shape changed in this capture.
    - `delta_id` string, uuid, nullable

## Other responses

- `401`: Missing or invalid API key.
- `404`: The requested resource was not found.
- `429`: Daily rate limit exceeded.

---

[API](https://skmtc.dev/talonic/apis/talonic-api.md) · [All operations](https://skmtc.dev/talonic/apis/talonic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/talonic/apis/talonic-api/revisions/678fe5f8c9c3?raw)
