Skip to main content

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".

Scopesms:read
Role permissionPhone numbers
CostFree. 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.

FieldTypeDescription
[].numberstringThe sending number, already in the exact form from wants. Copy it straight through — no reformatting.
[].namestringThe line's caller-ID name, as shown in the portal. Empty if none is set.
[].userIdsinteger[]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.
[].bulkEnabledbooleanWhether 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

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/sms/lines' \
-H "Authorization: Bearer $TB_KEY"

Try it in the playground →