Skip to main content
GET
Get table change status

Authorizations

X-API-Key
string
header
required

Path Parameters

table_id
string<uuid>
required

Response

Successful Response

A point-in-time snapshot: active runs plus the four change watermarks.

active_runs
TableRunReadSchema · object[]
required

Every active (pending/running/cancelling) run, newest first.

columns
TableColumnsWatermarkSchema · object
required

The columns change watermark: column count plus newest column write.

rows
TableRowsWatermarkSchema · object
required

The rows watermark: the authoritative row counter.

There is no cell-write watermark here. Freshness is a per-cell fact now, and every cell write is already announced on the change feed as a delta the client applies directly, so a polled max(updated_at) over 100M cell rows would buy an index on the hottest table in the schema to answer a question nothing asks.

table_updated_at
string<date-time> | null
required

The definition's updated_at. Moves on rename/description edits AND on row-count maintenance (the counter lives on the definition row), so not a rename-only signal. Null only for an unknown table (the no-leak empty status).

ui_prefs
TableUIPrefsWatermarkSchema · object
required

Watermark of the team's display preferences: moves on a recolour, or on an API key's hide, pin or resize. A person's own hide, pin or resize is theirs alone and moves nothing here. Deliberately separate from columns: a display change must refresh the column list alone, never the rows page and stats that a definition change refreshes.

last_finished_run
TableRunReadSchema · object | null

The newest run that has finished, whatever its outcome. Present so a client can distinguish a table whose last run FAILED from one that is simply idle. Before this, both answered with no runs at all and the footer reported the table up to date moments after a run failed.

paused_runs
TableRunReadSchema · object[]

Runs most recently stopped because the credit balance ran out mid-run: terminal, but the grid's most important fact until a fresh run supersedes them. Empty when nothing is paused.