Phone.inc

The Phone.inc API

curl your phone system.

One key, one request, and every call your business ever took is JSON. The phone system API also writes: routing, opening hours, contacts, webhooks.

$ curl https://app.phone.inc/api/v1/calls -H "Authorization: Bearer $API_KEY"

The value

A phone system API changes what a phone is. From a device you answer to a system you program.

Most business phones are dead ends: calls happen, and everything said in them evaporates. Yours doesn't have to be. When calls, voicemails, and routing are all behind an API, your phone becomes part of your stack — as connectable as your store, your CRM, or your calendar.

Calls become records
Every call your business takes — direction, duration, outcome, and a full transcript — queryable the moment it ends. Your call history stops being trapped in an app.
Routing becomes config
Opening hours, no-answer rules, and incoming call behavior are all writable. Change how your number routes from a script, a deploy, or a cron job.
Context flows both ways
Look up everything your integrations know about a caller with one request. Keep contacts in sync with your CRM through plain create, update, and delete.
It speaks your stack
Plain REST and JSON. Authenticate with an API key for your own account, or OAuth 2.0 when you're building for other Phone.inc customers.

Ideas to build

What you could build with it. Six afternoons of work, years of saved follow-up.

The CRM that fills itself

Listen for call.transcription_done and log every call — summary, transcript, duration — to your CRM without anyone typing a word.

The missed-call texter

A call.lost webhook fires when nobody picks up and no voicemail is left. Text the caller back within the minute.

The office wallboard

GET /calls powers a screen in the office: calls today, missed calls, who answered what. No spreadsheet, no exports.

The helpdesk sidekick

When a ticket comes in, look up the caller's context — orders, past calls, open questions — and pin it to the ticket.

Routing on a calendar

Public holiday? Company offsite? PATCH your main number's opening hours from the same calendar the team already uses.

Voicemail in Slack

voicemail.transcription_done posts the message, transcribed, into the right channel. The team reads it before anyone finds the play button.

Webhooks

Don't poll. Get told. Webhooks push every event to your endpoint in real time.

Register a URL once, pick the events you care about, and Phone.inc POSTs a JSON payload the instant something happens — a call comes in, nobody picks up, a transcription finishes. Pause a subscription without deleting it, and manage it all through the API too.

call.initiatedcall.answeredcall.endedcall.lostcall.outside_opening_hourscall.transcription_donevoicemail.newvoicemail.transcription_donecontact.createdcontact.updatedcontact.deletednumber.registration_approvednumber.registration_rejected

Webhook payload

{

"event": "call.lost",

"timestamp": "2026-07-22T14:35:12Z",

"data": {

"from": "+14155551234",

"direction": "inbound",

"state": "ended",

"answered_at": null

}

}

The API

Build on your phone system.

Every account comes with the API. Generate a key in the dashboard and make your first request in minutes.