Send Message
Inbox management is not available on the Basic plan. Upgrade to Intermediate, Growth or Business plan to access this endpoint.
Overview
The Send Message endpoint sends a text reply to an existing Facebook, Instagram, or WhatsApp conversation. This allows you to respond to messages in your inbox via the API.
Base URL:
https://message.oneupapp.io
Endpoint
POST /api/conversations/{id}/messages
Request Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
apiKey | Yes | string | Your personal API key generated from the API Access page. Passed as a query parameter. |
id | Yes | integer | The conversation ID returned by Fetch Conversations. Passed in the URL path. Use id, not conversation_id. |
message | Yes | string | The reply text. Required and cannot be empty. Maximum: 4096 characters; platform limits also apply. |
Facebook and Facebook-linked Instagram replies use human-agent messaging. WhatsApp replies require a customer message received within the last 24 hours. To send an approved template, use Create WhatsApp Conversation. Sending a template does not open the 24-hour reply window.
Sample Request
curl --location --request POST \
"https://message.oneupapp.io/api/conversations/123/messages?apiKey=YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"message": "Thanks for contacting us!"
}'
Sample Response
{
"message": "OK",
"error": false,
"data": {
"message": {
"id": 456,
"conversation_id": "t_987654321",
"message_id": "m_123456",
"sender_id": "104040148726689",
"receiver_id": "987654321",
"sender_name": "My Page",
"receiver_name": "Jane Doe",
"message": "Thanks for contacting us!",
"attachments": null,
"template": null,
"profile_image": null,
"is_read": 1,
"created_time": "2026-09-28 10:00:00"
},
"outcome": "accepted"
},
"meta": []
}
If the connected Facebook or Instagram account needs to be synced, the API returns 202 Accepted with Retry-After: 5. Wait at least five seconds, then repeat the request. See the account sync response.
A send returning this setup response has not sent or queued a message. Repeat it after setup completes.
Response Fields
| Field | Description |
|---|---|
message | The saved message object. |
outcome | accepted when the platform accepts the message. This does not confirm delivery. |
Message Object
| Field | Description |
|---|---|
id | The internal message ID. |
conversation_id | The platform-specific conversation identity. |
message_id | The platform-specific message ID. |
sender_id | The sender’s platform ID. |
receiver_id | The recipient’s platform ID. |
sender_name | The sender’s display name, when available. |
receiver_name | The recipient’s display name, when available. |
message | The message text. |
attachments | Attachment details, when available. |
template | WhatsApp template details, when available. |
profile_image | Profile image, when available. |
is_read | Local read status: 0 for unread or 1 for read. |
created_time | The message creation time, formatted as YYYY-MM-DD HH:MM:SS. |
Error Responses
| Status | When |
|---|---|
401 | Missing or invalid apiKey. |
403 | Inbox management is unavailable on the Basic plan. |
404 | The requested resource was not found or does not belong to the authorized user. |
422 | Invalid parameters or the WhatsApp reply window is closed. |
429 | The limit of 60 requests per minute per API key was exceeded. Wait for the Retry-After interval. |
500 | Unexpected error, including failure to save an accepted message. |
502 | The platform rejected the message or returned no message ID. |
503 | API key verification or account sync is temporarily unavailable. |
504 | The send timed out; the platform may have accepted the message. |
If a send fails, check data.outcome: rejected, unknown, or accepted. Send failures set retry_safe to false. A timeout may occur after the provider accepts the message. If saving the accepted message fails, the response includes its provider message_id. Check the conversation before resending to avoid duplicates; the API does not provide idempotency keys or automatic send retries.
✅ Result: You have successfully submitted your reply to the platform!