Skip to content

feat(client): list_orders customer_email exact-match filter #37

@dougborg

Description

@dougborg

Problem

list_orders(search=…) is fuzzy across order number, name, customer name, and customer email — useful for "I have an order #" lookups but bad for "find every order belonging to customer X." A customer's full set requires either a too-broad search=email@example.com (also matches order numbers that happen to contain that string) or paginating everything and filtering client-side.

Reconciliation flows that key off external customer records benefit from exact-match.

Proposed shape

```
GET /orders?customer_email=foo@example.com
```

Exact match (case-insensitive). No partial matching — that's what search is for.

Acceptance

  • Spec adds customer_email query parameter
  • Generated client + helper kwarg + MCP tool
  • Test verifying exact match (and that an order with email "foo@bar.com" doesn't return for customer_email=foo)
  • Help resource updated

Depends on

Tracking

Part of epic #31, Tier 2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/clientTouches statuspro_public_api_client/area/mcpTouches statuspro_mcp_server/ onlyarea/specTouches docs/statuspro-openapi.yamlpriority/p1Workflow polish, ships after P0theme/tool-surface-redesignMCP tool surface redesign initiative

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions