Poll an Order
Poll a protected receive-SMS or rental order and read its messages and cancellation state.
GET /v2/receive-sms/orders/{orderId}
GET /v2/rent-numbers/orders/{orderId}
Authorization: Bearer <accessToken>curl -sS https://api.sms4sats.com/v2/receive-sms/orders/ORDER_ID \
-H 'Authorization: Bearer ACCESS_TOKEN'Representative response
{
"id": "<payment-hash>",
"orderId": "<payment-hash>",
"type": "receive-sms",
"country": "151",
"service": "tg",
"status": "waiting_for_sms",
"orderStatus": "waiting_for_sms",
"priceSats": 350,
"phoneNumber": "+1...",
"messages": [],
"durationMinutes": null,
"createdAt": "2026-09-30T19:00:00.000Z",
"updatedAt": "2026-09-30T19:01:10.000Z",
"paidAt": "2026-09-30T19:01:00.000Z",
"expiresAt": "2026-09-30T19:21:00.000Z",
"completedAt": null,
"cancelledAt": null,
"failedAt": null,
"cancellation": {
"eligible": false,
"availableAt": "2026-09-30T19:04:00.000Z"
}
}A delivered message appears as:
Polling rules
Poll every 5–10 seconds.
The server also performs restart-safe background polling; client polling is not the sole fulfillment mechanism.
Treat
statusandorderStatusas equivalent lifecycle fields.Do not infer success from the presence of a phone number; wait for a message and terminal state.
Stop on
completed,cancelled,expired, orfailed.Keep polling transitional states rather than creating a replacement order.
See Order States for the complete state machine.
Last updated