Skip to main content
POST
Carrier inbound-SMS callback

Body

application/json

Inbound SMS payload from a carrier callback (Flowroute, voip.ms, or Telnyx).

Carrier payloads differ; this schema captures both shapes. Flowroute and voip.ms post a flat to/from/body JSON body (voip.ms's callback URL is configured with those field names — see the voip.ms reference doc). Telnyx posts a nested data.payload envelope instead, captured by the optional data field. Exactly one shape must be present. Unknown extra keys are ignored.

to
string
default:""

Destination number that received the inbound SMS (our 844 or 833 DID), E.164. Flowroute/voip.ms only.

from
string
default:""

The sender's phone number (the consumer), in E.164. Flowroute/voip.ms only.

body
string
default:""

The raw inbound message text. Classified for STOP/HELP/START keywords. Flowroute/voip.ms only.

data
TelnyxEventData · object | null

Telnyx webhook envelope. Present only for Telnyx-sourced requests, in which case to/from/body are empty.

Example:

Response

OK

Small acknowledgement returned to the carrier after processing.

ok
boolean
required

Whether the webhook was accepted and processed.

action
string
default:""

Action taken for an inbound message (stop/help/start/none), empty for status callbacks.