Developer API
API Reference
Originate outbound calls over HTTPS. Calls draw on the same prepaid wallet, per-second rating, and verified caller ID as your softphone.
Authentication
Create a key under Dashboard, Developer API. The full sk_live_… secret is shown once at creation. Send it as a bearer token on every request:
Authorization: Bearer sk_live_your_key_here
Base URL https://sipsuperior.com/api/v1
Place a call
POST /api/v1/calls
Body parameters (JSON):
tostring, required
Destination number. E.164 (+13055550148) or a 10-digit US number.
fromstring, optional
Caller ID to present. Must equal your verified caller ID; defaults to it.
Example request
curl -X POST https://sipsuperior.com/api/v1/calls \
-H "Authorization: Bearer sk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"to": "+13055550148"}'Example response, 201
{
"call_id": "8f2b1c0a-...-a1",
"status": "originating",
"from": "+13055550192",
"to": "+13055550148"
}Errors
Errors return a non-2xx status and a JSON body shaped { "error": "<code>" }.
Status, codeMeaning
400, bad_requestMissing or invalid JSON body, or `to` not provided.
400, invalid_destination`to` isn't a dialable E.164 or US number.
401, unauthorizedMissing or invalid API key.
402, insufficient_fundsWallet balance can't cover the connection fee.
403, no_verified_caller_idAccount has no verified caller ID.
403, from_not_verified`from` doesn't match your verified caller ID.
403, blocked_destinationDestination is blocked for toll-fraud control.
422, no_rate_for_destinationNo rate configured for that destination.
503, switch_unavailableThe switch couldn't place the call. Retry.
US calling only right now. Call-status webhooks are planned. For now, poll your call history for settled results.