API reference
Register a new client
Register a new client with ToolHive
Request Body schema: application/jsonrequired
Client to register
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
{- "groups": [
- "string"
], - "name": "roo-code"
}Register multiple clients
Register multiple clients with ToolHive
Request Body schema: application/jsonrequired
Clients to register
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
[- {
- "groups": [
- "string"
], - "name": "roo-code"
}
]List all clients status
List all clients compatible with ToolHive and their status. Each object includes supports_skills when ToolHive can install skills for that client.
Responses
Response samples
- 200
{- "clients": [
- {
- "client_type": "roo-code",
- "installed": true,
- "registered": true,
- "supports_skills": true
}
]
}Get a registry
Get details of a specific registry
path Parameters
| name required | string Registry name |
Responses
Response samples
- 200
- 404
{- "auth_config": {
- "audience": "string",
- "client_id": "string",
- "issuer": "string",
- "scopes": [
- "string"
]
}, - "auth_status": "string",
- "auth_type": "string",
- "last_updated": "string",
- "name": "string",
- "registry": {
- "groups": [
- {
- "description": "string",
- "name": "string",
- "remote_servers": {
- "property1": {
- "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "oauth_config": {
- "authorize_url": "string",
- "callback_port": 0,
- "client_id": "string",
- "issuer": "string",
- "oauth_params": {
- "property1": "string",
- "property2": "string"
}, - "resource": "string",
- "scopes": [
- "string"
], - "token_url": "string",
- "use_pkce": true
}, - "overview": "string",
- "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string",
- "url": "string"
}, - "property2": {
- "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "oauth_config": {
- "authorize_url": "string",
- "callback_port": 0,
- "client_id": "string",
- "issuer": "string",
- "oauth_params": {
- "property1": "string",
- "property2": "string"
}, - "resource": "string",
- "scopes": [
- "string"
], - "token_url": "string",
- "use_pkce": true
}, - "overview": "string",
- "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string",
- "url": "string"
}
}, - "servers": {
- "property1": {
- "args": [
- "string"
], - "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "docker_tags": [
- "string"
], - "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "image": "string",
- "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "overview": "string",
- "permissions": {
- "name": "string",
- "network": {
- "inbound": {
- "allow_host": [
- null
]
}, - "mode": "string",
- "outbound": {
- "allow_host": [
- null
], - "allow_port": [
- null
], - "insecure_allow_all": true
}
}, - "privileged": true,
- "read": [
- "string"
], - "write": [
- "string"
]
}, - "provenance": {
- "attestation": {
- "predicate": null,
- "predicate_type": "string"
}, - "cert_issuer": "string",
- "repository_ref": "string",
- "repository_uri": "string",
- "runner_environment": "string",
- "signer_identity": "string",
- "sigstore_url": "string"
}, - "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "target_port": 0,
- "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string"
}, - "property2": {
- "args": [
- "string"
], - "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "docker_tags": [
- "string"
], - "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "image": "string",
- "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "overview": "string",
- "permissions": {
- "name": "string",
- "network": {
- "inbound": {
- "allow_host": [
- null
]
}, - "mode": "string",
- "outbound": {
- "allow_host": [
- null
], - "allow_port": [
- null
], - "insecure_allow_all": true
}
}, - "privileged": true,
- "read": [
- "string"
], - "write": [
- "string"
]
}, - "provenance": {
- "attestation": {
- "predicate": null,
- "predicate_type": "string"
}, - "cert_issuer": "string",
- "repository_ref": "string",
- "repository_uri": "string",
- "runner_environment": "string",
- "signer_identity": "string",
- "sigstore_url": "string"
}, - "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "target_port": 0,
- "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string"
}
}
}
], - "last_updated": "string",
- "remote_servers": {
- "property1": {
- "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "oauth_config": {
- "authorize_url": "string",
- "callback_port": 0,
- "client_id": "string",
- "issuer": "string",
- "oauth_params": {
- "property1": "string",
- "property2": "string"
}, - "resource": "string",
- "scopes": [
- "string"
], - "token_url": "string",
- "use_pkce": true
}, - "overview": "string",
- "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string",
- "url": "string"
}, - "property2": {
- "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "oauth_config": {
- "authorize_url": "string",
- "callback_port": 0,
- "client_id": "string",
- "issuer": "string",
- "oauth_params": {
- "property1": "string",
- "property2": "string"
}, - "resource": "string",
- "scopes": [
- "string"
], - "token_url": "string",
- "use_pkce": true
}, - "overview": "string",
- "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string",
- "url": "string"
}
}, - "servers": {
- "property1": {
- "args": [
- "string"
], - "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "docker_tags": [
- "string"
], - "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "image": "string",
- "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "overview": "string",
- "permissions": {
- "name": "string",
- "network": {
- "inbound": {
- "allow_host": [
- "string"
]
}, - "mode": "string",
- "outbound": {
- "allow_host": [
- "string"
], - "allow_port": [
- 0
], - "insecure_allow_all": true
}
}, - "privileged": true,
- "read": [
- "string"
], - "write": [
- "string"
]
}, - "provenance": {
- "attestation": {
- "predicate": null,
- "predicate_type": "string"
}, - "cert_issuer": "string",
- "repository_ref": "string",
- "repository_uri": "string",
- "runner_environment": "string",
- "signer_identity": "string",
- "sigstore_url": "string"
}, - "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "target_port": 0,
- "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string"
}, - "property2": {
- "args": [
- "string"
], - "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "docker_tags": [
- "string"
], - "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "image": "string",
- "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "overview": "string",
- "permissions": {
- "name": "string",
- "network": {
- "inbound": {
- "allow_host": [
- "string"
]
}, - "mode": "string",
- "outbound": {
- "allow_host": [
- "string"
], - "allow_port": [
- 0
], - "insecure_allow_all": true
}
}, - "privileged": true,
- "read": [
- "string"
], - "write": [
- "string"
]
}, - "provenance": {
- "attestation": {
- "predicate": null,
- "predicate_type": "string"
}, - "cert_issuer": "string",
- "repository_ref": "string",
- "repository_uri": "string",
- "runner_environment": "string",
- "signer_identity": "string",
- "sigstore_url": "string"
}, - "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "target_port": 0,
- "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string"
}
}, - "version": "string"
}, - "server_count": 0,
- "source": "string",
- "type": "file",
- "version": "string"
}Get a server from a registry
Get details of a specific server in a registry
path Parameters
| name required | string Registry name |
| serverName required | string ImageMetadata name |
Responses
Response samples
- 200
- 404
{- "is_remote": true,
- "remote_server": {
- "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "oauth_config": {
- "authorize_url": "string",
- "callback_port": 0,
- "client_id": "string",
- "issuer": "string",
- "oauth_params": {
- "property1": "string",
- "property2": "string"
}, - "resource": "string",
- "scopes": [
- "string"
], - "token_url": "string",
- "use_pkce": true
}, - "overview": "string",
- "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string",
- "url": "string"
}, - "server": {
- "args": [
- "string"
], - "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "docker_tags": [
- "string"
], - "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "image": "string",
- "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "overview": "string",
- "permissions": {
- "name": "string",
- "network": {
- "inbound": {
- "allow_host": [
- "string"
]
}, - "mode": "string",
- "outbound": {
- "allow_host": [
- "string"
], - "allow_port": [
- 0
], - "insecure_allow_all": true
}
}, - "privileged": true,
- "read": [
- "string"
], - "write": [
- "string"
]
}, - "provenance": {
- "attestation": {
- "predicate": null,
- "predicate_type": "string"
}, - "cert_issuer": "string",
- "repository_ref": "string",
- "repository_uri": "string",
- "runner_environment": "string",
- "signer_identity": "string",
- "sigstore_url": "string"
}, - "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "target_port": 0,
- "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string"
}
}Response samples
- 200
{- "registries": [
- {
- "auth_config": {
- "audience": "string",
- "client_id": "string",
- "issuer": "string",
- "scopes": [
- "string"
]
}, - "auth_status": "string",
- "auth_type": "string",
- "last_updated": "string",
- "name": "string",
- "server_count": 0,
- "source": "string",
- "type": "file",
- "version": "string"
}
]
}List servers in a registry
Get a list of servers in a specific registry
path Parameters
| name required | string Registry name |
Responses
Response samples
- 200
- 404
{- "remote_servers": [
- {
- "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "oauth_config": {
- "authorize_url": "string",
- "callback_port": 0,
- "client_id": "string",
- "issuer": "string",
- "oauth_params": {
- "property1": "string",
- "property2": "string"
}, - "resource": "string",
- "scopes": [
- "string"
], - "token_url": "string",
- "use_pkce": true
}, - "overview": "string",
- "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string",
- "url": "string"
}
], - "servers": [
- {
- "args": [
- "string"
], - "custom_metadata": {
- "property1": null,
- "property2": null
}, - "description": "string",
- "docker_tags": [
- "string"
], - "env_vars": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "image": "string",
- "metadata": {
- "kubernetes": {
- "image": "string",
- "kind": "string",
- "name": "string",
- "namespace": "string",
- "transport": "string",
- "uid": "string"
}, - "last_updated": "string",
- "stars": 0
}, - "name": "string",
- "overview": "string",
- "permissions": {
- "name": "string",
- "network": {
- "inbound": {
- "allow_host": [
- "string"
]
}, - "mode": "string",
- "outbound": {
- "allow_host": [
- "string"
], - "allow_port": [
- 0
], - "insecure_allow_all": true
}
}, - "privileged": true,
- "read": [
- "string"
], - "write": [
- "string"
]
}, - "provenance": {
- "attestation": {
- "predicate": null,
- "predicate_type": "string"
}, - "cert_issuer": "string",
- "repository_ref": "string",
- "repository_uri": "string",
- "runner_environment": "string",
- "signer_identity": "string",
- "sigstore_url": "string"
}, - "proxy_port": 0,
- "repository_url": "string",
- "status": "string",
- "tags": [
- "string"
], - "target_port": 0,
- "tier": "string",
- "title": "string",
- "tools": [
- "string"
], - "transport": "string"
}
]
}Update registry configuration
Update registry URL or local path for the default registry
path Parameters
| name required | string Registry name (must be 'default') |
Request Body schema: application/jsonrequired
Registry configuration
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 403
- 404
- 502
- 504
{- "type": "string"
}Get a registry server
Retrieve a single server by name. Names use reverse-DNS format; URL-encode slashes.
path Parameters
| registryName required | string Registry name (currently ignored, uses the default provider) |
| serverName required | string Server name (URL-encoded reverse-DNS format) |
Responses
Response samples
- 200
- 400
- 404
- 500
- 503
{- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}List available registry servers
Get a paginated list of servers from the registry. Supports optional full-text search and pagination.
path Parameters
| registryName required | string Registry name (currently ignored, uses the default provider) |
query Parameters
| q | string Search filter — matches against server name and description |
| page | integer Page number, 1-based (default: 1) |
| limit | integer Items per page, max 200 (default: 50) |
Responses
Response samples
- 200
- 500
- 503
{- "metadata": {
- "limit": 0,
- "page": 0,
- "total": 0
}, - "servers": [
- {
- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "type": "stdio",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}
]
}Get a registry skill
Retrieve a single skill by its namespace and name from the registry.
path Parameters
| registryName required | string Registry name (currently ignored, uses the default provider) |
| namespace required | string Skill namespace in reverse-DNS format (e.g. io.github.stacklok) |
| skillName required | string Skill name |
Responses
Response samples
- 200
- 404
- 500
- 503
{- "_meta": {
- "property1": null,
- "property2": null
}, - "allowedTools": [
- "string"
], - "compatibility": "string",
- "description": "string",
- "icons": [
- {
- "label": "string",
- "size": "string",
- "src": "string",
- "type": "string"
}
], - "license": "string",
- "metadata": {
- "property1": null,
- "property2": null
}, - "name": "string",
- "namespace": "string",
- "packages": [
- {
- "commit": "string",
- "digest": "string",
- "identifier": "string",
- "mediaType": "string",
- "ref": "string",
- "registryType": "string",
- "subfolder": "string",
- "url": "string"
}
], - "repository": {
- "type": "string",
- "url": "string"
}, - "status": "string",
- "title": "string",
- "version": "string"
}List available registry skills
Get a paginated list of skills from the registry. Supports optional full-text search and pagination.
path Parameters
| registryName required | string Registry name (currently ignored, uses the default provider) |
query Parameters
| q | string Search filter — matches against skill name, namespace, and description |
| page | integer Page number, 1-based (default: 1) |
| limit | integer Items per page, max 200 (default: 50) |
Responses
Response samples
- 200
- 500
- 503
{- "metadata": {
- "limit": 0,
- "page": 0,
- "total": 0
}, - "skills": [
- {
- "_meta": {
- "property1": null,
- "property2": null
}, - "allowedTools": [
- "string"
], - "compatibility": "string",
- "description": "string",
- "icons": [
- {
- "label": "string",
- "size": "string",
- "src": "string",
- "type": "string"
}
], - "license": "string",
- "metadata": {
- "property1": null,
- "property2": null
}, - "name": "string",
- "namespace": "string",
- "packages": [
- {
- "commit": "string",
- "digest": "string",
- "identifier": "string",
- "mediaType": "string",
- "ref": "string",
- "registryType": "string",
- "subfolder": "string",
- "url": "string"
}
], - "repository": {
- "type": "string",
- "url": "string"
}, - "status": "string",
- "title": "string",
- "version": "string"
}
]
}Create a new secret
Create a new secret in the default provider (encrypted provider only)
Request Body schema: application/jsonrequired
Create secret request
Responses
Request samples
- Payload
{ }Response samples
- 201
- 400
- 404
- 405
- 409
- 500
{- "key": "string",
- "message": "string"
}Setup or reconfigure secrets provider
Setup the secrets provider with the specified type and configuration.
Request Body schema: application/jsonrequired
Setup secrets provider request
Responses
Request samples
- Payload
{ }Response samples
- 201
- 400
- 500
{- "message": "string",
- "provider_type": "string"
}Update a secret
Update an existing secret in the default provider (encrypted provider only)
path Parameters
| key required | string Secret key |
Request Body schema: application/jsonrequired
Update secret request
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 404
- 405
- 500
{- "key": "string",
- "message": "string"
}Get skill content
Retrieve the SKILL.md body and file listing from an artifact without installing it. Accepts OCI refs, git refs, or local tags.
query Parameters
| ref required | string OCI reference or local build tag |
Responses
Response samples
- 200
- 400
- 401
- 404
- 429
- 500
- 502
- 504
{- "body": "string",
- "description": "string",
- "files": [
- {
- "path": "string",
- "size": 0
}
], - "license": "string",
- "name": "string",
- "version": "string"
}Get skill details
Get detailed information about a specific skill
path Parameters
| name required | string Skill name |
query Parameters
| scope | string Enum: "user" "project" Filter by scope (user or project) |
| project_root | string Project root path for project-scoped skills |
Responses
Response samples
- 200
- 400
- 404
- 500
{- "installed_skill": {
- "clients": [
- "string"
], - "dependencies": [
- {
- "digest": "string",
- "name": "string",
- "reference": "string"
}
], - "digest": "string",
- "installed_at": "string",
- "metadata": {
- "author": "string",
- "description": "string",
- "name": "string",
- "tags": [
- "string"
], - "version": "string"
}, - "project_root": "string",
- "reference": "string",
- "scope": "user",
- "status": "installed",
- "tag": "string"
}, - "metadata": {
- "author": "string",
- "description": "string",
- "name": "string",
- "tags": [
- "string"
], - "version": "string"
}
}Install a skill
Install a skill from a remote source
Request Body schema: application/jsonrequired
Install request
Responses
Request samples
- Payload
{ }Response samples
- 201
- 400
- 401
- 404
- 409
- 429
- 500
- 502
- 504
{- "skill": {
- "clients": [
- "string"
], - "dependencies": [
- {
- "digest": "string",
- "name": "string",
- "reference": "string"
}
], - "digest": "string",
- "installed_at": "string",
- "metadata": {
- "author": "string",
- "description": "string",
- "name": "string",
- "tags": [
- "string"
], - "version": "string"
}, - "project_root": "string",
- "reference": "string",
- "scope": "user",
- "status": "installed",
- "tag": "string"
}
}List all installed skills
Get a list of all installed skills
query Parameters
| scope | string Enum: "user" "project" Filter by scope (user or project) |
| client | string Filter by client app |
| project_root | string Filter by project root path |
| group | string Filter by group name |
Responses
Response samples
- 200
- 500
{- "skills": [
- {
- "clients": [
- "string"
], - "dependencies": [
- {
- "digest": "string",
- "name": "string",
- "reference": "string"
}
], - "digest": "string",
- "installed_at": "string",
- "metadata": {
- "author": "string",
- "description": "string",
- "name": "string",
- "tags": [
- "string"
], - "version": "string"
}, - "project_root": "string",
- "reference": "string",
- "scope": "user",
- "status": "installed",
- "tag": "string"
}
]
}Uninstall a skill
Remove an installed skill
path Parameters
| name required | string Skill name |
query Parameters
| scope | string Enum: "user" "project" Scope to uninstall from (user or project) |
| project_root | string Project root path for project-scoped skills |
Responses
Response samples
- 204
- 400
- 404
- 500
"string"Validate a skill
Validate a skill definition
Request Body schema: application/jsonrequired
Validate request
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 500
{- "errors": [
- "string"
], - "valid": true,
- "warnings": [
- "string"
]
}Apply an available upgrade to a workload
Apply a registry-sourced upgrade to a single workload. This re-resolves and verifies the candidate image, pulls it, and only then recreates the workload with the new image, preserving the existing configuration. If the workload is already up to date or is not registry-sourced, the current check result is returned unchanged (no-op). Secret values are never accepted or returned.
path Parameters
| name required | string Workload name |
Request Body schema: application/json
Upgrade options
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 404
- 422
- 500
{- "result": {
- "candidate_image": "string",
- "config_drift": {
- "permission_profile": {
- "from": "string",
- "to": "string"
}, - "transport": {
- "from": "string",
- "to": "string"
}
}, - "current_image": "string",
- "env_var_drift": {
- "added": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "removed": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
]
}, - "reason": "string",
- "registry_server": "string",
- "status": "up-to-date",
- "workload_name": "string"
}
}Check a workload for an available upgrade
Check whether a single workload has a newer image available in its source registry. This is an offline metadata comparison; it does not pull images. Secret values are never returned.
path Parameters
| name required | string Workload name |
Responses
Response samples
- 200
- 400
- 404
{- "result": {
- "candidate_image": "string",
- "config_drift": {
- "permission_profile": {
- "from": "string",
- "to": "string"
}, - "transport": {
- "from": "string",
- "to": "string"
}
}, - "current_image": "string",
- "env_var_drift": {
- "added": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "removed": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
]
}, - "reason": "string",
- "registry_server": "string",
- "status": "up-to-date",
- "workload_name": "string"
}
}Check workloads for available upgrades
Check all workloads (optionally filtered by group) for newer images available in their source registries. This is an offline metadata comparison; it does not pull images. Secret values are never returned.
query Parameters
| all | boolean Include stopped workloads |
| group | string Filter workloads by group name |
Responses
Response samples
- 200
- 400
- 404
{- "results": [
- {
- "candidate_image": "string",
- "config_drift": {
- "permission_profile": {
- "from": "string",
- "to": "string"
}, - "transport": {
- "from": "string",
- "to": "string"
}
}, - "current_image": "string",
- "env_var_drift": {
- "added": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "removed": [
- {
- "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
]
}, - "reason": "string",
- "registry_server": "string",
- "status": "up-to-date",
- "workload_name": "string"
}
]
}Delete workloads in bulk
Delete multiple workloads by name or by group asynchronously. Returns 202 Accepted immediately. Deletion happens in the background.
Request Body schema: application/jsonrequired
Bulk delete request (names or group)
Responses
Request samples
- Payload
{ }Response samples
- 202
- 400
"string"Export workload configuration
Export a workload's run configuration as JSON
path Parameters
| name required | string Workload name |
Responses
Response samples
- 200
- 404
{- "allow_docker_gateway": true,
- "audit_config": {
- "component": "string",
- "detectApplicationErrors": true,
- "enabled": true,
- "eventTypes": [
- "string"
], - "excludeEventTypes": [
- "string"
], - "includeRequestData": true,
- "includeResponseData": true,
- "logFile": "string",
- "maxDataSize": 0
}, - "audit_config_path": "string",
- "authz_config": {
- "type": "string",
- "version": "string"
}, - "authz_config_path": "string",
- "aws_sts_config": {
- "fallback_role_arn": "string",
- "region": "string",
- "role_claim": "string",
- "role_mappings": [
- {
- "claim": "string",
- "matcher": "string",
- "priority": 0,
- "role_arn": "string"
}
], - "service": "string",
- "session_duration": 0,
- "session_name_claim": "string",
- "subject_provider_name": "string"
}, - "base_name": "string",
- "cmd_args": [
- "string"
], - "container_labels": {
- "property1": "string",
- "property2": "string"
}, - "container_name": "string",
- "debug": true,
- "embedded_auth_server_config": {
- "allowed_audiences": [
- "string"
], - "authorization_endpoint_base_url": "string",
- "baseline_client_scopes": [
- "string"
], - "cimd": {
- "cache_fallback_ttl": "5m",
- "cache_max_size": 0,
- "enabled": true
}, - "hmac_secret_files": [
- "string"
], - "issuer": "string",
- "schema_version": "string",
- "scopes_supported": [
- "string"
], - "signing_key_config": {
- "fallback_key_files": [
- "string"
], - "key_dir": "string",
- "signing_key_file": "string"
}, - "storage": {
- "redis_config": {
- "acl_user_config": {
- "password_env_var": "string",
- "username_env_var": "string"
}, - "addr": "string",
- "auth_type": "string",
- "cluster_mode": true,
- "dial_timeout": "string",
- "key_prefix": "string",
- "read_timeout": "string",
- "sentinel_config": {
- "db": 0,
- "master_name": "string",
- "sentinel_addrs": [
- "string"
]
}, - "sentinel_tls": {
- "ca_cert_file": "string",
- "insecure_skip_verify": true
}, - "tls": {
- "ca_cert_file": "string",
- "insecure_skip_verify": true
}, - "write_timeout": "string"
}, - "type": "string"
}, - "token_lifespans": {
- "access_token_lifespan": "string",
- "auth_code_lifespan": "string",
- "refresh_token_lifespan": "string"
}, - "upstreams": [
- {
- "name": "string",
- "oauth2_config": {
- "additional_authorization_params": {
- "property1": "string",
- "property2": "string"
}, - "authorization_endpoint": "string",
- "client_id": "string",
- "client_secret_env_var": "string",
- "client_secret_file": "string",
- "dcr_config": {
- "discovery_url": "string",
- "initial_access_token_env_var": "string",
- "initial_access_token_file": "string",
- "registration_endpoint": "string",
- "software_id": "string",
- "software_statement": "string"
}, - "identity_from_token": {
- "email_path": "string",
- "name_path": "string",
- "subject_path": "string"
}, - "redirect_uri": "string",
- "scopes": [
- "string"
], - "token_endpoint": "string",
- "token_response_mapping": {
- "access_token_path": "string",
- "expires_in_path": "string",
- "refresh_token_path": "string",
- "scope_path": "string"
}, - "userinfo": {
- "additional_headers": {
- "property1": "string",
- "property2": "string"
}, - "endpoint_url": "string",
- "field_mapping": {
- "email_fields": [
- "string"
], - "name_fields": [
- "string"
], - "subject_fields": [
- "string"
]
}, - "http_method": "string"
}
}, - "oidc_config": {
- "additional_authorization_params": {
- "property1": "string",
- "property2": "string"
}, - "client_id": "string",
- "client_secret_env_var": "string",
- "client_secret_file": "string",
- "issuer_url": "string",
- "redirect_uri": "string",
- "scopes": [
- "string"
], - "userinfo_override": {
- "additional_headers": {
- "property1": "string",
- "property2": "string"
}, - "endpoint_url": "string",
- "field_mapping": {
- "email_fields": [
- "string"
], - "name_fields": [
- "string"
], - "subject_fields": [
- "string"
]
}, - "http_method": "string"
}
}, - "type": "oidc"
}
]
}, - "endpoint_prefix": "string",
- "env_file_dir": "string",
- "env_vars": {
- "property1": "string",
- "property2": "string"
}, - "group": "string",
- "header_forward": {
- "add_headers_from_secret": {
- "property1": "string",
- "property2": "string"
}, - "add_plaintext_headers": {
- "property1": "string",
- "property2": "string"
}
}, - "host": "string",
- "ignore_config": {
- "loadGlobal": true,
- "printOverlays": true
}, - "image": "string",
- "isolate_network": true,
- "jwks_auth_token_file": "string",
- "k8s_pod_template_patch": "string",
- "mcpserver_generation": 0,
- "middleware_configs": [
- {
- "parameters": { },
- "type": "string"
}
], - "mutating_webhooks": [
- {
- "failure_policy": "fail",
- "hmac_secret_ref": "string",
- "name": "string",
- "timeout": 0,
- "tls_config": {
- "ca_bundle_path": "string",
- "client_cert_path": "string",
- "client_key_path": "string",
- "insecure_skip_verify": true
}, - "url": "string"
}
], - "name": "string",
- "oidc_config": {
- "allowPrivateIP": true,
- "audience": "string",
- "authTokenFile": "string",
- "cacertPath": "string",
- "clientID": "string",
- "clientSecret": "string",
- "insecureAllowHTTP": true,
- "introspectionURL": "string",
- "issuer": "string",
- "jwksurl": "string",
- "resourceURL": "string",
- "scopes": [
- "string"
]
}, - "permission_profile_name_or_path": "string",
- "port": 0,
- "proxy_mode": "sse",
- "publish": [
- "string"
], - "rate_limit_config": {
- "perUser": {
- "maxTokens": 0,
- "refillPeriod": { }
}, - "shared": {
- "maxTokens": 0,
- "refillPeriod": { }
}, - "tools": [
- {
- "name": "string",
- "perUser": {
- "maxTokens": 0,
- "refillPeriod": { }
}, - "shared": {
- "maxTokens": 0,
- "refillPeriod": { }
}
}
]
}, - "rate_limit_namespace": "string",
- "registry_api_url": "string",
- "registry_server_name": "string",
- "registry_url": "string",
- "remote_auth_config": {
- "authorize_url": "string",
- "bearer_token": "string",
- "bearer_token_file": "string",
- "cached_cimd_client_id": "string",
- "cached_client_id": "string",
- "cached_client_secret_ref": "string",
- "cached_refresh_token_ref": "string",
- "cached_reg_token_ref": "string",
- "cached_secret_expiry": "string",
- "cached_token_expiry": "string",
- "callback_port": 0,
- "client_id": "string",
- "client_secret": "string",
- "client_secret_file": "string",
- "issuer": "string",
- "oauth_params": {
- "property1": "string",
- "property2": "string"
}, - "resource": "string",
- "scope_param_name": "string",
- "scopes": [
- "string"
], - "skip_browser": true,
- "timeout": "5m",
- "token_url": "string",
- "use_pkce": true
}, - "remote_url": "string",
- "runtime_config": {
- "additional_packages": [
- "string"
], - "builder_image": "string"
}, - "scaling_config": {
- "backend_replicas": 0,
- "session_redis": {
- "address": "string",
- "db": 0,
- "key_prefix": "string"
}
}, - "schema_version": "string",
- "secrets": [
- "string"
], - "session_ttl": "2h",
- "stateless": true,
- "target_host": "string",
- "target_port": 0,
- "telemetry_config": {
- "caCertPath": "string",
- "customAttributes": {
- "property1": "string",
- "property2": "string"
}, - "enablePrometheusMetricsPath": true,
- "endpoint": "string",
- "environmentVariables": [
- "string"
], - "headers": {
- "property1": "string",
- "property2": "string"
}, - "insecure": true,
- "metricsEnabled": true,
- "samplingRate": "string",
- "serviceName": "string",
- "serviceVersion": "string",
- "tracingEnabled": true,
- "useLegacyAttributes": true
}, - "thv_ca_bundle": "string",
- "token_exchange_config": {
- "audience": "string",
- "client_id": "string",
- "client_secret": "string",
- "external_token_header_name": "string",
- "header_strategy": "string",
- "scopes": [
- "string"
], - "subject_token_type": "string",
- "token_url": "string"
}, - "tools_filter": [
- "string"
], - "tools_override": {
- "property1": {
- "description": "string",
- "name": "string"
}, - "property2": {
- "description": "string",
- "name": "string"
}
}, - "transport": "stdio",
- "trust_proxy_headers": true,
- "upstream_swap_config": {
- "custom_header_name": "string",
- "header_strategy": "string",
- "provider_name": "string"
}, - "validating_webhooks": [
- {
- "failure_policy": "fail",
- "hmac_secret_ref": "string",
- "name": "string",
- "timeout": 0,
- "tls_config": {
- "ca_bundle_path": "string",
- "client_cert_path": "string",
- "client_key_path": "string",
- "insecure_skip_verify": true
}, - "url": "string"
}
], - "volumes": [
- "string"
]
}Get workload details
Get details of a specific workload
path Parameters
| name required | string Workload name |
Responses
Response samples
- 200
- 404
{- "authz_config": "string",
- "cmd_arguments": [
- "string"
], - "env_vars": {
- "property1": "string",
- "property2": "string"
}, - "group": "string",
- "header_forward": {
- "add_headers_from_secret": {
- "property1": "string",
- "property2": "string"
}, - "add_plaintext_headers": {
- "property1": "string",
- "property2": "string"
}
}, - "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "name": "string",
- "required": true,
- "secret": true
}
], - "host": "string",
- "image": "string",
- "name": "string",
- "network_isolation": true,
- "oauth_config": {
- "authorize_url": "string",
- "bearer_token": {
- "name": "string",
- "target": "string"
}, - "callback_port": 0,
- "client_id": "string",
- "client_secret": {
- "name": "string",
- "target": "string"
}, - "issuer": "string",
- "oauth_params": {
- "property1": "string",
- "property2": "string"
}, - "resource": "string",
- "scopes": [
- "string"
], - "skip_browser": true,
- "token_url": "string",
- "use_pkce": true
}, - "oidc": {
- "audience": "string",
- "client_id": "string",
- "client_secret": "string",
- "introspection_url": "string",
- "issuer": "string",
- "jwks_url": "string",
- "scopes": [
- "string"
]
}, - "permission_profile": {
- "name": "string",
- "network": {
- "inbound": {
- "allow_host": [
- "string"
]
}, - "mode": "string",
- "outbound": {
- "allow_host": [
- "string"
], - "allow_port": [
- 0
], - "insecure_allow_all": true
}
}, - "privileged": true,
- "read": [
- "string"
], - "write": [
- "string"
]
}, - "proxy_mode": "string",
- "proxy_port": 0,
- "registry": "string",
- "runtime_config": {
- "additional_packages": [
- "string"
], - "builder_image": "string"
}, - "secrets": [
- {
- "name": "string",
- "target": "string"
}
], - "server": "string",
- "target_port": 0,
- "tools": [
- "string"
], - "tools_override": {
- "property1": {
- "description": "string",
- "name": "string"
}, - "property2": {
- "description": "string",
- "name": "string"
}
}, - "transport": "string",
- "trust_proxy_headers": true,
- "url": "string",
- "volumes": [
- "string"
]
}List all workloads
Get a list of all running workloads, optionally filtered by group
query Parameters
| all | boolean List all workloads, including stopped ones |
| group | string Filter workloads by group name |
Responses
Response samples
- 200
- 404
{- "workloads": [
- {
- "created_at": "string",
- "group": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "name": "string",
- "package": "string",
- "port": 0,
- "proxy_mode": "string",
- "remote": true,
- "started_at": "string",
- "status": "running",
- "status_context": "string",
- "tools": [
- "string"
], - "transport_type": "stdio",
- "url": "string"
}
]
}Restart workloads in bulk
Restart multiple workloads by name or by group
Request Body schema: application/jsonrequired
Bulk restart request (names or group)
Responses
Request samples
- Payload
{ }Response samples
- 202
- 400
"string"Update workload
Update an existing workload configuration
path Parameters
| name required | string Workload name |
Request Body schema: application/jsonrequired
Update workload request
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 404
{- "name": "string",
- "port": 0
}