Skip to main content
POST
Forward Message

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Headers

X-Device-Id
string

Device identifier for multi-device support. Required when multiple devices are registered. If only one device is registered, it will be used as the default. Can also be provided as device_id query parameter.

Example:

"my-device-id"

Path Parameters

message_id
string
required

Source message ID from chat storage

Body

application/json

Optional fields that schedule the message instead of sending it now. Set scheduled_at to schedule; without it the message is sent immediately. A background worker sends it at the scheduled time, retrying while the device is offline or not logged in. Uploaded media is stored on the server until the schedule finishes. In multipart/form-data bodies, send weekdays as a repeated field (weekdays=1, weekdays=3).

phone
string
required

Destination phone number or group JID

Example:

"6289685024051@s.whatsapp.net"

scheduled_at
string<date-time>

RFC3339 time of the first send. Must be in the future. The first send always happens at this time, even if it falls outside weekdays or day_of_month; those set the repeats that follow.

Example:

"2026-10-01T09:00:00+07:00"

timezone
string

IANA timezone used to compute recurring runs. Required when scheduled_at is set.

Example:

"Asia/Jakarta"

recurrence
enum<string>
default:once

How often to repeat the send

Available options:
once,
daily,
weekly,
monthly
weekdays
integer[]

Days to send on, 0=Sunday through 6=Saturday. Required when recurrence is weekly.

Required range: 0 <= x <= 6
Example:
day_of_month
integer

Day of the month to send on, clamped to the month's last day. Required when recurrence is monthly.

Required range: 1 <= x <= 31
Example:

15

end_at
string<date-time>

Recurring only. No sends happen after this time; must be after scheduled_at.

Example:

"2026-12-31T23:59:59+07:00"

occurrence_limit
integer

Recurring only. Stop after this many sends.

Required range: x >= 1
Example:

10

duration
integer

Optional disappearing message duration override (0, 86400, 604800, 7776000)

Example:

0

force_reupload
boolean

Skip media reference reuse and re-upload media before sending

Example:

false

Response

OK

code
string
Example:

"SUCCESS"

message
string
Example:

"Success"

results
object