Get subscription
orb_get_subscriptionFetch a single subscription by id. Orb API: GET /subscriptions/{subscription_id}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| subscription_id | Yes | Orb subscription id. |
orb_get_subscriptionFetch a single subscription by id. Orb API: GET /subscriptions/{subscription_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| subscription_id | Yes | Orb subscription id. |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already communicates this is a non-destructive read. The description adds the concrete API method and path, which helps an agent understand the exact underlying request. It does not cover error cases or response shape, but for a simple GET-by-id operation this is not a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences carry exactly the needed information: what the tool does and which API call it maps to. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only fetch, the description plus schema is sufficient for an agent to invoke the tool correctly. There is no output schema, but 'Fetch a single subscription' implies the returned resource; explicit return-field documentation would be nice but is not essential here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the only parameter, subscription_id, is clearly documented as 'Orb subscription id.' The description's reference to '{subscription_id}' in the API path reiterates this without adding substantial new semantic detail, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Fetch a single subscription by id', which clearly distinguishes it from orb_list_subscriptions. The explicit API endpoint 'GET /subscriptions/{subscription_id}' further reinforces the exact operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates this is for fetching one subscription by its id, giving enough context to choose it over listing all subscriptions. It does not explicitly name alternatives or when not to use it, but the singular-by-id framing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Every tool name clearly specifies a distinct action and resource (e.g., list_subscriptions vs get_subscription). There is no ambiguity between tools as each targets a unique combination of verb and noun.
All tool names follow a consistent pattern: 'orb_<verb>_<resource>' in snake_case. This makes them predictable and easy to distinguish.
With 26 tools, the set covers many resources and operations for a billing platform. While slightly above typical range, each tool justifies its existence given the domain complexity.
The tool surface provides extensive read capabilities and basic customer CRUD, but lacks create/update/delete for most other resources (e.g., subscriptions, invoices) and missing operations like void or cancel. This creates notable gaps for full lifecycle management.