Skip to main content
Glama

Take a live post down

take_down_post
DestructiveIdempotent

Delete a published post from its platforms, by its post_id — every platform it is live on, or only platform. There is no need to call get_delivery_receipt first. There is no undo; reposting is a new post with a new URL. This is the person's own decision about their live post, not a cleanup step. Each delivery answers in deliveries: error_code never_went_out, account_gone or unsupported means the person removes it on the platform themselves; only platform_refused is retriable. delivery_id still takes down one delivery; a post id passed there answers is_post_id with the post's deliveries.

Input Schema

NameRequiredDescriptionDefault
post_idNoThe post id from create_post or list_posts
platformNoOnly take it down here, e.g. `x`. Omit for every platform it is live on.
delivery_idNoOne delivery's `id` from get_delivery_receipt, instead of post_id

Output Schema

NameRequiredDescriptionDefault
idNo
okNoPresent and false only on a refusal.
dataNoThe receipt after the take-down.
errorNoWhat was refused, in a sentence, when `ok` is false.
post_idNo
retriableNoFalse when asking again cannot change the answer.
deliveriesNoEach live delivery's own answer; one platform refusing does not stop the others.
error_codeNoMachine reason for a refusal.
taken_downNoGone from the platform — true, or how many deliveries came down. No undo.
post_statusNo
replaced_byNoThe id the post has now, when you asked with one an edit retired. An edit gives a post a new id: get_delivery_receipt and get_post_metrics answer for this current version (and `asked_for` is the id you sent); update_post and delete_post refuse with error_code `replaced`. Use this id from here on.
preview_linkNo
approval_linkNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / replaced_by / description
      Previous value: -"With error_code `replaced`: the id the post has now. An edit gives a post a new id; use this one."New value: +"The id the post has now, when you asked with one an edit retired. An edit gives a post a new id: get_delivery_receipt and get_post_metrics answer for this current version (and `asked_for` is the id you sent); update_post and delete_post refuse with error_code `replaced`. Use this id from here on."
  2. Changed1 schema field changed
    • addedOutput schema / properties / data / items / properties / retry_helps
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "On a failure: false means retry_delivery fails the same way — do what `plain_reason` says instead."
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / replaced_by
      Added value: +{
      +  "description": "With error_code `replaced`: the id the post has now. An edit gives a post a new id; use this one.",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond basic documentation by detailing the operational semantics of error codes (e.g., distinguishing between 'user removed it' vs. 'platform refused'). This is highly valuable behavioral context not found in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and covers many complex operational facets, making it effective, though it is quite lengthy. Every sentence, however, adds critical functional information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (multi-platform, multiple ID options, irreversible nature, detailed failure logic), the description is extremely complete, leaving very little for the agent to infer about the tool's constraints and operational flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds crucial semantic context explaining the functional relationship between `post_id` and `delivery_id`, which helps the agent choose the correct identifier based on its available data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The purpose is explicitly clear: to delete a live post. It specifies the action and the resource, and uses 'take down' which clearly differentiates it from update or create siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides vital workflow guidance, stating there is 'no need to call get_delivery_receipt first' (direct contrast to a sibling tool) and clearly outlines the irreversible nature of the action ('no undo').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.