-
Notifications
You must be signed in to change notification settings - Fork 0
feat(client): list_orders id[] batch fetch #32
Copy link
Copy link
Open
Labels
area/clientTouches statuspro_public_api_client/Touches statuspro_public_api_client/area/mcpTouches statuspro_mcp_server/ onlyTouches statuspro_mcp_server/ onlyarea/specTouches docs/statuspro-openapi.yamlTouches docs/statuspro-openapi.yamlpriority/p0Blocks reconciliation workflow todayBlocks reconciliation workflow todaytheme/tool-surface-redesignMCP tool surface redesign initiativeMCP tool surface redesign initiative
Metadata
Metadata
Assignees
Labels
area/clientTouches statuspro_public_api_client/Touches statuspro_public_api_client/area/mcpTouches statuspro_mcp_server/ onlyTouches statuspro_mcp_server/ onlyarea/specTouches docs/statuspro-openapi.yamlTouches docs/statuspro-openapi.yamlpriority/p0Blocks reconciliation workflow todayBlocks reconciliation workflow todaytheme/tool-surface-redesignMCP tool surface redesign initiativeMCP tool surface redesign initiative
Problem
After
list_ordersreturns N order ids, fetching full detail today requires N separateget_ordercalls. For a 30-order reconciliation pass, that's 30 round-trips where one batch call should suffice.Reconciliation against external systems (e.g. Katana) is the driving workflow — see epic #31.
Proposed shape
Returns the wrapped list response (same shape as a normal
list_orderspage), but containing exactly the requested orders.The actual parameter shape (
id[]=,ids=1,2,3, etc.) depends on what the server supports — see #30.Acceptance
id[]query parameter toGET /orders(or whichever shape the server accepts)list_orders.asyncio_detailedaccepts the new parameterOrders.list(id_in=[1, 2, 3])helper added (kwarg name negotiable)list_orderstool surfaces the new filterstatuspro_mcp_server/.../resources/help.py) updatedDepends on
Tracking
Part of epic #31, Tier 1.