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

0:16

+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.

routing-config.sh
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/callsList calls with status, duration, and routing outcome
GET/v1/calls/{id}Retrieve one call and its event timeline
GET/v1/voicemailsList 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_configSet 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.