Skip to content

Review & send: the latest Send Readiness run, estimates, schedule, thresholds, test sends and approval state

GET
/api/v1/workspaces/{workspace}/campaigns/{campaignId}/review
curl --request GET \
--url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/campaigns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/review \
--header 'Authorization: Bearer <token>'

Permission: campaigns:view

workspace
required

Workspace slug

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

Workspace slug

campaignId
required
string format: uuid

OK

Media typeapplication/json
object
access
required
object
canApprove
required
boolean
canEdit
required
boolean
canManageRouting
required
boolean
canSend
required
boolean
canSendTestToOthers
required
boolean
email
required
string
hasPassword
required
boolean
isOwner
required
boolean
sendHelpers
required
Array<string>
approval
required
object
approvers
required
Array<object>
object
color
required
string
email
required
string
id
required
string
initials
required
string
name
required
string
presence
string
role
required
string
canBypass
required
boolean
canRequest
required
boolean
medianWaitMinutes
integer format: int64
needed
required
integer format: int64
policyRules
required
Array<string>
request
object
audit
object
action
required
string
actor
required
string
at
required
string format: date-time
ip
string
bypassReason
string
changes
required
Array<object>
object
after
required
string
before
required
string
field
required
string
Allowed values: subject preheader link content sender audience audience_count route schedule language
label
required
string
what
string
comment
string
decidedAt
string format: date-time
decidedBy
string
decisions
required
Array<object>
object
approver
required
object
color
required
string
email
required
string
id
required
string
initials
required
string
name
required
string
presence
string
role
required
string
at
required
string format: date-time
comment
required
string
decision
required
string
Allowed values: approve request_changes reject
followsId
string
given
required
integer format: int64
id
required
string
invalidatedAt
string format: date-time
invalidatedBy
string
invalidatedFields
string
invalidatedReason
string
needed
required
integer format: int64
note
required
string
requestedAt
required
string format: date-time
requestedBy
required
object
color
required
string
email
required
string
id
required
string
initials
required
string
name
required
string
presence
string
role
required
string
rules
required
Array<object>
object
author
string
badge
required
string
key
required
string
Allowed values: audience_min warming_provider new_provider ready_with_warnings author_lacks_send approval_lists automation_publish transactional_publish post_publish channel_cost_min client_signoff
label
required
string
role
string
short
required
string
snapshot
required
object
audienceCount
required
integer format: int64
routeLabel
required
string
routeText
required
string
scheduleAt
string format: date-time
scheduleMode
required
string
Allowed values: now at best_time
scheduleText
required
string
splitLabel
required
string
subject
required
string
timezone
string
version
required
integer format: int64
status
required
string
Allowed values: pending approved changes_requested rejected invalidated bypassed sent cancelled
subjectType
required
string
Allowed values: campaign automation transactional_template website_post website_page
version
required
integer format: int64
requestReason
string
required
required
boolean
rules
required
Array<object>
object
author
string
badge
required
string
key
required
string
Allowed values: audience_min warming_provider new_provider ready_with_warnings author_lacks_send approval_lists automation_publish transactional_publish post_publish channel_cost_min client_signoff
label
required
string
role
string
short
required
string
valid
required
boolean
campaign
required
object
ab
object
durationHours
required
integer format: int64
kind
required
string
Allowed values: subject content send_time
label
required
string
testPercent
required
integer format: int64
variants
required
integer format: int64
audienceLabel
required
string
autosavedAt
string format: date-time
editable
required
boolean
from
required
string
id
required
string
name
required
string
preheader
required
string
replyTo
required
string
scheduledAt
string format: date-time
startedAt
string format: date-time
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
held
object
blocks
required
Array<object>
object
ack
string
ackKey
string
detail
string
evidence
string
fixes
required
Array<object>
object
action
string
Allowed values: exclude_sunset route_only insert_footer replace_link use_subject minify mark_language_up_to_date mark_language_translated hold_language release_language accessibility_decorative accessibility_color accessibility_one_click visibility_show_everyone visibility_hide_block visibility_remove_condition poll_close_days exclude_risky verify_addresses sponsor_remove_block sponsor_refresh_block
href
string
kind
required
string
Allowed values: apply link
label
required
string
params
object
key
additional properties
string
tone
string
Allowed values: primary danger
flatTitle
required
string
group
required
string
Allowed values: reputation authentication content languages links compliance audience routing accessibility conditional
key
required
string
label
string
mono
boolean
note
string
rows
Array<object>
object
count
required
integer format: int64
detail
required
string
gets
string
getsName
string
label
required
string
language
string
short
string
status
required
string
Allowed values: pass warn block unknown
title
required
string
held
required
integer format: int64
reason
required
string
since
required
string format: date-time
largeSend
required
integer format: int64
pauseSlack
required
boolean
run
object
campaignId
required
string
checks
required
Array<object>
object
ack
string
ackKey
string
detail
string
evidence
string
fixes
required
Array<object>
object
action
string
Allowed values: exclude_sunset route_only insert_footer replace_link use_subject minify mark_language_up_to_date mark_language_translated hold_language release_language accessibility_decorative accessibility_color accessibility_one_click visibility_show_everyone visibility_hide_block visibility_remove_condition poll_close_days exclude_risky verify_addresses sponsor_remove_block sponsor_refresh_block
href
string
kind
required
string
Allowed values: apply link
label
required
string
params
object
key
additional properties
string
tone
string
Allowed values: primary danger
flatTitle
required
string
group
required
string
Allowed values: reputation authentication content languages links compliance audience routing accessibility conditional
key
required
string
label
string
mono
boolean
note
string
rows
Array<object>
object
count
required
integer format: int64
detail
required
string
gets
string
getsName
string
label
required
string
language
string
short
string
status
required
string
Allowed values: pass warn block unknown
title
required
string
counts
required
object
blocks
required
integer format: int64
passed
required
integer format: int64
total
required
integer format: int64
unknown
required
integer format: int64
warnings
required
integer format: int64
durationMs
required
integer format: int64
estimates
required
object
audience
required
object
duplicates
required
integer format: int64
final
required
integer format: int64
lists
required
Array<string>
role
required
integer format: int64
rows
required
Array<object>
object
count
required
integer format: int64
kind
required
string
Allowed values: base minus plus
label
required
string
suppressed
required
integer format: int64
unengaged
required
integer format: int64
unengagedExcluded
required
boolean
route
required
object
down
required
integer format: int64
move
object
addCost
required
number format: double
addMinutes
required
integer format: int64
from
required
string
to
required
string
toId
required
string
override
required
boolean
policy
required
string
Allowed values: automatic pause_and_ask warm_only
shares
required
Array<object>
object
adapter
required
string
available
required
boolean
color
required
string
Allowed values: ses postal postmark other
cost
required
number format: double
label
string
minutes
required
integer format: int64
name
required
string
percent
required
number format: double
priceLabel
required
string
pricing
required
string
Allowed values: metered plan self_hosted
providerId
required
string
rate
required
number format: double
rateLabel
required
string
recipients
required
integer format: int64
short
required
string
status
required
string
statusLabel
required
string
warmupDay
integer format: int64
warmupDays
integer format: int64
splitLabel
required
string
stream
required
string
Allowed values: broadcast automation system
streamLabel
required
string
totalCost
required
number format: double
totalMinutes
required
integer format: int64
throttling
required
Array<object>
object
key
required
string
Allowed values: gmail outlook yahoo icloud other
name
required
string
rate
required
number format: double
recipients
required
integer format: int64
groups
required
Array<object>
object
caption
required
string
key
required
string
Allowed values: reputation authentication content languages links compliance audience routing accessibility conditional
note
string
passed
required
integer format: int64
running
required
string
status
required
string
Allowed values: pass warn block unknown
summary
required
string
title
required
string
total
required
integer format: int64
id
required
string
incomplete
required
boolean
problem
string
ranAt
required
string format: date-time
ranBy
string
trigger
required
string
Allowed values: manual composer schedule send_time approval
unknownAcceptedAt
string format: date-time
unknownAcceptedBy
string
verdict
required
string
Allowed values: ready warnings blocked
version
required
integer format: int64
running
object
done
required
integer format: int64
groups
required
Array<object>
object
checked
required
integer format: int64
done
required
integer format: int64
key
required
string
Allowed values: reputation authentication content languages links compliance audience routing accessibility conditional
status
required
string
Allowed values: queued running pass warn block unknown
text
required
string
title
required
string
total
required
integer format: int64
runId
required
string
startedAt
required
string format: date-time
startedBy
string
total
required
integer format: int64
trigger
required
string
schedule
required
object
at
string format: date-time
date
string
/^\d{4}-\d{2}-\d{2}$/
mode
required
string
Allowed values: now at best_time
time
string
/^([01]\d|2[0-3]):[0-5]\d$/
timezone
string
<= 64 characters
scheduled
object
at
required
string format: date-time
by
required
string
stale
required
boolean
testSends
required
Array<object>
object
at
required
string format: date-time
by
required
string
delivered
string
languages
Array<string>
provider
required
string
to
required
string
thresholds
required
object
bounce
required
number format: double
>= 0.1 <= 20
complaint
required
number format: double
>= 0.01 <= 5
mailboxComplaint
required
number format: double
>= 0.01 <= 5
providerErrors
required
number format: double
>= 1 <= 100
scope
required
string
Allowed values: route campaign
timezone
required
string

Example

{
"approval": {
"request": {
"changes": [
{
"field": "subject"
}
],
"decisions": [
{
"decision": "approve"
}
],
"rules": [
{
"key": "audience_min"
}
],
"snapshot": {
"scheduleMode": "now"
},
"status": "pending",
"subjectType": "campaign"
},
"rules": [
{
"key": "audience_min"
}
]
},
"campaign": {
"ab": {
"kind": "subject"
},
"status": "draft"
},
"held": {
"blocks": [
{
"fixes": [
{
"action": "exclude_sunset",
"kind": "apply",
"tone": "primary"
}
],
"group": "reputation",
"status": "pass"
}
]
},
"run": {
"checks": [
{
"fixes": [
{
"action": "exclude_sunset",
"kind": "apply",
"tone": "primary"
}
],
"group": "reputation",
"status": "pass"
}
],
"estimates": {
"audience": {
"rows": [
{
"kind": "base"
}
]
},
"route": {
"policy": "automatic",
"shares": [
{
"color": "ses",
"pricing": "metered"
}
],
"stream": "broadcast"
},
"throttling": [
{
"key": "gmail"
}
]
},
"groups": [
{
"key": "reputation",
"status": "pass"
}
],
"trigger": "manual",
"verdict": "ready"
},
"running": {
"groups": [
{
"key": "reputation",
"status": "queued"
}
]
},
"schedule": {
"mode": "now"
},
"thresholds": {
"scope": "route"
}
}

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