HeadlessOps
API Reference

Data Stores API

REST API reference for data store management and row operations

Data Stores API

All data store endpoints use API key authentication.

Endpoints

GET /api/stores

List all data stores in the workspace.

Auth: API Key | Min Role: VIEWER | MCP: mcp:tools

Response:

[
  {
    "id": "ds_abc123",
    "name": "Processed Invoices",
    "slug": "processed-invoices",
    "description": "Tracks processed invoices",
    "columnCount": 3,
    "rowCount": 142,
    "createdAt": "2026-01-01T00:00:00Z"
  }
]

POST /api/stores

Create a new data store.

Auth: API Key | Min Role: DEVELOPER | MCP: mcp:tools

Body:

{
  "name": "processed-invoices",
  "description": "Tracks invoices already processed",
  "columns": [
    { "name": "invoice_id", "type": "TEXT", "required": true },
    { "name": "processed_at", "type": "DATE" },
    { "name": "amount", "type": "NUMBER" }
  ]
}

Valid column types: TEXT | NUMBER | BOOLEAN | DATE | JSON

Response: 201 store object


GET /api/stores/:storeId

Get a data store with its column definitions.

Auth: API Key | Min Role: VIEWER


POST /api/stores/:storeId/rows

Add a row to a data store.

Auth: API Key | Min Role: DEVELOPER

Body: { "data": { "invoice_id": "inv_123", "amount": 4999 } }

Response: 201 row object

Note: NUMBER columns are returned as strings when read back. Cast with parseInt() or parseFloat() in TypeScript.