Skip to main content
The Arnio API follows REST principles. You can use it to send outbound iMessages globally.

Supported Endpoints

  • Single message: POST /send-message
  • Group message: POST /send-group-message

Sending Files

You can send media by including the media_url parameter.
  • The URL must point to a publicly accessible image or .caf (for voice notes).
  • File size is capped at 5MB.
  • Signed URLs are not supported; use Arnio’s media object pattern for secure uploads.
Learn more here: https://docs.arnio.co/api-reference/endpoint/send-message

Status Callbacks

Arnio will POST to your status_callback endpoint when a message’s status changes. Possible statuses:
  • QUEUED
  • SENT
  • DELIVERED (iMessage only)
  • READ (iMessage only)
  • FAILED
You must respond to Arnio’s webhook to prevent duplicate notifications.
Note: Your server must return a response to Arnio’s callback to prevent duplicate webhook deliveries.

Callback Body Fields

Message Status Values

Limits

Messages sent through the Arnio API must be fewer than 18,996 characters in length. For longer content, we recommend splitting it into multiple, smaller messages to ensure reliable delivery.

Useful Information

From Number

CAUTION: Arnio prioritizes deliverability and end-user experience. Each of your customers will consistently interact with your brand through one dedicated Arnio phone number, ensuring continuity and trust.
However, depending on your setup and number pooling configuration, different customers may see different Arnio numbers assigned to them. Once assigned, all future conversations with that contact will remain tied to the same number. The from_number field is included in API responses for convenience, allowing you to:
  • Track which number was used to send a given message.
  • Inform customers which number they should expect messages from.

Handle

Every message processed by Arnio includes a unique message_handle. You can use this handle to:
  • Query the current status of a message.
  • Track messages in high-volume campaigns.
  • Resolve situations where a message remains QUEUED or times out.