Skip to main content
POST
Send Status
Auth: TokenAccount or TokenInstanceRate-limit: Global (100/min) • Idempotent: no

Description

Publishes a status (story) lasting 24 hours on the instance’s profile. Supports four types: text (plain text with background color and font), image, video and audio. Unlike the other endpoints, there is no number field, the status is published to status@broadcast and is visible to every contact who has permission (configured on the app). Mentions are not supported on this endpoint.

Examples

Text status with color and font

Publishes a purely textual status with a custom background color and font. No mediaUrl is needed.

Image status

Publishes an image as a status. mediaUrl is required for non-text types. message is shown as the caption.

Video status

Publishes a short video as a status. WhatsApp caps video stories at 30 seconds, anything longer gets trimmed.

Audio status (voice message)

Publishes audio as a status. By default it’s treated as PTT (voice). Use isVoice: false to handle it as a regular audio file.

Success response

The messageType echoes the type you sent (text, image, video or audio) and chat.jid is always status@broadcast. The returned messageId can be used to delete the publication before the 24-hour window via the delete-message endpoint.
200 OK

Path parameters

string
required
Instance name (e.g., $Instance_Name).

Headers

string
required
TokenAccount or TokenInstance.
string
required
application/json

Request body

string
required
Status type. Accepted values: text, image, video, audio.
string
required
Textual content of the status. For type=text, this is the actual displayed text. For media (image, video, audio), it acts as the caption.
string
Public URL of the media file. Required when type is image, video or audio. Ignored when type=text.
string
MIME type of the media (e.g., image/jpeg, video/mp4, audio/ogg; codecs=opus). Optional, auto-detected when omitted.
string
File name. Optional, rarely relevant for stories.
string
For type=text only. Status background color in hex (e.g., #FF0000, #00AAFF). When omitted, WhatsApp uses the theme’s default color.
string
For type=text only. Text font. Common values: system, serif, sans-serif.
boolean
default:"true"
For type=audio only. When true (default), the audio is published as PTT (voice message). When false, it becomes a regular audio with the standard player.
uint32
For type=audio only. Duration in seconds. Optional, auto-detected by the transcoding tool.
byte[]
For type=audio only. Custom waveform (byte array). Optional, auto-generated if omitted.
string
default:"api"
Origin identifier for traceability (e.g., crm, marketing-bot, n8n).

Notes

  • There is no number field, stories always go to status@broadcast and become visible according to the privacy rules configured in the app (Settings → Privacy → Status).
  • Mentions are not supported on this endpoint, mention and mentionAll don’t exist here (stories don’t support mentions in the API).
  • Audio in non-Opus formats (mp3, m4a, wav) is automatically converted by the server through FFmpeg to audio/ogg; codecs=opus before publishing. The process can increase the request response time.
  • For type=video, WhatsApp caps stories at ~30 seconds. Longer videos may be trimmed or rejected by WhatsApp’s server.
  • Statuses last 24 hours and are deleted automatically. To delete sooner, use the delete-message endpoint with the returned messageId.
  • backgroundColor and font only take effect on type=text. On media statuses, they’re silently ignored.

Errors

Error envelope: