POST
/v1/schedule/{entryId}/approve

Approve an entry at its proposed time, or send it now with publishNow. publishNow also retries an entry that failed, and approving releases a hold.

This counts the same as approving in the app, with the same checks. Pass the revisions from the entry you reviewed so the approval is refused if it changed since.

Authorization

apiKey
headerAuthorizationBearer <token>

API key for authenticating protected endpoints. Pass as Bearer token in Authorization header.

Path Parameters

entryId*string

Unique identifier of the schedule entry

Request Body

Body

application/json
  1. body
entryRevision?integer

From the entry you reviewed. Omit to approve it as it is now

contentRevision?string

From the entry you reviewed. Omit to approve it as it is now

publishNow?boolean

Send it now instead of at its time. Retries a failed send

Response Body

Approved

application/json
  1. response
id*string

Unique identifier of the schedule entry

contentId*|

The piece it sends: a content id, or a post id for an article

kind*string

What kind of piece goes out

Value in"post""tweet""linkedin""x_article""newsletter"
channel*string

Where it goes, such as x, linkedin, or newsletter

status*string

planned has a proposed time, scheduled is approved and waiting for its time, failed can be retried

Value in"unplanned""planned""scheduled""publishing""published""failed""canceled"
needsApproval*boolean

True when it has a time and is waiting for approval

publishAt*|

When it goes out, ISO 8601

publishedAt*|

When it went out, ISO 8601

failureReason*|

Why the last send failed

holdReason*|

Why it's on hold, or null. A held entry isn't approved with the rest until you name it

accountId*|

The X or LinkedIn account it posts from, from GET /v1/schedule/accounts

accountLabel*|

That account's name, such as @paragraph

entryRevision*integer

Send it back when changing the entry to refuse the change if it moved since you read it

curl -X POST "https://example.com/v1/schedule/string/approve" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "contentId": "string",  "kind": "post",  "channel": "string",  "status": "unplanned",  "needsApproval": true,  "publishAt": "string",  "publishedAt": "string",  "failureReason": "string",  "holdReason": "string",  "accountId": "string",  "accountLabel": "string",  "entryRevision": 0}