Get a table — name, leadCount, columns, credits, optional economics
The canonical “what’s in this table and what did it cost?”
surface in v2. Same shape as the entries in
Run.response.tables[] and GET /agents/{id}/tables.
Default shape is lite — leadCount, columns[] with
per-column credits.lifetimeUsed, table-level
credits.lifetimeUsed (sum of the column breakdown). Pass
?include=stats to attach the economics block — the same
numbers the UI shows at the top of the table
(creditsPerLead, qualification breakdown, funnel, lead
sources, …).
credits.lifetimeUsed accumulates across every agent run
that ever populated cells on this table — it is the unit a
human thinks in when they ask how much a list cost. It does
NOT include still-active cell-run reservations; wait for the
relevant run to terminate before reading the final number.
Scoped to the API key’s org. There is no API-owned filter on
tables, so any non-deleted table in your org is fetchable.
For programmatic row reads, use
GET /api/v1/tables/{id}/rows.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Pass stats to attach the economics block (creditsPerLead,
qualification, funnel, lead sources) plus per-column stats
and qualification.
"stats"
Response
The table object
Non-deleted row count. v2 wire vocabulary speaks "leads"
instead of "rows"; the underlying DB column is still
rows.
Lifetime credit cost across every cell. Equals the sum of
every columns[].credits.lifetimeUsed.
Table-level liveness rollup — sums every
columns[].cells. running > 0 means at least one cell
on the table is still being processed (e.g., enrichment
kicked off by a recent run hasn't fully settled). The
calling agent should treat this as "still working", not
"no data found".
Deep link a human can open. For programmatic row reads, use GET /api/v1/tables/{id}/rows.
Present only when caller passes ?include=stats.