Skip to main content
GET
Get Me
subjectDefault is always the key owner’s user id (the identity a request acts as when no subject selector is sent). It is deliberately not the resolved X-Exo-Subject selector: internal subject user ids are an isolation detail and never leave the API.

Authorization

This route accepts any authenticated Exo API key and checks no additional scope. A missing or invalid credential returns 401 authentication_error. A valid credential without the scope returns 403 permission_denied, and the problem body names the exact scope required.

Headers

These are request conventions the contract does not declare as parameters, so they do not appear in the schema tables below.

Success responses

Errors

Every error is an RFC 9457 application/problem+json body carrying a stable code, a requestId, and a suggestedAction where Exo has one. See Errors.

Notes

  • This works before any data exists. It is the call to make first when you are checking a key.
  • subjectDefault is always the key owner. It is never the resolved X-Exo-Subject selector: internal subject user ids are an isolation detail and do not leave the API.

Authorizations

X-Exo-API-Key
string
header
required

An Exo API key (exo_...) sent as the X-Exo-API-Key header.

Response

Successful Response

GET /v1/me: principal introspection, the quickstart's instant-200 call.

org
MeOrg · object
required

Org block of GET /v1/me. slug/displayName are best-effort enrichment.

scopes
string[]
required
subjectDefault
string
required
user
MeUser · object
required

User block of GET /v1/me.

plan
string
default:default