Products · /v1/calls
A receptionist in an API
Inbound calls answered the way each tenant wants: routed by their business hours in their timezone, greeted in your brand's voice, forwarded to the right person, or sent to voicemail with a recording and transcript waiting in a webhook.
Voicemailafter hours
+1 415 413 6287
“Hi, calling about a leaky faucet in the…”
Business-hours routing
Open hours forward to real phones; closed hours go to voicemail. Evaluated per tenant, in the tenant's own timezone.
Voicemail with transcripts
voicemail.created delivers the recording and a transcript, ready to render in your product's inbox next to the texts.
Text-to-speech greetings
Set a greeting string per tenant; we speak it. Change it with a PATCH, not a studio session.
Consent-aware recording
Recording policies are explicit per tenant, with the compliance edge cases handled at the platform level.
curl -X PATCH https://api.handset.dev/v1/tenants/tnt_01kzv…/routing_config \ -d timezone="America/Los_Angeles" \ -d hours[mon][open]="08:00" -d hours[mon][close]="17:00" \ -d after_hours="voicemail" \ -d greeting="You've reached Bayview Dental…" # later, after a missed evening call: → webhook: voicemail.created { "duration": 16, "transcript": "Hi, calling about…" }
Endpoints
| GET | /v1/calls | List calls with status, duration, and routing outcome |
| GET | /v1/calls/{id} | Retrieve one call and its event timeline |
| GET | /v1/voicemails | List voicemails per tenant |
| GET | /v1/voicemails/{id} | Retrieve a voicemail with recording and transcript |
| GET | /v1/recordings/{id} | Retrieve call recording metadata and media |
| PATCH | /v1/tenants/{id}/routing_config | Set hours, greeting, forwarding, and voicemail behavior |
Ship voice & voicemail this sprint.
We're onboarding a small group of vertical SaaS platforms. Tell us what your customers need to say, and to whom.