Tool Sets
Manage tool sets and the tools they contain. Tool sets group related tools, and tools define specific capabilities available to agents.
When a tool set is managed, only API key actors can modify its tools; human (profile) actors cannot.
Get consumed OpenAPI spec
List tool set events
ModelsExpand Collapse
approval_requirement_filter: object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
tool_set: object { metadata, spec, info }
metadata: object { id, accountId, createdAt, 6 more }
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: string
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
bundleKey: optional string
Optional bundle ownership key. When set, indicates the resource is managed by a configuration bundle identified by this key. Used by BulkWorkspaceResources.Apply to track which resources belong to which bundle for reconciliation / soft-delete on re-apply.
spec: object { adapter, description }
adapter: optional object { http, mcp, openapi }
mcp: optional object { excludeTools, headers, includeTools, 2 more }
excludeTools: optional object { operator, filters }
includeTools: optional object { operator, filters }
toolApprovals: optional object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
openapi: optional object { baseUrl, excludeTools, headers, 5 more }
baseUrl: optional string
Base URL for dispatching tool calls. If set, overrides the server resolved from the spec’s servers array.
excludeTools: optional object { operator, filters }
headers: optional map[string]
Headers sent when fetching the spec from a URL and when dispatching tool calls.
includeTools: optional object { operator, filters }
serverName: optional string
Name of the server entry in the spec’s servers array (OpenAPI 3.2 server.name field). Used to select which server URL to dispatch to when base_url is not set. If unset, the first server is used. Ignored when base_url is set.
toolApprovals: optional object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
info: optional object { agentCount, createdBy, lastSync, toolCount }
Tool set information
createdBy: optional object { metadata, spec }
A profile identifies a user or non-human principal (such as an API key) at the account level. Profiles are account-scoped and can be granted access to multiple workspaces.
metadata: object { id, accountId, name, 3 more }
AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.
tool_set_adapter: object { http, mcp, openapi }
mcp: optional object { excludeTools, headers, includeTools, 2 more }
excludeTools: optional object { operator, filters }
includeTools: optional object { operator, filters }
toolApprovals: optional object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
openapi: optional object { baseUrl, excludeTools, headers, 5 more }
baseUrl: optional string
Base URL for dispatching tool calls. If set, overrides the server resolved from the spec’s servers array.
excludeTools: optional object { operator, filters }
headers: optional map[string]
Headers sent when fetching the spec from a URL and when dispatching tool calls.
includeTools: optional object { operator, filters }
serverName: optional string
Name of the server entry in the spec’s servers array (OpenAPI 3.2 server.name field). Used to select which server URL to dispatch to when base_url is not set. If unset, the first server is used. Ignored when base_url is set.
toolApprovals: optional object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
tool_set_adapter_mcp: object { excludeTools, headers, includeTools, 2 more }
excludeTools: optional object { operator, filters }
includeTools: optional object { operator, filters }
toolApprovals: optional object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
tool_set_adapter_openapi: object { baseUrl, excludeTools, headers, 5 more }
baseUrl: optional string
Base URL for dispatching tool calls. If set, overrides the server resolved from the spec’s servers array.
excludeTools: optional object { operator, filters }
headers: optional map[string]
Headers sent when fetching the spec from a URL and when dispatching tool calls.
includeTools: optional object { operator, filters }
serverName: optional string
Name of the server entry in the spec’s servers array (OpenAPI 3.2 server.name field). Used to select which server URL to dispatch to when base_url is not set. If unset, the first server is used. Ignored when base_url is set.
toolApprovals: optional object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
tool_set_event: object { metadata, event, info, toolSetId }
A single event in the tool set’s operation timeline.
metadata: object { id, accountId, createdAt, 4 more }
Metadata for ephemeral operations and activities (e.g., objectives, executions, runs)
event: optional object { syncCompleted, syncFailed, syncStarted, type }
info: optional object { createdBy, toolSet }
createdBy: optional object { metadata, spec }
A profile identifies a user or non-human principal (such as an API key) at the account level. Profiles are account-scoped and can be granted access to multiple workspaces.
metadata: object { id, accountId, name, 3 more }
AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.
toolSet: optional object { id, accountId, createdAt, 6 more }
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: string
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
bundleKey: optional string
Optional bundle ownership key. When set, indicates the resource is managed by a configuration bundle identified by this key. Used by BulkWorkspaceResources.Apply to track which resources belong to which bundle for reconciliation / soft-delete on re-apply.
tool_set_info: object { agentCount, createdBy, lastSync, toolCount }
createdBy: optional object { metadata, spec }
A profile identifies a user or non-human principal (such as an API key) at the account level. Profiles are account-scoped and can be granted access to multiple workspaces.
metadata: object { id, accountId, name, 3 more }
AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.
tool_set_spec: object { adapter, description }
adapter: optional object { http, mcp, openapi }
mcp: optional object { excludeTools, headers, includeTools, 2 more }
excludeTools: optional object { operator, filters }
includeTools: optional object { operator, filters }
toolApprovals: optional object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
openapi: optional object { baseUrl, excludeTools, headers, 5 more }
baseUrl: optional string
Base URL for dispatching tool calls. If set, overrides the server resolved from the spec’s servers array.
excludeTools: optional object { operator, filters }
headers: optional map[string]
Headers sent when fetching the spec from a URL and when dispatching tool calls.
includeTools: optional object { operator, filters }
serverName: optional string
Name of the server entry in the spec’s servers array (OpenAPI 3.2 server.name field). Used to select which server URL to dispatch to when base_url is not set. If unset, the first server is used. Ignored when base_url is set.
toolApprovals: optional object { always, only }
Approval filters that will automatically set the approval requirement on tools synced from an external source
Tool SetsTools
Manage tool sets and the tools they contain. Tool sets group related tools, and tools define specific capabilities available to agents.
When a tool set is managed, only API key actors can modify its tools; human (profile) actors cannot.
Create a new tool
Get a tool by ID
Update a tool
Delete a tool
ModelsExpand Collapse
tool: object { metadata, spec, info }
metadata: object { id, accountId, createdAt, 6 more }
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: string
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
bundleKey: optional string
Optional bundle ownership key. When set, indicates the resource is managed by a configuration bundle identified by this key. Used by BulkWorkspaceResources.Apply to track which resources belong to which bundle for reconciliation / soft-delete on re-apply.
spec: object { config, description, parameters, 2 more }
config: object { http, mcp, openapi }
Config defines the adapter to use for the tool. This is used to determine how the tool is called. For example, if the tool is an HTTP tool, the adapter will be Http. If the tool is an inline tool, the adapter will be Inline.
info: optional object { createdBy, toolSet }
createdBy: optional object { metadata, spec }
A profile identifies a user or non-human principal (such as an API key) at the account level. Profiles are account-scoped and can be granted access to multiple workspaces.
metadata: object { id, accountId, name, 3 more }
AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.
toolSet: optional object { id, accountId, createdAt, 6 more }
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: string
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
bundleKey: optional string
Optional bundle ownership key. When set, indicates the resource is managed by a configuration bundle identified by this key. Used by BulkWorkspaceResources.Apply to track which resources belong to which bundle for reconciliation / soft-delete on re-apply.
tool_info: object { createdBy, toolSet }
createdBy: optional object { metadata, spec }
A profile identifies a user or non-human principal (such as an API key) at the account level. Profiles are account-scoped and can be granted access to multiple workspaces.
metadata: object { id, accountId, name, 3 more }
AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.
toolSet: optional object { id, accountId, createdAt, 6 more }
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
name: string
Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly
bundleKey: optional string
Optional bundle ownership key. When set, indicates the resource is managed by a configuration bundle identified by this key. Used by BulkWorkspaceResources.Apply to track which resources belong to which bundle for reconciliation / soft-delete on re-apply.
tool_spec: object { config, description, parameters, 2 more }
config: object { http, mcp, openapi }
Config defines the adapter to use for the tool. This is used to determine how the tool is called. For example, if the tool is an HTTP tool, the adapter will be Http. If the tool is an inline tool, the adapter will be Inline.
tool_spec_config: object { http, mcp, openapi }
Config defines the adapter to use for the tool. This is used to determine how the tool is called. For example, if the tool is an HTTP tool, the adapter will be Http. If the tool is an inline tool, the adapter will be Inline.