Skip to main content
POST
JavaScript
:omit takes a tool out of circulation without deleting it. It moves to STATE_OMITTED, no agent sees it, and :restore brings it back.
An omitted tool stays in the tool set and still shows in List tools with its omitted state. It is hidden from agents, not gone. An objective run against a set with GenerateFake omitted reports exactly this:
Both :omit and :restore are idempotent and return 200.

Which mechanism, by tool set kind

Curation depends on where the tools come from. For a bare or HTTP tool set, you own every tool and nothing overwrites your changes, so :omit is the natural switch. For a synced tool set, the source is the authority. The adapter re-runs on every sync, so the durable way to hide a tool is a filter that the sync reapplies, not a one-time state change the sync discards.
On a synced tool set today, :omit still returns 200, but the next sync flips the tool back to STATE_AVAILABLE, silently. An OpenAPI source syncs hourly, so an omitted tool can return within the hour with no event to show it.Use excludeTools for anything on a synced set, especially a dangerous tool. Treat :omit there as a temporary mute at best.

Curate a synced set with a filter

An excludeTools filter is reapplied on every sync, so it holds. Measured across three syncs, the excluded tool stayed STATE_OMITTED every time, while a manually omitted one flipped back on the first.
Match on ATTRIBUTE_NAME, ATTRIBUTE_TITLE, or ATTRIBUTE_DESCRIPTION, with a matcher whose type is exact, contains, startsWith, endsWith, or regex. includeTools is the allowlist form: sync only the tools that match, and drop the rest.

Restore a tool

Move an omitted tool back to STATE_AVAILABLE.

Create a tool set

excludeTools and includeTools, the filters that survive a sync.

List tools

Where an omitted tool still shows, with its state.

Deny a tool call

Gate a tool at call time instead of hiding it.

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"

toolSetId
string
required

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

Example:

"toolset_01HXKD2E5NQM3T9AYWCFNRMN74"

id
string
required

Tool ID. Accepts the canonical tool_… form or the external_id: form.

Example:

"tool_01HXKD2E5NQM3T9AYWCFWVYY9K"

Body

application/json

Omit tool request

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. Output only. Use the :omit and :restore actions to transition; tool set syncs may also update it.

Available options:
STATE_UNSPECIFIED,
STATE_AVAILABLE,
STATE_OMITTED,
STATE_ARCHIVED
info
object