Skip to main content
The Status feature provides APIs for posting text, image, and video status updates, reacting to statuses (e.g. the “like” heart), and revoking previously sent statuses.

Access

Access status operations through the client:

Methods

send_text

Send a text status update with background color and font style.
Parameters:
  • text - Status text content
  • background_argb - Background color as ARGB (e.g., 0xFF1E6E4F)
  • font - Font style index (0-4)
  • recipients - Slice of recipient JIDs
  • options - Privacy and delivery options
Returns:
  • SendResult containing the message_id and to JID. Use result.message_key() to get a wa::MessageKey for revocation or other follow-up operations.
Example:

send_image

Send an image status update.
Parameters:
  • upload - Upload response from client.upload() (takes ownership)
  • thumbnail - JPEG thumbnail bytes
  • caption - Optional caption text
  • recipients - Slice of recipient JIDs
  • options - Privacy options
Example:

send_video

Send a video status update.
Parameters:
  • upload - Upload response from client.upload() (takes ownership)
  • thumbnail - JPEG thumbnail bytes
  • duration_seconds - Video duration
  • caption - Optional caption text
  • recipients - Slice of recipient JIDs
  • options - Privacy options
Example:

send_raw

Send a custom message type as a status update.
Example:

revoke

Delete a previously sent status update.
Parameters:
  • message_id - ID of the status to revoke
  • recipients - Same recipients the status was sent to
  • options - Privacy options
Example:

send_reaction

React to a status update with an emoji. You send status reactions via Client::send_reaction (not client.status()) using status@broadcast as the chat JID and a wa::MessageKey whose participant field identifies the status owner.
Parameters:
  • chat - Jid::status_broadcast() (the broadcast JID)
  • target_key - Identifies the status to react to; set participant to the status owner’s JID and id to the status message ID
  • emoji - Emoji to send (e.g. "💚"). Pass "" to remove a previous reaction
Example:
See Send API — send_reaction for the full parameter reference and additional examples.

Types

StatusPrivacySetting

Privacy setting for status delivery.
StatusPrivacySetting is #[non_exhaustive], so match statements should include a wildcard arm to handle future variants.

StatusSendOptions

Options for sending status updates.
Example:

Font styles

WhatsApp Web supports 5 font styles (0-4):

Background colors

Background colors use ARGB format (0xAARRGGBB):

Recipient management

Recipients should be JIDs of users who can see the status. You can pass any &[Jid] — an array literal, a slice of a Vec, or a fixed-size array:
The recipients list should match your privacy settings. When revoking a status, use the same recipients list that was used when posting.

Phash validation

After sending a status update, the library validates the participant hash (phash) from the server’s acknowledgment against the locally computed value. On mismatch, the sender key device cache is invalidated so the next status send re-fetches current device lists. This runs in the background and does not affect the send result. See Signal Protocol — Phash validation for details.