Messages
Send Status
Publishes a status (24h story) of text, image, video or audio on the profile
POST
Send Status
Auth:
Error envelope:
TokenAccount or TokenInstance • Rate-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. NomediaUrl 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). UseisVoice: false to handle it as a regular audio file.
Success response
ThemessageType 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
Instance name (e.g.,
$Instance_Name).Headers
TokenAccount or TokenInstance.application/jsonRequest body
Status type. Accepted values:
text, image, video, audio.Textual content of the status. For
type=text, this is the actual displayed text. For media (image, video, audio), it acts as the caption.Public URL of the media file. Required when
type is image, video or audio. Ignored when type=text.MIME type of the media (e.g.,
image/jpeg, video/mp4, audio/ogg; codecs=opus). Optional, auto-detected when omitted.File name. Optional, rarely relevant for stories.
For
type=text only. Status background color in hex (e.g., #FF0000, #00AAFF). When omitted, WhatsApp uses the theme’s default color.For
type=text only. Text font. Common values: system, serif, sans-serif.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.For
type=audio only. Duration in seconds. Optional, auto-detected by the transcoding tool.For
type=audio only. Custom waveform (byte array). Optional, auto-generated if omitted.Origin identifier for traceability (e.g.,
crm, marketing-bot, n8n).Notes
- There is no
numberfield, stories always go tostatus@broadcastand become visible according to the privacy rules configured in the app (Settings → Privacy → Status). - Mentions are not supported on this endpoint,
mentionandmentionAlldon’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=opusbefore 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. backgroundColorandfontonly take effect ontype=text. On media statuses, they’re silently ignored.
Errors
| HTTP | Internal status | Message |
|---|---|---|
| 400 | , | Instance name is required |
| 400 | , | Invalid request body: <detail> |
| 400 | , | Type must be one of: text, image, video, audio |
| 400 | , | Message is required |
| 400 | , | MediaURL is required for type: <type> |
| 400 | media_download_failed | Failed to download media from URL |
| 400 | media_validation_failed | (media file validation) |
| 400 | unsupported_media_type | (unsupported media format) |
| 500 | media_upload_failed | Failed to upload media to WhatsApp |
| 500 | audio_conversion_failed | (failure converting audio to Opus) |
| 404 | , | Instance not found |
| 500 | send_failed | Failed to send status: <reason> |
| 503 | disconnected | Instance is not connected to WhatsApp |