Whoami

GET
/v1/whoami

Who Sparq thinks the caller is: principal, credential, project and tenant.

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Bearer credential. API keys look like sqk_<geo>_<key_id>_<secret>: treat them as opaque and never put one in a browser. Older keys without the geo part stay valid until rotated. Find a geo's endpoints through GET /.well-known/sparq-discovery before sending a key.

Header Parameters

Sparq-Workspace?string

For a person signed in to a console with several workspaces: the workspace this call is for, one of their memberships (listMyMemberships). Without it such a person gets workspace_required (400); a workspace they are not a member of is forbidden. It never grants anything, and other callers' credentials ignore it.

Formatuuid

Response Body

Successful Response

application/json
  1. response
principal_type*PrincipalType
Value in"user""service""agent""operator""system"
principal_id*Principal Id
credential_id*Credential Id
Formatuuid
workspace_id*Workspace Id
Formatuuid
project_id*|null
environment*|null
audience_tenant_id*|null
roles?array<>
environment_id?|null
environment_tier?|

An open set: see ADR-0011 for the tiers.

Example Request
curl -X GET 'http://dev-sparq.centralindia.cloudapp.azure.com:8000/v1/whoami'
Example Response
{  "principal_type": "user",  "principal_id": "string",  "credential_id": "13c40afa-2996-4a0c-b2e9-68fba9462242",  "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",  "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",  "environment": "string",  "audience_tenant_id": "0287c3f7-886a-49f4-a73e-03577e798c26",  "roles": [    "agent"  ],  "environment_id": "40ef0e48-a11f-4963-a229-e396c9f7e7c4",  "environment_tier": "string"}