Guest Machines
API referenceCapabilities

List tools

GET/api/v1/tools

List the complete bounded tool-assignment catalog visible to the caller, including risk and capability classifications.

Required access

Credentials: service principal, delegated token, user session

Service principals see the built-in catalog only. A delegated token also sees user-defined tools owned by its user.

Authorization

AuthorizationBearer <token>

An organization-owned automation key, prefixed gsmc_sk_. Already bound to one organization, so it needs no X-Org-Id header. It carries no user identity: it never reaches a private resource however it is scoped, and a run it starts has no user for an interactive tool to reach.

In: header

Query Parameters

namespace?|null
origin?|null
enabled_only?Enabled Only
Defaulttrue
capability?array<>|null
risk_level?array<>|null

Header Parameters

X-Org-Id?|

Selects the active organization for a credential that belongs to more than one. Service-principal keys are bound to a single organization and ignore it.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/tools" \  -H "Authorization: Bearer $GUEST_MACHINES_API_KEY"
{  "items": [    {      "origin": "builtin",      "source_id": "string",      "canonical_name": "string",      "display_name": "string",      "namespace": "string",      "summary": "string",      "management_mode": "agent_assignable",      "ui_visibility": "user_catalog",      "enabled": true,      "owned_by_caller": true,      "risk_level": "string",      "capabilities": [        "string"      ]    }  ],  "total": 0,  "truncated": true,  "namespace_counts": {}}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}
{  "detail": "string",  "error_code": "string",  "request_id": "string"}