Skip to main content
GET
List rows (typed cells; ?cells=flat / ?format=csv)

Authorizations

Authorization
string
header
required

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

Path Parameters

tableId
string<uuid>
required

Query Parameters

cursor
string

Opaque pagination cursor. Pass the nextCursor from the previous page to fetch the next one; omit for the first page.

limit
integer
default:50

Max rows to return. Default 50; rows allow up to 200 (vs. 100 elsewhere).

Required range: 1 <= x <= 200
filters
string

JSON array of { column, operator, value } filters. column is an input-column slug; operators: contains, not_contains, equals, not_equals, is_empty, is_not_empty, greater_than, greater_than_or_equal, less_than, less_than_or_equal. Unknown columns → UNKNOWN_COLUMN.

sort
string

JSON object { column, direction: "asc"|"desc" } (slug-keyed).

cells
enum<string>

Pass flat for v1-style { slug: value } rows instead of typed cells.

Available options:
flat
format
enum<string>

Pass csv to stream the (flat) rows as CSV.

Available options:
csv
defaults
enum<string>

Pass false to disable the table's default filters/sort.

Available options:
true,
false

Response

A page of rows (list envelope + total).

The canonical v2 list envelope. Every list endpoint returns this shape; per-endpoint items element types (and documented extras like total) are declared on each operation.

object
string
required
Allowed value: "list"
items
object[]
required

The page of objects. Element type is per-endpoint.

nextCursor
string | null
required

Cursor for the next page; null means this is the last page.

url
string
required

The path this list was fetched from (query string excluded).

total
integer
required

Total row count for the query's scope (all pages).