The API has two endpoints: GET for reading data and POST for creating, updating, and deleting records.
Read records from any accessible table with pagination, search, and filtering.
| Parameter | Required | Default | Description |
|---|---|---|---|
table | Yes | - | Table name (e.g., 'product', 'order', 'user') |
page | No | 1 | Page number |
pageSize | No | 20 | Records per page (max 100) |
search | No | '' | Search term |
ofield | No | 'updatedAt' | Sort field |
odir | No | 'desc' | Sort direction: 'asc' or 'desc' |
filters | No | - | JSON-encoded filter array |
category | No | - | Filter by category |
tags | No | - | Comma-separated tags |
All GET requests require the Authorization header:
Authorization: Bearer lbkey_GENERATED_KEYhttps://www.linkbase.house/api/v1/data?table=order&page=1&pageSize=10
https://www.linkbase.house/api/v1/data?table=order&id=YOUR_RECORD_IDhttps://www.linkbase.house/api/v1/data?table=product&search=coffee&pageSize=5
Pass a JSON array as the filters parameter. Each filter needs filterKey, filterOp, and filterValue.
https://www.linkbase.house/api/v1/data?table=product&filters=[{"filterKey":"status","filterOp":"EQUALS","filterValue":"live"}]The search parameter matches against searchable fields, including nested ones like customer name and email on orders.
https://www.linkbase.house/api/v1/data?table=order&search=prospect@example.com&pageSize=5
200{
"data": [
{ "id": "abc123", "number": "ORD-001", "status": "completed", ... }
],
"meta": { "total": 42, "page": 1, "pageSize": 10, "totalPages": 5, "hasMore": true }
}Create, update, or delete records. The action field determines the operation.
| Field | Type | Description |
|---|---|---|
tableName | string | Target table name |
action | string | create, update, or delete |
data | object | Record data. Include id for update/delete. |
enableSideEffects setting on each API key. Disable it for bulk imports or migrations where you don't want webhook noise.All POST requests use the same URL with these headers:
POST https://www.linkbase.house/api/v1/data
Authorization: Bearer lbkey_GENERATED_KEY
Content-Type: application/json{
"tableName": "user",
"action": "create",
"data": { "name": "Jane Doe", "email": "jane@example.com" }
}201{
"data": { "id": "cuid123", "name": "Jane Doe", "email": "jane@example.com", ... }
}{
"tableName": "user",
"action": "update",
"data": { "id": "YOUR_RECORD_ID", "accountBalance": 50.00 }
}{
"tableName": "user",
"action": "delete",
"data": { "id": "YOUR_RECORD_ID" }
}{ "data": [...], "meta": { "total": 42, "page": 1, "pageSize": 20 } }{ "data": { ... } }{ "error": { "code": "FORBIDDEN", "message": "No permission for table 'order' action 'delete'" } }