Data API

Every table is served by an auto-generated REST API, with no backend code to write.

Authentication

Authenticate with a project-scoped key carrying the data:read and/or data:write scopes. Pass it as a bearer token or an x-api-key header:

Authorization: Bearer usdly_…
# or
x-api-key: usdly_…

Endpoints

Each table exposes a standard CRUD surface:

GET/api/v1/data/:tablelist
GET/api/v1/data/:table/:idfetch one
POST/api/v1/data/:tableinsert
PATCH/api/v1/data/:table/:idupdate
DELETE/api/v1/data/:table/:iddelete

List queries accept these query parameters:

ParamDescription
filterURL-encoded JSON operator map (see below)
orderByColumn to sort by
orderDirasc or desc
limitMax rows to return
offsetRows to skip (pagination)
expandFK column(s) to embed

Filtering

Filters use an operator map: eq, neq, gt, gte, lt, lte, like, in.

curl
curl "https://api.ussdly.com/api/v1/data/orders?filter=$(\
  printf '%s' '{"status":{"in":["paid","shipped"]}}' | jq -sRr @uri)" \
  -H "Authorization: Bearer usdly_xxx"

Embedding related rows

Use expand to embed a foreign-key parent. For an FK column author_id, the parent row is attached under author:

GET /api/v1/data/posts?expand=author_id
# → [{ id, title, author_id, author: { id, name, … } }]