One trustee's effective rights over one node: the subject, the node, the assurance the answer holds, the lineage path and each right's state. Needs authz:admin; answers 404 while the operator has the AuthZEN search surface disabled and 403 outside its permitted network
const url = 'https://example.com/v1/auth/effective-rights?subject_type=user&subject_id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0&kind=agent&id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/v1/auth/effective-rights?subject_type=user&subject_id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0&kind=agent&id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \ --header 'Authorization: Bearer <token>'Projects one trustee’s rights over one node: the subject (a user or token id, never an email), the node, the assurance the answer holds, the node’s container lineage, and each trustee right’s decision state. A subject the store does not know and one with no membership here answer alike, so the read is not an existence oracle for other tenants.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Header Parameters
Section titled “ Header Parameters ”Target tenant id; required when the principal can act in more than one tenant.
Query Parameters
Section titled “ Query Parameters ”The subject to project: a user or an API token (never an email — an id, so the 404 is not an account oracle).
The subject’s identifier (UUIDv7).
The node’s kind.
The node’s identifier (UUIDv7).
Responses
Section titled “ Responses ”OK
object
The authenticator assurance level the subject was evaluated at.
object
The node’s container lineage, outermost first.
object
Set only on an agent group that lives in a different workspace than the node.
object
The right’s decision state as the engine reports it.
object
Example generated
{ "assurance": 1, "node": { "id": "example", "kind": "example" }, "path": [ { "kind": "example", "ref": "example", "workspace": "example" } ], "rights": [ { "name": "example", "state": "example" } ], "subject": { "id": "example", "kind": "example" }}Bad request
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Unauthenticated
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Forbidden
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Not found
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Conflict / setup required
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Rate limited
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}