Skip to content

List campaigns with status, audience, route and results

GET
/api/v1/workspaces/{workspace}/campaigns
curl --request GET \
--url 'https://reputecast.example.com/api/v1/workspaces/acme-newsletter/campaigns?status=all&channel=email&page=1&pageSize=25' \
--header 'Authorization: Bearer <token>'

Permission: campaigns:view

workspace
required

Workspace slug

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

Workspace slug

status
string
default: all
Allowed values: all drafts scheduled sending sent
q

Search by name

string
<= 200 characters

Search by name

channel

Only this channel’s campaigns

string
Allowed values: email sms push whatsapp

Only this channel’s campaigns

paidOnly

Only campaigns sent to paid members only

boolean

Only campaigns sent to paid members only

page
integer format: int64
default: 1 >= 1
pageSize
integer format: int64
default: 25 >= 1 <= 100

OK

Media typeapplication/json
object
counts
required
object
all
required
integer format: int64
drafts
required
integer format: int64
paidOnly
required
integer format: int64
scheduled
required
integer format: int64
sending
required
integer format: int64
sent
required
integer format: int64
items
required
Array<object>
object
audience
required
string
blocked
required
boolean
channel
required
string
Allowed values: email sms push whatsapp
clicks
number format: double
cost
number format: double
createdAt
required
string format: date-time
delivered
number format: double
digest
object
approvalId
string
id
required
string
issueStatus
required
string
Allowed values: collecting preparing prepared waiting held draft sending sent skipped not_sent
name
required
string
posts
required
integer format: int64
preparedAt
string format: date-time
sendAt
string format: date-time
humanOpens
number format: double
id
required
string
local
boolean
localTime
string
name
required
string
notes
required
Array<string>
optOuts
integer format: int64
origin
string
paidOnly
required
boolean
readiness
object
issues
required
integer format: int64
verdict
required
string
Allowed values: ready warnings blocked
recipients
integer format: int64
routes
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
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
updatedAt
required
string format: date-time
updatedBy
required
string
page
required
integer format: int64
pageSize
required
integer format: int64
total
required

Campaigns matching the filter

integer format: int64

Example

{
"items": [
{
"channel": "email",
"digest": {
"issueStatus": "collecting"
},
"readiness": {
"verdict": "ready"
},
"routes": [
{
"adapter": "ses",
"provider": "Amazon SES",
"short": "SES"
}
],
"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"
}