Claude Tag
Models
Claude TagSlack Channels
Set Up Slack Channel
Set a Slack channel up for Claude Tag and return it with its identifier. If the channel is already set up, whether in claude.ai, by Claude's first use in it or by an earlier request, the existing channel is returned, so the request can be repeated. settings, when sent, is applied as an update applies it. Before a channel is set up, Claude's Slack app confirms with Slack that the channel is in the workspace, is not archived and is visible to the app; a channel that fails the confirmation returns 404. Setting the channel up and applying settings are two steps: when the second is refused, the response is the refusal, the channel stays set up with every setting unset, and the error's details.slack_channel_id holds the channel's identifier.
List Slack Channels
List the set-up Slack channels of one Slack workspace, newest first by created_at. A channel that is not set up is not listed: Slack holds the full list of a workspace's channels. Pass slack_channel_id as well to look one channel up by its Slack identifiers: data then holds that channel, or is empty when it is not set up, and limit and page are ignored. A workspace that the organization owns only through a Slack Enterprise Grid returns 404 until it is set up. With include_inherited=true each channel's settings holds what applies in it, and the request fails with 503 rather than resolve against a settings level that could not be read. A page cursor resumes only a request with the same include_inherited.
Get Slack Channel
Get one Slack channel and its settings. By default settings holds what the channel itself stores: a setting that is null there is not set on the channel and is inherited. With include_inherited=true, settings holds what applies in the channel once the settings levels above it are taken into account, and the request fails with 503 rather than resolve against a settings level that could not be read. Either way sources names the settings level each value comes from, so a caller tells the channel's own value from an inherited one by its source, not by whether it is null.
Update Slack Channel
Change the settings a Slack channel stores. The update is partial: a setting left out is unchanged, and a setting sent as null is cleared, so the channel inherits it. If any value is refused, no setting in the request is stored. A group direct message takes no settings and returns 400.
Remove Slack Channel
Remove a Slack channel from Claude Tag. This deletes the channel's stored settings and its Bundle Targets at once, and then, in the background, the channel's sessions and their transcripts, its memory, its routines and the artifacts published from it. None of it can be restored. The channel in Slack and its messages are unchanged. The request is refused with 400 and error.details.error_code slack_channel_enabled while enabled resolves to true for the channel, as a read with include_inherited=true returns it: set enabled to false on the channel first. This guards against removing a channel in use by mistake; it is not a way to keep Claude out, because the removal deletes the channel's own enabled: false with its other settings, after which the channel inherits again and Claude's next use of it can set it up anew with a new identifier. The identifier returns 404 as soon as the request returns, so a repeated removal returns 404. A group direct message returns 400, and so does a channel that holds configuration this API does not manage.
Claude TagSlack Workspaces
List Slack Workspaces
List the set-up Slack workspaces the organization owns, newest first by created_at. Pass slack_workspace_id to look one workspace up by its Slack identifier: data then holds that workspace, or is empty when it is not set up. A workspace of a Slack Enterprise Grid the organization has connected returns 404 until it is set up. With include_inherited=true each workspace's settings holds what applies in it, and the request fails with 503 rather than resolve against a settings level that could not be read. A page cursor resumes only a request with the same include_inherited.
Get Slack Workspace
Get one Slack workspace and its settings. By default settings holds what the workspace itself stores: a setting that is null there is not set on the workspace and is inherited. With include_inherited=true, settings holds what applies in the workspace once the organization's Slack defaults are taken into account, and the request fails with 503 rather than resolve against a settings level that could not be read. Either way sources names the settings level each value comes from.
Update Slack Workspace
Change the settings a Slack workspace stores. The update is partial: a setting left out is unchanged, and a setting sent as null is cleared, so the workspace inherits it. If any value is refused, no setting in the request is stored.
Claude TagBundles
List Bundles
List the organization's Bundles, newest first by created_at. A Bundle that Claude Tag manages for itself is not listed.
Get Bundle
Get one Bundle. What the Bundle grants (connectors, repositories and credentials) is never returned.
Claude TagBundlesTargets
List Bundle Targets
List the Slack channels and Slack workspaces a Bundle is attached to, newest first by created_at. Only channels and workspaces the organization owns are listed; a Bundle that is attached to anything else has no Bundle Target for it.
Attach Bundle
Attach a Bundle to a Slack channel or a Slack workspace. A Bundle attached to a workspace can be used in the workspace and in every channel in it. Attaching a Bundle to a channel or workspace it is already attached to returns the existing Bundle Target. The channel or workspace must be set up: attaching never sets a channel up. A group direct message takes no Bundle and returns 400.
Get Bundle Target
Get one Bundle Target. Returns 404 when target_id is the identifier of another Bundle's Bundle Target, or the Bundle Target was detached.
Detach Bundle
Detach a Bundle from a Slack channel or a Slack workspace. A repeated detach returns 404.