For developers
Prepare a voicemail from your own system
Your product already knows the moment somebody has to be told something: the rejection is recorded, the decision is made, the appointment is cancelled. One authenticated request turns that moment into a voicemail with a link you can put in front of the person it concerns.
Getting a key
Open a mailbox at the studio, then create a key in the Developer access panel. It is shown once. A key acts for one mailbox and can prepare, read and delete that mailbox's written voicemails. Recordings stay in the studio, where a human presses record.
Authorization: Bearer fc_live_xxxxxxxxxxxxxxxxxxxxxxxx
Prepare a voicemail
curl -X POST https://forecall.io/api/v1/voicemails \
-H "Authorization: Bearer $FORECALL_KEY" \
-H "Content-Type: application/json" \
-d '{
"for": "Daniel Okafor",
"body": "Daniel, hello. It is Priya at Fenwick. I wanted you to hear this from me rather than wait on an email...",
"voice": "female",
"passphrase": "orchard",
"allow_reply": true
}'
Returns 201 and the voicemail, including the link to send:
{
"token": "x0fkVPhellfz3nw_",
"url": "https://forecall.io/v/x0fkVPhellfz3nw_",
"check_url": "https://forecall.io/check?code=KTM-482",
"code": "KTM-482",
"for": "Daniel Okafor",
"voice": "female",
"opened": 0,
"replies": 0
}
- for (required) the person it is meant for. They can reach it with this name and your code if the link goes astray.
- body (required) the words. Read aloud in the listener's browser, and shown as text.
- voice female, male, deep, or omitted for the reading voice.
- passphrase an alternative to the name on the check page.
- allow_reply defaults to true. The reply is voice or written, and lands in the studio.
Find out what happened
GET https://forecall.io/api/v1/voicemails # the last 20, newest first
GET https://forecall.io/api/v1/voicemails/{token} # one, with its replies
GET https://forecall.io/api/v1/me # which mailbox this key acts for
DELETE https://forecall.io/api/v1/voicemails/{token} # erase it, recordings included
A single voicemail tells you whether it was opened, when it was first and last opened, and what came back:
{
"opened": 3,
"first_opened": "2026-09-19T08:14:02+00:00",
"last_opened": "2026-09-19T14:22:40+00:00",
"replies": 1,
"reply_list": [
{ "words": "Thank you for telling me directly.", "recorded": false,
"received": "2026-09-19T14:25:11+00:00" }
]
}
There are no outbound webhooks yet. Poll a voicemail you care about, or subscribe to the studio's private replies feed, which is an ordinary RSS feed.
Rules of the road
- Errors come back as
{"detail": "..."}with an ordinary status code: 400 for a bad request, 401 for a bad key, 404 for a token that is not yours, 429 if a mailbox prepares more than 500 voicemails in a day. - A key is a secret. Keep it on your server, never in a browser or an app. Revoke it in the studio the moment it leaks; revocation is immediate.
- Everything a key creates belongs to the mailbox owner, who can see and erase all of it.
- Prepare voicemails for people who are expecting to hear from you. This is a way to deliver difficult news kindly, not a broadcast tool.
Talking to us
If you are building an integration for a recruiting platform, a phone system or an answering service, write to tim@forecall.io. Sandbox mailboxes and keys are free, and there is no approval to wait for.