---
title: "Send Message"
method: POST
path: "/api/v1/imessage/messages"
tags: ["iMessage"]
---

# Send Message

`POST /api/v1/imessage/messages`

## Query parameters

- `agent_identity_id` string, uuid, nullable — Agent identity to send as. Required for org-wide callers when sending by `to`; ignored for agent-scoped keys.

## Headers

- `Idempotency-Key` string, nullable

## Request body

- SendIMessageRequest
  - `to` union — One recipient or a list of 1–8 recipients. Lists with two or more members start or select a best-known exact-membership group. Mutually exclusive with conversation_id.
    - string — Phone number in E.164 format (e.g. '+15551234567').
    - string[]
  - `conversation_id` string, uuid, nullable — Existing conversation to reply into. Mutually exclusive with to.
  - `text` string, nullable
  - `media_urls` string[], nullable
  - `staged_media` StagedIMessageMediaBinding[]
    - `handle` string, required
    - `content_hash` string, required
  - `send_style` 'celebration' | 'shooting_star' | 'fireworks' | 'lasers' | 'love' | 'confetti' | 'balloons' | 'spotlight' | 'echo' | 'invisible' | 'gentle' | 'loud' | 'slam'

## Response `201`

Successful Response

- union
  - SendIMessageResponse
    - `message` IMessageMessageResponse, required
      - `provider_message_handle` string, nullable
      - `id` string, uuid, required
      - `conversation_id` string, uuid, required
      - `assignment_id` string, uuid, nullable, required
      - `direction` 'inbound' | 'outbound', required
      - `remote_number` string, nullable, required
      - `sender_number` string, nullable
      - `participants` string[], nullable
      - `is_group` boolean
      - `content` string, nullable
      - `message_type` 'message' | 'carousel', required
      - `service` 'imessage' | 'sms' | 'rcs', required
      - `send_style` 'celebration' | 'shooting_star' | 'fireworks' | 'lasers' | 'love' | 'confetti' | 'balloons' | 'spotlight' | 'echo' | 'invisible' | 'gentle' | 'loud' | 'slam'
      - `media` IMessageMediaItem[], nullable
        - `content_type` string, nullable
        - `size` integer, nullable
        - `url` string, required
      - `was_downgraded` boolean, nullable
      - `status` 'registered' | 'pending' | 'queued' | 'accepted' | 'sent' | 'delivered' | 'declined' | 'error' | 'received'
      - `error_code` string, nullable
      - `error_message` string, nullable
      - `error_reason` string, nullable
      - `error_detail` string, nullable
      - `is_read` boolean, required
      - `is_blocked` boolean
      - `recipients` IMessageRecipientResponse[], nullable
        - `remote_number` string, required
        - `delivery_status` 'registered' | 'pending' | 'queued' | 'accepted' | 'sent' | 'delivered' | 'declined' | 'error' | 'received'
        - `service` 'imessage' | 'sms' | 'rcs'
        - `error_code` string, nullable
        - `error_message` string, nullable
        - `error_reason` string, nullable
        - `error_detail` string, nullable
        - `sent_at` string, date-time, nullable
        - `delivered_at` string, date-time, nullable
        - `failed_at` string, date-time, nullable
      - `reactions` IMessageMessageReaction[], nullable
        - `id` string, uuid, required
        - `direction` 'inbound' | 'outbound', required
        - `reaction` 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'eyes' | 'custom', required
        - `custom_emoji` string, nullable
        - `remote_number` string, required
        - `part_index` integer
        - `created_at` string, date-time, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
  - IMessageSendCommandResponse
    - `message_id` string, uuid, required
    - `conversation_id` string, uuid, required
    - `recipient` string, required
    - `status` string, required
  - IMessageGroupSendCommandResponse
    - `message_id` string, uuid, required
    - `conversation_id` string, uuid, required
    - `recipients` string[], required
    - `is_group` boolean, required
    - `group_creation_status` string, required
    - `status` string, required

## Other responses

- `422` — Validation Error
- `4XX` — Client error with Support Agent information.
- `5XX` — Server error with Support Agent information.

---

[API](https://skmtc.dev/inkbox/apis/inkbox-api.md) · [All operations](https://skmtc.dev/inkbox/apis/inkbox-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/inkbox/inkbox-api/revisions/31f357e7e6f8/schema)
