Message Status
Check the delivery status of sent messages.
Get message status
Messages are stored in the sms_messages PocketBase collection. Query a specific message by its ID:
GET /api/collections/sms_messages/records/:id
Example
curl https://your-server.com/api/collections/sms_messages/records/MESSAGE_ID \
-H "Authorization: Bearer YOUR_JWT_TOKEN" Response
{
"id": "a1b2c3d4e5f6g7h",
"collectionId": "sms_messages",
"collectionName": "sms_messages",
"status": "delivered",
"to": "+1234567890",
"body": "Your code is 123456",
"message_type": "outgoing",
"device": "x9y8z7w6v5u4t3s",
"sent_at": "2024-01-15 10:30:02.000Z",
"delivered_at": "2024-01-15 10:30:05.000Z",
"error_message": "",
"created": "2024-01-15 10:30:00.000Z",
"updated": "2024-01-15 10:30:05.000Z"
} Status values
| Status | Description |
|---|---|
pending | Created, no device assigned |
assigned | Device assigned, push notification sent |
sending | Being processed by device |
sent | Sent by device |
delivered | Confirmed delivered |
failed | Failed to send |
received | Incoming SMS from an external sender |
List messages
GET /api/collections/sms_messages/records
Query parameters
Uses PocketBase's standard list API with filtering, sorting, and page-based pagination:
| Parameter | Description |
|---|---|
filter | PocketBase filter syntax (e.g., status="sent") |
sort | Sort field (e.g., -created for newest first) |
page | Page number (default: 1) |
perPage | Results per page (default: 30, max: 500) |
Example
curl "https://your-server.com/api/collections/sms_messages/records?filter=status='delivered'&sort=-created&perPage=20" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"