Run a SQL query
Runs a read-only SQL query over the workspace’s records with the caller’s record access applied, and returns the rows as JSON with offset pagination in links and meta. A LIMIT or OFFSET in the SQL bounds the whole result, and page[offset] and page[limit] (up to 500) page within it. Each page reruns the query, so add an ORDER BY for stable pages. 64-bit integers, such as COUNT(*), come back as strings to keep their precision.
API key authentication. Send your key in the Authorization header as: api-key <your-api-key>.
In: header
Path Parameters
The workspace slug — the {slug} segment of your Clarify workspace URL.
Query Parameters
Offset pagination, e.g. page[offset]=0&page[limit]=100.
Default
{ "offset": 0, "limit": 500}Sort order, e.g. sortOrder[column]=_created_at&sortOrder[dir]=DESC.
When true, suppresses in-app and Slack notifications for this mutation and batches its live updates, so open views can lag by up to 20 seconds.
Header Parameters
The API version for this request. Send 2026-11 to get the behavior documented here. Omit it to use your API key's version, which this header can raise but not lower.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/workspaces/string/query" \ -H "clarify-version: 2026-11" \ -H "Content-Type: application/json" \ -d '{ "sql": "SELECT stage, COUNT(*) AS deals, SUM(amount) AS amount FROM deal GROUP BY stage ORDER BY amount DESC" }'{ "links": { "next": null, "prev": null }, "meta": { "total_records": 2, "total_pages": 1, "offset": 0, "limit": 500 }, "data": [ { "stage": "Won", "deals": "4", "amount": 182000 }, { "stage": "In progress", "deals": "7", "amount": 96500 } ]}Revoke object access
Revokes a previously granted access delegation. Requires a paid plan with access delegation enabled. Returns 202 Accepted with an empty body. Requires a user-backed API key; workspace-actor API keys are not supported.
Create a record access grant
Shares a single record — a record entity (`deal`, `company`, `person`, or a custom object) or a `list`, `meeting`, or `message` — with a user or the whole workspace at a given access level. Only the record’s owner or a workspace permission admin (records and lists), the record’s owner (messages), a participant (meetings), or the assignee or creator (tasks) can create grants. Requires a user-backed API key; workspace-actor API keys are not supported.