Skip to content
Get started

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.

List tool sets
client.ToolSets.List(ctx, workspaceID, query) (*CursorPagination[ToolSet], error)
GET/v1/workspaces/{workspaceId}/tool_sets
Create a new tool set
client.ToolSets.New(ctx, workspaceID, body) (*ToolSet, error)
POST/v1/workspaces/{workspaceId}/tool_sets
Get a tool set by ID
client.ToolSets.Get(ctx, workspaceID, id) (*ToolSet, error)
GET/v1/workspaces/{workspaceId}/tool_sets/{id}
Update a tool set
client.ToolSets.Update(ctx, workspaceID, id, body) (*ToolSet, error)
PUT/v1/workspaces/{workspaceId}/tool_sets/{id}
Delete a tool set
client.ToolSets.Delete(ctx, workspaceID, id) error
DELETE/v1/workspaces/{workspaceId}/tool_sets/{id}
Get consumed OpenAPI spec
client.ToolSets.GetOpenAPISpec(ctx, workspaceID, toolSetID) (*ToolSetGetOpenAPISpecResponse, error)
GET/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/openapi_spec
List tool set events
client.ToolSets.ListEvents(ctx, workspaceID, toolSetID, query) (*CursorPagination[ToolSetEvent], error)
GET/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/events
ModelsExpand Collapse
type ApprovalRequirementFilter struct{…}

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
type AttributeFilter struct{…}

Single attribute filter

Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
type StringMatcher struct{…}

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
type SyncCompleted struct{…}

Emitted when a tool set sync operation completes successfully.

Message stringOptional

Optional message with additional details.

ToolsSynced int64Optional

Number of tools synced.

formatint32
type SyncFailed struct{…}

Emitted when a tool set sync operation fails.

Error boolOptional

Indicates this is an error event.

ErrorType stringOptional

Optional error type/code for programmatic handling.

Message stringOptional

Error message describing what went wrong.

type SyncStarted struct{…}

Emitted when a tool set sync operation begins.

Message stringOptional

Human-readable message describing the start of the sync.

type ToolFilter struct{…}

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
type ToolSet struct{…}

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

ID string

Unique identifier for the resource (prefixed ULID, e.g., “agent_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

CreatedAt Time

Timestamp when this resource was created

formatdate-time
Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string

ID of the actor (user or service account) that created this resource

WorkspaceID string

Workspace this resource belongs to for organizational grouping (prefixed ULID)

BundleKey stringOptional

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.

ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

Adapter ToolSetAdapterOptional
HTTP ToolSetAdapterHTTPOptional
BaseURL stringOptional
Headers map[string, string]Optional
Mcp ToolSetAdapterMcpOptional
ExcludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
Headers map[string, string]Optional
IncludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
ToolApprovals ApprovalRequirementFilterOptional

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
URL stringOptional
OpenAPI ToolSetAdapterOpenAPIOptional
BaseURL stringOptional

Base URL for dispatching tool calls. If set, overrides the server resolved from the spec’s servers array.

ExcludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
Headers map[string, string]Optional

Headers sent when fetching the spec from a URL and when dispatching tool calls.

IncludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
ServerName stringOptional

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 ApprovalRequirementFilterOptional

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
UploadID stringOptional

ID of a COMPLETE Upload containing the OpenAPI spec document.

URL stringOptional

URL to fetch the OpenAPI spec from. Synced automatically every hour.

Description stringOptional
Info ToolSetInfoOptional

Tool set information

AgentCount int64Optional
CreatedBy ProfileOptional

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.

AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.

ID string

Unique identifier for the resource (prefixed ULID, e.g., “apikey_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string
ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

Configuration for a profile.

Type ProfileSpecType

Whether this profile represents a human user, an API key, or a system principal.

formatenum
One of the following:
const ProfileSpecTypeProfileTypeUnspecified ProfileSpecType = "PROFILE_TYPE_UNSPECIFIED"
const ProfileSpecTypeProfileTypeUser ProfileSpecType = "PROFILE_TYPE_USER"
const ProfileSpecTypeProfileTypeAPIKey ProfileSpecType = "PROFILE_TYPE_API_KEY"
const ProfileSpecTypeProfileTypeSystem ProfileSpecType = "PROFILE_TYPE_SYSTEM"
Email stringOptional

Email address of the profile. Required and unique within an account for user profiles.

Name stringOptional

Display name (e.g., “Bobby Tables”).

LastSync TimeOptional
ToolCount int64Optional
type ToolSetAdapter struct{…}
HTTP ToolSetAdapterHTTPOptional
BaseURL stringOptional
Headers map[string, string]Optional
Mcp ToolSetAdapterMcpOptional
ExcludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
Headers map[string, string]Optional
IncludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
ToolApprovals ApprovalRequirementFilterOptional

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
URL stringOptional
OpenAPI ToolSetAdapterOpenAPIOptional
BaseURL stringOptional

Base URL for dispatching tool calls. If set, overrides the server resolved from the spec’s servers array.

ExcludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
Headers map[string, string]Optional

Headers sent when fetching the spec from a URL and when dispatching tool calls.

IncludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
ServerName stringOptional

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 ApprovalRequirementFilterOptional

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
UploadID stringOptional

ID of a COMPLETE Upload containing the OpenAPI spec document.

URL stringOptional

URL to fetch the OpenAPI spec from. Synced automatically every hour.

type ToolSetAdapterHTTP struct{…}
BaseURL stringOptional
Headers map[string, string]Optional
type ToolSetAdapterMcp struct{…}
ExcludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
Headers map[string, string]Optional
IncludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
ToolApprovals ApprovalRequirementFilterOptional

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
URL stringOptional
type ToolSetAdapterOpenAPI struct{…}
BaseURL stringOptional

Base URL for dispatching tool calls. If set, overrides the server resolved from the spec’s servers array.

ExcludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
Headers map[string, string]Optional

Headers sent when fetching the spec from a URL and when dispatching tool calls.

IncludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
ServerName stringOptional

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 ApprovalRequirementFilterOptional

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
UploadID stringOptional

ID of a COMPLETE Upload containing the OpenAPI spec document.

URL stringOptional

URL to fetch the OpenAPI spec from. Synced automatically every hour.

type ToolSetEvent struct{…}

A single event in the tool set’s operation timeline.

Metadata for ephemeral operations and activities (e.g., objectives, executions, runs)

ID string

Unique identifier for the operation (prefixed ULID, e.g., “obj_01HXK…”)

AccountID string

Account this operation belongs to for multi-tenant isolation (prefixed ULID)

CreatedAt Time

Timestamp when this operation was created ULID includes timestamp information, but this explicit field enables easier querying

formatdate-time
ProfileID string

ID of the actor (user or service account) that created this operation

WorkspaceID string

Workspace this operation belongs to for organizational grouping (prefixed ULID)

ExternalID stringOptional

External ID for the operation (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“priority”: “high”, “source”: “api”, “workflow”: “onboarding”}

Event ToolSetEventDataOptional

Event payload for a tool set operation.

SyncCompleted SyncCompletedOptional

Emitted when a tool set sync operation completes successfully.

Message stringOptional

Optional message with additional details.

ToolsSynced int64Optional

Number of tools synced.

formatint32
SyncFailed SyncFailedOptional

Emitted when a tool set sync operation fails.

Error boolOptional

Indicates this is an error event.

ErrorType stringOptional

Optional error type/code for programmatic handling.

Message stringOptional

Error message describing what went wrong.

SyncStarted SyncStartedOptional

Emitted when a tool set sync operation begins.

Message stringOptional

Human-readable message describing the start of the sync.

Type stringOptional

Type of the event (e.g., “sync_started”, “sync_completed”, “sync_failed”).

Info ToolSetEventInfoOptional
CreatedBy ProfileOptional

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.

AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.

ID string

Unique identifier for the resource (prefixed ULID, e.g., “apikey_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string
ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

Configuration for a profile.

Type ProfileSpecType

Whether this profile represents a human user, an API key, or a system principal.

formatenum
One of the following:
const ProfileSpecTypeProfileTypeUnspecified ProfileSpecType = "PROFILE_TYPE_UNSPECIFIED"
const ProfileSpecTypeProfileTypeUser ProfileSpecType = "PROFILE_TYPE_USER"
const ProfileSpecTypeProfileTypeAPIKey ProfileSpecType = "PROFILE_TYPE_API_KEY"
const ProfileSpecTypeProfileTypeSystem ProfileSpecType = "PROFILE_TYPE_SYSTEM"
Email stringOptional

Email address of the profile. Required and unique within an account for user profiles.

Name stringOptional

Display name (e.g., “Bobby Tables”).

ToolSet ResourceMetadataOptional

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

ID string

Unique identifier for the resource (prefixed ULID, e.g., “agent_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

CreatedAt Time

Timestamp when this resource was created

formatdate-time
Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string

ID of the actor (user or service account) that created this resource

WorkspaceID string

Workspace this resource belongs to for organizational grouping (prefixed ULID)

BundleKey stringOptional

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.

ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

ToolSetID stringOptional

The tool set this event is associated with.

type ToolSetEventData struct{…}

Event payload for a tool set operation.

SyncCompleted SyncCompletedOptional

Emitted when a tool set sync operation completes successfully.

Message stringOptional

Optional message with additional details.

ToolsSynced int64Optional

Number of tools synced.

formatint32
SyncFailed SyncFailedOptional

Emitted when a tool set sync operation fails.

Error boolOptional

Indicates this is an error event.

ErrorType stringOptional

Optional error type/code for programmatic handling.

Message stringOptional

Error message describing what went wrong.

SyncStarted SyncStartedOptional

Emitted when a tool set sync operation begins.

Message stringOptional

Human-readable message describing the start of the sync.

Type stringOptional

Type of the event (e.g., “sync_started”, “sync_completed”, “sync_failed”).

type ToolSetInfo struct{…}
AgentCount int64Optional
CreatedBy ProfileOptional

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.

AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.

ID string

Unique identifier for the resource (prefixed ULID, e.g., “apikey_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string
ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

Configuration for a profile.

Type ProfileSpecType

Whether this profile represents a human user, an API key, or a system principal.

formatenum
One of the following:
const ProfileSpecTypeProfileTypeUnspecified ProfileSpecType = "PROFILE_TYPE_UNSPECIFIED"
const ProfileSpecTypeProfileTypeUser ProfileSpecType = "PROFILE_TYPE_USER"
const ProfileSpecTypeProfileTypeAPIKey ProfileSpecType = "PROFILE_TYPE_API_KEY"
const ProfileSpecTypeProfileTypeSystem ProfileSpecType = "PROFILE_TYPE_SYSTEM"
Email stringOptional

Email address of the profile. Required and unique within an account for user profiles.

Name stringOptional

Display name (e.g., “Bobby Tables”).

LastSync TimeOptional
ToolCount int64Optional
type ToolSetSpec struct{…}
Adapter ToolSetAdapterOptional
HTTP ToolSetAdapterHTTPOptional
BaseURL stringOptional
Headers map[string, string]Optional
Mcp ToolSetAdapterMcpOptional
ExcludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
Headers map[string, string]Optional
IncludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
ToolApprovals ApprovalRequirementFilterOptional

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
URL stringOptional
OpenAPI ToolSetAdapterOpenAPIOptional
BaseURL stringOptional

Base URL for dispatching tool calls. If set, overrides the server resolved from the spec’s servers array.

ExcludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
Headers map[string, string]Optional

Headers sent when fetching the spec from a URL and when dispatching tool calls.

IncludeTools ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
ServerName stringOptional

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 ApprovalRequirementFilterOptional

Approval filters that will automatically set the approval requirement on tools synced from an external source

Always boolOptional
Only ToolFilterOptional

Top-level filter with simple boolean logic (no nesting)

Operator ToolFilterOperator
formatenum
One of the following:
const ToolFilterOperatorOperatorUnspecified ToolFilterOperator = "OPERATOR_UNSPECIFIED"
const ToolFilterOperatorOperatorAnd ToolFilterOperator = "OPERATOR_AND"
const ToolFilterOperatorOperatorOr ToolFilterOperator = "OPERATOR_OR"
Filters []AttributeFilterOptional
Attribute AttributeFilterAttribute
formatenum
One of the following:
const AttributeFilterAttributeAttributeUnspecified AttributeFilterAttribute = "ATTRIBUTE_UNSPECIFIED"
const AttributeFilterAttributeAttributeName AttributeFilterAttribute = "ATTRIBUTE_NAME"
const AttributeFilterAttributeAttributeTitle AttributeFilterAttribute = "ATTRIBUTE_TITLE"
const AttributeFilterAttributeAttributeDescription AttributeFilterAttribute = "ATTRIBUTE_DESCRIPTION"
Matcher StringMatcherOptional

String matching operations

CaseSensitive boolOptional
Contains stringOptional
EndsWith stringOptional
Exact stringOptional
Regex stringOptional
StartsWith stringOptional
UploadID stringOptional

ID of a COMPLETE Upload containing the OpenAPI spec document.

URL stringOptional

URL to fetch the OpenAPI spec from. Synced automatically every hour.

Description stringOptional

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.

List tools
client.ToolSets.Tools.List(ctx, workspaceID, toolSetID, query) (*CursorPagination[Tool], error)
GET/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/tools
Create a new tool
client.ToolSets.Tools.New(ctx, workspaceID, toolSetID, body) (*Tool, error)
POST/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/tools
Get a tool by ID
client.ToolSets.Tools.Get(ctx, workspaceID, toolSetID, id) (*Tool, error)
GET/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/tools/{id}
Update a tool
client.ToolSets.Tools.Update(ctx, workspaceID, toolSetID, id, body) (*Tool, error)
PUT/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/tools/{id}
Delete a tool
client.ToolSets.Tools.Delete(ctx, workspaceID, toolSetID, id) error
DELETE/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/tools/{id}
ModelsExpand Collapse
type ConfigHTTP struct{…}
RequestMethod ConfigHTTPRequestMethod
formatenum
One of the following:
const ConfigHTTPRequestMethodHTTPMethodUnspecified ConfigHTTPRequestMethod = "HTTP_METHOD_UNSPECIFIED"
const ConfigHTTPRequestMethodGet ConfigHTTPRequestMethod = "GET"
const ConfigHTTPRequestMethodPost ConfigHTTPRequestMethod = "POST"
const ConfigHTTPRequestMethodPut ConfigHTTPRequestMethod = "PUT"
const ConfigHTTPRequestMethodPatch ConfigHTTPRequestMethod = "PATCH"
const ConfigHTTPRequestMethodDelete ConfigHTTPRequestMethod = "DELETE"
Headers map[string, string]Optional
Path stringOptional
Query stringOptional
RequestBodyContentType stringOptional
RequestBodyTemplate stringOptional

These are only used when the request method is a POST, PUT, or PATCH

ToolName stringOptional

The tool name (commonly an “operation id” in OpenAPI specs) to call on the HTTP adapter. This is used to match the tool spec to the correct endpoint on the HTTP adapter. it will be derived from the name of the tool if not provided.

type ConfigMcp struct{…}
ToolDescription stringOptional
ToolName stringOptional
ToolTitle stringOptional
type ConfigOpenAPI struct{…}
Method stringOptional
OperationID stringOptional
Path stringOptional
type Tool struct{…}

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

ID string

Unique identifier for the resource (prefixed ULID, e.g., “agent_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

CreatedAt Time

Timestamp when this resource was created

formatdate-time
Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string

ID of the actor (user or service account) that created this resource

WorkspaceID string

Workspace this resource belongs to for organizational grouping (prefixed ULID)

BundleKey stringOptional

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.

ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

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.

HTTP ConfigHTTPOptional
RequestMethod ConfigHTTPRequestMethod
formatenum
One of the following:
const ConfigHTTPRequestMethodHTTPMethodUnspecified ConfigHTTPRequestMethod = "HTTP_METHOD_UNSPECIFIED"
const ConfigHTTPRequestMethodGet ConfigHTTPRequestMethod = "GET"
const ConfigHTTPRequestMethodPost ConfigHTTPRequestMethod = "POST"
const ConfigHTTPRequestMethodPut ConfigHTTPRequestMethod = "PUT"
const ConfigHTTPRequestMethodPatch ConfigHTTPRequestMethod = "PATCH"
const ConfigHTTPRequestMethodDelete ConfigHTTPRequestMethod = "DELETE"
Headers map[string, string]Optional
Path stringOptional
Query stringOptional
RequestBodyContentType stringOptional
RequestBodyTemplate stringOptional

These are only used when the request method is a POST, PUT, or PATCH

ToolName stringOptional

The tool name (commonly an “operation id” in OpenAPI specs) to call on the HTTP adapter. This is used to match the tool spec to the correct endpoint on the HTTP adapter. it will be derived from the name of the tool if not provided.

Mcp ConfigMcpOptional
ToolDescription stringOptional
ToolName stringOptional
ToolTitle stringOptional
OpenAPI ConfigOpenAPIOptional
Method stringOptional
OperationID stringOptional
Path stringOptional
Description string
Parameters map[string, unknown]
Status ToolSpecStatus
formatenum
One of the following:
const ToolSpecStatusToolStatusUnspecified ToolSpecStatus = "TOOL_STATUS_UNSPECIFIED"
const ToolSpecStatusToolStatusAvailable ToolSpecStatus = "TOOL_STATUS_AVAILABLE"
const ToolSpecStatusToolStatusOmitted ToolSpecStatus = "TOOL_STATUS_OMITTED"
const ToolSpecStatusToolStatusArchived ToolSpecStatus = "TOOL_STATUS_ARCHIVED"
RequiresApproval boolOptional
Info ToolInfoOptional
CreatedBy ProfileOptional

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.

AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.

ID string

Unique identifier for the resource (prefixed ULID, e.g., “apikey_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string
ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

Configuration for a profile.

Type ProfileSpecType

Whether this profile represents a human user, an API key, or a system principal.

formatenum
One of the following:
const ProfileSpecTypeProfileTypeUnspecified ProfileSpecType = "PROFILE_TYPE_UNSPECIFIED"
const ProfileSpecTypeProfileTypeUser ProfileSpecType = "PROFILE_TYPE_USER"
const ProfileSpecTypeProfileTypeAPIKey ProfileSpecType = "PROFILE_TYPE_API_KEY"
const ProfileSpecTypeProfileTypeSystem ProfileSpecType = "PROFILE_TYPE_SYSTEM"
Email stringOptional

Email address of the profile. Required and unique within an account for user profiles.

Name stringOptional

Display name (e.g., “Bobby Tables”).

ToolSet ResourceMetadataOptional

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

ID string

Unique identifier for the resource (prefixed ULID, e.g., “agent_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

CreatedAt Time

Timestamp when this resource was created

formatdate-time
Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string

ID of the actor (user or service account) that created this resource

WorkspaceID string

Workspace this resource belongs to for organizational grouping (prefixed ULID)

BundleKey stringOptional

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.

ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

type ToolInfo struct{…}
CreatedBy ProfileOptional

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.

AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.

ID string

Unique identifier for the resource (prefixed ULID, e.g., “apikey_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string
ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

Configuration for a profile.

Type ProfileSpecType

Whether this profile represents a human user, an API key, or a system principal.

formatenum
One of the following:
const ProfileSpecTypeProfileTypeUnspecified ProfileSpecType = "PROFILE_TYPE_UNSPECIFIED"
const ProfileSpecTypeProfileTypeUser ProfileSpecType = "PROFILE_TYPE_USER"
const ProfileSpecTypeProfileTypeAPIKey ProfileSpecType = "PROFILE_TYPE_API_KEY"
const ProfileSpecTypeProfileTypeSystem ProfileSpecType = "PROFILE_TYPE_SYSTEM"
Email stringOptional

Email address of the profile. Required and unique within an account for user profiles.

Name stringOptional

Display name (e.g., “Bobby Tables”).

ToolSet ResourceMetadataOptional

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

ID string

Unique identifier for the resource (prefixed ULID, e.g., “agent_01HXK…”)

AccountID string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

CreatedAt Time

Timestamp when this resource was created

formatdate-time
Name string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

ProfileID string

ID of the actor (user or service account) that created this resource

WorkspaceID string

Workspace this resource belongs to for organizational grouping (prefixed ULID)

BundleKey stringOptional

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.

ExternalID stringOptional

External ID for the resource (e.g., a workflow ID from an external system)

Labels map[string, string]Optional

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

type ToolSpec struct{…}

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.

HTTP ConfigHTTPOptional
RequestMethod ConfigHTTPRequestMethod
formatenum
One of the following:
const ConfigHTTPRequestMethodHTTPMethodUnspecified ConfigHTTPRequestMethod = "HTTP_METHOD_UNSPECIFIED"
const ConfigHTTPRequestMethodGet ConfigHTTPRequestMethod = "GET"
const ConfigHTTPRequestMethodPost ConfigHTTPRequestMethod = "POST"
const ConfigHTTPRequestMethodPut ConfigHTTPRequestMethod = "PUT"
const ConfigHTTPRequestMethodPatch ConfigHTTPRequestMethod = "PATCH"
const ConfigHTTPRequestMethodDelete ConfigHTTPRequestMethod = "DELETE"
Headers map[string, string]Optional
Path stringOptional
Query stringOptional
RequestBodyContentType stringOptional
RequestBodyTemplate stringOptional

These are only used when the request method is a POST, PUT, or PATCH

ToolName stringOptional

The tool name (commonly an “operation id” in OpenAPI specs) to call on the HTTP adapter. This is used to match the tool spec to the correct endpoint on the HTTP adapter. it will be derived from the name of the tool if not provided.

Mcp ConfigMcpOptional
ToolDescription stringOptional
ToolName stringOptional
ToolTitle stringOptional
OpenAPI ConfigOpenAPIOptional
Method stringOptional
OperationID stringOptional
Path stringOptional
Description string
Parameters map[string, unknown]
Status ToolSpecStatus
formatenum
One of the following:
const ToolSpecStatusToolStatusUnspecified ToolSpecStatus = "TOOL_STATUS_UNSPECIFIED"
const ToolSpecStatusToolStatusAvailable ToolSpecStatus = "TOOL_STATUS_AVAILABLE"
const ToolSpecStatusToolStatusOmitted ToolSpecStatus = "TOOL_STATUS_OMITTED"
const ToolSpecStatusToolStatusArchived ToolSpecStatus = "TOOL_STATUS_ARCHIVED"
RequiresApproval boolOptional
type ToolSpecConfig struct{…}

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.

HTTP ConfigHTTPOptional
RequestMethod ConfigHTTPRequestMethod
formatenum
One of the following:
const ConfigHTTPRequestMethodHTTPMethodUnspecified ConfigHTTPRequestMethod = "HTTP_METHOD_UNSPECIFIED"
const ConfigHTTPRequestMethodGet ConfigHTTPRequestMethod = "GET"
const ConfigHTTPRequestMethodPost ConfigHTTPRequestMethod = "POST"
const ConfigHTTPRequestMethodPut ConfigHTTPRequestMethod = "PUT"
const ConfigHTTPRequestMethodPatch ConfigHTTPRequestMethod = "PATCH"
const ConfigHTTPRequestMethodDelete ConfigHTTPRequestMethod = "DELETE"
Headers map[string, string]Optional
Path stringOptional
Query stringOptional
RequestBodyContentType stringOptional
RequestBodyTemplate stringOptional

These are only used when the request method is a POST, PUT, or PATCH

ToolName stringOptional

The tool name (commonly an “operation id” in OpenAPI specs) to call on the HTTP adapter. This is used to match the tool spec to the correct endpoint on the HTTP adapter. it will be derived from the name of the tool if not provided.

Mcp ConfigMcpOptional
ToolDescription stringOptional
ToolName stringOptional
ToolTitle stringOptional
OpenAPI ConfigOpenAPIOptional
Method stringOptional
OperationID stringOptional
Path stringOptional