Sending messages
DocsAPI referenceAdvanced
POST https://login.meapi.in/api/v1/messagesOne endpoint sends every kind of message. The type field picks the kind; the matching object carries its content.
type |
Content field | When you can send it |
|---|---|---|
text |
text |
Inside the 24-hour window |
template |
template |
Any time — the only way to start a conversation |
image, video, audio, document, sticker |
an object named like the type | Inside the 24-hour window |
interactive |
interactive |
Inside the 24-hour window |
Common fields
Section titled “Common fields”| Field | Type | Required | Description |
|---|---|---|---|
to |
string | yes | The customer’s WhatsApp number in international format, e.g. +919812345678. Numbers of 10 digits or fewer without a + are read as Indian numbers. |
type |
string | no | text (default), template, interactive, image, video, audio, document or sticker (not case-sensitive). If you send a template object without type, it is a template. |
name |
string | no | Saved as the contact’s name if they don’t have one yet. |
channel_id |
integer | no | Which of your numbers sends it — see Authentication. |
Response
Section titled “Response”202 Accepted — MeAPI has stored the message and queued it for WhatsApp. Sending to Meta happens in the background, so the first status is pending.
{ "success": true, "message": { "id": 81234, "wamid": null, "status": "pending", "type": "text", "to": "+919812345678", "error": null, "created_at": "2026-10-26T10:15:02.000Z" }, "conversation_id": 5521, "contact_id": 3310}message.to repeats the to you sent. Keep message.id to match later status updates. wamid is WhatsApp’s own message id; it is filled in once Meta accepts the message.
Errors you should handle
Section titled “Errors you should handle”| Status | Code | What to do |
|---|---|---|
| 409 | WINDOW_CLOSED |
The customer hasn’t messaged in 24 hours — send a template instead |
| 403 | OPTED_OUT |
The contact sent STOP; don’t message them until they send START |
| 400 | INVALID_NUMBER |
Fix the phone number (international format) |
| 400 | MISSING_TEXT, TEXT_TOO_LONG, MISSING_TEMPLATE, MISSING_MEDIA, BAD_MEDIA_LINK, BAD_INTERACTIVE, BAD_TYPE |
Fix the request body; the message says what is wrong |
| 400 | NO_CHANNEL |
No WhatsApp number is connected, or channel_id is not yours |
| 403 | CHANNEL_NOT_ALLOWED |
The key is limited to another number |
| 400 / 403 / 404 | REQUEST_FAILED |
Refused for another reason, e.g. the account is suspended or the number is no longer connected |
| 429 | RATE_LIMITED |
Slow down — see rate limits |
All errors have the same shape — see Errors.
Was this page helpful?
Thank you — we read every comment.
Could not send right now. Please try again later.
© 2026 MeAPI by TheWebStore028 · RADHAMADHAV WEBSTORE LLP · GSTIN 27ABJFR6148J1ZO · Contact us ·Cookie settings