Everything the dashboard does — over an API.
Wire Hey Quad into the systems you already run. Provision a customer when a deal closes in your CRM, attach numbers from your back office, push CDR into your warehouse, or build the dashboard your industry actually needs.
REST API
Provision orgs, attach numbers, manage extensions, and read CDR/usage. Predictable resources, JSON in and out, paginated lists.
Webhooks
Subscribe to call.started, call.ended, message.received, voicemail.transcribed, and billing.invoice events. Signed payloads, retries with exponential backoff.
CLI
The `hq` CLI wraps the API for scripts and automation. OAuth device-flow login, profile-per-org, jq-friendly JSON output.
API keys per org
Scoped API keys with org-level isolation. Resellers can mint keys per customer or use a partner key with cross-tenant scope.
Multi-tenant by default
Every endpoint takes an org context. RLS is enforced at the database; you can't accidentally leak data across tenants.
OpenAPI spec
A versioned OpenAPI 3 spec drives client SDK generation. Subscribe to changelog notifications for breaking changes.
Curl it before you commit.
A taste of the API surface. The full reference ships with API access; partners get a sandbox tenant for development.
# Provision a new customer org and attach a number
curl https://api.heyquad.com/v1/orgs \
-H "Authorization: Bearer $HQ_PARTNER_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Northpeak Realty",
"slug": "northpeak",
"plan": "growth",
"billing": { "stripe_customer": "cus_..." }
}'
# Subscribe to call lifecycle events
curl https://api.heyquad.com/v1/webhooks \
-H "Authorization: Bearer $HQ_PARTNER_KEY" \
-d '{
"url": "https://example.com/hooks/heyquad",
"events": ["call.started", "call.ended", "message.received"]
}'Building something specific?
Tell us what you're wiring up. We'll get you a sandbox tenant and a partner API key.
