POST/api/v4/social/posts/cancel

Cancel a scheduled post

Cancels a scheduled social post before it publishes, leaving already-published posts untouched.

Requires an API key. See Authentication for header format and key rotation.

Parameters

Body

NameTypeRequiredDescription
inputobjectrequiredWrapper object. The entire request body must be nested under `input`.
input.socialPostIdstringrequiredUUID of the scheduled post to cancel.

Sample request

Ready-to-paste body. Replace placeholder IDs and values with yours.

Request body
{  "input": {    "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345"  }}

Responses

200The scheduled post was cancelled and will not publish.
Response
{  "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`.
Response
{  "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 input object.
  • Check success, not the HTTP status. A post that already published, or that was already cancelled, returns HTTP 200 with success: 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: false for 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}, with post.status of ARCHIVED.

Write operation: not executed against the live account. The request and response shown are built from the API schema.

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