Aurabase Logo
aurabasedocs
Aurabase Logo
aurabasedocs
API/Database/Read rows

Read rows

GET/v1/db/{project_id}/{table}

Query a table with filters, order, pagination and joins. PostgREST under the hood, RLS applied automatically.

This English text was generated automatically from the French original and has not been reviewed yet.
#
Request

Headers

HeaderRequiredValue
apikeyyesClé API du projet (anon ou service_role). X-API-Key accepté aussi.
AuthorizationnoBearer <JWT utilisateur> — sans lui, la requête est traitée en anon
#
Request

Query parameters

ParameterTypeRequiredDescription
selectstringnoColumns to return. * by default. Relationship embed (FK): posts(*), author:authors(name).
orderstringnocaptured_at.desc · name.asc. NULL placement (.nullsfirst/.nullslast) is only honored on MongoDB in its native form (asc.nullsfirst, desc.nullslast); the other two combinations are refused in 400 rather than issuing an order different from that requested.
limitintegernoMax number of lines. Default 1000, max 1000 — beyond that, the response is capped and meta.per_page indicates the limit actually applied.
offsetintegernoPaging offset. Only pagination available on PostgREST, the nominal engine of a Postgres project.
cursorstringnoaura-db only (MongoDB, or Postgres with PostgREST disabled) — not available on PostgREST, which responds 400 by naming offset. Pagination keyset: return the opaque meta.next_cursor of the previous page as is. Stable, without dup/skip (int/uuid/text). Aligns with sort_by.
countenumnoexact or estimated. No counting is done by default. This is the portable form: on the aura-db path, only this query parameter is read — a Prefer: count=exact header there would be ignored (it is only honored by PostgREST).
<column>.<op>filternoFilters: value.gt.24, status.eq.active, name.like.%alice%, tags.cs.{urgent}.
#
Notes

To know

Astuce

Relationship embed (FK) via select: author:authors(name) (LEFT JOIN — rows without relationships return null). Inner-join !inner filtering is not yet supported.

Attention

The Range header is not a universal alternative paging: the aura-db path (MongoDB project, or Postgres with PostgREST disabled) only reads the query parameters and simply ignores it. It only has effect if the request reaches PostgREST. Use limit/offset.

Attention

The answer is wrapped : { data, meta }, never a bare array. On the PostgREST path, meta only contains total (and only if a count has been requested); on the aura-db path it also carries per_page and next_cursor.

Attention

numeric/decimal columns are returned as string (e.g. "19.99") to preserve exact precision — scalars AND arrays. Parse client side (Number(), Decimal) before any calculation; do not type number.

v1.0 · revised Apr 15, 2026