Key Takeaways
- Multi-device failover setup is a second charged, paired Android on the plan — not a brochure SLA and not a dual-SIM slot map.
- Pass deviceIds on POST /messages to split or pin. Omit it and the primary takes the send.
- A spare that is offline, unpaid, or OEM-asleep is not failover.
- Keep OTP on its own pool so a promo burst cannot steal the last healthy radio.
- Service pricing is based on device count and total SMS sent through the gateway. You need a working Android phone with a SIM and SMS credit from your mobile operator. Operator message costs are yours—we do not sell carrier SMS balance.
Android SMS gateway multi-device failover setup is for desks that already send from one phone and still treat “the SIM is the product.” One OEM update, one empty prepaid pack, one dock without power — OTP stops. A second paired handset on the plan is the boring fix.
Service pricing is based on device count and total SMS sent through the gateway. Feature pillar: Dual SIM and multi-device. Dual-SIM hardware vs fleet is a different spoke.
Failover that exists only in a slide deck is a single phone with extra vocabulary.
Failover is extra phones, not dual-SIM magic
Two SIMs in one chassis share fate. Failover means another deviceId, charged, exempted from battery killers, with its own operator credit. Size the plan’s device cap for the spare — not only the happy-path minimum. Device and volume pricing.
Failure modes
| What dies | One phone | Paired spare |
|---|---|---|
| OEM kills the app | All sends stop | Pin or split to the other deviceId |
| Prepaid empty | Operator rejects | Second SIM still funded |
| Dock power | Overnight OTP gone | Other charger, other UPS |
| SIM swap / KYC | Provisioning lag | Keep the old radio until the new one canaries |
deviceIds and a spare that is actually paired
OpenAPI: list phones in deviceIds to split a batch; omit for the account primary. Pin OTP to one healthy id. Shape:
curl -X POST "https://app.sms-gateway.app/api/v1/messages" \
-H "Authorization: Bearer $SMS_GATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to":["+14155552671"],"text":"Your login code is 481920. It expires in 5 minutes.","type":"sms","deviceIds":[3]}'Confirm fields at API docs. Pairing lives in setup.
What “healthy” means
Paired in the panel, DLR moving, battery exemption on, airtime above a floor you named. Drill before peak: pull the primary SIM and watch the spare take a canary. You need a working Android phone with a SIM and SMS credit from your mobile operator. Operator message costs are yours—we do not sell carrier SMS balance.
OTP still isolated
Failover copies of a mixed OTP+promo pool just fail louder. Keep login on its own devices. OTP verification.
Checklist
- Spare charged and paired, not in a drawer.
- Plan device cap includes the spare.
- Canary with primary unplugged.
- OTP pool ≠ promo pool.
- Each SIM has a top-up owner.
- DLR watched per deviceId.
Next steps
Add a second phone via downloads, send one canary with an explicit deviceId, then document who pulls the plug in an incident.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- multi-device and dual SIM routingCapacity and failover
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- device setup guidePair and go live





