Skip to content

Rename a campaign or change its sender, reply-to, audience or content settings

PATCH
/api/v1/workspaces/{workspace}/campaigns/{campaignId}
curl --request PATCH \
--url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/campaigns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "audience": { "excludeLists": [ "example" ], "excludeSegments": [ "example" ], "lists": [ "example" ], "paid": "paid", "paidTier": "example", "segments": [ "example" ] }, "name": "example", "replyTo": "example", "senderId": "example", "settings": { "minify": true } }'

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
audience
object
excludeLists
Array<string>
<= 100 items
excludeSegments
Array<string>
<= 100 items
lists
Array<string>
<= 100 items
paid

Paid: paid members only; free: free subscribers only; empty: everyone on the lists

string
Allowed values: paid free ""
paidTier

With paid: the lowest tier (the tier and above); empty for any paid tier

string
segments
Array<string>
<= 100 items
name
string
>= 1 characters <= 200 characters
replyTo
string
<= 254 characters
senderId

A sender id, or empty to clear

string
settings
object
minify
required
boolean

OK

Media typeapplication/json
object
abTest
object
bestTime
boolean
durationHours
required
integer format: int64
>= 1 <= 72
kind
required
string
Allowed values: subject content send_time
metric
required
string
Allowed values: human_opens clicks manual
testPercent
required

Share of the audience in the test

integer format: int64
>= 5 <= 50
variants
required
Array<object>
>= 2 items <= 3 items
object
html
string
<= 2000000 characters
key
required

Variant A is the campaign itself

string
Allowed values: A B C
mjml
string
<= 2000000 characters
preheader
string
<= 500 characters
sendTime
string
/^([01]\d|2[0-3]):[0-5]\d$/
subject
string
<= 998 characters
winner
string
access
required
object
canEdit
required
boolean
canEditTemplates
required
boolean
canManageRouting
required
boolean
canSend
required
boolean
canSendTestToOthers
required
boolean
canViewContacts
required
boolean
editHelpers

Members who hold campaigns:edit (when the caller can’t edit)

Array<string>
editable
required
boolean
readOnlyReason
string
sendHelpers
required

Members who hold campaigns:send

Array<string>
audience
required
object
excludeLists
required
Array<string>
excludeSegments
required
Array<string>
lists
required
Array<string>
paid
string
Allowed values: paid free ""
paidTier
string
segments
required
Array<string>
audienceCount
integer format: int64
audienceLabel
required
string
autosavedAt
string format: date-time
contentHash
required
string
createdAt
required
string format: date-time
digestId
string
digestRole
string
Allowed values: template next issue ""
editorMode
required
string
Allowed values: visual mjml html
html
required
string
id
required
string
language
required
string
mjml
required
string
name
required
string
plainText
required
string
preheader
required
string
readiness
object
issues
required
integer format: int64
verdict
required
string
Allowed values: ready warnings blocked
replyTo
required
string
route
required
object
shares
required
Array<object>
object
adapter
required
string
percent
required
number format: double
planned
required
integer format: int64
provider
required
string
providerId
required
string
sent
required
integer format: int64
short
required
string
source
required
string
Allowed values: campaign rule none
scheduledAt
string format: date-time
sender
object
email
required
string
id
required
string
name
required
string
settings
required
object
minify
required
boolean
sourceLanguage
required
string
status
required
string
Allowed values: draft approval approved scheduled sending paused sent cancelled failed
subject
required
string
updatedAt
required
string format: date-time
updatedBy
required
string
version
required
integer format: int64
versionCount
required
integer format: int64

Example

{
"abTest": {
"kind": "subject",
"metric": "human_opens",
"variants": [
{
"key": "A"
}
]
},
"audience": {
"paid": "paid"
},
"digestRole": "template",
"editorMode": "visual",
"readiness": {
"verdict": "ready"
},
"route": {
"shares": [
{
"adapter": "ses",
"provider": "Amazon SES",
"short": "SES"
}
],
"source": "campaign"
},
"status": "draft"
}

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"
}