← Docs

Send a Message

SMS, email, and other channels via the API

Send a message to a contact with the send_message tool. Messages are sent on a channel (SMS, email, …) that must already be configured and active for your organization — SMS requires a provisioned number with an approved A2P campaign; email requires a connected domain. MOST sets those up for you during onboarding.

Arguments

FieldTypeNotes
contact_idstringRequired. The contact UUID to send to.
channelstringRequired. sms, email, voice, imessage, …
bodystringRequired. The message text.
subjectstringEmail only — the subject line.

Sending targets a contact, not a raw phone/email. If the recipient isn’t a contact yet, create one first with create_contact (or find them with search_contacts) and use the returned id.

Send an SMS

curl https://most.money/api/mcp \
  -H "Authorization: Bearer mst_9f3c…" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0", "id": 1, "method": "tools/call",
    "params": {
      "name": "send_message",
      "arguments": {
        "contact_id": "c1a2b3c4-…",
        "channel": "sms",
        "body": "Hey Sam — your order shipped! Reply STOP to opt out."
      }
    }
  }'

Send an email

{
  "jsonrpc": "2.0", "id": 2, "method": "tools/call",
  "params": {
    "name": "send_message",
    "arguments": {
      "contact_id": "c1a2b3c4-…",
      "channel": "email",
      "subject": "Your order shipped",
      "body": "Hi Sam, your order is on the way…"
    }
  }
}

Response

A successful call returns the send result inside the MCP content block:

{
  "jsonrpc": "2.0", "id": 1,
  "result": { "content": [ { "type": "text",
    "text": "{ \"success\": true, \"providerMessageId\": \"…\", \"channel\": \"sms\" }" } ] }
}

Rate limits

Standard (EIN) brands send at standard carrier throughput. Sole-proprietor brands are capped by the carriers at 1,000 SMS/day and 15/minute — see Messaging Limits. Over the cap, a send returns rate_limited instead of dispatching.