Skip to main content
POST
/
imessage
cURL
curl --request POST \
  --url https://api.contiguity.com/send/imessage \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "to": "+1234567890",
  "message": "Hello, world!"
}'
{
  "id": "req_xxxxxxxxxxxxxxxx",
  "timestamp": 1757916599341,
  "api_version": "v2025.9.15",
  "object": "response",
  "data": {
    "message_id": "imsg_1234567890"
  }
}
Only customers who lease numbers that support iMessage can use this endpoint.
Phone numbers must be in E.164 format with country codes.
Technically, iCloud emails are supported… but their behavior is unpredictable.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
to
string
required

Recipient's iMessage address. Must be in E.164 format (unless it is an email, however this method is not recommended).

Example:

"+1234567890"

message
string
required

The iMessage to send

Example:

"Hello, world!"

from
string

Your leased iMessage number. If none is provided, we will use a random iMessage number of yours.

Example:

"+15555555555"

fallback
object

Should Contiguity fallback to SMS/RCS if the recipient does not have iMessage, or if iMessage fails to send?

Example:
{
"when": ["imessage_unsupported", "imessage_fails"],
"from": "+15555555555"
}
attachments
string[]

Attachments to send. Must be HTTPS-secured URLs with file extensions. Max 10 attachments, with a cumulative size of 50MB.

Maximum length: 10
Example:
["https://example.com/image.png"]

Response

Send an iMessage

id
string
required
Example:

"req_xxxxxxxxxxxxxxxx"

timestamp
number
required
Example:

1757916599341

api_version
string
required
Example:

"v2025.9.15"

object
string
required
Example:

"response"

data
object
required
I