Skip to main content

POST /sms/lines/{line}/read

Mark a whole line read

Scopemessages:write
Role permissionPhone numbers — line must be one of theirs
CostFree

Clears a line's unread state for you, without walking every thread.

Needs a USER credential. Read state is keyed on a user id; an API key authenticates the account, not a person, so it has no inbox of its own to clear and gets a 400. Authorize with OAuth for this one.

Path parameters

NameTypeRequiredExampleDescription
linestringyes12125550188One of your account's numbers. Digits.

Request body

FieldTypeRequiredDescription
sincestring (RFC 3339)noOnly mark messages after this instant. Omit for everything.

Everything:

{}

Only recent messages:

{
"since": "2026-08-01T00:00:00Z"
}

Responses

204

Applied.

Errors

StatusMeaning
400invalid_request — a missing or malformed field, an unknown enum value, or an unknown field in the body. Nothing was charged.
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 POST 'https://api.account.telebroad.com/api/public/v1/sms/lines/12125550188/read' \
-H "Authorization: Bearer $TB_KEY" \
-H 'Content-Type: application/json' \
-d '{}'

Try it in the playground →