Approve scheduled posts

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Approves calendar posts, moving each one from proposal to scheduled.

Approving doesn't publish anything and doesn't reserve anything. It marks which posts you want sent, and Start scheduling posts is what hands them to the publisher.

Approval is a selection, so one unusable id never discards the rest. The request succeeds with a 200 even when no id could be approved, and the response reports each one: approved for the posts that are now scheduled, not_found for ids that name no live post of this app, and rejected for posts past the point of approval, each with the status that blocked it. Repeated ids are collapsed, and re-approving a post that's already scheduled reports it under approved without changing anything, so calling twice returns the same body.

Send between 1 and 50 ids.

The social calendar endpoints share two rate limits: 20 requests per minute across creating, editing, deleting and approving posts, and 40 requests per minute across the rest. This endpoint counts against the 20.

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

post/api/apps/{app_id}/social-calendar/posts/approve

Path parameters

app_idstring required

ID of the app whose social calendar you want.

ID of the app whose social calendar you want.

Request body

post_idsstring[] required

IDs of the posts to approve, 1 to 50 of them, as returned by List scheduled posts. Repeated ids are collapsed.

Example request

{
  "post_ids": [
    "6886b8d390dc7e2f4a2c91b3",
    "6886b8d390dc7e2f4a2c91b4"
  ]
}

Response

The outcome of each id you sent.

approvedstring[]

IDs of the posts that are now scheduled, including any that already were.

not_foundstring[]

IDs that name no live post of this app, because the post never existed or was deleted.

Example response

{
  "approved": [
    "6886b8d390dc7e2f4a2c91b3"
  ],
  "not_found": [
    "6886b8d390dc7e2f4a2c91b9"
  ],
  "rejected": [
    {
      "id": "6886b8d390dc7e2f4a2c91b4",
      "status": "posted"
    }
  ]
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.