PreviewRustaBase OSS is in public preview. Build on managed PostgreSQL with APIs, authentication, storage, realtime, and server-side functions.Read the product direction

APIs and SDKs

REST API reference

Records are read and written through predictable endpoints derived from your table names. Every response is JSON, and every list response has the same shape.

Record endpoints

Method and pathPurpose
GET /api/v1/collections/{table}/recordsPaginated list, with filters, sorting, and expansion
GET /api/v1/collections/{table}/records/{id}Single record
POST /api/v1/collections/{table}/recordsCreate a record
PATCH /api/v1/collections/{table}/records/{id}Update a record
DELETE /api/v1/collections/{table}/records/{id}Delete a record
POST /api/v1/batchSeveral writes in one transaction-style request

List response shape

JSON
{
  "page": 1,
  "perPage": 30,
  "totalItems": 214,
  "totalPages": 8,
  "items": [
    {
      "id": "k93jf0s1p2a7b4c",
      "collectionId": "posts_table_id",
      "collectionName": "posts",
      "title": "Shipping the new API",
      "published": true,
      "author": "b7s0x1c9k2m4q8f",
      "created": "2026-03-02 09:15:00.000Z",
      "updated": "2026-03-02 09:15:00.000Z"
    }
  ]
}

Create and update

# create
curl -X POST $PROJECT_URL/api/v1/collections/posts/records \
  -H "Authorization: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"Shipping the new API","published":false}'

# update
curl -X PATCH $PROJECT_URL/api/v1/collections/posts/records/k93jf0s1p2a7b4c \
  -H "Authorization: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"published":true}'

Field types you can store

Tables are built from these field types: text, number, bool, email, url, editor, date, autodate, select, json, file, relation, password, and geoPoint.

Batch writes

JSON
{
  "requests": [
    { "method": "POST", "url": "/api/v1/collections/posts/records", "body": { "title": "First" } },
    { "method": "PATCH", "url": "/api/v1/collections/posts/records/k93jf0s1p2a7b4c", "body": { "published": true } },
    { "method": "DELETE", "url": "/api/v1/collections/posts/records/oldrecordid00001" }
  ]
}

Batch is the right tool when several writes must succeed or fail together, such as creating a parent record and its children.

Filters, sorting, and errors

Found something wrong on this page?

Fix it yourself. The link below opens this file in GitHub's editor and forks the repository for you if you need one, and your change becomes a pull request without leaving the browser.