Skip to content
VPNDetection

Identity

get/api/v1/iam/identity

The identity behind this credential: what it is, the organization it is scoped to, and the scopes it currently holds.

user is present for an OAuth token and absent for an API key, which has an organization but no person behind it. credential.kind says which you are holding, so a client can branch without guessing from a missing field.

scopes is what the credential may do now, so a client can check before it calls.

Authorization

bearerAuthbearer token

Authorization: Bearer <key>.

Scopes: account.read

Responses

200application/json

The caller.

rcrequiredstring
userrequiredobject
idrequiredstring (uuid)
fullnamestring
emailstring (email)
orgrequiredobject
idrequiredstring (uuid)
scopesrequiredarray<string>

What this credential may do right now.

TypeScript type
ts
{
  rc: string;
  user: {
    id: string;
    fullname?: string;
    email?: string;
  };
  org: {
    id: string;
  };
  scopes: string[];
}
401application/json

No credential was presented, or it is not valid.

rcrequiredstring

The outcome. SUCCESS on success; otherwise the reason.

TypeScript type
ts
{
  rc: string;
}
403application/json

The credential does not hold the scope this endpoint requires. The missing scope is deliberately not named.

rcrequiredstring

The outcome. SUCCESS on success; otherwise the reason.

TypeScript type
ts
{
  rc: string;
}