Get the current user
Returns the profile of the user the key acts as, including their workspace.
GET
/v1/me
Permission
The key must be granted identity.read
A key without it gets 403 insufficient_scope, with the missing permission named in details.
The cheapest way to check a key works and see who it acts as: one upstream read, and it needs only identity.read.
Request
curl https://api.veruapis.com/v1/me \
-H "Authorization: Bearer vak_live_..."
Response
| Field | Type | Description |
|---|---|---|
id |
string | The workspace user this key acts as. |
email |
string | Their sign-in address. |
name |
string | Their display name. |
role |
string | Their role in the workspace. A key can never do more than its creator, whatever scopes it carries. |
workspace |
object | The workspace the key belongs to. A key never spans workspaces. Its fields are below. |
mailbox_address |
string | Their mailbox on the workspace domain. Absent for an account that has none. |
avatar_url |
string | Absolute URL of their profile picture. Absent when they have not set one. |
The workspace
| Field | Type | Description |
|---|---|---|
id |
string |
{
"data": {
"id": "01918e4b-7c2e-7f11-b4a9-0242ac130003",
"email": "[email protected]",
"name": "Alice Ng",
"role": "tenant_admin",
"workspace": { "id": "01918e4b-0001-7f11-b4a9-0242ac130003" },
"mailbox_address": "[email protected]",
"avatar_url": "https://api.verusuite.com/api/user/v1/users/01918e4b-7c2e-7f11-b4a9-0242ac130003/profile-pic/1717123456"
},
"meta": { "request_id": "req_01j8z9...", "timestamp": "2026-09-02T10:00:00Z" }
}
Worth knowing
The workspace is the one the key was created in, and a key never spans workspaces. The cheapest way to check a key works: one upstream read, and it needs only identity.read.
Errors
Every failure uses the same shape, with a stable string code you can branch on. See the error reference.
Related
- GET Get a user
- GET List groups
- GET List workspace users