Skip to main content

UserInfo Endpoint

Retrieve profile information about the authenticated user or agent. This is an OpenID Connect standard endpoint.

GET POST /t/\{tenantSlug\}/api/v1/oauth/userinfo

When to Use UserInfo

While the ID token contains user information at the time of authentication, the UserInfo endpoint provides current profile data. Use it when:

  • Displaying a user profile page
  • Syncing user data with your database
  • Checking current roles and permissions
  • The ID token claims aren't sufficient for your needs

Request

Include the access token in the Authorization header:

curl -X GET https://app.lumoauth.dev/t/acme-corp/api/v1/oauth/userinfo \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response: User Identity

For regular users authenticated via OAuth:

{
"sub": "12345",
"name": "John Smith",
"email": "john@example.com",
"email_verified": true,
"picture": "https://example.com/avatars/john.jpg",
"roles": ["ROLE_USER", "ROLE_EDITOR"],
"tenant": "acme-corp",
"updated_at": 1704063600
}

Response: Agent Identity

For AI agents authenticated via client credentials or workload federation:

{
"sub": "agent_analyst_bot",
"name": "Financial Analyst Bot",
"agent_id": "agt_abc123",
"identity_type": "agent",
"capabilities": [
"read:reports",
"tool:search",
"write:analysis"
],
"workload_identity": "aws:sts:analyst-server",
"tenant": "acme-corp",
"budget_policy": {
"max_tokens_per_day": 100000,
"max_api_calls_per_hour": 1000
}
}

Response Fields

Standard OIDC Claims

ClaimDescriptionScope Required
subUnique identifier for the user/agentopenid
nameFull nameprofile
emailEmail addressemail
email_verifiedWhether email has been verifiedemail
pictureProfile picture URLprofile

LumoAuth-Specific Claims

ClaimDescription
rolesArray of roles assigned to the user
tenantTenant slug the identity belongs to
identity_typeuser or agent
capabilitiesAgent-specific: allowed actions
workload_identityAgent-specific: external identity source
budget_policyAgent-specific: usage limits