Skip to content

The message log, newest first, with its numbers per status

GET
/api/v1/workspaces/{workspace}/transactional/messages
curl --request GET \
--url 'https://reputecast.example.com/api/v1/workspaces/acme-newsletter/transactional/messages?status=all&range=1h&limit=25' \
--header 'Authorization: Bearer <token>'

Permission: transactional:view

Messages are kept 90 days; their rendered content as long as the content retention says. Test messages show with status test.

workspace
required

Workspace slug

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

Workspace slug

status
string
default: all
Allowed values: all queued sent delivered deferred bounced complained rejected failed test
template

A template’s ID, or raw for mail that arrived by SMTP

string
<= 64 characters

A template’s ID, or raw for mail that arrived by SMTP

provider

A sending provider’s ID

string
<= 36 characters

A sending provider’s ID

key

An API key’s ID

string
<= 36 characters

An API key’s ID

range
string
default: 24h
Allowed values: 1h 24h 7d 30d custom
from

First day of a custom range (YYYY-MM-DD, the workspace’s time zone), within the last 90 days

string
<= 10 characters

First day of a custom range (YYYY-MM-DD, the workspace’s time zone), within the last 90 days

to

Last day of a custom range

string
<= 10 characters

Last day of a custom range

q

Recipient, message ID, idempotency key, tag or metadata value

string
<= 254 characters

Recipient, message ID, idempotency key, tag or metadata value

before

Next of the previous page: older messages

string
<= 200 characters

Next of the previous page: older messages

after

Newest of a page: only newer messages (live updates)

string
<= 200 characters

Newest of a page: only newer messages (live updates)

limit
integer format: int64
default: 25 >= 1 <= 100

OK

Media typeapplication/json
object
canExport
required
boolean
contentDays
required
integer format: int64
counts
required
object
all
required
integer format: int64
bounced
required
integer format: int64
complained
required
integer format: int64
deferred
required
integer format: int64
delivered
required
integer format: int64
failed
required
integer format: int64
queued
required
integer format: int64
rejected
required
integer format: int64
sent
required
integer format: int64
test
required
integer format: int64
filters
required
object
keys
required
Array<object>
object
id
required
string
name
required
string
providers
required
Array<object>
object
id
required
string
name
required
string
templates
required

Id is the template’s ID; raw is mail that arrived by SMTP

Array<object>
object
id
required
string
name
required
string
items
required
Array<object>
object
at
required

When the call was accepted

string format: date-time
bounce
object
class

Mailbox_unknown, mailbox_full, domain_invalid, policy_block, spam_block, reputation, temporary, other

string
diagnostic
string
kind
required
string
Allowed values: hard soft
category
string
clickedAt
string format: date-time
contactId
string
deferrals
required
integer format: int64
deliveryMs
integer format: int64
email
required
string
error
string
failedOver
object
at
string format: date-time
from
required
string
to
required
string
id
required
string
key
string
language
string
name
string
openedAt
string format: date-time
provider
object
id
required
string
name
required
string
raw
required
boolean
rejection
object
allowed
Array<string>
error
string
optOut
object
category
required
string
since
required
string format: date-time
source
required
string
Allowed values: preference_center unsubscribe_link one_click api member ""
reason
required
string
Allowed values: suppressed opted_out test_not_allowed provider
suppression
object
code
string
detail
string
id

The suppression as it is now; empty once it was removed

string
reason
required
string
scope
string
Allowed values: all marketing
since
required
string format: date-time
source
required
string
roleAddress
required
boolean
status
required
string
Allowed values: queued sent delivered deferred bounced complained rejected failed test
subject
required
string
template
object
key
required
string
name
required
string
version
integer format: int32
testDelivered
required
boolean
tracked
required
boolean
metadataDays
required
integer format: int64
newest
string
next
string
since
required
string format: date-time
until
required
string format: date-time

Example

{
"items": [
{
"bounce": {
"diagnostic": "452 4.2.2 mailbox full",
"kind": "hard"
},
"rejection": {
"optOut": {
"source": "preference_center"
},
"reason": "suppressed",
"suppression": {
"code": "550 5.1.1",
"reason": "hard_bounce",
"scope": "all",
"source": "Postmark"
}
},
"status": "queued"
}
]
}

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