Skip to content

Autosave a WhatsApp campaign (logged)

PATCH
/api/v1/workspaces/{workspace}/whatsapp-campaigns/{campaignId}
curl --request PATCH \
--url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/whatsapp-campaigns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "lists": [ "example" ], "localDate": "example", "localMinute": 1, "mode": "now", "name": "example", "overLimit": "next_day", "segments": [ "example" ], "sendAt": "2026-04-15T12:00:00Z", "templateId": "example", "variables": [ { "fallback": "example", "field": "example", "key": "example", "source": "field", "text": "example" } ], "version": 1 }'

Permission: campaigns:edit

workspace
required

Workspace slug

string
/^[a-z0-9][a-z0-9-]{1,62}$/

Workspace slug

campaignId
required
string format: uuid
Media typeapplication/json
object
lists
required
Array<string>
<= 50 items
localDate
string
/^(\d{4}-\d{2}-\d{2})?$/
localMinute
integer format: int64
<= 1439
mode
required
string
Allowed values: now at local
name
required
string
>= 1 characters <= 200 characters
overLimit
string
Allowed values: next_day skip ""
segments
Array<string>
<= 50 items
sendAt
string format: date-time
templateId
required
string
<= 40 characters
variables
required
Array<object>
<= 20 items
object
fallback
string
<= 500 characters
field
string
<= 64 characters
key
required
string
<= 4 characters
source
required
string
Allowed values: field text
text
string
<= 500 characters
version
required
integer format: int64

OK

Media typeapplication/json
object
access
required
object
canEdit
required
boolean
canSend
required
boolean
helpers
required
Array<string>
missing
required
Array<string>
accountStatus
required
string
audience
required
object
consent
required
integer format: int64
countries
required
object
key
additional properties
integer format: int64
final
required
integer format: int64
lists
required
Array<object>
object
consent
required
integer format: int64
listId
required
string
members
required
integer format: int64
name
required
string
suppressed
required
integer format: int64
without
required
integer format: int64
autosavedAt
string format: date-time
business
object
displayName
required
string
number
required
string
connected
required
boolean
cost
required
object
amount
required
number format: double
byCountry
required
Array<object>
object
amount
required
number format: double
country
required
string
messages
required
integer format: int64
price
required
number format: double
category
required
string
messages
required
integer format: int64
ratesAsOf
required
string format: date-time
createdBy
required
string
fields
required
Array<object>
object
key
required
string
label
required
string
id
required
string
listOptions
required
Array<object>
object
consent
required
integer format: int64
listId
required
string
members
required
integer format: int64
name
required
string
name
required
string
overLimit
required
string
Allowed values: next_day skip
preview
object
buttons
required
Array<object>
object
text
required
string
type
required
string
Allowed values: quick_reply url phone_number other
url
string
contact
required
string
contactId
string
fallbacks
required
Array<object>
object
fallback
required
string
field
required
string
key
required
string
firstName
string
text
required
string
quiet
required
boolean
schedule
required
object
label
required
string
localDate
string
localMinute
integer format: int64
mode
required
string
Allowed values: now at local
sendAt
string format: date-time
segments
required
Array<string>
status
required
string
Allowed values: draft approval approved scheduled sending paused sent cancelled failed
template
object
body
required
string
buttons
required
Array<object>
object
text
required
string
type
required
string
Allowed values: quick_reply url phone_number other
url
string
category
required
string
Allowed values: marketing utility authentication
id
required
string
language
required
string
languageLabel
required
string
name
required
string
reason
string
reasonCode
string
status
required
string
Allowed values: approved pending rejected paused disabled in_appeal other
statusSince
string format: date-time
syncedAt
required
string format: date-time
variables
required
Array<object>
object
example
string
key
required
string
label
required
string
templateId
string
templates
required
Array<object>
object
body
required
string
buttons
required
Array<object>
object
text
required
string
type
required
string
Allowed values: quick_reply url phone_number other
url
string
category
required
string
Allowed values: marketing utility authentication
id
required
string
language
required
string
languageLabel
required
string
name
required
string
reason
string
reasonCode
string
status
required
string
Allowed values: approved pending rejected paused disabled in_appeal other
statusSince
string format: date-time
syncedAt
required
string format: date-time
variables
required
Array<object>
object
example
string
key
required
string
label
required
string
test
object
at
required
string format: date-time
id
required
string
read
required
boolean
reason
string
status
required
string
Allowed values: queued sending sent delivered failed held cancelled skipped undelivered
template
required
string
to
required
string
updatedAt
required
string format: date-time
updatedBy
required
string
variables
required
Array<object>
object
fallback
string
<= 500 characters
field
string
<= 64 characters
key
required
string
<= 4 characters
source
required
string
Allowed values: field text
text
string
<= 500 characters
version
required
integer format: int64
window
required
string

Example

{
"overLimit": "next_day",
"preview": {
"buttons": [
{
"type": "quick_reply"
}
]
},
"schedule": {
"mode": "now"
},
"status": "draft",
"template": {
"buttons": [
{
"type": "quick_reply"
}
],
"category": "marketing",
"status": "approved"
},
"templates": [
{
"buttons": [
{
"type": "quick_reply"
}
],
"category": "marketing",
"status": "approved"
}
],
"test": {
"status": "queued"
},
"variables": [
{
"source": "field"
}
]
}

Error

Media typeapplication/problem+json
object
code

Stable error code, e.g. permission_denied

string
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

Array<object>
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

helpers

Members who hold the missing permission

Array<string>
instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
meta
object
key
additional properties
permission

The missing permission key

string
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank

Example

{
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}