deactivate_resource
Switch a project resource off without touching the plans that sell it. Reversible with activate_resource. Emits project.resource.updated when the switch flips.
Pause one channel or group without editing a single plan. While a resource is off the bot stops
offering and granting it, and the plans that link it keep selling everything else they include. The
link itself is untouched, which is what makes this reversible:
activate_resource brings it back exactly as it was.
The safe alternative to delete_resource
delete_resource removes the row for good and
every plan loses the link. Switching off keeps the row, the link and the
connector binding. Reach for it for maintenance, a channel being reorganised,
or anything you might want back.
Runs the same Action the dashboard and the REST API use.
project.resource.updated emits once, carrying
changes.active from true to false, and only when the switch actually flips. Re-calling on a
resource that is already off is a no-op: the current row comes back and nothing emits.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same action as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Fires one event
Delivered to every endpoint subscribed to it once the change is made.
Annotations
A client that honours annotations asks a person before running it. Sending the same arguments twice changes nothing the second time.
Arguments
resource_id*stringUUID of the resource to switch off.
What it returns
{ "data": { "id": "b73c5f21-9d80-4a6e-8215-4f70ce13a9d6", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13", "kind": "telegram:channel", "connector": "telegram", "space": { "id": "3c1f7a58-2b6e-4d90-8f41-6a2e9c5d7b10", "external_id": "-1001234567890", "title": "Research Channel" }, "title": "Research Channel", "description": null, "active": false, "created_at": "2026-05-18T10:05:00+00:00", "updated_at": "2026-09-06T08:30:12+00:00" }}The full get_resource row, with active: false. space is kept —
the binding survives the switch.
How it fails
VALIDATION_FAILEDthe caller is a team member whose role lacks the team's resource-update
RESOURCE_NOT_FOUNDunknown resource_id, a resource on another team's project, or one outside
AUTHENTICATION_REQUIREDno authenticated user on the request.
TOKEN_MISSING_ABILITYtoken lacks project-resource:update.
How is this guide?
Last updated on
create_resource
Create a manual project resource (PDF link, token, URL placeholder) on a project with a connected connector. Gated places are linked through their connector.
delete_resource
Hard-delete a project resource. Emits project.resource.deleted before the row disappears so listeners see the snapshot.