Skip to content

Post.withdraw

Takes a published Post down from its Venue and keeps its record, reach and replies.

Action class
None
Approval
Runs on its own
Emits
Post.withdrawn
Venues
X, YouTube
Price
Free
More factsFewer facts
POST https://api.sb/{your-domain}/posts/{post}/withdraw

Its Inputs, Outputs, Effects and guards quote the hub’s Post.withdraw; this page adds what each Venue honors, its limits and a worked call. It is one of the Verbs of Social.

Inputs

NameTypeDefaultMeaning
postPostRequiredThe Post to take down.
reasontextRequiredWhy it comes down.

Outputs

FieldTypeWhat null means
postPostNever null: the withdrawn Post.

Effects

Action class

None: no approval rule names it, so it runs within its seat’s Permissions and Limits

Modes
  • try: Runs every check and returns the record as it would be; nothing is stored.
  • send: Returns a pending Action at once; Post.withdrawn fires when it is done.
  • do: Waits for the Action to finish and returns the record.
Idempotency

Only with a key: the same Idempotency-Key and input return the first Action, and the same key with other input returns 409.

Saved or shared

The Post is saved as the call leaves it, with the Action that changed it.

Emits

Post.withdrawn with { post }

Performed by

Content lead

Price

Free on your own account: the platform charges nothing for the call.

On each Venue

VenueFormats
XStandard post, Promoted post
YouTubeVideo

Each Venue’s caps, review and rate limits are on its integration page, linked from its row. A field marked Not sent is one that Venue has no place for; the call never fails on it.

What try does

AccountWhat try does
X accountRenders each post at X’s weighted count, with links at 23 characters, and returns the price X would bill; nothing is posted and nothing is billed.
YouTubeChecks the file, title, description and tags against YouTube’s limits and returns the video page as it will read; nothing uploads and no quota is spent.

Refuses when

The hub sets no guard of its own on this call: it refuses only on the shared checks every write meets (a missing record, a Permission the seat lacks).

Through a connected account it can also meet the shared account refusals.

When it waits

Returns in one response; nothing waits.

Example

In send mode the call returns its pending Action at once, and Post.withdrawn delivers the result.

You, to your agent
Take down yesterday’s LinkedIn post: the renewal-notice number in it was
wrong.
Response, in send mode
{
  "mode": "send",
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/action_Sd3kQ9vT2w",
    "operation": "Post.withdraw",
    "status": "pending",
    "reason": "running"
  }
}

To retry, send the same Idempotency-Key: the retry returns the first answer for $0. A new key reads again.

Used by