Key Takeaways
- Send SMS from Ruby with Net::HTTP or Faraday — REST HTTPS/JSON, not a rubygems “Complete SDK” from us.
- Bearer from ENV; OpenAPI owns fields.
- Idempotency-Key for OTP; persist message ids.
- 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. Service pricing is based on device count and total SMS sent through the gateway.
- Free canaries: 300 SMS lifetime — not Unlimited SMS.
Hub C: Ruby android sms gateway api send SMS. Hub: Android SMS Gateway API. Bulk: Ruby bulk send loop. Docs: SMS API documentation.
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. Service pricing is based on device count and total SMS sent through the gateway. Pricing.
Faraday → POST /messages → Android SIM
Ruby send path
Server-side only. Pair via setup. Sidekiq/GoodJob for anything beyond interactive sends.
A thin Faraday wrapper is fine. A gem that pretends to be the SMS product is not required.
Net::HTTP / Faraday — not a gem SDK product
Confirm JSON keys in OpenAPI. Optional deviceIds on multi-device plans. PHP/C# site samples share the same wire format.
Do / don’t
| Topic | Do | Don’t |
|---|---|---|
| Auth | ENV credentials | Hardcode in credentials.yml committed |
| OTP | Idempotency-Key | Rescue-retry without key |
| Status | DLR/webhook | Assume delivered on 200 |
| Pools | OTP device separate | Share with marketing blasts |
OTP notes
Checklist
- Staging key.
- Timeouts configured.
- Message id stored.
- Canary passed.
Next steps
DLR: delivery reports. Webhooks: webhooks.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy
- download the Android gateway appGet the APK





