item

Move an image, a document, an email, a post, a data table, a whole site or app, an automation, a video or short, or a widget on a desk or project (a chart, a number, a note, a link, a button) to the Trash — 'trash that sunset image', 'get rid of the draft welcome email', 'bin the post about the new menu', 'throw away the old signups table', 'we are done with the Acme landing site, bin it', 'delete the Monday report automation', 'delete the spring promo video', 'take the leads chart off my desk'. The item leaves every project and list it shows in and can be restored from the Trash for 30 days; nothing is charged. A trashed post never publishes: its scheduled versions are set aside and its place on the schedule is freed, and a post already out stays on the platform. An automation is switched off first and stays off. An email that is set to send is refused until the member sends it back to draft, and a post going out right now is refused until it has posted. A widget shown in several places can leave just one: send from_place, the desk or project it comes off by name, or its id as from_project_id, and it keeps showing in its other places. Calling it raises the approval card naming exactly the item it found, and the card is where the member checks it is the right one, so call it on the ask rather than asking which one first. Send item_id when a verb or the page showed you the item's id — a site's site_id, an automation's definition_id from automations.list, a video's video_unit_id, a widget's id from widget.list; otherwise send name, the member's words for its name, title or subject (a site the member has open needs neither). Not for a project — that is board.trash — nor for letting a widget come down on its own later, which is widget.set_expiry. Over the API it answers in two calls: without confirmation_id it proposes — says what would happen, returns a confirmation_id and changes, spends and sends nothing; the same arguments again with that confirmation_id, on a member's own API key, do it.

Every result names the workspace it ran in. Say which workspace the answer is about. When the account has more than one workspace and none is selected, this tool refuses with workspace_ambiguous and lists the choices — offer them, never pick one.

post/api/v1/tools/item.trash

Request

  • Base URL: https://app.goosybear.ai
  • URL: https://app.goosybear.ai/api/v1/tools/item.trash
  • Auth: HTTP bearer

Headers

x-request-idstring

Your own id for this request, echoed back and recorded on the audit trail. 1–128 characters from A–Z a–z 0–9 . _ : -, starting with a letter or digit; anything else is replaced by a generated id.

Request body

item_kind'image' | 'document' | 'email' | 'post' | 'table' | 'site' | 'automation' | 'video' | 'widget' required

What the item is: an image, a document, an email, a post, a data table, a whole site or app, an automation, a video (a short is a video too), or a widget on a desk or project (a chart, a number, a note on a desk, a link, a button).

item_idstring uuid

The item's id, as a UUID a verb or the page showed you; for an automation, its definition_id; for a widget, its id from widget.list. Leave it out when you only have the member's words for it.

namestring

The member's words for the item's name, when there is no item_id.

from_project_idstring uuid

For a widget only: the project to take it off, by its id from widget.list. It leaves that one place and keeps showing in its others; it goes to the Trash only when that was its last place. Leave it out to send the widget to the Trash from everywhere.

from_placestring

For a widget only: the desk or project to take it off, by its name as they said it ('My desk', 'Acme retainer'), in place of from_project_id. It keeps showing in its other places.

confirmation_idstring uuid

Omit to propose: the first call says what would happen, returns a confirmation_id and changes nothing. To go ahead, send the same arguments again with that confirmation_id, on a member's own API key; a service account's key can propose but never confirm.

workspacestring

Which workspace to run in — its slug. Omit to use your default. With more than one reachable workspace and no default, the call is refused and the choices are listed.

Response

The call was admitted and dispatched. ok says whether the tool succeeded — a refusal the tool itself produced is still a 200, exactly as it is a successful JSON-RPC result over MCP.

OR

Changes

    • breaking

      the response property const value true was removed for the status

    • warning

      added the new video enum value to the / response property for the response status

    • warning

      added the new widget enum value to the / response property for the response status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new video enum value to the request property

    • info

      added the new widget enum value to the request property