GET /sms/lines
List the numbers you can send from
Every number in this list is one POST /sms/messages will accept as
from; a number missing from it is one it would reject. Both read the
same setting, so this is the authoritative answer to "what can I put in
from".
| Scope | sms:read |
| Role permission | Phone numbers |
| Cost | Free. Sends nothing. |
An empty userIds means the line is unrestricted — available to
every user — not that nobody has it.
Responses
200
The numbers the credential may send from.
| Field | Type | Description |
|---|---|---|
[].number | string | The sending number, already in the exact form from wants. Copy it straight through — no reformatting. |
[].name | string | The line's caller-ID name, as shown in the portal. Empty if none is set. |
[].userIds | integer[] | The users this line is assigned to in the message center, matching id in GET /users. An empty array means the line is unrestricted — available to everyone — not that nobody has it. |
[].bulkEnabled | boolean | Whether the number is registered for 10DLC bulk/campaign traffic. Reported, never filtered on: campaign registration is not required to send through this API. A line with false sends fine. |
Two lines, one shared:
{
"data": [
{
"number": "12125550188",
"name": "Acme Support",
"userIds": [
481920,
481925
],
"bulkEnabled": false
},
{
"number": "12125550199",
"name": "Acme Sales",
"userIds": [],
"bulkEnabled": true
}
]
}
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/sms/lines' \
-H "Authorization: Bearer $TB_KEY"