Create a grant
POST /v1/tenants/:tenant_id/grants
Creates a new active grant giving grantee_tenant_id access to one of your subjects with the specified scopes.
Requires the tenant_admin role. Your tenant must be the owner of the subject.
Path parameters
The ID of your (the owner) tenant.
Body parameters
The type of subject being shared. Must be
entity or individual.The identifier of the subject being shared.
The ID of the tenant you are granting access to. Must refer to an existing
tenant.
The data operations the grantee is permitted to perform. Must be a non-empty
array containing one or more of the following values:
| Scope | Permits |
|---|---|
read_latest | Read the latest snapshot for the subject. |
read_lineage | Walk the full snapshot history (parent chain). |
read_snapshot_by_id | Fetch any specific snapshot by ID. |
read_diff | Compute a diff between any two snapshots. |
An optional expiry timestamp after which the grant is no longer valid. Omit
for a grant that does not expire.
Response
201 Created — the new grant object.
Error responses
| Status | Code | Meaning |
|---|---|---|
403 | forbidden | Your tenant is not the owner of the subject. |
409 | conflict | An active grant already exists for this (subject, grantee_tenant) pair, or the grantee_tenant_id does not exist. |
List grants on a subject
GET /v1/tenants/:tenant_id/subjects/:subject_type/:subject_id/grants
Returns all grants (active, revoked, and expired) on a specific subject that your tenant owns.
Requires the tenant_admin role. Your tenant must be the owner of the subject.
Path parameters
The ID of your (the owner) tenant.
Must be
entity or individual.The identifier of the subject.
Response
200 OK
Revoke a grant
POST /v1/tenants/:tenant_id/grants/:grant_id/revoke
Immediately revokes an active grant. After revocation the grantee loses all access to the subject.
Requires the tenant_admin role. Your tenant must be the owner of the subject covered by the grant.
Path parameters
The ID of your (the owner) tenant.
The ID of the grant to revoke.
Response
200 OK — the updated grant object with status: "revoked" and a revoked_at timestamp.
Error responses
| Status | Code | Meaning |
|---|---|---|
404 | not_found | No grant exists with this grant_id. |
409 | conflict | The grant is not active (already revoked or expired). |
List accessible subjects
GET /v1/tenants/:tenant_id/accessible-subjects
Returns all subjects your tenant can access via active grants. Each item includes the latest snapshot metadata and a provenance summary so you can quickly assess data freshness without fetching full snapshots.
Requires at least the tenant_reader role.
Path parameters
The ID of your (the grantee) tenant.
Query parameters
Number of results per page. Between
1 and 200. Defaults to 50.Opaque pagination cursor from the previous response’s
page.next_cursor.Response
200 OK