/api/v4/social/posts/cancelCancel a scheduled post
Cancels a scheduled social post before it publishes, leaving already-published posts untouched.
Parameters
Body
| Name | Type | Required | Description |
|---|---|---|---|
| input | object | required | Wrapper object. The entire request body must be nested under `input`. |
| input.socialPostId | string | required | UUID of the scheduled post to cancel. |
Sample request
Ready-to-paste body. Replace placeholder IDs and values with yours.
{ "input": { "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345" }}Responses
200The scheduled post was cancelled and will not publish.
{ "data": { "archiveScheduledPost": { "success": true, "error": null, "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345" } }}200The post was not in a cancellable state, most often because it has already published. The status is still 200: read `success`.
{ "data": { "archiveScheduledPost": { "success": false, "error": { "message": "SY90006: Post is not scheduled and cannot be cancelled", "code": "SY90006", "contextInfo": null }, "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345" } }}401Unauthenticated, missing or invalid API key.
404No post with that ID on this account.
Cancels a post that is still waiting to publish. The post moves to ARCHIVED and
the publishing pipeline drops it. Drafts can be cancelled the same way; posts
that have already gone out cannot.
Use case: a client pulls a campaign at the last minute. Your calendar shows a
scheduled post, the client changes their mind, and you cancel it from your own
UI. Take the post's id straight from
the brand's post list and call this endpoint; the
row moves to ARCHIVED and drops out of a {"status":["SCHEDULED"]} filter on
the next read.
Use case: cleaning up before disconnecting a channel. Disconnecting a
connection does not cancel the posts already queued to it — they fail at
publish time with SY95045 instead. Cancel the scheduled posts first, then
disconnect, and the customer sees no
failures at all.
Notes.
- The request body must be wrapped in an
inputobject. - Check
success, not the HTTP status. A post that already published, or that was already cancelled, returnsHTTP 200withsuccess: false. - This is not a delete. Nothing is removed from any platform. A post that has
already published stays live, and this call simply reports
success: falsefor it. There is no endpoint that unpublishes a social post; removing it is done on the platform itself. - Cancellation is all-or-nothing across the post's channels. There is no way to cancel a scheduled post on one platform while letting it publish on another; create separate posts if you need that.
- The post is still readable afterwards with
GET /social/posts/{postId}, withpost.statusofARCHIVED.
Write operation: not executed against the live account. The request and response shown are built from the API schema.
curl -X POST 'https://listingsapi.com/api/v4/social/posts/cancel' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345" } }'