Caller
Who a key acts as and what it may do.
Who is calling
/api/v1/meWho a key acts as, and what it may do. Both kinds of key may ask, with profile:read. A personal key acts as the person who made it. An organization key belongs to the organization, and acts as the admin who made it: key.kind says which, org names the organization, and the person is the admin whose workspace its clients, briefs and matches are saved to. The answer also says what the key may do and when it expires, and never returns the key itself. The first call to make to check that a key is the one you meant and carries what you expect.
An API key carrying the scope named here, or a signed-in session.
- Scope
profile:read- Key kinds
- PersonalOrganization
Required and optional fields, allowed values and errors, as the page shows them.
Examples
curl "https://liviamatch.com/api/v1/me" \
-H "Authorization: Bearer $LIVIA_API_KEY"Responses
The caller.
{
"data": {
"id": "3a8d1e47-9c52-4b0f-a6d3-5e7b2c9f1a04",
"email": "harper@hearthandkey.example",
"name": "Harper Quinn",
"emailVerified": true,
"org": {
"id": "b7c2e9a1-4d63-4f85-9e0a-2a1c8d3b5f76",
"name": "Hearth & Key Realty",
"role": "admin"
},
"key": {
"id": "2f9b6d41-8e03-4c75-b1a8-4c6e0d2f7a59",
"name": "crm-search",
"kind": "personal",
"fullAccess": false,
"scopes": [
"search:read",
"search:run",
"profile:read"
],
"expiresAt": "2027-01-01T00:00:00.000Z"
}
}
}{
"data": {
"id": "3a8d1e47-9c52-4b0f-a6d3-5e7b2c9f1a04",
"email": "harper@hearthandkey.example",
"name": "Harper Quinn",
"emailVerified": true,
"org": {
"id": "b7c2e9a1-4d63-4f85-9e0a-2a1c8d3b5f76",
"name": "Hearth & Key Realty",
"role": "admin"
},
"key": {
"id": "f3a9c1e5-7b24-4d86-9a0e-5c1d8b3f6a72",
"name": "brokerage-sync",
"kind": "org",
"fullAccess": false,
"scopes": [
"search:read",
"search:run",
"clients:write",
"briefs:write",
"shares:write",
"profile:read",
"org:read"
],
"expiresAt": "2027-01-01T00:00:00.000Z"
}
}
}Fields (16)
| Field | Type | Description |
|---|---|---|
data | object | |
data.id | string (uuid) | The person the call acts as: the person signed in, a personal key's maker, or the admin who made an organization key. |
data.email | string | |
data.name | string | null | |
data.emailVerified | boolean | |
data.org | object | The organization that person belongs to. For an organization key, the organization the key belongs to. |
data.org.id | string (uuid) | |
data.org.name | string | null | |
data.org.role | string | That person's role in the organization. |
data.key | object | null | The key this request came with, or null when it came with a signed-in session. |
data.key.id | string (uuid) | |
data.key.name | string | |
data.key.kind | "personal" | "org" | Whose key it is. personal acts as the person who made it. org belongs to the organization and acts as the admin who made it, so the clients, briefs and matches it makes are saved to that admin's workspace. |
data.key.fullAccess | boolean | True when the key carries every scope its kind may, including ones added later. |
data.key.scopes | ("search:read" | "search:run" | "clients:read" | "clients:write" | "briefs:read" | "briefs:write" | "shares:read" | "shares:write" | "profile:read" | "org:read" | "audit:read" | "members:write" | "org:write" | "account:associate")[] | What the key may do right now, with each scope's implied scopes included. |
data.key.expiresAt | string (date-time) |
Errors
Any call of this kind can also answer401 unauthenticated401 invalid-api-key403 insufficient-scope429 rate-limited429 monthly-cap-reached500 internal