Skip to main content
POST
/
v1
/
messages
Send a message
curl --request POST \
  --url https://api.messages.dev/v1/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "from": "+15551234567",
  "to": "+15559876543",
  "text": "Hello from Messages.dev!",
  "attachments": [
    "file_abc123"
  ],
  "reply_to": "msg_abc123"
}
'
{
  "id": "<string>",
  "status": "<string>",
  "request_id": "<string>"
}

Authorizations

Authorization
string
header
required

Use an API key as a bearer token: Authorization: Bearer sk_live_...

Body

application/json
from
string
required

Sender line handle (phone number or Apple ID)

Example:

"+15551234567"

to
string
required

Recipient phone number, Apple ID, or chat ID (cht_...)

Example:

"+15559876543"

text
string

Message text (at least one of text or attachments required)

Example:

"Hello from Messages.dev!"

attachments
string[]

Array of file IDs (max 1). Upload files via POST /v1/files first.

Maximum array length: 1
Example:
["file_abc123"]
reply_to
string

Message ID (msg_...) or iMessage GUID to reply to

Example:

"msg_abc123"

Response

Outbox item created

id
string

Delivery ID (e.g. obx_abc123)

status
string
Allowed value: "pending"
request_id
string