GET /users
List the account's users
The company's users — this is what turns a user id or an extension into a person.
| Scope | users:read |
| Role permission | Users |
| Cost | Free |
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.
| Field | Type | Description |
|---|---|---|
[].id | integer | The 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. |
[].username | string | The login this person signs in with. Empty for a user created without portal access. |
[].firstName | string | |
[].lastName | string | |
[].title | string | Job title as entered in the portal. Free text. |
[].email | string | |
[].mobile | string | The personal/cell number on the user's profile — not a number on the account. May be blank. |
[].company | string | The 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. |
[].timeZone | string | The user's IANA zone. Every timestamp on this surface is UTC; this is what turns one into the wall-clock time this person saw. |
[].extension | string | The 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. |
[].extensions | string[] | The PBX extensions assigned to this user — what a colleague dials internally. |
[].lines | string[] | The SIP lines (devices/registrations) the user owns. |
[].numbers | string[] | The account DIDs owned by this user. A number with no owner appears on nobody. |
[].voicemails | string[] | 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
| Status | Meaning |
|---|---|
401 | unauthenticated — no credential, or one that is invalid, revoked or expired. The WWW-Authenticate header names the scope the endpoint wanted. |
403 | Two different failures share this status, and the type tells them apart: |
500 | internal_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"