Skip to main content
PATCH
JavaScript
Change a tool set after it exists: rename it, relabel it, or edit the adapter. Any update also triggers a re-sync, so this is how you refresh a set on demand.

The update merges

Send one field and the rest survive. A name-only patch keeps the adapter and the labels untouched:
So you do not have to resend the whole adapter to change a label, and omitting your filters does not wipe them.

Any update re-syncs

There is no sync endpoint. Cadenya syncs on create and on every update. So the way to force a refresh, pick up a provider’s new tools, or reapply a filter, is to PATCH the set, most naturally by resending the adapter.
Verified: seconds after this patch, the matching tool flips to STATE_OMITTED and the event log shows a fresh syncStarted / syncCompleted.
Every update re-syncs, not only adapter edits. Measured: a metadata-only patch (a rename) triggers a syncStarted / syncCompleted pair, exactly as an adapter patch does. So renaming a tool set re-hits its provider. Harmless for a healthy MCP server, but worth knowing if a sync is slow or rate-limited, or if the provider is flaky, a rename is not a free operation.
Send the adapter whole, with its type discriminator and the full variant payload. When you re-sync to reapply a filter, include the url (or baseUrl) alongside the filter, as above, rather than sending the filter alone.

Curate a synced set here, not on its tools

A synced tool set does not let you edit its individual tools (:omit is transient there). The durable curation is includeTools / excludeTools on the adapter, set through this endpoint. A filter is reapplied on every sync, so it sticks where a per-tool omit does not.

Create a tool set

The adapter kinds and the filter grammar in full.

List tool set events

The syncStarted an adapter edit produces.

Omit a tool

Why per-tool omit does not survive on a synced set.

Archive a tool set

Stop syncing entirely, reversibly.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

workspaceId
string
required

Workspace ID.

Example:

"workspace_01HXKD2E5NQM3T9AYWCF133E3Q"

id
string
required

Tool set ID. Accepts the canonical ts_… form or the external_id: form.

Example:

"toolset_01HXKD2E5NQM3T9AYWCFNRMN74"

Body

application/json
metadata
object

UpdateResourceMetadata contains the user-provided fields for updating a workspace-scoped resource. Read-only fields (id, account_id, workspace_id, profile_id, created_at) are excluded since they are set by the server.

spec
object
updateMask
string<field-mask>

Response

OK

metadata
object
required

Standard metadata for persistent, named resources (e.g., agents, tools, prompts)

spec
object
required
state
enum<string>
required
read-only

The current lifecycle state of the tool set. Output only. Tool sets are created STATE_ACTIVE; use the :archive and :unarchive actions to transition between states.

Available options:
STATE_UNSPECIFIED,
STATE_ACTIVE,
STATE_ARCHIVED
info
object

Tool set information