Skip to main content

GET /users

List the account's users

The company's users — this is what turns a user id or an extension into a person.

Scopeusers:read
Role permissionUsers
CostFree

Personal data. Names, emails and mobile numbers.

Sorted by last name, then first name, then id — stable between calls, so diffing two responses is meaningful.

This is not an address book. It returns the company's users only, never anyone's personal contacts.

Responses​

200​

The users the credential may see.

FieldTypeDescription
[].idintegerThe user's id on the phone system. This is the value every other endpoint means by a user id — the entries in SMSLine.userIds are these ids.
[].usernamestringThe login this person signs in with. Empty for a user created without portal access.
[].firstNamestring
[].lastNamestring
[].titlestringJob title as entered in the portal. Free text.
[].emailstring
[].mobilestringThe personal/cell number on the user's profile — not a number on the account. May be blank.
[].companystringThe per-user company override, falling back to the account's own name — so it is always populated and always a name a caller would recognize.
[].timeZonestringThe user's IANA zone. Every timestamp on this surface is UTC; this is what turns one into the wall-clock time this person saw.
[].extensionstringThe dial-by-name extension — the digits the auto-attendant matches for this person. Not necessarily a phone extension they can be reached on; see extensions.
[].extensionsstring[]The PBX extensions assigned to this user — what a colleague dials internally.
[].linesstring[]The SIP lines (devices/registrations) the user owns.
[].numbersstring[]The account DIDs owned by this user. A number with no owner appears on nobody.
[].voicemailsstring[]The mailbox names the user owns.
{
"data": [
{
"id": 481920,
"username": "dspencer",
"firstName": "Dana",
"lastName": "Spencer",
"title": "Support Lead",
"email": "dana@acme.example",
"mobile": "13475550188",
"company": "Acme Inc",
"timeZone": "America/New_York",
"extension": "204",
"extensions": [
"204"
],
"lines": [
"acme-204"
],
"numbers": [
"12125550188"
],
"voicemails": [
"204"
]
}
]
}

Errors​

StatusMeaning
401unauthenticated — no credential, or one that is invalid, revoked or expired. The WWW-Authenticate header names the scope the endpoint wanted.
403Two different failures share this status, and the type tells them apart:
500internal_error — something failed on our side. For a send, nothing was charged, guaranteed, which is what makes a retry safe.

See Errors for the full catalog and what to do about each.

Example​

curl -X GET 'https://api.account.telebroad.com/api/public/v1/users' \
-H "Authorization: Bearer $TB_KEY"

Try it in the playground →