SMSSubscribers
Create SMS subscriber
Add a single pre-verified SMS subscriber to a dashboard.
POST /app/subscribers/sms/subscribers
Creates one pre-verified SMS subscriber. Admin-trusted — no verification text is sent.
Request
See API Basics for required headers.
Body
| Field | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | E.164 phone number (e.g. +14155552671). Digits only after +; no spaces or punctuation |
dashboardId | uuid | Yes | Target dashboard |
componentIds | uuid[] | Yes | At least one component on that dashboard |
National numbers (without a leading + and country calling code) are not accepted. On success, the response includes a human-readable phone (e.g. +1 415 555 2671) and the canonical E.164 value in normalizedPhone (used in path parameters for update and delete).
There is no admin-managed (locked) option for SMS — that concept applies only to email.
Sample request
curl -X POST https://api.statusdashboard.com/app/subscribers/sms/subscribers \
-H "Authorization: Bearer bcf847abf5c6:def456" \
-H "Content-Type: application/json" \
-d '{
"phone": "+14155552671",
"dashboardId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"componentIds": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"]
}'Sample response
Status: 201 Created
{
"subscriber": {
"phone": "+1 415 555 2671",
"normalizedPhone": "+14155552671",
"dashboardId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"dashboardName": "Acme Status",
"verified": true,
"verifiedAt": "2026-06-01T14:22:00.000Z",
"createdAt": "2026-06-01T14:22:00.000Z",
"updatedAt": "2026-06-01T14:22:00.000Z",
"componentIds": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"],
"paused": false
}
}Error responses
| Status | When |
|---|---|
400 | Invalid body, invalid phone, or component not on dashboard |
403 | Requires admin or subscriber role, feature disabled, or quota exceeded |
404 | Dashboard not found |
409 | Already subscribed on this dashboard, or a bulk import is in progress |

