Create record access grants in bulk
Shares a single record with multiple users and/or the whole workspace in one request, up to 1000 grants per call. 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.
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.
The shareable object the record belongs to: a record entity (deal, company, person, task, a custom object) or list / meeting / message.
The unique ID of the shared record.
Query Parameters
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/objects/string/records/string/access/bulk" \ -H "clarify-version: 2026-11" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "type": "object-record-access", "attributes": { "grantee_type": "user", "grantee_id": "7d4e2f9a-1b3c-4d5e-8f6a-9c0b2d4e6f81", "access_level": "view" } }, { "type": "object-record-access", "attributes": { "grantee_type": "workspace", "grantee_id": null, "access_level": "edit" } } ] }'{ "data": [ { "type": "object-record-access", "id": "2f4a6c8e-0b1d-4a3f-8c5e-7a9b1c3d5e6f", "attributes": { "_id": "2f4a6c8e-0b1d-4a3f-8c5e-7a9b1c3d5e6f", "object_id": "9d2c4e6f-8a1b-4c3d-9e5f-7a9b1c3d5e7f", "grantee_type": "user", "grantee_id": "7d4e2f9a-1b3c-4d5e-8f6a-9c0b2d4e6f81", "access_level": "view", "source": "share", "_created_at": "2026-01-15T09:30:00.000Z", "_created_by": "7d4e2f9a-1b3c-4d5e-8f6a-9c0b2d4e6f81", "_updated_at": null, "_updated_by": null } }, { "type": "object-record-access", "id": "3a5b7d9f-1c2e-4b6a-8d0f-2e4c6a8b0d1f", "attributes": { "_id": "3a5b7d9f-1c2e-4b6a-8d0f-2e4c6a8b0d1f", "object_id": "9d2c4e6f-8a1b-4c3d-9e5f-7a9b1c3d5e7f", "grantee_type": "workspace", "grantee_id": null, "access_level": "edit", "source": "share", "_created_at": "2026-01-15T09:30:00.000Z", "_created_by": "7d4e2f9a-1b3c-4d5e-8f6a-9c0b2d4e6f81", "_updated_at": null, "_updated_by": null } } ], "meta": { "viewerAccess": [] }}Share many records in one request
Grants view access on up to 1000 records to a set of grantees in one request, with grantees times records capped at 10000. Supports `message` (messages you own, email and LinkedIn) and `meeting` (meetings you attended); records you can't manage are skipped and counted in `meta`. Grantees are not notified. Requires a user-backed API key; workspace-actor API keys are not supported.
List record access grants
Returns every access grant on a single record — a record entity (`deal`, `company`, `person`, or a custom object) or a `list`, `meeting`, or `message` — as a JSON:API collection. A grant shares the record with a single workspace member or the whole workspace at a given access level. Visible to anyone who can already read the record. Requires a user-backed API key; workspace-actor API keys are not supported.