POST /sms/lines/{line}/blocked
Block a sender
| Scope | sms:write |
| Role permission | Phone numbers — line must be one of theirs |
| Cost | Free |
Stops a number texting this line. Idempotent — blocking an already-blocked number succeeds, so a retry after a timeout is safe.
Path parameters
| Name | Type | Required | Example | Description |
|---|---|---|---|---|
line | string | yes | 12125550188 | One of your account's numbers. Digits. |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
number | string | yes | The sender to block, in digits. |
reason | string | no | Free text for your own records. |
{
"number": "13475550123",
"reason": "Repeated spam"
}
Responses
201
Blocked.
| Field | Type | Description |
|---|---|---|
line | string | |
number | string | |
reason | string | Free text for your own records. Never shown to the blocked party. |
blockedAt | string (RFC 3339) |
Errors
| Status | Meaning |
|---|---|
400 | invalid_request — a missing or malformed field, an unknown enum value, or an unknown field in the body. Nothing was charged. |
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 POST 'https://api.account.telebroad.com/api/public/v1/sms/lines/12125550188/blocked' \
-H "Authorization: Bearer $TB_KEY" \
-H 'Content-Type: application/json' \
-d '{"number":"13475550123","reason":"Repeated spam"}'