Skip to main content

What Changed

Publish only some pages

POST /v1/sites/{siteId}/publish and the publish_site MCP tool accept an optional JSON body with promoteRoutes, a list of site routes (pages like /about, or content entries like /blog/my-post) whose unpublished changes should go live. Omit the body or the field to publish every page and entry with changes, as before. Pass an empty list to publish only site-wide changes and leave every page and entry draft untouched. Routes must start with /; a route the site does not have fails the publish. Requests pinned to 2026-08-21 or 2026-08-07 do not accept a body on this endpoint. Move to 2026-09-08 to use promoteRoutes.

Order responses drop shopper identity

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.