Skip to content
Get started

List tools

$ cadenya tool-sets:tools list
GET/v1/workspaces/{workspaceId}/tool_sets/{toolSetId}/tools

Lists all tools in the tool set

ParametersExpand Collapse
--workspace-id: string

Workspace ID.

--tool-set-id: string

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

--bundle-key: optional string

Filter by bundle_key — return only resources owned by this bundle.

--cursor: optional string

Pagination cursor from previous response

--include-info: optional boolean

When set to true you may use more of your alloted API rate-limit

--limit: optional number

Maximum number of results to return

--name: optional array of string

Filter by tool name (exact match). Multiple values are OR’d together.

--prefix: optional string

Filter expression (query param: prefix)

--query: optional string

Free-form search query

--requires-approval: optional boolean

Filter by approval requirement. Omitted = no filter; true = only tools requiring approval; false = only tools not requiring approval.

--sort-order: optional string

Sort order for results (asc or desc by creation time)

--status: optional array of "TOOL_STATUS_UNSPECIFIED" or "TOOL_STATUS_AVAILABLE" or "TOOL_STATUS_OMITTED" or "TOOL_STATUS_ARCHIVED"

Filter by tool status. Multiple values are OR’d together.

ReturnsExpand Collapse
ListToolsResponse: object { items, pagination }
items: optional array of Tool { metadata, spec, info }
metadata: object { id, accountId, createdAt, 6 more }

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: string

Timestamp when this resource was created

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: 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.

externalId: optional string

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

labels: optional map[string]

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

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.

http: optional object { requestMethod, headers, path, 4 more }
requestMethod: "HTTP_METHOD_UNSPECIFIED" or "GET" or "POST" or 3 more
"HTTP_METHOD_UNSPECIFIED"
"GET"
"POST"
"PUT"
"PATCH"
"DELETE"
headers: optional map[string]
path: optional string
query: optional string
requestBodyContentType: optional string
requestBodyTemplate: optional string

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

toolName: optional string

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: optional object { toolDescription, toolName, toolTitle }
toolDescription: optional string
toolName: optional string
toolTitle: optional string
openapi: optional object { method, operationId, path }
method: optional string
operationId: optional string
path: optional string
description: string
parameters: map[unknown]
status: "TOOL_STATUS_UNSPECIFIED" or "TOOL_STATUS_AVAILABLE" or "TOOL_STATUS_OMITTED" or "TOOL_STATUS_ARCHIVED"
"TOOL_STATUS_UNSPECIFIED"
"TOOL_STATUS_AVAILABLE"
"TOOL_STATUS_OMITTED"
"TOOL_STATUS_ARCHIVED"
requiresApproval: optional boolean
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.

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: optional string

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

labels: optional map[string]

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

spec: object { type, email, name }

Configuration for a profile.

type: "PROFILE_TYPE_UNSPECIFIED" or "PROFILE_TYPE_USER" or "PROFILE_TYPE_API_KEY" or "PROFILE_TYPE_SYSTEM"

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

"PROFILE_TYPE_UNSPECIFIED"
"PROFILE_TYPE_USER"
"PROFILE_TYPE_API_KEY"
"PROFILE_TYPE_SYSTEM"
email: optional string

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

name: optional string

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

toolSet: optional object { id, accountId, createdAt, 6 more }

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: string

Timestamp when this resource was created

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: 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.

externalId: optional string

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

labels: optional map[string]

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

nextCursor: optional string
total: optional number

List tools

cadenya tool-sets:tools list \
  --api-key 'My API Key' \
  --workspace-id workspaceId \
  --tool-set-id toolSetId
{
  "items": [
    {
      "metadata": {
        "id": "id",
        "accountId": "accountId",
        "createdAt": "2019-12-27T18:11:19.117Z",
        "name": "name",
        "profileId": "profileId",
        "workspaceId": "workspaceId",
        "bundleKey": "bundleKey",
        "externalId": "externalId",
        "labels": {
          "foo": "string"
        }
      },
      "spec": {
        "config": {
          "http": {
            "requestMethod": "HTTP_METHOD_UNSPECIFIED",
            "headers": {
              "foo": "string"
            },
            "path": "path",
            "query": "query",
            "requestBodyContentType": "requestBodyContentType",
            "requestBodyTemplate": "requestBodyTemplate",
            "toolName": "toolName"
          },
          "mcp": {
            "toolDescription": "toolDescription",
            "toolName": "toolName",
            "toolTitle": "toolTitle"
          },
          "openapi": {
            "method": "method",
            "operationId": "operationId",
            "path": "path"
          }
        },
        "description": "description",
        "parameters": {
          "foo": "bar"
        },
        "status": "TOOL_STATUS_UNSPECIFIED",
        "requiresApproval": true
      },
      "info": {
        "createdBy": {
          "metadata": {
            "id": "id",
            "accountId": "accountId",
            "name": "name",
            "profileId": "profileId",
            "externalId": "externalId",
            "labels": {
              "foo": "string"
            }
          },
          "spec": {
            "type": "PROFILE_TYPE_UNSPECIFIED",
            "email": "email",
            "name": "name"
          }
        },
        "toolSet": {
          "id": "id",
          "accountId": "accountId",
          "createdAt": "2019-12-27T18:11:19.117Z",
          "name": "name",
          "profileId": "profileId",
          "workspaceId": "workspaceId",
          "bundleKey": "bundleKey",
          "externalId": "externalId",
          "labels": {
            "foo": "string"
          }
        }
      }
    }
  ],
  "pagination": {
    "nextCursor": "nextCursor",
    "total": 0
  }
}
Returns Examples
{
  "items": [
    {
      "metadata": {
        "id": "id",
        "accountId": "accountId",
        "createdAt": "2019-12-27T18:11:19.117Z",
        "name": "name",
        "profileId": "profileId",
        "workspaceId": "workspaceId",
        "bundleKey": "bundleKey",
        "externalId": "externalId",
        "labels": {
          "foo": "string"
        }
      },
      "spec": {
        "config": {
          "http": {
            "requestMethod": "HTTP_METHOD_UNSPECIFIED",
            "headers": {
              "foo": "string"
            },
            "path": "path",
            "query": "query",
            "requestBodyContentType": "requestBodyContentType",
            "requestBodyTemplate": "requestBodyTemplate",
            "toolName": "toolName"
          },
          "mcp": {
            "toolDescription": "toolDescription",
            "toolName": "toolName",
            "toolTitle": "toolTitle"
          },
          "openapi": {
            "method": "method",
            "operationId": "operationId",
            "path": "path"
          }
        },
        "description": "description",
        "parameters": {
          "foo": "bar"
        },
        "status": "TOOL_STATUS_UNSPECIFIED",
        "requiresApproval": true
      },
      "info": {
        "createdBy": {
          "metadata": {
            "id": "id",
            "accountId": "accountId",
            "name": "name",
            "profileId": "profileId",
            "externalId": "externalId",
            "labels": {
              "foo": "string"
            }
          },
          "spec": {
            "type": "PROFILE_TYPE_UNSPECIFIED",
            "email": "email",
            "name": "name"
          }
        },
        "toolSet": {
          "id": "id",
          "accountId": "accountId",
          "createdAt": "2019-12-27T18:11:19.117Z",
          "name": "name",
          "profileId": "profileId",
          "workspaceId": "workspaceId",
          "bundleKey": "bundleKey",
          "externalId": "externalId",
          "labels": {
            "foo": "string"
          }
        }
      }
    }
  ],
  "pagination": {
    "nextCursor": "nextCursor",
    "total": 0
  }
}