Inbox (Polling) API

The Inbox API is the read side of messaging: your software polls it to fetch received faxes, inbound text messages, and voicemail. It's the pull-model companion to the send-side Messaging APIs — together they let an app do everything by phone that a person can.

How polling works

Each call passes an opaque since cursor (start with 0) and gets back the items that are newer than that cursor, oldest first, plus a nextSince to use on your next poll. It's stateless — no items are marked "read" on the server, so you can run it from multiple workers safely.

The endpoints

EndpointReturns
GET /api/inbox/faxes?since=&limit=Received faxes (+ a link to the PDF).
GET /api/inbox/sms?since=&limit=Inbound text messages (body inline).
GET /api/inbox/voicemails?ext=&since=&limit=Voicemail for a mailbox (+ transcript & audio link).

Each item includes a mediaUrl to download the document or audio. Authentication is the same Authorization: Bearer <token> as the send endpoints.

Example response

GET /api/inbox/faxes?since=0&limit=100
Authorization: Bearer <token>

{
  "items": [
    { "id": "6F1C…", "from": "16473673492", "to": "19055551234",
      "pages": 1, "receivedAt": "2026-07-24T07:43:11Z",
      "mediaUrl": "/api/inbox/faxes/6F1C….pdf" }
  ],
  "nextSince": 1784893391000
}
Resumable & gap-free

Because you carry the cursor, a crashed poller resumes from its last position with no gaps and no duplicates — just save nextSince and pass it next time.