read.shipping_options
Eligible shipping options (price + delivery window) for a cart, or an explicit package, to a destination postal_code. With a cart_id the destination may be left out: the cart’s own delivery address is used, then the postal code the shopper typed on the product page, then the recognized customer’s default address. An empty options with a reason means NOTHING WAS QUOTED (unknown cart / no destination anywhere / unknown sku) — only an empty one WITHOUT a reason means this store does not deliver there. Asked about a CART, every option is priced against the promotions and carries promotional_price (what this delivery is charged, promotions included) beside promotion_discount — so a list can strike a free delivery through before the shopper selects anything. Both are absent on the sku/package door, which has no cart to price: absent means nobody asked, never that nothing applies.
- Surface:
GET /v1/read/shipping_options· CLIforge read shipping_options· MCP toolread.shipping_options - Auth: public (no actor;
storeresolves the tenant)
Params (JSON Schema)
Section titled “Params (JSON Schema)”{ "properties": { "cart_id": { "minLength": 1, "type": "string" }, "height_cm": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "length_cm": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "postal_code": { "minLength": 1, "type": "string" }, "qty": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "sku_id": { "minLength": 1, "type": "string" }, "store": { "minLength": 1, "type": "string" }, "subtotal": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "weight_grams": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "width_cm": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "store" ], "type": "object"}Result (200)
Section titled “Result (200)”Open (unknown) — this capability does not declare an output schema.
Errors
Section titled “Errors”invalid_params (400) · not_found (404)