welldun. offhook

Getting started

Offhook API

One REST API to place and answer AI phone calls, using your own speech-to-text, text-to-speech, language model and phone carrier.

Offhook runs the parts of a voice agent that are tedious to build yourself: streaming audio between the caller and the models, dialing reliably, keeping a complete log of every call, and sending signed webhooks. You bring the provider keys and describe the agent.

Base URL

You send requests to your own deployment. In local development that is:

Base URL
http://localhost:8000

How the pieces fit

There are three resources, and each one builds on the one before it:

1 Connections: your provider keys → 2 Agents: who talks, and with which connections → 3 Calls: an agent dialing a number
  • Connections store your provider credentials (Deepgram, Cartesia, Groq, Plivo and others), encrypted.
  • Agents combine instructions, a voice and the connections to run on.
  • Calls use an agent to place an outbound call. Inbound calls use one to answer.

Authentication

Every request carries an API key as a bearer token. Keys start with vk_dev_ or vk_prod_, depending on the environment that created them. See Authentication.

cURL
curl http://localhost:8000/v1/calls \
  -H "Authorization: Bearer $OFFHOOK_KEY"

Next steps