Skip to content

Start a web-only post

POST
/api/v1/workspaces/{workspace}/website/posts
curl --request POST \
--url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/website/posts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "mjml": "example", "title": "example" }'

Permission: website:edit

workspace
required

Workspace slug

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

Workspace slug

Media typeapplication/json
object
mjml
string
<= 2000000 characters
title
string
<= 200 characters

Example generated

{
"mjml": "example",
"title": "example"
}

Created

Media typeapplication/json
object
approval
object
approvers
required
Array<string>
id
required
string
note
string
requestedAt
required
string format: date-time
requestedBy
required
string
rule
required
string
status
required
string
Allowed values: pending approved changes_requested rejected
autosavedAt
string format: date-time
base
required
string
byline
required
object
color
string
name
required
string
userId
string
bylines
required
Array<object>
object
color
string
name
required
string
userId
string
campaign
object
id
required
string
name
required
string
scheduledAt
string format: date-time
sentAt
string format: date-time
status
required
string
checks
required
Array<object>
object
fallbacks
required
Array<object>
object
fallback
required
string
sample
required
string
source
required
string
token
required
string
hidden
required
Array<object>
object
condition
string
id
string
kind
required
string
Allowed values: view_online footer referral header block
line
required
integer format: int64
name
string
reason
required
string
Allowed values: email_only conditional hidden
key
required
string
Allowed values: address cover tokens hidden
path
string
status
required
string
Allowed values: pass warn info block
suggestion
string
taken
object
id
required
string
since
required
string format: date-time
status
required
string
title
required
string
coverAlt
required
string
coverUrl
required
string
createdBy
required
string
excerpt
required
string
excerptEdited
required
boolean
featured
required
boolean
hasMarker
required
boolean
id
required
string
kind
required
string
Allowed values: campaign web
markerAfter
required
integer format: int64
mjml
required
string
neverFree
required
boolean
publish
required
object
approvedId
string
approvers
required
Array<string>
blockReason
string
blocked
required
boolean
canPublish
required
boolean
needsApproval
required
boolean
pending
object
approvers
required
Array<string>
id
required
string
note
string
requestedAt
required
string format: date-time
requestedBy
required
string
rule
required
string
status
required
string
Allowed values: pending approved changes_requested rejected
rule
string
Allowed values: author_lacks_send post_publish ""
publishAt
string format: date-time
publishMode
required
string
Allowed values: with_send at now
publishTz
string
publishedAt
string format: date-time
publishedVersion
required
integer format: int64
readingMinutes
required
integer format: int64
redirectTo
string
seo
required
object
canonicalUrl
required
string
<= 500 characters
description
required
string
<= 300 characters
hideFromSearch
required
boolean
socialImage
required
string
<= 500 characters
title
required
string
<= 120 characters
signups
required
integer format: int64
slug
required
string
status
required
string
Allowed values: draft scheduled published unpublished
tags
required
Array<object>
object
id
required
string
name
required
string
slug
required
string
tiers
required
Array<object>
object
id
required
string
label
required
string
name
required
string
title
required
string
titleEdited
required
boolean
unpublishReason
string
unpublishedAt
string format: date-time
unpublishedBy
string
updatedAt
required
string format: date-time
upgrades
required
integer format: int64
url
required
string
version
required
integer format: int64
views
required
integer format: int64
viewsAllTime
required
integer format: int64
visibility
required
string
Allowed values: public members paid
webOn
required
boolean
words
required
integer format: int64

Example

{
"approval": {
"status": "pending"
},
"checks": [
{
"hidden": [
{
"kind": "view_online",
"reason": "email_only"
}
],
"key": "address",
"status": "pass"
}
],
"kind": "campaign",
"publish": {
"pending": {
"status": "pending"
},
"rule": "author_lacks_send"
},
"publishMode": "with_send",
"status": "draft",
"visibility": "public"
}

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