API Reference
Open API playground Send live requests from your browser.
The Teler API lets you place and control programmable voice calls, stream live audio to AI agents, and observe everything that happens on a call in real time.
All endpoints are served over HTTPS from https://api.frejun.ai and speak JSON.
Authenticate every request with your secret API key in the x-api-key header:
curl https://api.frejun.ai/api/v1/voice/calls \
-H "x-api-key: $TELER_API_KEY"
Keys are account-scoped and grant full access — treat them like passwords, keep
them server-side, and rotate them from the
Teler dashboard if one leaks. A missing or
invalid key returns 403.
Guides for resource identifiers, pagination, errors, idempotency, webhooks, and the official Python and Node.js SDKs live in the Teler documentation.
Voice / Calls
Place outbound calls and read call state. A call (cs_) is the top-level session; each party on it is a leg (cl_).
- POST Initiate a call
/api/v1/voice/calls/initiate - GET List calls
/api/v1/voice/calls - GET Retrieve a call
/api/v1/voice/calls/{call_id} - GET List call legs
/api/v1/voice/calls/{call_id}/legs
Voice / Call Controls
Act on a live call in real time — hang up, mute, send DTMF, or play audio. These actions are accepted asynchronously and return 202 with a request_id.
- POST Hang up a call
/api/v1/voice/calls/{call_id}/hangup - POST Mute or unmute a call leg
/api/v1/voice/calls/{call_id}/mute - POST Send DTMF tones on a call leg
/api/v1/voice/calls/{call_id}/dtmf - POST Play an audio file into the call
/api/v1/voice/calls/{call_id}/play
Voice / Operations
Higher-level, multi-step operations on a live call, such as transferring it to a new destination.
- POST Transfer a call
/api/v1/voice/calls/{call_id}/transfer
SIP / Calls
Read calls that arrived or left over your SIP trunks (st_).
- GET List SIP calls
/api/v1/sip/calls - GET Retrieve a SIP call
/api/v1/sip/calls/{call_id}
Events
Inspect the webhook events Teler generated for your account and redeliver any that your endpoint missed.
- GET List webhook events
/api/v1/events - GET Retrieve a webhook event
/api/v1/events/{event_id} - POST Redeliver a webhook event
/api/v1/events/{event_id}/redeliver
Utilities
Fetch short-lived, signed download URLs for call recordings.
- GET Get a recording download URL
/api/v1/recordings
Voice / Calls (legacy)
Deprecated endpoints kept for backwards compatibility. Prefer the Voice / Calls endpoints for all new integrations.
- POST (Deprecated) Initiate a call
/api/v1/calls/initiate
Voice / Apps
Voice apps are the configuration context for calls — they define webhook URLs, flows, and channel limits. Create and manage your voice apps here.
- GET List voice apps
/api/v1/voice/apps - POST Create a voice app
/api/v1/voice/apps - GET Retrieve a voice app
/api/v1/voice/apps/{voice_app_id} - PATCH Update a voice app
/api/v1/voice/apps/{voice_app_id} - DELETE Delete a voice app
/api/v1/voice/apps/{voice_app_id} - GET List virtual numbers for a voice app
/api/v1/voice/apps/{voice_app_id}/virtual-numbers
Virtual Numbers
Phone numbers that Teler provisions for your account. List, assign to a voice app or SIP trunk, unassign, or update individual numbers.
- GET List virtual numbers
/api/v1/virtual-numbers - POST Assign virtual numbers
/api/v1/virtual-numbers/assign - POST Unassign virtual numbers
/api/v1/virtual-numbers/unassign - PATCH Update a virtual number
/api/v1/virtual-numbers/{vn_id}
SIP / Trunks
SIP trunks connect Teler to your upstream carrier or PBX. Create, configure, and manage your trunks, or inspect which virtual numbers are assigned to each one.
- GET List SIP trunks
/api/v1/sip/trunks - POST Create a SIP trunk
/api/v1/sip/trunks - GET Retrieve a SIP trunk
/api/v1/sip/trunks/{trunk_id} - PATCH Update a SIP trunk
/api/v1/sip/trunks/{trunk_id} - DELETE Delete a SIP trunk
/api/v1/sip/trunks/{trunk_id} - GET List virtual numbers for a SIP trunk
/api/v1/sip/trunks/{trunk_id}/virtual-numbers
SIP / IP Access Control Lists
Named sets of source IPs or CIDR networks (acl_) that SIP trunks with authentication_type: IP authorise against. Attach one to many trunks and update it in a single place.
- GET List IP access control lists
/api/v1/sip/ip-acls - POST Create an IP access control list
/api/v1/sip/ip-acls - GET Retrieve an IP access control list
/api/v1/sip/ip-acls/{ip_acl_id} - PATCH Update an IP access control list
/api/v1/sip/ip-acls/{ip_acl_id} - DELETE Delete an IP access control list
/api/v1/sip/ip-acls/{ip_acl_id}
Secrets
Manage secret API keys used for authenticating requests. Create, rotate, and delete secrets — rotate periodically and keep them server-side.
- GET List secrets
/api/v1/secrets - POST Create a secret
/api/v1/secrets - GET Retrieve a secret
/api/v1/secrets/{secret_id} - PATCH Update a secret
/api/v1/secrets/{secret_id} - DELETE Delete a secret
/api/v1/secrets/{secret_id}