Make a WhatsApp campaign (logged)
POST
/api/v1/workspaces/{workspace}/whatsapp-campaigns
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://reputecast.example.com/api/v1/workspaces/acme-newsletter/whatsapp-campaigns"
payload := strings.NewReader("{ \"lists\": [ \"example\" ], \"name\": \"example\", \"templateId\": \"example\" }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://reputecast.example.com/api/v1/workspaces/acme-newsletter/whatsapp-campaigns';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"lists":["example"],"name":"example","templateId":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/whatsapp-campaigns \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "lists": [ "example" ], "name": "example", "templateId": "example" }'Permission: campaigns:edit
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”workspace
required
Workspace slug
string
Workspace slug
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
lists
Array<string>
name
required
string
templateId
string
Example generated
{ "lists": [ "example" ], "name": "example", "templateId": "example"}Responses
Section titled “Responses”Created
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
preview
object
buttons
required
Array<object>
object
text
required
string
type
required
string
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
sendAt
string format: date-time
segments
required
Array<string>
status
required
string
template
object
body
required
string
buttons
required
Array<object>
object
text
required
string
type
required
string
url
string
category
required
string
id
required
string
language
required
string
languageLabel
required
string
name
required
string
reason
string
reasonCode
string
status
required
string
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
url
string
category
required
string
id
required
string
language
required
string
languageLabel
required
string
name
required
string
reason
string
reasonCode
string
status
required
string
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
template
required
string
to
required
string
updatedAt
required
string format: date-time
updatedBy
required
string
variables
required
Array<object>
object
fallback
string
field
string
key
required
string
source
required
string
text
string
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" } ]}default
Section titled “default”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
Example
{ "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}