Skip to content

Run the content checks on the composer's current content

POST
/api/v1/workspaces/{workspace}/campaigns/{campaignId}/checks
curl --request POST \
--url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/campaigns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/checks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "html": "example", "language": "example", "mjml": "example", "preheader": "example", "probeLinks": true, "subject": "example" }'

Permission: campaigns:view

Size against Gmail’s 102 KB clipping limit, alt text, image-to-text ratio, blocklisted and shortened links, unsubscribe link and postal address, personalization, subject heuristics and the plain-text part. Nothing is saved.

workspace
required

Workspace slug

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

Workspace slug

campaignId
required
string format: uuid
Media typeapplication/json
object
html
string
<= 2500000 characters
language
string
<= 16 characters
mjml
string
<= 2000000 characters
preheader
string
<= 500 characters
probeLinks

Also request every link (slower; Send Readiness does it)

boolean
subject
string
<= 998 characters

Example generated

{
"html": "example",
"language": "example",
"mjml": "example",
"preheader": "example",
"probeLinks": true,
"subject": "example"
}

OK

Media typeapplication/json
object
blocks
required
integer format: int64
checkedAt
required
string format: date-time
clipBytes
required
integer format: int64
footerRemovedAt
string format: date-time
imageShare
required
number format: double
images
required
integer format: int64
imagesMissingAlt
required
integer format: int64
issues
required
Array<object>
object
detail
string
fixes
required
Array<object>
object
kind
required
string
Allowed values: replace_link edit_link insert_footer set_alt minify remove_section use_subject open
label
required
string
path
Array<integer>
value
string
group
required
string
Allowed values: Content Links Compliance Subject Personalization
id
required
string
path
required
Array<integer>
section
required
integer format: int64
severity
required
string
Allowed values: block warn info pass
tag
string
title
required
string
url
string
linkList
required
Array<object>
object
broken
boolean
final
string
host
required
string
kind
required
string
Allowed values: button link image nav social
millis
integer format: int64
path
required
Array<integer>
probed
required
boolean
status
integer format: int64
text
required
string
url
required
string
links
required
integer format: int64
linksBlocklisted
required
integer format: int64
linksBroken
required
integer format: int64
lint
required
Array<object>
object
line
required
integer format: int64
message
required
string
tag
string
plainText
required
string
sections
required
Array<object>
object
images
required
integer format: int64
imagesWithAlt
required
integer format: int64
index
required
integer format: int64
issues
required
integer format: int64
label
required
string
links
required
integer format: int64
linksOk
required
integer format: int64
sizeBytes
required
integer format: int64
subjectHeuristics
required
Array<string>
verdict
required
string
Allowed values: ready warnings blocked
warnings
required
integer format: int64
words
required
integer format: int64

Example

{
"issues": [
{
"fixes": [
{
"kind": "replace_link"
}
],
"group": "Content",
"id": "links.blocklist",
"severity": "block"
}
],
"linkList": [
{
"kind": "button"
}
],
"verdict": "ready"
}

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