Filtering & Sorting

Add filters as query params: field=op.value

# Equals
GET /api/posts?published=eq.true

# Comparison
GET /api/posts?created_at=gte.2025-01-01

# Pattern match
GET /api/posts?title=like.Hello%

# Multiple values
GET /api/posts?status=in.draft,published

# Null checks
GET /api/posts?deleted_at=is_null

# Combine filters
GET /api/posts?published=eq.true&created_at=gte.2025-01-01&sort=created_at.desc
OperatorSQLExample
eq=name=eq.Alice
neq!=status=neq.draft
gt, gte>, >=age=gte.18
lt, lte<, <=price=lt.100
likeLIKEname=like.A%
inINrole=in.user,admin
is_nullIS NULLbio=is_null
not_nullIS NOT NULLbio=not_null

Sorting

GET /api/posts?sort=created_at.desc
GET /api/posts?sort=title.asc,created_at.desc

Pagination

# Offset-based
GET /api/posts?limit=20&offset=40

# Cursor-based (use next_cursor from response meta)
GET /api/posts?limit=20&cursor=eyJ...

Field selection & includes

# Select specific fields
GET /api/posts?select=id,title,created_at

# Include related records (via ref columns)
GET /api/posts?include=user_id