Skip to main content
POST
/
api
/
webhook
/
mms
Handle inbound MMS webhook (Sinch)
curl --request POST \
  --url https://your-instance.example.com/api/webhook/mms \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "01K608PMMS001H41EQS64AH7CE",
  "origin": "MMS_MO",
  "from": "+14165550100",
  "to": "+12362320246",
  "body": "Photo of the issue",
  "media": [
    {
      "url": "https://sinch-mms.s3.amazonaws.com/media/12345/image1.jpg",
      "content_type": "image/jpeg",
      "size": 184221
    }
  ]
}
'
{
  "message": "MMS MO webhook received",
  "messageId": "01K608PMMS001H41EQS64AH7CE"
}

Body

application/json
id
string

Sinch-assigned MMS message id; echoed back in the ack for log correlation.

origin
string

Sinch traffic direction marker — MMS_MO for inbound (mobile-originated) MMS.

from
string

Sender phone number in E.164.

to
string

Tether-provisioned recipient number that received the MMS.

body
string

Optional text content sent alongside the media.

media
object[]

Attached media items. Each is downloaded from Sinch and re-uploaded to R2 before persistence.

Response

Webhook accepted (immediate ack — processing continues async)

Immediate ack returned to Sinch for an inbound MMS.

message
string
required
messageId
string
required