Home / Features / Customer API

Customer API

Automate what you would otherwise do in the portal: search and order phone numbers, create and update SIP trunks, pull call detail records and usage. JSON over HTTPS with an API key from your account.

Sign up now or Open the API reference

What the API covers

ResourceEndpointsUse it for
Phone numbersGET /dids/available, GET /dids/coverage, POST /dids, GET/PUT /dids/{id}Search inventory by area code or region, order numbers, route them to a trunk, review or change routing
SIP trunksGET/POST /trunks, GET/PUT/DELETE /trunks/{id}Create registration or IP-authenticated trunks, update endpoints and settings, remove trunks
Call recordsGET /account/cdrsPull call detail records by date range for billing reconciliation or your own reporting
UsageGET /account/usage, GET /accountMinutes, spend and balance for the account
API keysGET/POST /api-keys, DELETE /api-keys/{id}Rotate and revoke keys programmatically

Every endpoint is documented with request and response schemas in the interactive API reference, where you can call the API against your own account.

Authentication

Create an API key in the portal under Developer, then send it as a Bearer token on every request. Base URL: https://portal.ipcomms.net/api/v1.

curl
curl https://portal.ipcomms.net/api/v1/account \
  -H "Authorization: Bearer ipcomms_live_xxxxxxxxxxxxxxxxxxxxxxxx"

Keys are scoped to your account and can be revoked at any time. Treat them like a password: keep them out of client-side code and version control.

Example: find and order a number

Search available numbers in area code 404
curl "https://portal.ipcomms.net/api/v1/dids/available?areaCode=404&limit=5" \
  -H "Authorization: Bearer $IPCOMMS_API_KEY"
Order one and route it to a trunk
curl -X POST https://portal.ipcomms.net/api/v1/dids \
  -H "Authorization: Bearer $IPCOMMS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+14045550123"], "trunkId": "trk_..."}'

Parameter names and response fields are exact in the reference; the examples above show the shape.

Rate limits and errors

  • Standard requests: 60 per minute
  • Number searches: 30 per minute
  • Exports: 10 per minute

Errors return a consistent JSON body:

{ "error": "Error description", "errorCode": "error_code" }

What is not in the API

Call control, messaging and hosted PBX configuration are not exposed today. If you need something the API does not cover, tell us what you are building.

Next step

$0.010/min outbound to the US and Canada, $0.009/min inbound, $0 per channel, no contracts.

Sign up now or Open the API reference

More features