The calling principal and its tenant grants
const url = 'https://example.com/v1/auth/whoami';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/whoami \ --header 'Authorization: Bearer <token>'Returns the calling principal, its tenant grants, and the effective permission set it holds in each of them.
Authorizations
Section titled “ Authorizations ”Responses
Section titled “ Responses ”OK
object
Authentication assurance level (sessions only)
Authentication method references (sessions only)
Deployment authentication configuration observed for this response. This is not certificate validation or authorization.
object
Whether this deployment has configured PIV verifier roots. Does not indicate certificate presence, OCSP status, or assurance level.
Signed-in user email; omitted for token principals.
object
Present only when this membership is confined to a workspace: the principal may act only within it, enforced server-side on every request.
The principal’s EFFECTIVE permission set in this tenant, sorted. The console answers “may I?” by membership of this set. It is the tenant-wide RBAC floor over the permissions this binary serves, minus the workspace-confinement forbids that hold regardless of target; authored scoped grants/forbids and the ABAC deny-overlay are decided per resource and are NOT reflected.
The display name of this tenant’s organization, read from the principal’s own tenant (no cross-tenant read). Absent when it cannot be read.
Session lifetime in seconds at sign-in or refresh (sessions only; fixed by the engine).
Example
{ "kind": "user"}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" }}