Skip to main content
GET
Stream inbound texts
Opens a Server-Sent Events (SSE) connection that pushes each text people send to your workspace’s numbers, on either carrier, a second or two after it arrives.
For a server-to-server integration, prefer inbound SMS webhooks: no connection to keep open, signed deliveries and automatic retries.

Authentication

Send your API key as a Bearer token. A key restricted with scopes needs sms:read.

Events

connected

Sent as soon as the stream opens.

sms_received

Sent for each text someone sends to one of your numbers.

Heartbeat

A comment line every 30 seconds keeps idle proxies from closing the connection:

Connection behavior

  • Scope: every number in the workspace the API key belongs to.
  • Duration: a stream stays open for about 5 minutes, then closes. Reconnect when it does.
  • No gaps on reconnect: each sms_received carries an SSE id. Send the last one you handled in the Last-Event-ID header and the new stream starts right after it, including texts that arrived while you were disconnected. Without the header, a stream starts from now.

Example

The browser’s built-in EventSource cannot send an Authorization header, and an API key must never reach a browser anyway. Open the stream from your server, or proxy it through your backend.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Response

An open Server-Sent Events stream of connected and sms_received events

The response is of type file.