Skip to main content

What Changed

Order responses no longer carry the shopper’s identity. GET /v1/orders and the find_orders MCP tool return order summaries only — no customerEmail, no customerName, and no stripePaymentIntentId. GET /v1/orders/{orderId} and get_order keep a masked contact address (j••••@example.com) so a repeat customer is still recognizable, and drop the name and payment identifier. Payment events in an order’s history lose stripePaymentIntentId and stripeChargeId for the same reason. Amounts, currencies, and decline reasons are unchanged, so the history still explains what happened to a payment. These identifiers belong to the merchant’s customers rather than to the API caller, and a listing that answers “how many orders were unpaid last week?” does not need them. Returning them by default put third-party personal data into every integration that touched the endpoint.

Migration

This change applies to every version, not only to 2026-09-08: requests pinned to 2026-08-21 and 2026-08-07 also stop receiving these fields. A version that still served shopper identifiers would defeat the purpose of removing them, so there is no opt-out. To find a specific customer’s orders, pass their address as the customerEmail query parameter on GET /v1/orders. Filtering on an address you already hold still works and is unaffected by this change.