Skip to main content
Organizations are the top-level container for all your ThunderPhone resources—phone numbers, agents, and calls.

Endpoints

MethodEndpointDescription
GET/v1/orgs/List organizations
POST/v1/orgs/Create organization
GET/v1/orgs/:org_id/Get organization
PATCH/v1/orgs/:org_id/Update organization
DELETE/v1/orgs/:org_id/Delete organization

List Organizations

Retrieve all organizations you have access to.
curl https://api.thunderphone.com/v1/orgs/ \
  -H "Authorization: Token YOUR_API_TOKEN"

Webhook Configuration

ThunderPhone sends all outbound webhook events to a single org-level URL. Configure this to receive real-time notifications about calls.

Endpoints

MethodEndpointDescription
GET/v1/orgs/:org_id/webhookGet webhook configuration
PUT/v1/orgs/:org_id/webhookSet webhook URL
PATCH/v1/orgs/:org_id/webhookUpdate webhook URL

Set Webhook URL

curl -X PUT https://api.thunderphone.com/v1/orgs/{org_id}/webhook \
  -H "Authorization: Token YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-server.com/thunderphone-webhook"
  }'

Response

{
  "url": "https://your-server.com/thunderphone-webhook",
  "secret": "whsec_abc123...",
  "created_at": "2025-01-01T00:00:00Z",
  "updated_at": "2025-01-01T00:00:00Z"
}
The secret is generated by ThunderPhone and used to sign webhook payloads. Store it securely to verify incoming webhooks.

Webhook Events

All webhook event types are sent to this single URL. The type field determines the event:
  • call.incoming — A call has started, respond with agent configuration
  • call.complete — A call has ended, includes transcript and recording URL
See Webhooks for detailed payload documentation.