Blueticks
Messages

Send message

Send a message immediately to a specific chat.

The body is the same FLAT shape as POST /v1/scheduled-messages minus to (derived from the URL path) and sendAt (this endpoint is fire-and-forget). Set type to text, media, or poll. The dispatch is direct — no DB row is created; the response carries the WhatsApp wire key under key. For scheduled or queue-managed sends use POST /v1/scheduled-messages instead. Requires messages:write.

Sending media (type: "media")

Provide the media one of these ways:

  • mediaUrl — a public https:// URL to the file.
  • mediaBase64 — the file bytes base64-encoded (or a data: URL), inline in the JSON body.
  • Upload a file — send the request as multipart/form-data with the file in a mediaFile part. See the cURL example below.

If both mediaUrl and mediaBase64 are present, mediaUrl wins. Optional: mediaFilename (display name) and mediaKind (image · video · audio · document · sticker · voice · gif; auto-detected otherwise).

In the Body panel, the Attach a file control has a content-type dropdown next to it. Pick application/json to inline a small file as base64 in mediaBase64, or multipart/form-data to upload the raw file (no 10 MB JSON-body limit) — then just press Send. The cURL below is the multipart equivalent.

curl -X POST "https://api.blueticks.co/v1/messages/120363000000000000@g.us" \
  -H "Authorization: Bearer $BLUETICKS_API_KEY" \
  -F "type=media" \
  -F "text=Here is the file" \
  -F "mediaFile=@/path/to/photo.png"

Mentioning contacts

Mentions are written inline in text — there is no separate field. Use @[Display Name](<jid>):

Hi @[Joni Naor](972544325389@c.us) this is a test

Request

curl -X POST "https://api.blueticks.co/v1/messages/string" \  -H "Content-Type: application/json" \  -d '{    "type": "text"  }'
POST
/v1/messages/{chat_id}

Path Parameters

chat_id*string

Request Body

application/json

Response

Response Body

application/json

application/json