Send a message

Sends a message to the end customer as your operator. This is how your own support agents reply through your panel instead of ours. The message reaches the customer on whichever channel the conversation belongs to, so the same call works for Instagram and Telegram. **Send a file by first uploading it** with the attachments endpoint and passing the `attachment_id` you get back. A message may carry text, attachments, or both. Set `external_id` to your own id for the message. Sending the same one twice returns the original message rather than creating a duplicate, so a retry after a timeout is safe. A `status` of `queued` means the channel is rate limited and we will deliver it when capacity frees. Nothing is discarded.

Authentication

AuthorizationBearer

Your API key, issued by ParsChat sales. One key per account, spanning every robot you own. Send it as Authorization: Bearer pk_live_….

Path parameters

conversation_idstringRequired
The conversation's id, as it arrives on every webhook event.

Request

This endpoint expects an object.
textstringOptional
The message body. Required unless you send attachments.
attachment_idslist of stringsOptional
Ids from the attachments endpoint. Send files, voice notes or images.
external_idstringOptional
Your own id for this message. Reusing one returns the original instead of sending twice.
reply_to_idstringOptional

The message_id this replies to, to thread it.

Response

The message was accepted.
conversation_idstringOptional
The conversation it belongs to.
message_idstringOptional
ParsChat identifier for the message.
external_idstringOptional
Your own identifier, echoed back. Send the same one twice and we do not create a duplicate.
roleenumOptional
Who sent it.
typeenumOptional
What the message carries.
textstringOptional

Plain text body. Empty on a file-only message.

attachmentslist of objectsOptional
Files on this message.
statusenumOptional

sent once we have handed it to the channel. queued when the channel is rate limited and it will go out later.

created_atdatetimeOptional
When the message was created.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error