Forecall

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.