Hosted SIM API
Run calls and texts from your own SIM, hosted in one of our dongles.
- Your SIM, your number, your carrier account. Each line is one SIM in one dedicated dongle, never shared with another customer.
- Calls and texts in one API, plus a SIP login for softphones and PBXs, and live call audio over a WebSocket for AI agents.
- Anything v1 doesn't support fails loudly, with a documented error code. Nothing is silently ignored.
Where to start
- Quickstart: send a text and place a call in five minutes.
- Authentication: your AccountSid, AuthToken and API keys.
- How a dongle line behaves: what a real SIM in a dongle means for your app.
The base URL
https://api.dongleswithwings.com/2010-04-01
Every path in these docs is relative to it, for example /Accounts/{AccountSid}/Messages.json.
What v1 does and doesn't do
| v1 does | Not in v1 (planned) | |
|---|---|---|
| Calls | place, answer, redirect and hang up; play audio; collect key presses; live audio streams; ring your own SIP app | text-to-speech, speech recognition, recording, answering-machine detection, conferences, dialling a second number |
| Texts | send and receive; status callbacks; TwiML replies | MMS out, messaging services, content templates, scheduled sends |
| SIP | your line's own login, for softphones and PBXs |
- Instead of text-to-speech, play pre-recorded audio with
<Play>, or send your own speech over a two-way Media Stream. - Instead of speech recognition, collect key presses with
<Gather input="dtmf">, or run your own recognition over a Media Stream. - Instead of dialling a second number,
<Dial><Sip>rings your own SIP app or PBX on the same line (incoming calls, as the first verb): a dongle holds one call.
Anything v1 doesn't support is refused with a code that names it: 700008 for a call parameter, 710003 for a text parameter, 711001 for MMS, and 720001 for TwiML.