openapi: 3.1.0 info: title: WooCommerce Store API description: >- The WooCommerce Store API provides unauthenticated public REST endpoints for building customer-facing cart, checkout, and product functionality. Unlike the authenticated REST API, it is designed for frontend integrations and does not expose sensitive store data or other customers' information. The API is accessible under the /wp-json/wc/store/v1/ namespace and covers products, product categories, attributes, tags, brands, reviews, cart operations, checkout, and current customer orders. It uses cookie-based sessions to scope cart and checkout state to the active shopper. Write operations (cart mutations, checkout) require a nonce token obtained from the cart response and passed as the Nonce header. version: 'v1' contact: name: WooCommerce Developer Support url: https://developer.woocommerce.com/docs/apis/store-api/ termsOfService: https://woocommerce.com/terms-conditions/ externalDocs: description: WooCommerce Store API Documentation url: https://developer.woocommerce.com/docs/apis/store-api/ servers: - url: https://example.com/wp-json/wc/store/v1 description: Production Server (replace example.com with your store domain) tags: - name: Products description: Browse products available in the store catalog - name: Product Categories description: Retrieve product categories for navigation and filtering - name: Product Attributes description: Retrieve global product attributes and their terms for filtering - name: Product Tags description: Retrieve product tags for filtering - name: Product Reviews description: Retrieve customer reviews on products - name: Cart description: Manage the current shopper's cart session including items, coupons, and shipping - name: Checkout description: Submit and manage the checkout process for the current shopper - name: Orders description: Retrieve orders belonging to the currently authenticated customer paths: /products: get: operationId: listStoreProducts summary: WooCommerce List Products description: >- Returns a paginated list of published products available for purchase. Supports filtering by category, tag, attribute, price range, on-sale status, featured status, and keyword search. This endpoint is public and requires no authentication. tags: - Products parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/search' - name: category in: query description: Filter products by category slug. required: false schema: type: string example: string-value - name: tag in: query description: Filter products by tag slug. required: false schema: type: string example: string-value - name: on_sale in: query description: Return only on-sale products when true. required: false schema: type: boolean example: true - name: featured in: query description: Return only featured products when true. required: false schema: type: boolean example: true - name: min_price in: query description: Minimum product price filter. required: false schema: type: string example: string-value - name: max_price in: query description: Maximum product price filter. required: false schema: type: string example: string-value - name: stock_status in: query description: "Filter by stock status. Options: instock, outofstock, onbackorder." required: false schema: type: string enum: [instock, outofstock, onbackorder] example: instock - name: orderby in: query description: >- Sort products by field. Options: date, id, include, title, slug, price, popularity, rating, menu_order. required: false schema: type: string example: string-value - name: order in: query description: "Sort direction. Options: asc, desc." required: false schema: type: string enum: [asc, desc] example: asc responses: '200': description: Paginated list of store products content: application/json: schema: type: array items: $ref: '#/components/schemas/StoreProduct' examples: listStoreProducts200Example: summary: Default listStoreProducts 200 response x-microcks-default: true value: - id: 1 name: Example Name slug: string-value parent: 1 type: standard variation: string-value permalink: https://example.com/path sku: string-value short_description: A sample description description: A sample description on_sale: true prices: price: {} regular_price: {} sale_price: {} price_range: {} currency_code: {} currency_symbol: {} currency_decimal_separator: {} currency_thousand_separator: {} currency_prefix: {} currency_suffix: {} purchasable: true images: &id001 - string-value categories: &id002 - id: 1 name: Example Name slug: string-value link: https://example.com/path tags: &id003 - id: 1 name: Example Name slug: string-value link: https://example.com/path attributes: &id004 - id: 1 name: Example Name taxonomy: string-value has_variations: true terms: - id: {} name: {} slug: {} average_rating: string-value review_count: 1 is_in_stock: true low_stock_remaining: 1 sold_individually: true add_to_cart: &id005 text: string-value description: A sample description url: https://example.com/path x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/{id}: get: operationId: getStoreProduct summary: WooCommerce Retrieve a Product description: >- Returns a single published product by its numeric ID. Includes pricing, stock status, images, categories, tags, and available variations for variable products. Public endpoint requiring no authentication. tags: - Products parameters: - $ref: '#/components/parameters/id' responses: '200': description: Store product details content: application/json: schema: $ref: '#/components/schemas/StoreProduct' examples: getStoreProduct200Example: summary: Default getStoreProduct 200 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value parent: 1 type: standard variation: string-value permalink: https://example.com/path sku: string-value short_description: A sample description description: A sample description on_sale: true prices: price: string-value regular_price: string-value sale_price: string-value price_range: &id015 min_amount: string-value max_amount: string-value currency_code: string-value currency_symbol: string-value currency_decimal_separator: string-value currency_thousand_separator: string-value currency_prefix: string-value currency_suffix: string-value purchasable: true images: *id001 categories: *id002 tags: *id003 attributes: *id004 average_rating: string-value review_count: 1 is_in_stock: true low_stock_remaining: 1 sold_individually: true add_to_cart: *id005 '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/collection-data: get: operationId: getProductCollectionData summary: WooCommerce Get Product Collection Data description: >- Returns aggregate data about a product collection including price ranges, attribute counts, and category counts. Used to populate filter widgets on shop and category archive pages without fetching full product records. tags: - Products parameters: - name: calculate_price_range in: query description: Whether to calculate and return the min/max price range. required: false schema: type: boolean example: true - name: calculate_attribute_counts in: query description: >- Comma-separated list of attribute slugs to count active terms for filter UIs. required: false schema: type: string example: string-value - name: calculate_rating_counts in: query description: Whether to calculate and return review rating counts. required: false schema: type: boolean example: true responses: '200': description: Product collection aggregate data content: application/json: schema: $ref: '#/components/schemas/ProductCollectionData' examples: getProductCollectionData200Example: summary: Default getProductCollectionData 200 response x-microcks-default: true value: price_range: &id019 min_price: string-value max_price: string-value attribute_counts: &id020 - term: 1 count: 1 rating_counts: &id021 - rating: 1 count: 1 x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/categories: get: operationId: listStoreProductCategories summary: WooCommerce List Product Categories description: >- Returns all product categories for storefront navigation and filtering. Only categories containing visible products are returned by default. Public endpoint requiring no authentication. tags: - Product Categories parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - name: hide_empty in: query description: Hide categories with no visible products. required: false schema: type: boolean default: true example: true - name: parent in: query description: Limit to children of a specific category ID. required: false schema: type: integer example: 1 responses: '200': description: List of product categories content: application/json: schema: type: array items: $ref: '#/components/schemas/StoreProductCategory' examples: listStoreProductCategories200Example: summary: Default listStoreProductCategories 200 response x-microcks-default: true value: - id: 1 name: Example Name slug: string-value description: A sample description parent: 1 count: 1 link: https://example.com/path image: id: {} src: {} thumbnail: {} srcset: {} sizes: {} name: {} alt: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/attributes: get: operationId: listStoreProductAttributes summary: WooCommerce List Product Attributes description: >- Returns all global product attributes registered in the store. Used to build attribute-based filters and variation selectors on the storefront. tags: - Product Attributes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' responses: '200': description: List of product attributes content: application/json: schema: type: array items: $ref: '#/components/schemas/StoreProductAttribute' examples: listStoreProductAttributes200Example: summary: Default listStoreProductAttributes 200 response x-microcks-default: true value: - id: 1 name: Example Name taxonomy: string-value has_archives: true order: string-value count: 1 x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/attributes/{id}: get: operationId: getStoreProductAttribute summary: WooCommerce Retrieve a Product Attribute description: Returns a single product attribute by its numeric ID. tags: - Product Attributes parameters: - $ref: '#/components/parameters/id' responses: '200': description: Product attribute details content: application/json: schema: $ref: '#/components/schemas/StoreProductAttribute' examples: getStoreProductAttribute200Example: summary: Default getStoreProductAttribute 200 response x-microcks-default: true value: id: 1 name: Example Name taxonomy: string-value has_archives: true order: string-value count: 1 '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/attributes/{id}/terms: get: operationId: listStoreProductAttributeTerms summary: WooCommerce List Product Attribute Terms description: >- Returns all terms (options) for a specific product attribute. Used to populate attribute-based filter dropdowns and swatches on the storefront. tags: - Product Attributes parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' responses: '200': description: List of attribute terms content: application/json: schema: type: array items: $ref: '#/components/schemas/AttributeTerm' examples: listStoreProductAttributeTerms200Example: summary: Default listStoreProductAttributeTerms 200 response x-microcks-default: true value: - id: 1 name: Example Name slug: string-value description: A sample description count: 1 '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/brands: get: operationId: listStoreProductBrands summary: WooCommerce List Product Brands description: >- Returns all product brands registered in the store. Brand support requires WooCommerce Brands or a compatible extension. tags: - Product Attributes parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' responses: '200': description: List of product brands content: application/json: schema: type: array items: $ref: '#/components/schemas/StoreBrand' examples: listStoreProductBrands200Example: summary: Default listStoreProductBrands 200 response x-microcks-default: true value: - id: 1 name: Example Name slug: string-value description: A sample description image: id: {} src: {} thumbnail: {} srcset: {} sizes: {} name: {} alt: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/tags: get: operationId: listStoreProductTags summary: WooCommerce List Product Tags description: Returns all product tags used in the store catalog. tags: - Product Tags parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' responses: '200': description: List of product tags content: application/json: schema: type: array items: $ref: '#/components/schemas/StoreProductTag' examples: listStoreProductTags200Example: summary: Default listStoreProductTags 200 response x-microcks-default: true value: - id: 1 name: Example Name slug: string-value description: A sample description count: 1 link: https://example.com/path x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/reviews: get: operationId: listStoreProductReviews summary: WooCommerce List Product Reviews description: >- Returns published product reviews. Can be filtered by product ID and star rating. Public endpoint requiring no authentication. tags: - Product Reviews parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - name: product_id in: query description: Filter reviews by product ID. required: false schema: type: integer example: 1 - name: rating in: query description: Filter reviews by star rating (1-5). required: false schema: type: integer minimum: 1 maximum: 5 example: 1 responses: '200': description: List of product reviews content: application/json: schema: type: array items: $ref: '#/components/schemas/StoreReview' examples: listStoreProductReviews200Example: summary: Default listStoreProductReviews 200 response x-microcks-default: true value: - id: 1 date_created: '2026-05-03T14:30:00Z' product_id: 1 reviewer: string-value review: string-value rating: 1 verified: true x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart: get: operationId: getCart summary: WooCommerce Get the Current Cart description: >- Returns the current customer's cart contents including items, coupons, fees, totals, and available shipping rates. The response also includes a nonce token in the X-WC-Store-API-Nonce header (and body) required for write operations. tags: - Cart responses: '200': description: Cart contents and totals content: application/json: schema: $ref: '#/components/schemas/Cart' examples: getCart200Example: summary: Default getCart 200 response x-microcks-default: true value: items: &id006 - string-value coupons: &id007 - code: string-value discount_type: standard totals: {} fees: &id008 - id: '500123' name: Example Name totals: {} totals: total_items: string-value total_items_tax: string-value total_fees: string-value total_fees_tax: string-value total_discount: string-value total_discount_tax: string-value total_shipping: string-value total_shipping_tax: string-value total_price: string-value total_tax: string-value tax_lines: &id009 - name: Example Name price: string-value rate: string-value shipping_rates: &id010 - string-value billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value has_calculated_shipping: true needs_payment: true needs_shipping: true items_count: 1 items_weight: 10.5 cross_sells: &id011 - string-value errors: &id012 - code: string-value message: string-value x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/add-item: post: operationId: addCartItem summary: WooCommerce Add an Item to the Cart description: >- Adds a product or variation to the cart. Requires a product_id, an optional variation_id, and quantity. Custom item data can be passed via the item_data array. Requires the Nonce header from a prior cart GET. tags: - Cart parameters: - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddCartItemInput' responses: '200': description: Updated cart after adding item content: application/json: schema: $ref: '#/components/schemas/Cart' examples: addCartItem200Example: summary: Default addCartItem 200 response x-microcks-default: true value: items: *id006 coupons: *id007 fees: *id008 totals: total_items: string-value total_items_tax: string-value total_fees: string-value total_fees_tax: string-value total_discount: string-value total_discount_tax: string-value total_shipping: string-value total_shipping_tax: string-value total_price: string-value total_tax: string-value tax_lines: *id009 shipping_rates: *id010 billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value has_calculated_shipping: true needs_payment: true needs_shipping: true items_count: 1 items_weight: 10.5 cross_sells: *id011 errors: *id012 '400': $ref: '#/components/responses/BadRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/remove-item: post: operationId: removeCartItem summary: WooCommerce Remove an Item from the Cart description: >- Removes a cart item identified by its unique cart item key. Requires the Nonce header. tags: - Cart parameters: - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: type: object required: - key properties: key: type: string description: The unique cart item key to remove. responses: '200': description: Updated cart after removing item content: application/json: schema: $ref: '#/components/schemas/Cart' examples: removeCartItem200Example: summary: Default removeCartItem 200 response x-microcks-default: true value: items: *id006 coupons: *id007 fees: *id008 totals: total_items: string-value total_items_tax: string-value total_fees: string-value total_fees_tax: string-value total_discount: string-value total_discount_tax: string-value total_shipping: string-value total_shipping_tax: string-value total_price: string-value total_tax: string-value tax_lines: *id009 shipping_rates: *id010 billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value has_calculated_shipping: true needs_payment: true needs_shipping: true items_count: 1 items_weight: 10.5 cross_sells: *id011 errors: *id012 '400': $ref: '#/components/responses/BadRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/update-item: post: operationId: updateCartItem summary: WooCommerce Update a Cart Item Quantity description: >- Updates the quantity of a cart item identified by its key. Set quantity to 0 to remove the item. Requires the Nonce header. tags: - Cart parameters: - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: type: object required: - key - quantity properties: key: type: string description: Cart item key to update. quantity: type: integer description: New quantity. Set to 0 to remove the item. minimum: 0 responses: '200': description: Updated cart content: application/json: schema: $ref: '#/components/schemas/Cart' examples: updateCartItem200Example: summary: Default updateCartItem 200 response x-microcks-default: true value: items: *id006 coupons: *id007 fees: *id008 totals: total_items: string-value total_items_tax: string-value total_fees: string-value total_fees_tax: string-value total_discount: string-value total_discount_tax: string-value total_shipping: string-value total_shipping_tax: string-value total_price: string-value total_tax: string-value tax_lines: *id009 shipping_rates: *id010 billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value has_calculated_shipping: true needs_payment: true needs_shipping: true items_count: 1 items_weight: 10.5 cross_sells: *id011 errors: *id012 '400': $ref: '#/components/responses/BadRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/apply-coupon: post: operationId: applyCartCoupon summary: WooCommerce Apply a Coupon to the Cart description: >- Applies a coupon code to the current cart session. Returns an error if the coupon is invalid, expired, or does not meet usage conditions. Requires the Nonce header. tags: - Cart parameters: - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: type: object required: - code properties: code: type: string description: Coupon code to apply to the cart. responses: '200': description: Updated cart with coupon applied content: application/json: schema: $ref: '#/components/schemas/Cart' examples: applyCartCoupon200Example: summary: Default applyCartCoupon 200 response x-microcks-default: true value: items: *id006 coupons: *id007 fees: *id008 totals: total_items: string-value total_items_tax: string-value total_fees: string-value total_fees_tax: string-value total_discount: string-value total_discount_tax: string-value total_shipping: string-value total_shipping_tax: string-value total_price: string-value total_tax: string-value tax_lines: *id009 shipping_rates: *id010 billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value has_calculated_shipping: true needs_payment: true needs_shipping: true items_count: 1 items_weight: 10.5 cross_sells: *id011 errors: *id012 '400': $ref: '#/components/responses/BadRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/remove-coupon: post: operationId: removeCartCoupon summary: WooCommerce Remove a Coupon from the Cart description: >- Removes a previously applied coupon code from the cart. Requires the Nonce header. tags: - Cart parameters: - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: type: object required: - code properties: code: type: string description: Coupon code to remove from the cart. responses: '200': description: Updated cart with coupon removed content: application/json: schema: $ref: '#/components/schemas/Cart' examples: removeCartCoupon200Example: summary: Default removeCartCoupon 200 response x-microcks-default: true value: items: *id006 coupons: *id007 fees: *id008 totals: total_items: string-value total_items_tax: string-value total_fees: string-value total_fees_tax: string-value total_discount: string-value total_discount_tax: string-value total_shipping: string-value total_shipping_tax: string-value total_price: string-value total_tax: string-value tax_lines: *id009 shipping_rates: *id010 billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value has_calculated_shipping: true needs_payment: true needs_shipping: true items_count: 1 items_weight: 10.5 cross_sells: *id011 errors: *id012 '400': $ref: '#/components/responses/BadRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/update-customer: post: operationId: updateCartCustomer summary: WooCommerce Update Cart Customer Data description: >- Updates billing and/or shipping address information for the current cart session. Used to recalculate shipping rates and taxes based on the customer's location. Requires the Nonce header. tags: - Cart parameters: - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CartCustomerInput' responses: '200': description: Updated cart with recalculated rates content: application/json: schema: $ref: '#/components/schemas/Cart' examples: updateCartCustomer200Example: summary: Default updateCartCustomer 200 response x-microcks-default: true value: items: *id006 coupons: *id007 fees: *id008 totals: total_items: string-value total_items_tax: string-value total_fees: string-value total_fees_tax: string-value total_discount: string-value total_discount_tax: string-value total_shipping: string-value total_shipping_tax: string-value total_price: string-value total_tax: string-value tax_lines: *id009 shipping_rates: *id010 billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value has_calculated_shipping: true needs_payment: true needs_shipping: true items_count: 1 items_weight: 10.5 cross_sells: *id011 errors: *id012 '400': $ref: '#/components/responses/BadRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/select-shipping-rate: post: operationId: selectCartShippingRate summary: WooCommerce Select a Shipping Rate for the Cart description: >- Selects a specific shipping rate from those available for the customer's shipping address. Requires the Nonce header. tags: - Cart parameters: - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: type: object required: - package_id - rate_id properties: package_id: type: integer description: The shipping package index to update. rate_id: type: string description: The ID of the shipping rate to select. responses: '200': description: Updated cart with selected shipping rate content: application/json: schema: $ref: '#/components/schemas/Cart' examples: selectCartShippingRate200Example: summary: Default selectCartShippingRate 200 response x-microcks-default: true value: items: *id006 coupons: *id007 fees: *id008 totals: total_items: string-value total_items_tax: string-value total_fees: string-value total_fees_tax: string-value total_discount: string-value total_discount_tax: string-value total_shipping: string-value total_shipping_tax: string-value total_price: string-value total_tax: string-value tax_lines: *id009 shipping_rates: *id010 billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value has_calculated_shipping: true needs_payment: true needs_shipping: true items_count: 1 items_weight: 10.5 cross_sells: *id011 errors: *id012 '400': $ref: '#/components/responses/BadRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/items: get: operationId: listCartItems summary: WooCommerce List Cart Items description: Returns a list of all items currently in the cart session. tags: - Cart responses: '200': description: List of cart items content: application/json: schema: type: array items: $ref: '#/components/schemas/CartItem' examples: listCartItems200Example: summary: Default listCartItems 200 response x-microcks-default: true value: - key: string-value id: 1 quantity: 1 variation_id: 1 item_data: &id013 - name: Example Name value: string-value display: string-value prices: price: {} regular_price: {} sale_price: {} price_range: {} currency_code: {} currency_symbol: {} currency_decimal_separator: {} currency_thousand_separator: {} currency_prefix: {} currency_suffix: {} name: Example Name short_description: A sample description images: &id014 - string-value low_stock_remaining: 1 sold_individually: true x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: clearCartItems summary: WooCommerce Clear All Cart Items description: Removes all items from the current cart. Requires the Nonce header. tags: - Cart parameters: - $ref: '#/components/parameters/nonce' responses: '200': description: Empty cart after clearing content: application/json: schema: type: array items: $ref: '#/components/schemas/CartItem' examples: clearCartItems200Example: summary: Default clearCartItems 200 response x-microcks-default: true value: - key: string-value id: 1 quantity: 1 variation_id: 1 item_data: *id013 prices: price: {} regular_price: {} sale_price: {} price_range: {} currency_code: {} currency_symbol: {} currency_decimal_separator: {} currency_thousand_separator: {} currency_prefix: {} currency_suffix: {} name: Example Name short_description: A sample description images: *id014 low_stock_remaining: 1 sold_individually: true x-microcks-operation: delay: 0 dispatcher: FALLBACK /cart/items/{key}: get: operationId: getCartItem summary: WooCommerce Get a Cart Item description: Returns a single cart item by its unique key. tags: - Cart parameters: - $ref: '#/components/parameters/key' responses: '200': description: Cart item details content: application/json: schema: $ref: '#/components/schemas/CartItem' examples: getCartItem200Example: summary: Default getCartItem 200 response x-microcks-default: true value: key: string-value id: 1 quantity: 1 variation_id: 1 item_data: *id013 prices: price: string-value regular_price: string-value sale_price: string-value price_range: *id015 currency_code: string-value currency_symbol: string-value currency_decimal_separator: string-value currency_thousand_separator: string-value currency_prefix: string-value currency_suffix: string-value name: Example Name short_description: A sample description images: *id014 low_stock_remaining: 1 sold_individually: true '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateCartItemByKey summary: WooCommerce Update a Cart Item by Key description: Updates the quantity or data of a specific cart item. tags: - Cart parameters: - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: type: object properties: quantity: type: integer description: Updated quantity for the cart item. minimum: 1 responses: '200': description: Updated cart item content: application/json: schema: $ref: '#/components/schemas/CartItem' examples: updateCartItemByKey200Example: summary: Default updateCartItemByKey 200 response x-microcks-default: true value: key: string-value id: 1 quantity: 1 variation_id: 1 item_data: *id013 prices: price: string-value regular_price: string-value sale_price: string-value price_range: *id015 currency_code: string-value currency_symbol: string-value currency_decimal_separator: string-value currency_thousand_separator: string-value currency_prefix: string-value currency_suffix: string-value name: Example Name short_description: A sample description images: *id014 low_stock_remaining: 1 sold_individually: true '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteCartItem summary: WooCommerce Delete a Cart Item by Key description: Removes a single cart item identified by its key. tags: - Cart parameters: - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/nonce' responses: '200': description: Cart item deleted content: application/json: schema: $ref: '#/components/schemas/CartItem' examples: deleteCartItem200Example: summary: Default deleteCartItem 200 response x-microcks-default: true value: key: string-value id: 1 quantity: 1 variation_id: 1 item_data: *id013 prices: price: string-value regular_price: string-value sale_price: string-value price_range: *id015 currency_code: string-value currency_symbol: string-value currency_decimal_separator: string-value currency_thousand_separator: string-value currency_prefix: string-value currency_suffix: string-value name: Example Name short_description: A sample description images: *id014 low_stock_remaining: 1 sold_individually: true '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /checkout: get: operationId: getCheckout summary: WooCommerce Get Checkout Data description: >- Returns the current checkout state including the cart contents, available payment methods, and pre-filled billing and shipping fields from the customer's account. tags: - Checkout responses: '200': description: Checkout data content: application/json: schema: $ref: '#/components/schemas/Checkout' examples: getCheckout200Example: summary: Default getCheckout 200 response x-microcks-default: true value: order_id: 1 billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value payment_methods: &id018 - id: '500123' title: Example Name description: A sample description x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: processCheckout summary: WooCommerce Process Checkout and Place Order description: >- Submits the checkout form to create an order and process payment. Requires billing address, payment method, and optional shipping data. Requires the Nonce header. Returns the created order on success or redirects to the payment gateway for hosted gateways. tags: - Checkout parameters: - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CheckoutInput' responses: '200': description: Order created and payment initiated content: application/json: schema: $ref: '#/components/schemas/CheckoutOrder' examples: processCheckout200Example: summary: Default processCheckout 200 response x-microcks-default: true value: id: 1 status: active order_key: string-value order_number: string-value customer_note: string-value billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value payment_method: string-value payment_result: &id016 payment_status: active payment_details: - {} redirect_url: https://example.com/path '400': $ref: '#/components/responses/BadRequest' '402': description: Payment required or payment processing failed. content: application/json: schema: $ref: '#/components/schemas/Error' examples: processCheckout402Example: summary: Default processCheckout 402 response x-microcks-default: true value: code: string-value message: string-value data: &id017 status: 1 x-microcks-operation: delay: 0 dispatcher: FALLBACK /checkout/{id}: get: operationId: getCheckoutOrder summary: WooCommerce Get a Checkout Order description: >- Returns an order placed via checkout identified by its numeric ID. Only accessible for the order owner or a store administrator. tags: - Checkout parameters: - $ref: '#/components/parameters/id' responses: '200': description: Checkout order details content: application/json: schema: $ref: '#/components/schemas/CheckoutOrder' examples: getCheckoutOrder200Example: summary: Default getCheckoutOrder 200 response x-microcks-default: true value: id: 1 status: active order_key: string-value order_number: string-value customer_note: string-value billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value payment_method: string-value payment_result: *id016 '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateCheckoutOrder summary: WooCommerce Update a Pending Checkout Order description: >- Updates billing, shipping, or payment method on a pending order before payment is confirmed. Requires the Nonce header. tags: - Checkout parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/nonce' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CheckoutInput' responses: '200': description: Updated checkout order content: application/json: schema: $ref: '#/components/schemas/CheckoutOrder' examples: updateCheckoutOrder200Example: summary: Default updateCheckoutOrder 200 response x-microcks-default: true value: id: 1 status: active order_key: string-value order_number: string-value customer_note: string-value billing_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping_address: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value payment_method: string-value payment_result: *id016 '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /order/{id}: get: operationId: getStoreOrder summary: WooCommerce Retrieve a Customer Order description: >- Returns a single order by ID. Only returns orders belonging to the currently authenticated customer. Used for order confirmation and account order history pages. tags: - Orders parameters: - $ref: '#/components/parameters/id' responses: '200': description: Customer order details content: application/json: schema: $ref: '#/components/schemas/StoreOrder' examples: getStoreOrder200Example: summary: Default getStoreOrder 200 response x-microcks-default: true value: id: 1 number: string-value status: active date_created: '2026-05-03T14:30:00Z' total: string-value billing: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value shipping: first_name: Example Name last_name: Example Name company: string-value address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value email: user@example.com phone: string-value items: &id022 - id: 1 name: Example Name quantity: 1 total: string-value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: id: name: id in: path description: Unique identifier for the resource. required: true schema: type: integer key: name: key in: path description: Unique cart item key. required: true schema: type: string page: name: page in: query description: Current page of the collection. required: false schema: type: integer minimum: 1 default: 1 per_page: name: per_page in: query description: Maximum number of items per page (maximum 100). required: false schema: type: integer minimum: 1 maximum: 100 default: 10 search: name: search in: query description: Search term to filter results. required: false schema: type: string nonce: name: Nonce in: header description: >- Store API nonce token obtained from the X-WC-Store-API-Nonce response header of a prior cart GET request. Required for all cart and checkout write operations to prevent CSRF. required: true schema: type: string responses: Unauthorized: description: The customer must be logged in to access this resource. content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: The request contains invalid or missing parameters. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Error: type: object description: Error response returned when a request fails. properties: code: type: string description: Machine-readable error code. example: string-value message: type: string description: Human-readable error message. example: string-value data: type: object description: Additional context including HTTP status. properties: status: type: integer description: HTTP status code. example: *id017 StoreProductImage: type: object description: Product image with thumbnail variants. properties: id: type: integer description: Image attachment ID. example: 1 src: type: string format: uri description: Full-size image URL. example: https://example.com/path thumbnail: type: string format: uri description: Thumbnail image URL. example: https://example.com/path srcset: type: string description: Responsive image srcset attribute value. example: string-value sizes: type: string description: Responsive image sizes attribute value. example: string-value name: type: string description: Image file name. example: Example Name alt: type: string description: Image alternative text. example: string-value StoreProductPrice: type: object description: Formatted price information for a product or variation. properties: price: type: string description: Current price as a formatted string with currency symbol. example: string-value regular_price: type: string description: Regular price as a formatted string. example: string-value sale_price: type: string description: Sale price as a formatted string (empty when not on sale). example: string-value price_range: type: object description: Price range for variable products. nullable: true properties: min_amount: type: string description: Minimum variation price. max_amount: type: string description: Maximum variation price. example: *id015 currency_code: type: string description: ISO 4217 currency code. example: string-value currency_symbol: type: string description: Currency symbol. example: string-value currency_decimal_separator: type: string description: Decimal separator character. example: string-value currency_thousand_separator: type: string description: Thousands separator character. example: string-value currency_prefix: type: string description: Currency prefix (e.g. $). example: string-value currency_suffix: type: string description: Currency suffix. example: string-value StoreProduct: type: object description: A store product returned by the public Store API. properties: id: type: integer description: Product unique identifier. example: 1 name: type: string description: Product name. example: Example Name slug: type: string description: URL-friendly product slug. example: string-value parent: type: integer description: Parent product ID for variations. example: 1 type: type: string description: Product type (simple, variable, grouped, external). example: standard variation: type: string description: Variation description for variation-type products. example: string-value permalink: type: string format: uri description: Full URL to the product page. example: https://example.com/path sku: type: string description: Product SKU. example: string-value short_description: type: string description: Short product description (HTML). example: A sample description description: type: string description: Full product description (HTML). example: A sample description on_sale: type: boolean description: Whether the product is on sale. example: true prices: $ref: '#/components/schemas/StoreProductPrice' purchasable: type: boolean description: Whether the product can be purchased. example: true images: type: array description: Product images. items: $ref: '#/components/schemas/StoreProductImage' example: *id001 categories: type: array description: Categories assigned to the product. items: type: object properties: id: type: integer description: Category ID. name: type: string description: Category name. slug: type: string description: Category slug. link: type: string format: uri description: Category archive URL. example: *id002 tags: type: array description: Tags assigned to the product. items: type: object properties: id: type: integer description: Tag ID. name: type: string description: Tag name. slug: type: string description: Tag slug. link: type: string format: uri description: Tag archive URL. example: *id003 attributes: type: array description: Product attributes. items: type: object properties: id: type: integer description: Attribute ID. name: type: string description: Attribute name. taxonomy: type: string description: Attribute taxonomy slug. has_variations: type: boolean description: Whether this attribute is used for variations. terms: type: array description: Attribute terms. items: type: object properties: id: type: integer description: Term ID. name: type: string description: Term name. slug: type: string description: Term slug. example: *id004 average_rating: type: string description: Average product rating as a decimal string. example: string-value review_count: type: integer description: Number of approved reviews. example: 1 is_in_stock: type: boolean description: Whether the product is in stock. example: true low_stock_remaining: type: integer description: Remaining stock quantity when low stock notice is applicable. nullable: true example: 1 sold_individually: type: boolean description: Whether the product must be bought individually. example: true add_to_cart: type: object description: Add-to-cart action details. properties: text: type: string description: Button label text. description: type: string description: Accessible button description. url: type: string format: uri description: Add-to-cart URL for non-AJAX contexts. example: *id005 StoreProductCategory: type: object description: A product category for storefront display. properties: id: type: integer description: Category unique identifier. example: 1 name: type: string description: Category display name. example: Example Name slug: type: string description: URL-friendly category slug. example: string-value description: type: string description: Category description. example: A sample description parent: type: integer description: Parent category ID (0 for root categories). example: 1 count: type: integer description: Number of products in this category. example: 1 link: type: string format: uri description: Category archive URL. example: https://example.com/path image: $ref: '#/components/schemas/StoreProductImage' StoreProductAttribute: type: object description: A global product attribute for filtering and variation selection. properties: id: type: integer description: Attribute unique identifier. example: 1 name: type: string description: Attribute label. example: Example Name taxonomy: type: string description: Attribute taxonomy slug (e.g. pa_color). example: string-value has_archives: type: boolean description: Whether the attribute has archive pages. example: true order: type: string description: How terms in this attribute are ordered (menu_order, name, name_num, id). example: string-value count: type: integer description: Number of terms in this attribute. example: 1 AttributeTerm: type: object description: A term (option value) for a product attribute. properties: id: type: integer description: Term unique identifier. example: 1 name: type: string description: Term display name. example: Example Name slug: type: string description: URL-friendly term slug. example: string-value description: type: string description: Term description. example: A sample description count: type: integer description: Number of products using this term. example: 1 StoreBrand: type: object description: A product brand. properties: id: type: integer description: Brand unique identifier. example: 1 name: type: string description: Brand display name. example: Example Name slug: type: string description: URL-friendly brand slug. example: string-value description: type: string description: Brand description. example: A sample description image: $ref: '#/components/schemas/StoreProductImage' StoreProductTag: type: object description: A product tag used for labeling and filtering. properties: id: type: integer description: Tag unique identifier. example: 1 name: type: string description: Tag display name. example: Example Name slug: type: string description: URL-friendly tag slug. example: string-value description: type: string description: Tag description. example: A sample description count: type: integer description: Number of products with this tag. example: 1 link: type: string format: uri description: Tag archive URL. example: https://example.com/path StoreReview: type: object description: A customer review on a product. properties: id: type: integer description: Review unique identifier. example: 1 date_created: type: string format: date-time description: Date the review was submitted. example: '2026-05-03T14:30:00Z' product_id: type: integer description: ID of the reviewed product. example: 1 reviewer: type: string description: Reviewer display name. example: string-value review: type: string description: Review text content. example: string-value rating: type: integer description: Star rating from 1 to 5. minimum: 1 maximum: 5 example: 1 verified: type: boolean description: Whether the reviewer purchased the product. example: true CartTotals: type: object description: Cart financial totals including subtotal, taxes, shipping, and grand total. properties: total_items: type: string description: Subtotal of all items before discounts. example: string-value total_items_tax: type: string description: Total item tax. example: string-value total_fees: type: string description: Total of all cart fees. example: string-value total_fees_tax: type: string description: Total tax on fees. example: string-value total_discount: type: string description: Total discount applied by coupons. example: string-value total_discount_tax: type: string description: Tax on total discount. example: string-value total_shipping: type: string description: Total shipping cost. example: string-value total_shipping_tax: type: string description: Tax on shipping. example: string-value total_price: type: string description: Grand total including tax. example: string-value total_tax: type: string description: Total tax amount. example: string-value tax_lines: type: array description: Individual tax breakdown by rate. items: type: object properties: name: type: string description: Tax rate label. price: type: string description: Tax amount for this rate. rate: type: string description: Tax rate percentage. example: *id009 CartItem: type: object description: A product item in the cart. properties: key: type: string description: Unique cart item key. example: string-value id: type: integer description: Product ID. example: 1 quantity: type: integer description: Quantity in cart. example: 1 variation_id: type: integer description: Variation ID (0 for simple products). example: 1 item_data: type: array description: Custom item data (e.g. variation attributes). items: type: object properties: name: type: string description: Data field name. value: type: string description: Data field value. display: type: string description: Formatted display value. example: *id013 prices: $ref: '#/components/schemas/StoreProductPrice' name: type: string description: Product name at time of cart addition. example: Example Name short_description: type: string description: Product short description. example: A sample description images: type: array description: Product images. items: $ref: '#/components/schemas/StoreProductImage' example: *id014 low_stock_remaining: type: integer description: Low stock quantity threshold remaining. nullable: true example: 1 sold_individually: type: boolean description: Whether the product can only be purchased once per order. example: true CartShippingRate: type: object description: A shipping rate option available for the cart. properties: package_id: type: integer description: Shipping package index. example: 1 name: type: string description: Shipping package name. example: Example Name destination: type: object description: Shipping destination address. properties: address_1: type: string description: Address line 1. address_2: type: string description: Address line 2. city: type: string description: City. state: type: string description: State code. postcode: type: string description: Postcode. country: type: string description: Country code. example: address_1: string-value address_2: string-value city: string-value state: string-value postcode: string-value country: string-value items: type: array description: Cart items in this shipping package. items: type: object properties: key: type: string description: Cart item key. name: type: string description: Product name. quantity: type: integer description: Item quantity. example: - key: string-value name: Example Name quantity: 1 shipping_rates: type: array description: Available shipping rates for this package. items: type: object properties: rate_id: type: string description: Shipping rate unique ID. name: type: string description: Shipping rate display name. description: type: string description: Shipping rate description. price: type: string description: Shipping cost as a decimal string. taxes: type: string description: Shipping tax as a decimal string. selected: type: boolean description: Whether this rate is currently selected. meta_data: type: array description: Additional rate metadata. items: type: object example: - rate_id: '500123' name: Example Name description: A sample description price: string-value taxes: string-value selected: true meta_data: - {} Cart: type: object description: The current customer's cart state. properties: items: type: array description: Items in the cart. items: $ref: '#/components/schemas/CartItem' example: *id006 coupons: type: array description: Coupons applied to the cart. items: type: object properties: code: type: string description: Coupon code. discount_type: type: string description: Type of discount applied. totals: type: object description: Coupon discount totals. example: *id007 fees: type: array description: Additional fees added to the cart. items: type: object properties: id: type: string description: Fee ID. name: type: string description: Fee name. totals: type: object description: Fee amount totals. example: *id008 totals: $ref: '#/components/schemas/CartTotals' shipping_rates: type: array description: Available shipping rate packages. items: $ref: '#/components/schemas/CartShippingRate' example: *id010 billing_address: $ref: '#/components/schemas/StoreAddress' shipping_address: $ref: '#/components/schemas/StoreAddress' has_calculated_shipping: type: boolean description: Whether shipping has been calculated for the cart. example: true needs_payment: type: boolean description: Whether the cart total requires payment. example: true needs_shipping: type: boolean description: Whether any items in the cart require shipping. example: true items_count: type: integer description: Total number of items in the cart. example: 1 items_weight: type: number description: Total weight of all items in the cart. example: 10.5 cross_sells: type: array description: Cross-sell product suggestions. items: $ref: '#/components/schemas/StoreProduct' example: *id011 errors: type: array description: Cart validation errors. items: type: object properties: code: type: string description: Error code. message: type: string description: Error message. example: *id012 AddCartItemInput: type: object description: Input for adding an item to the cart. required: - id - quantity properties: id: type: integer description: Product ID to add. example: 1 quantity: type: integer description: Quantity to add. minimum: 1 example: 1 variation_id: type: integer description: Variation ID for variable products. example: 1 variation: type: array description: Attribute key-value pairs for the variation. items: type: object properties: attribute: type: string description: Attribute name. value: type: string description: Selected attribute value. example: - attribute: string-value value: string-value item_data: type: array description: Additional custom item data. items: type: object properties: name: type: string description: Data key name. value: type: string description: Data value. example: - name: Example Name value: string-value StoreAddress: type: object description: A customer billing or shipping address in the Store API context. properties: first_name: type: string description: First name. example: Example Name last_name: type: string description: Last name. example: Example Name company: type: string description: Company name. example: string-value address_1: type: string description: Address line 1. example: string-value address_2: type: string description: Address line 2. example: string-value city: type: string description: City. example: string-value state: type: string description: State or province code. example: string-value postcode: type: string description: Postal code. example: string-value country: type: string description: ISO 3166-1 alpha-2 country code. example: string-value email: type: string format: email description: Email address (billing only). example: user@example.com phone: type: string description: Phone number. example: string-value CartCustomerInput: type: object description: Customer address data for cart shipping/tax calculation. properties: billing_address: $ref: '#/components/schemas/StoreAddress' shipping_address: $ref: '#/components/schemas/StoreAddress' CheckoutInput: type: object description: Input payload for submitting or updating a checkout. required: - billing_address - payment_method properties: billing_address: $ref: '#/components/schemas/StoreAddress' shipping_address: $ref: '#/components/schemas/StoreAddress' customer_note: type: string description: Optional note from the customer. example: string-value create_account: type: boolean description: Whether to create a new customer account on checkout. example: true payment_method: type: string description: Payment method ID to use for this order. example: string-value payment_data: type: array description: Additional payment gateway data (e.g. token, nonce). items: type: object properties: key: type: string description: Payment data key. value: type: string description: Payment data value. example: - key: string-value value: string-value CheckoutOrder: type: object description: An order created or retrieved via the Store API checkout flow. properties: id: type: integer description: Order unique identifier. example: 1 status: type: string description: Order status. example: active order_key: type: string description: Order key for ownership verification. example: string-value order_number: type: string description: Human-readable order number. example: string-value customer_note: type: string description: Customer note on the order. example: string-value billing_address: $ref: '#/components/schemas/StoreAddress' shipping_address: $ref: '#/components/schemas/StoreAddress' payment_method: type: string description: Payment method ID. example: string-value payment_result: type: object description: Result of payment processing. properties: payment_status: type: string description: Payment result status (success, pending, failure). payment_details: type: array description: Gateway-specific payment result details. items: type: object redirect_url: type: string format: uri description: URL to redirect the customer to after checkout. example: *id016 Checkout: type: object description: Current checkout state. properties: order_id: type: integer description: Pending order ID if one exists. example: 1 billing_address: $ref: '#/components/schemas/StoreAddress' shipping_address: $ref: '#/components/schemas/StoreAddress' payment_methods: type: array description: Available payment methods at checkout. items: type: object properties: id: type: string description: Payment method ID. title: type: string description: Payment method display title. description: type: string description: Payment method description shown at checkout. example: *id018 ProductCollectionData: type: object description: Aggregate data about a filtered product collection. properties: price_range: type: object description: Minimum and maximum prices in the collection. nullable: true properties: min_price: type: string description: Minimum product price. max_price: type: string description: Maximum product price. example: *id019 attribute_counts: type: array description: Term counts for requested attributes. items: type: object properties: term: type: integer description: Term ID. count: type: integer description: Number of products with this term. example: *id020 rating_counts: type: array description: Product counts by star rating. items: type: object properties: rating: type: integer description: Star rating value. count: type: integer description: Number of products with this rating. example: *id021 StoreOrder: type: object description: A customer order retrieved via the Store API. properties: id: type: integer description: Order unique identifier. example: 1 number: type: string description: Human-readable order number. example: string-value status: type: string description: Order status. example: active date_created: type: string format: date-time description: Date the order was created. example: '2026-05-03T14:30:00Z' total: type: string description: Order grand total. example: string-value billing: $ref: '#/components/schemas/StoreAddress' shipping: $ref: '#/components/schemas/StoreAddress' items: type: array description: Items in the order. items: type: object properties: id: type: integer description: Line item ID. name: type: string description: Product name. quantity: type: integer description: Quantity ordered. total: type: string description: Line item total. example: *id022