Get payment order
modern_treasury_get_payment_orderGet a single payment order by id (READ ONLY). API: GET /payment_orders/{id}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Payment order id. |
modern_treasury_get_payment_orderGet a single payment order by id (READ ONLY). API: GET /payment_orders/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Payment order id. |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description reinforces 'READ ONLY' and adds the API endpoint for clarity. No other behavioral traits needed for a simple get operation.
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 sentences, zero waste, front-loaded with key information. Every sentence adds value.
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 simple get-by-id tool with one parameter, no output schema, and good annotations, the description is complete. It covers purpose, usage, and safety.
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 has 100% coverage with description 'Payment order id.' The description adds 'by id' context but no further semantics beyond what the schema provides. Baseline score 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?
The description uses specific verb 'Get', resource 'payment order', and scope 'single...by id'. It clearly distinguishes from sibling 'list_payment_orders' and adds 'READ ONLY' and the API endpoint.
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?
Clear context for use: retrieving a single payment order by id. No explicit when-not-to-use, but sibling naming implies alternates for listing. Lacks explicit exclusion conditions.
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.
Each tool targets a distinct resource (counterparty, ledger account, payment order, etc.) with clear actions (create, get, list, ping). There is no ambiguity between tools.
All tools follow a consistent 'modern_treasury_verb_singular_or_plural_resource' pattern in snake_case. The naming is uniform and predictable.
17 tools cover multiple financial entities and operations, which is reasonable for a treasury API. It's on the higher end but not excessive given the domain.
The tool set is heavily read-only, with only one create operation (counterparty). Missing create/update/delete for payment orders, ledger transactions, and other core actions, which severely limits functionality for a treasury system.