Preview — pending review
This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.
A member's access matrix
The member's rows in the tenant -- each a role at the tenant, a subscription or a project --
with editable = whether the CALLER may remove (or re-grant) it. Rows at scopes the caller does not
reach are not listed (hiddenCount counts them); summary counts every row. dropped / removed
are empty on this read.
Authorization: the caller must reach the tenant (404) and hold iam: read in it (403); the member
must belong to the tenant (404).
bearerTokenAuthorizationBearer <token>An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.
tenantId*stringThe tenant id.
userId*stringThe member (its id is its email).
The member's access matrix.
application/json- response
A member's access matrix in the tenant.
userId*stringtenantId*stringrows*array<>hiddenCount*integerRows at scopes the caller does not reach (not listed, never changed by its writes).
0 <= valuesummary*What a member can reach in the tenant, for list rows. tenant when it holds any tenant row; scoped when it holds subscription/project rows only; none when it holds no row. The counts are the distinct subscriptions / projects named by its explicit rows (computed over every row, including ones the viewer cannot edit).
dropped*array<>Input rows not written because another row already grants them (writes only).
removed*array<>Rows the write removed (writes only).
curl -X GET "https://example.com/tenants/string/iam/users/string/access"{ "userId": "string", "tenantId": "string", "rows": [ { "assignmentId": "string", "scopeKind": "tenant", "scopeId": "string", "scopeName": "string", "subscriptionId": "string", "role": "string", "roleName": "string", "grantedBy": "string", "createdAt": "2019-08-24T14:15:22Z", "editable": true } ], "hiddenCount": 0, "summary": { "kind": "tenant", "subscriptions": 0, "projects": 0 }, "dropped": [ { "index": 0, "scopeKind": "tenant", "scopeId": "string", "role": "string", "reason": "DUPLICATE", "coveredBy": { "scopeKind": "tenant", "scopeId": "string" } } ], "removed": [ { "assignmentId": "string", "scopeKind": "tenant", "scopeId": "string", "scopeName": "string", "subscriptionId": "string", "role": "string", "roleName": "string", "grantedBy": "string", "createdAt": "2019-08-24T14:15:22Z", "editable": true } ]}