Skip to content
Open beta — everything’s free right now, and your rate is locked when it ends.
Docs & API

One API. One syntax. No second dialect.

Everything the screen does travels through the same documented API — the screen is just another client. The filter you build in the grid is the filter you send over HTTP is the condition a webhook evaluates.

# list confirmed bookings, newest check-in first — a real request
curl "https://tabladb.com/api/tables/tbl_aexmc27pqbyx/records?page_size=100" \
  --data-urlencode 'filter={"join":"and","conditions":[{"field":"fld_jkihpi2a44md","op":"is","value":"confirmed"}]}' \
  --data-urlencode 'sort=fld_dbx4uxkcbwn9:desc' -G \
  -H "Authorization: Bearer key_…"
 
# 200 OK — filtered and sorted server-side, over 100,000 records
{ "records": [ { "id": "rec_…", "fields": { "Guest": "Amira Fouad", … } }, … ], "bookmark": "…" }

What the API covers

The whole product — because the product itself uses it.

Records

List with filter, sort, search, page_size, and bookmark paging; create, update, and delete in all-or-nothing batches of up to 100. Cells are keyed by field name; links read as {id, display} pairs.

The filter syntax

One JSON grammar — join plus conditions of field / op / value — with operators per field type: is, contains, before, has_any, empty, and friends. The same grammar filters the grid, saved views, and webhook triggers.

Structure

Databases, tables, fields, and views are resources too — make a table, add a currency field, or save a filtered view over HTTP, exactly like the screen does.

Attachments

Two plain calls: POST the file as ordinary multipart, then set the record’s field to the returned id. What Make and n8n already send, no choreography.

Webhooks

Create and manage webhooks over the API, verify deliveries with the X-Tabla-Signature HMAC header, and replay from the delivery log. Payloads carry before and after for every change.

In and out

POST /import takes CSV and Excel; GET /export returns the whole database as one zip — every table as CSV, every attachment’s bytes, and a machine-readable manifest.

Fast, and honest about why

The query does almost nothing, because we made it do almost nothing.

Tabla — Docs & API