Numbers
Long-term numbers
Keep the same phone for days. Lines stay active for the plan period (L.1 sleeps until you wake it). Codes arrive throughout.
Use case
Same number, many codes
Active
Full rental period
Refund
30 minutes, no code yet
How it works
- 1. Browse
GET /api/v1/long-term/plansand copy acodesuch asl2-3. - 2.
POST /api/v1/long-term/rentalswith that code. - 3. For L.1,
POST .../wakebefore you expect a code. - 4. Read messages with
GET .../messages.
Kinds
Plan period
Wake/sleep long-term line. POST .../wake before you expect a code. Optional US area code and bulk quantity.
Plan period
Service long-term rental. Number stays active for the full period; codes arrive continuously.
Multi-day plan
Multi-day long-term rental. Number stays active for the full period; codes arrive continuously.
Refunds
Cancel within 30 minutes of renting, and only if no code has arrived. After that window, or after the first SMS, the rental is not refundable through the API.
Create debit is atomic from your side
Idempotency-Key only when you intend a new number.Auto-renew & extend
POST .../auto-renew toggles prepaid Early Renewal while the rental is still active — it charges or refunds the wallet. POST .../renew extends or reactivates when the kind supports it (L.2 renew; L.1 reactivation rules apply).
If auto-renew is on and the wallet cannot cover the next period, auto-renew turns off and the line expires — you are not charged for a period that did not start.
Endpoints
/api/v1/long-term/plans?page=1&pageSize=100&q=googleLong-term catalog
Paginated long-term catalog. Copy code (e.g. l2-3) to rent.
/api/v1/long-term/rentals?sync=1List long-term rentals
Your long-term rentals. sync=0 skips remote refresh.
/api/v1/long-term/rentalsRent a long-term number
L.1 supports area_code and quantity (quantity > 1 requires Idempotency-Key).
Request
{ "code": "l2-3" }Response
{
"rental": {
"id": "clx...",
"kind": "l2",
"planNo": 3,
"code": "l2-3",
"serviceName": "Google",
"phone": "+12025551234",
"sellPrice": 5.0,
"status": "ACTIVE",
"lineStatus": "active",
"refundable": true
}
}/api/v1/long-term/rentals/{id}?sync=1Get a long-term rental
Poll one long-term rental (id is the string from the create response).
/api/v1/long-term/rentals/{id}/messages?sync=1List messages
SMS for that rental. Each message has otpCode and smsText. full=1 does a deeper sync.
Response
{
"count": 1,
"codeCount": 1,
"messages": [{
"id": "msg_...",
"from": null,
"to": "+12025551234",
"smsText": "Your Google verification code is 123456",
"otpCode": "123456",
"receivedAt": "2026-05-29T12:00:00.000Z"
}]
}/api/v1/long-term/rentals/{id}/cancelCancel / refund
Request a refund within 30 minutes if no code has arrived.
/api/v1/long-term/rentals/{id}/wakeWake an L.1 line
L.1 only — wake a sleeping line before you expect a code.
/api/v1/long-term/rentals/{id}/auto-renewToggle auto-renew
Prepaid auto-renew (Early Renewal) while the rental is still active. Charges or refunds the wallet.
/api/v1/long-term/rentals/{id}/renewRenew a long-term rental
Extend or reactivate when the kind supports it (L.2 renew; L.1 reactivation rules apply).