Current user
These endpoints tell you who the token belongs to and which company accounts (directoryId) it can address. Most integrations call them first.
Every endpoint below shows its parameters and response fields in the middle and a request sample with an example response on the right.
Returns the basic info of the authenticated user
/v1.0/meField overview from the specification
Response fields:
userId(string): unique user id.email(string): email address of the user.firstName(string): first name.lastName(string): last name.timeZone(string | null): IANA time zone identifier of the user (e.g. "Europe/Berlin"), suitable for Intl.DateTimeFormat and date math. Null if the user has no time zone set.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
email,firstName,lastName,timeZone,userId.Example:email,firstName
Response
userIdstringrequiredUnique user id.
emailstringrequiredEmail address of the user.
firstNamestringrequiredFirst name.
lastNamestringrequiredLast name.
timeZonestringrequirednullableIANA time zone identifier of the user (e.g. "Europe/Berlin"), suitable for Intl.DateTimeFormat and date math. Null if the user has no time zone set.
Status codes
- 200Success
- 401
Missing or invalid bearer token.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.
Lists the memberships of the authenticated user across all directories
/v1.0/me/directories/membershipsDiscovery of "which directories + my role/license in each". Resolve roleId/licenseId via GET /v1.0/roles / GET /v1.0/licenses.
Field overview from the specification
Each item has:
directoryId(string): id of the directory.directoryName(string): display name of the directory.roleId(string): role id of the caller in this directory; resolve viaGET /v1.0/roles.licenseId(string): license id of the caller in this directory; resolve viaGET /v1.0/licenses.isBlocked(boolean): whether the caller is blocked in this directory.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
directoryId,directoryName,isBlocked,licenseId,roleId.Example:directoryId,directoryName
Response
directoryIdstringrequiredId of the directory.
directoryNamestringrequiredDisplay name of the directory.
roleIdstringrequiredRole id of the caller in this directory. Resolve via
GET /v1.0/roles.licenseIdstringrequiredLicense id of the caller in this directory. Resolve via
GET /v1.0/licenses.isBlockedbooleanrequiredWhether the caller is blocked in this directory.
Status codes
- 200Success
- 401
Missing or invalid bearer token.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.