elaichi__toolbox__get
Resolve one toolbox: its own record plus, when the caller’s access reaches "use", exactly what it can execute right now after overrides, restrictions and delegation are applied. Returns a NESTED object — { toolbox: { id, name, description, … }, entries: [...], access, delegation, tools?: [{ name, description, input_schema, … }] } — so the name is result.toolbox.name, never result.name. Entries pinned to a connection carry delegated_by_user_id (whose "use" grant the pin rides on) and, when resolvable, unmet/tool_available/delegation_ok/connection_status. delegation is the bounded summary of what this toolbox RUNS ON — answer "what does it run on?" from it rather than by counting entries[].connection_id, which misses every synthetic entry, since those pin nothing of their own and their tool’s steps hold the connections. tools is present only when access reaches "use" — a view-only grantee sees WHAT is configured, not the resolved, runnable surface. Errors when the id is unknown or the caller cannot see it — visible meaning owned by them, shared with them or one of their teams, or shared org-wide, and ONLY that: toolbox:view/:manage does not widen it, there is no visibility parameter here or on GET /toolbox/:id, and an admin auditing the organization reads nothing they were not given. Call this before toolbox.execute to get the exact tool_name and its argument schema — tool names are provider-specific and must not be guessed — and before toolbox.set_entries, which replaces entries wholesale.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Toolbox id from toolbox.list — a stored id (`tbx_…`), or a dynamic id (`global:usr_…` for everything the caller can run, `connection:conn_…` for one account). |