Skip to main content
GET
Read rows from one of your tables

Authorizations

Authorization
string
header
required

Project API key issued in Settings → API keys. Send it as Authorization: Bearer pk_live_….

Headers

X-Paige-Project
string

Target project id, for an MCP OAuth bearer (mcp_at_…) attached to more than one project — get ids from GET /v1/projects. Matched case-insensitively.

Omit it and a READ falls back to the connection's default project; a mutation (any non-GET) on a connection with 2+ projects is rejected with 400 project_required — a write is never defaulted to a guessed project. A connection with exactly one project never needs the header.

Scopes are checked against the SELECTED project only, never a union across the connection.

For a pk_ API key the header selects nothing — one key is one project's context — but it IS validated: omit it and the key's own project is used, send it and it must name that project, otherwise the call is rejected with 403 project_not_attached (a blank value is 400 invalid_project_header, as above).

Path Parameters

table
string
required

Table name. Lowercase letters, digits and underscores only. Paige platform tables are rejected.

Pattern: ^[a-z_][a-z0-9_]{0,62}$

Query Parameters

schema
enum<string>

Which database schema to target: "public" (production, the default) or "preview" (dev sandbox).

Available options:
public,
preview
columns
string

Comma-separated column names, e.g. "id,farm_name". Omit for all columns.

Maximum string length: 2000
filters
string

A JSON array of predicates, e.g. [{"column":"status","op":"eq","value":"due"}]. AND-joined, max 20.

Maximum string length: 4000
order_by
string

Column to order by. Omit to order by the primary key. Every primary-key column is always appended as a tie-breaker, so paging stays stable even when this column has duplicate values.

Pattern: ^[a-z_][a-z0-9_]{0,62}$
order_dir
enum<string>

Order direction.

Available options:
asc,
desc
limit
integer

Rows per page, 1-50. Default 20.

Required range: 1 <= x <= 50
cursor
string

Opaque nextCursor from a previous page. Do not construct one by hand.

Maximum string length: 200

Response

Success.

success
enum<boolean>
required
Available options:
true
data
object
required