Skip to main content
POST
Create a group chat
Create an iMessage group chat with two or more phone numbers and send its opening message in the same call. The group is created by sending that message, so body is required. The response returns the new group (a conversation) and the message. Group chats are iMessage-only. They are created from a dedicated line that you own, and only from a line whose bridge advertises the groups capability (see List available lines). An older device without native group support answers 409 group_chats_unsupported before any group or message is written. A shared platform line answers 409 group_requires_dedicated_line. All participants must be reachable over iMessage; the service does not silently substitute separate messages or SMS. Scope: comms_send

Request

Headers

Body parameters

string[]
required
Two to 31 distinct phone numbers to add to the group. E.164 unless default_country is set. Duplicates are dropped. The line itself is never a participant.
string
required
Opening message, up to 10,000 characters. A group chat cannot exist without it.
string
Your dedicated line that creates the group. Required unless line_id is set or the API key is bound to a line. from is accepted as an alias. A line-bound key can only create groups from its own line; naming another line answers 409 line_mismatch.
string
Provider line id (for example line_se_xxhtvk). Alternative to line_e164.
string
Optional display name for the group. Up to 100 characters.
string
ISO country code used only when participants are given in national format.
string
Same as the Idempotency-Key header.

Response

201 Created

The line created the group and accepted the opening message. message.status is submitted until the line observes the send, then follows the same lifecycle as Send a message and fires the same comms.message.* webhook events.
group.state is creating, created, unknown, or failed; an unknown outcome is not confirmation that the group exists. group.id is a conversation id. Pass it as conversation_id to List messages to read the thread.

202 Accepted (outcome unknown)

The request may have reached the line but the outcome is not yet known. The body carries delivery_unknown: true and message.status is unknown. Do not retry with a new key; poll the message instead.

200 OK (duplicate)

The same Idempotency-Key was already used for this exact request. A successful creation returns the original group and message with duplicate: true. An uncertain creation remains HTTP 202 on replay, and a failed creation retains its error status. Reusing the key with a different participant set, opening message, name, or line returns HTTP 409.

Errors

See also