For the complete documentation index, see llms.txt. This page is also available as Markdown.

Messages

Send and read SMS/MMS on your LimePhone numbers.

Send a message

POST /v1/messages — scope messages:write

Sends an SMS (or MMS with mediaUrls) from one of your LimePhone numbers. Returns 201 with the created message.

Field
Type
Required
Notes

to

string

yes

Destination number, E.164 (+14155550134)

from

string

yes

One of your LimePhone numbers

body

string

yes

Message text. Supports personalization tokens like {{firstName}}, rendered from the matching contact

mediaUrls

string[]

no

Public media URLs to attach (MMS)

Content is screened before sending; prohibited content returns 400 with the violations listed.

curl -X POST https://dashboard.limephone.io/api/v1/messages \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550134",
    "from": "+442080580300",
    "body": "Hi {{firstName}}, your appointment is confirmed for 3pm."
  }'
// Node.js
const res = await fetch('https://dashboard.limephone.io/api/v1/messages', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.LIMEPHONE_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    to: '+14155550134',
    from: '+442080580300',
    body: 'Hi {{firstName}}, your appointment is confirmed for 3pm.',
  }),
});
const message = await res.json();

List messages

GET /v1/messages — scope messages:read

Lists messages, newest first, with standard pagination.

Get a message

GET /v1/messages/{id} — scope messages:read

Fetches one message by id, including direction, body, status and timestamps.