Skip to main content
VoIP connections let you plug your existing telephony provider into ThunderPhone. Once connected, you can list, import, and verify phone numbers from your provider account; imported numbers become Phone number resources you can assign agents to.

Supported providers

Endpoints

There is no GET /v1/voip-connections/{connection_id} retrieve endpoint — fetch the list and select by id.

Connection object

The masked credentials object shows which keys are configured without revealing values. To rotate credentials, PATCH with a full new credentials object.

List connections

Returns an array of Connection objects.

Create a connection

Creation is a two-phase flow:
  1. Call POST /v1/voip-connections/test with the credentials and get back a verification evidence id if the test passes.
  2. Call this endpoint with the same credentials plus verification_evidence_id — the evidence proves the credentials were already validated, avoiding double-billing for the test.

Request fields

Returns 201 Created with the Connection object. Errors:

Update a connection


Delete a connection

Returns 204 No Content. Phone numbers imported through the deleted connection are not removed — they stay in your org with voip_connection_id cleared.

Test credentials

Probes the provider API with the supplied credentials. On success, the response includes a verification_evidence_id you can pass to Create or Update to create/rotate the connection without a second round trip.
Response (success)

Suggest a connection name

Asks the provider for an inferred display name. Used by the dashboard onboarding flow.
Response

List available numbers

Returns the list of phone numbers visible to this connection’s credentials that are not yet imported into any ThunderPhone org:

Import numbers

Moves the selected numbers into ThunderPhone as Phone number resources. Imports start in status="provisioning" — call POST /v1/phone-numbers/{id}/verify-voip to complete verification (inbound routing + outbound authorization check).
Response
numbers accepts 1–50 entries per request.

Search purchasable numbers

For connections where provisioning_supported is true (currently Telnyx only), search the provider’s inventory for numbers you can buy without leaving ThunderPhone.
Response

Provision (buy) a number

Places a number order with the provider using the connection’s credentials, then registers the number in ThunderPhone. The provider — not ThunderPhone — bills the purchase and monthly fee.
Response (201 Created)
Returns 201 Created when a new order was placed, or 200 OK when the number was already owned and only registration was needed.

Phone Numbers

Assign agents to imported numbers and run verify-voip.

Outbound Calls

Outbound calling requires a VoIP-backed number.