SMS recipients
Overview
Get a paginated list of SMS recipients for a campaign, with status filtering, field search, and sorting.
Prerequisites
- A bearer token. Callable with Account tokens.
- The
campaignIdof the record you are targeting.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/campaign/{campaignId}/recipients/sms
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Account tokens.
-
Requires the user's own company
bundle_id === 3(ACCOUNT). (404Campaign not foundotherwise). -
Non-account users get 403.
Rate limit
- No rate limit.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
campaignId | integer | Required | Digits only. |
Query parameters
- Query:
filter(string, optional) — one ofprocessed,pending,sent,delivered,clicked,failed. Maps to a status/timestamp predicate (e.g.clicked→link_clicked_at NOT NULL). - Query:
search_field(string, optional) — one ofphone_number,status,message_id. When set,LIKEon that column; when you omit it butsearch_valueis set, OR-LIKE across all three. - Query:
search_value(string, optional, max 255) — search term. - Query:
sort_field(string, optional) — one ofid,phone_number,status,created_at,sent_at,delivered_at,link_clicked_at,failed_at,message_id. Defaultcreated_at. - Query:
sort_by(string, optional) —asc/ASC/desc/DESC. Defaultdesc. - Query:
limit(integer, optional, 10–100) — per-page; values below 10 are raised to 10, capped at 100. Default 10. - Query:
page(integer, optional, min 1) — page number. Default 1.
Response
current_page(int)data[](array) — recipient rows with the selected columns above plus nestedaudience_data.per_page(int),total(int),last_page(int),from/to,first_page_url,next_page_url, etc. (standard paginator keys).
200 Success · 200
200{
"current_page": 1,
"data": [
{
"id": 456,
"status": "delivered",
"sent_at": "2026-06-15T10:30:00.000000Z",
"delivered_at": "2026-06-15T10:31:00.000000Z",
"link_clicked_at": null,
"failed_at": null,
"failure_reason": null,
"metadata": null,
"created_at": "2026-06-15T10:29:00.000000Z",
"dialing_code": "+1",
"phone_number": "5551234567",
"message_id": "SM123abc",
"campaign_audience_data_id": 99,
"audience_data": {
"id": 99,
"customer_name": "Jane Doe",
"email": "[email protected]",
"phone": "5551234567",
"is_email_valid": "valid",
"is_phone_valid": "valid",
"validation_status": "validated"
}
}
],
"per_page": 10,
"total": 100
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
403 | The token is valid but the record sits outside your account |
404 | The campaign id does not exist or is not yours (Campaign not found) |
422 | The request failed validation — the response names the fields |
500 | Unexpected server error |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/campaign/123/recipients/sms" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 10 days ago
Did this page help you?
