Skip to content

Campaign report: headline metrics, 72-hour engagement, click map, providers, bounces, unsubscribes, A/B

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

Permission: reports:view

Aggregate numbers only. Rates are percentages: delivered and bounces of sent; opens, clicks, unsubscribes and complaints of delivered.

workspace
required

Workspace slug

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

Workspace slug

campaignId
required

Campaign id

string format: uuid

Campaign id

language

Show the click map of one language version (campaigns sent in several languages)

string
<= 16 characters

Show the click map of one language version (campaigns sent in several languages)

OK

Media typeapplication/json
object
abTest
object
confidence
number format: double
decidedAt
string format: date-time
kind
required
string
Allowed values: subject content send_time
label
required

Subject line, content, send time

string
lift
number format: double
metric
required
string
Allowed values: human_opens clicks
pValue
number format: double
remaining
required
integer format: int64
rolloutAt
string format: date-time
significant
required

P below 0.05

boolean
state
required
string
Allowed values: decided testing no_winner
variants
required
Array<object>
object
clickRate
number format: double
complaintRate
number format: double
humanOpenRate
number format: double
key
required
string
label
required

The subject line, or what differs

string
recipients
required
integer format: int64
remaining
required
integer format: int64
samplePercent
required
number format: double
winner
required
boolean
windowHours
required
number format: double
winner
string
backlog
object
current
required
Array<string>
minutes
required
integer format: int64
providers
required
Array<object>
object
feed
required

How its events arrive: SNS, webhook, bounce mailbox

string
name
required
string
providerId
required
string
short
required
string
since
required
string format: date-time
waiting
required
integer format: int64
since
required
string format: date-time
bounces
required
object
rows
required
Array<object>
object
codes
required
Array<object>
object
code
required

SMTP reply or provider code: 550 5.1.1

string
count
required
integer format: int64
provider
required

Short name: SES, Postal

string
type
required

The provider’s event name: Permanent/General, HardFail

string
count
required
integer format: int64
label
required
string
suppression
required
string
Allowed values: auto retry add review suppressed
tone
required
string
Allowed values: bad warn neutral
type
required
string
Allowed values: unknown_user domain_invalid mailbox_full deferral_expired blocked other
unsuppressed
required
integer format: int64
total
required
integer format: int64
campaign
required
object
audience
required
string
completedAt
string format: date-time
final
required
boolean
finalAt
string format: date-time
id
required
string
name
required
string
notes
required
Array<string>
origin
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
timezone
string
clickMap
required
object
available
required
boolean
html
required
string
language
string
links
required
Array<object>
object
clicks
required
integer format: int64
grouped
required
boolean
hot
required
boolean
id
required
string
label
required
string
position
required
integer format: int64
share
required
number format: double
uniqueClicks
required
integer format: int64
url
required
string
other
object
clicks
required
integer format: int64
labels
required

The most-clicked links in the group, for the caption

Array<string>
links
required
integer format: int64
share
required
number format: double
threshold
required

Links under this share (percent) are grouped as Other

number format: double
total
required

All link clicks

integer format: int64
engagement
required
object
available
required
boolean
delivered
required
integer format: int64
hours
required
integer format: int64
humanWithin6h
number format: double
points
required
Array<object>
object
clicks
required
integer format: int64
hour
required
integer format: int64
humanOpens
required
integer format: int64
machineOpens
required
integer format: int64
rollout
object
at
required
string format: date-time
hour
required
number format: double
variant
required
string
headline
required
object
bounceRate
number format: double
bounces
required
integer format: int64
clickRate
number format: double
clickToOpen
number format: double
clicks
required
integer format: int64
complaintRate
number format: double
complaints
required
integer format: int64
delivered
required
integer format: int64
deliveredRate
number format: double
hardBounces
required
integer format: int64
humanOpenRate
number format: double
humanOpens
required
integer format: int64
machineOpenRate
number format: double
machineOpens
required
integer format: int64
rejected
required
integer format: int64
sent
required
integer format: int64
sentBy
required
Array<object>
object
count
required
integer format: int64
providerId
required
string
short
required
string
softBounces
required
integer format: int64
undelivered
required
integer format: int64
unsubscribeRate
number format: double
unsubscribes
required
integer format: int64
languages
object
clickMaps
required
Array<object>
object
language
required
string
name
required
string
fallback
object
draft
object
id
required
string
name
required
string
gap
number format: double
got
required
string
readers
required
Array<string>
languages
required
integer format: int64
rows
required
Array<object>
object
clickRate
number format: double
clicks
required
integer format: int64
complaintRate
number format: double
complaints
required
integer format: int64
delivered
required
integer format: int64
deliveredRate
number format: double
fallback
required
boolean
humanOpenRate
number format: double
humanOpens
required
integer format: int64
kinds
required
Array<string>
language
required
string
missing
string
name
required
string
readers
required
Array<string>
reason
string
Allowed values: missing draft held
sent
required
integer format: int64
source
required
boolean
translatedFrom
integer format: int64
unsubscribeRate
number format: double
unsubscribes
required
integer format: int64
sent
required
Array<object>
object
count
required
integer format: int64
language
required
string
name
required
string
versions
required
integer format: int64
mailboxes
required
Array<object>
object
bounceRate
number format: double
clickRate
number format: double
complaintRate
number format: double
delivered
required
integer format: int64
deliveredRate
number format: double
humanOpenRate
number format: double
key
required
string
Allowed values: gmail outlook yahoo icloud other
machineOpenRate
number format: double
name
required
string
sent
required
integer format: int64
unsubscribeRate
number format: double
notSent
object
lastReport
object
id
required
string
name
required
string
readiness
string
Allowed values: ready warnings blocked ""
scheduledAt
string format: date-time
status
required
string
timezone
string
providers
required
object
columns
required
Array<object>
object
adapter
required
string
bounceRate
number format: double
clickRate
number format: double
color
required
string
Allowed values: ses postal postmark other
complaintRate
number format: double
cost

Dollars

number format: double
delivered
required
integer format: int64
deliveredRate
number format: double
engagedFirst
required
boolean
humanOpenRate
number format: double
machineOpenRate
number format: double
medianDeliveryMs
integer format: int64
name
required
string
percent
required
number format: double
providerId
required
string
sent
required
integer format: int64
short
required
string
unsubscribeRate
number format: double
warmupDay
integer format: int64
split
required
boolean
unsubscribes
required
object
choseFewer
required
integer format: int64
reasons
required
Array<object>
object
count
required
integer format: int64
key
required
string
Allowed values: too_frequent not_relevant none never_signed_up spam other
label
required
string
share
required

Share of unsubscribes, percent

number format: double
tone
required
string
Allowed values: ink muted bad
total
required
integer format: int64

Example

{
"abTest": {
"kind": "subject",
"metric": "human_opens",
"state": "decided"
},
"bounces": {
"rows": [
{
"suppression": "auto",
"tone": "bad",
"type": "unknown_user"
}
]
},
"campaign": {
"status": "draft"
},
"languages": {
"rows": [
{
"reason": "missing"
}
]
},
"mailboxes": [
{
"key": "gmail"
}
],
"notSent": {
"readiness": "ready"
},
"providers": {
"columns": [
{
"color": "ses"
}
]
},
"unsubscribes": {
"reasons": [
{
"key": "too_frequent",
"tone": "ink"
}
]
}
}

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