openapi: 3.1.0 info: title: WooCommerce REST API description: >- The WooCommerce REST API is the primary server-side interface for reading and writing WooCommerce store data programmatically. It follows REST conventions, uses JSON for all requests and responses, and is fully integrated with the WordPress REST API under the /wp-json/wc/v3/ namespace. The API covers products, product variations, product categories, product attributes, orders, order notes, order refunds, customers, coupons, tax rates, shipping zones, payment gateways, settings, webhooks, reports, and system status. Authentication uses Consumer Key and Consumer Secret pairs generated in the WooCommerce admin, transmitted over HTTPS via HTTP Basic Auth or OAuth 1.0a over plain HTTP. version: 'v3' contact: name: WooCommerce Developer Support url: https://developer.woocommerce.com/docs/apis/rest-api/ termsOfService: https://woocommerce.com/terms-conditions/ externalDocs: description: WooCommerce REST API Documentation url: https://woocommerce.github.io/woocommerce-rest-api-docs/ servers: - url: https://example.com/wp-json/wc/v3 description: Production Server (replace example.com with your store domain) tags: - name: Products description: Create, retrieve, update, and delete store products and their variations - name: Product Variations description: Manage variations of variable products including price, stock, and attributes - name: Product Categories description: Manage product categories used to organize the store catalog - name: Product Attributes description: Manage global product attributes and their terms - name: Product Tags description: Manage product tags used to label and filter products - name: Product Reviews description: Manage customer reviews on products - name: Orders description: Create, retrieve, update, and delete customer orders - name: Order Notes description: Manage private and customer-facing notes on orders - name: Order Refunds description: Create and retrieve refunds associated with orders - name: Customers description: Create, retrieve, update, and delete customer accounts - name: Coupons description: Create, retrieve, update, and delete discount coupons - name: Tax Rates description: Manage tax rates and tax classes applied at checkout - name: Shipping Zones description: Manage shipping zones, their locations, and shipping methods - name: Payment Gateways description: Retrieve and configure available payment gateways - name: Webhooks description: Create and manage webhooks that deliver event notifications to URLs - name: Settings description: Retrieve and update WooCommerce store settings groups and options - name: Reports description: Retrieve aggregated sales, product, and customer report data - name: System Status description: Retrieve system environment, active plugins, and store configuration status security: - basicAuth: [] paths: /products: get: operationId: listProducts summary: WooCommerce List All Products description: >- Returns a paginated list of products in the store. Supports filtering by status, category, tag, SKU, featured flag, on-sale flag, price range, stock status, and date ranges. Results are sorted by date by default. Use the page and per_page parameters to paginate through large catalogs. tags: - Products parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/after' - $ref: '#/components/parameters/before' - name: status in: query description: >- Filter products by publication status. Options: any, draft, pending, private, publish. required: false schema: type: string enum: [any, draft, pending, private, publish] example: any - name: category in: query description: Filter products by category ID. required: false schema: type: string example: string-value - name: tag in: query description: Filter products by tag ID. required: false schema: type: string example: string-value - name: on_sale in: query description: Limit results to products on sale when true. required: false schema: type: boolean example: true - name: featured in: query description: Limit results to featured products when true. required: false schema: type: boolean example: true - 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 responses: '200': description: Successful list of products content: application/json: schema: type: array items: $ref: '#/components/schemas/Product' examples: listProducts200Example: summary: Default listProducts 200 response x-microcks-default: true value: - id: 1 name: Example Name slug: string-value permalink: https://example.com/path type: simple status: draft featured: true description: A sample description short_description: A sample description sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true purchasable: true total_sales: 1 virtual: true downloadable: true manage_stock: true stock_quantity: 1 stock_status: instock weight: string-value dimensions: &id001 length: string-value width: string-value height: string-value categories: &id002 - id: 1 name: Example Name slug: string-value tags: &id003 - id: 1 name: Example Name slug: string-value images: &id004 - string-value attributes: &id005 - string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: &id006 - string-value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createProduct summary: WooCommerce Create a Product description: >- Creates a new product in the store. Requires at minimum a product name. Products can be simple, grouped, external/affiliate, or variable type. Pricing, stock management, shipping, tax settings, categories, tags, images, and attributes are all configurable at creation time. tags: - Products requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProductInput' responses: '201': description: Product created successfully content: application/json: schema: $ref: '#/components/schemas/Product' examples: createProduct201Example: summary: Default createProduct 201 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value permalink: https://example.com/path type: simple status: draft featured: true description: A sample description short_description: A sample description sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true purchasable: true total_sales: 1 virtual: true downloadable: true manage_stock: true stock_quantity: 1 stock_status: instock weight: string-value dimensions: *id001 categories: *id002 tags: *id003 images: *id004 attributes: *id005 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: *id006 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/{id}: get: operationId: getProduct summary: WooCommerce Retrieve a Product description: >- Returns the details of a single product identified by its numeric ID. Includes all product properties such as pricing, stock, images, categories, tags, attributes, and metadata. tags: - Products parameters: - $ref: '#/components/parameters/id' responses: '200': description: Product details content: application/json: schema: $ref: '#/components/schemas/Product' examples: getProduct200Example: summary: Default getProduct 200 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value permalink: https://example.com/path type: simple status: draft featured: true description: A sample description short_description: A sample description sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true purchasable: true total_sales: 1 virtual: true downloadable: true manage_stock: true stock_quantity: 1 stock_status: instock weight: string-value dimensions: *id001 categories: *id002 tags: *id003 images: *id004 attributes: *id005 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: *id006 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateProduct summary: WooCommerce Update a Product description: >- Updates an existing product identified by its numeric ID. Only the properties included in the request body are updated; omitted properties retain their current values. tags: - Products parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProductInput' responses: '200': description: Product updated successfully content: application/json: schema: $ref: '#/components/schemas/Product' examples: updateProduct200Example: summary: Default updateProduct 200 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value permalink: https://example.com/path type: simple status: draft featured: true description: A sample description short_description: A sample description sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true purchasable: true total_sales: 1 virtual: true downloadable: true manage_stock: true stock_quantity: 1 stock_status: instock weight: string-value dimensions: *id001 categories: *id002 tags: *id003 images: *id004 attributes: *id005 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: *id006 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteProduct summary: WooCommerce Delete a Product description: >- Deletes a product by its numeric ID. By default the product is moved to the trash. Set the force parameter to true to permanently delete the product and bypass the trash. tags: - Products parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' responses: '200': description: Product deleted successfully content: application/json: schema: $ref: '#/components/schemas/Product' examples: deleteProduct200Example: summary: Default deleteProduct 200 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value permalink: https://example.com/path type: simple status: draft featured: true description: A sample description short_description: A sample description sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true purchasable: true total_sales: 1 virtual: true downloadable: true manage_stock: true stock_quantity: 1 stock_status: instock weight: string-value dimensions: *id001 categories: *id002 tags: *id003 images: *id004 attributes: *id005 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: *id006 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/batch: post: operationId: batchUpdateProducts summary: WooCommerce Batch Create, Update, and Delete Products description: >- Performs batch create, update, and delete operations on products in a single request. Pass arrays of product objects under the create, update, and delete keys respectively. Delete accepts an array of product IDs. tags: - Products requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BatchProductRequest' responses: '200': description: Batch operation completed content: application/json: schema: $ref: '#/components/schemas/BatchProductResponse' examples: batchUpdateProducts200Example: summary: Default batchUpdateProducts 200 response x-microcks-default: true value: create: &id019 - string-value update: &id020 - string-value delete: &id021 - string-value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/{product_id}/variations: get: operationId: listProductVariations summary: WooCommerce List All Product Variations description: >- Returns all variations for a variable product identified by product_id. Each variation has its own pricing, SKU, stock, image, and attribute combination. tags: - Product Variations parameters: - $ref: '#/components/parameters/product_id' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' responses: '200': description: List of product variations content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductVariation' examples: listProductVariations200Example: summary: Default listProductVariations 200 response x-microcks-default: true value: - id: 1 sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true status: draft manage_stock: true stock_quantity: 1 stock_status: instock image: id: {} src: {} name: {} alt: {} attributes: &id007 - id: 1 name: Example Name option: string-value meta_data: &id008 - string-value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createProductVariation summary: WooCommerce Create a Product Variation description: >- Creates a new variation for a variable product. The variation inherits the parent product's attributes and can override price, SKU, stock, weight, dimensions, and image independently. tags: - Product Variations parameters: - $ref: '#/components/parameters/product_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProductVariationInput' responses: '201': description: Variation created successfully content: application/json: schema: $ref: '#/components/schemas/ProductVariation' examples: createProductVariation201Example: summary: Default createProductVariation 201 response x-microcks-default: true value: id: 1 sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true status: draft manage_stock: true stock_quantity: 1 stock_status: instock image: id: 1 src: https://example.com/path name: Example Name alt: string-value attributes: *id007 meta_data: *id008 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/{product_id}/variations/{id}: get: operationId: getProductVariation summary: WooCommerce Retrieve a Product Variation description: >- Returns the details of a single product variation identified by the parent product ID and the variation ID. tags: - Product Variations parameters: - $ref: '#/components/parameters/product_id' - $ref: '#/components/parameters/id' responses: '200': description: Product variation details content: application/json: schema: $ref: '#/components/schemas/ProductVariation' examples: getProductVariation200Example: summary: Default getProductVariation 200 response x-microcks-default: true value: id: 1 sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true status: draft manage_stock: true stock_quantity: 1 stock_status: instock image: id: 1 src: https://example.com/path name: Example Name alt: string-value attributes: *id007 meta_data: *id008 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateProductVariation summary: WooCommerce Update a Product Variation description: >- Updates an existing variation for a variable product. Only the fields provided in the request body are changed. tags: - Product Variations parameters: - $ref: '#/components/parameters/product_id' - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProductVariationInput' responses: '200': description: Variation updated successfully content: application/json: schema: $ref: '#/components/schemas/ProductVariation' examples: updateProductVariation200Example: summary: Default updateProductVariation 200 response x-microcks-default: true value: id: 1 sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true status: draft manage_stock: true stock_quantity: 1 stock_status: instock image: id: 1 src: https://example.com/path name: Example Name alt: string-value attributes: *id007 meta_data: *id008 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteProductVariation summary: WooCommerce Delete a Product Variation description: >- Deletes a specific variation from a variable product. Set force to true to permanently delete rather than trash. tags: - Product Variations parameters: - $ref: '#/components/parameters/product_id' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' responses: '200': description: Variation deleted successfully content: application/json: schema: $ref: '#/components/schemas/ProductVariation' examples: deleteProductVariation200Example: summary: Default deleteProductVariation 200 response x-microcks-default: true value: id: 1 sku: string-value price: string-value regular_price: string-value sale_price: string-value on_sale: true status: draft manage_stock: true stock_quantity: 1 stock_status: instock image: id: 1 src: https://example.com/path name: Example Name alt: string-value attributes: *id007 meta_data: *id008 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/categories: get: operationId: listProductCategories summary: WooCommerce List All Product Categories description: >- Returns all product categories. Supports filtering by parent category, hiding empty categories, and ordering by various fields. Categories are hierarchical and can be nested. tags: - Product Categories parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/search' - name: hide_empty in: query description: Whether to hide resources not assigned to any products. required: false schema: type: boolean example: true - name: parent in: query description: Filter categories by parent 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/ProductCategory' examples: listProductCategories200Example: summary: Default listProductCategories 200 response x-microcks-default: true value: - id: 1 name: Example Name slug: string-value parent: 1 description: A sample description display: string-value image: id: {} src: {} name: {} alt: {} menu_order: 1 count: 1 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createProductCategory summary: WooCommerce Create a Product Category description: >- Creates a new product category. Categories can be nested by supplying a parent ID. A slug is generated automatically from the name if not provided. tags: - Product Categories requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProductCategoryInput' responses: '201': description: Category created successfully content: application/json: schema: $ref: '#/components/schemas/ProductCategory' examples: createProductCategory201Example: summary: Default createProductCategory 201 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value parent: 1 description: A sample description display: string-value image: id: 1 src: https://example.com/path name: Example Name alt: string-value menu_order: 1 count: 1 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /products/categories/{id}: get: operationId: getProductCategory summary: WooCommerce Retrieve a Product Category description: Returns a single product category by its numeric ID. tags: - Product Categories parameters: - $ref: '#/components/parameters/id' responses: '200': description: Product category details content: application/json: schema: $ref: '#/components/schemas/ProductCategory' examples: getProductCategory200Example: summary: Default getProductCategory 200 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value parent: 1 description: A sample description display: string-value image: id: 1 src: https://example.com/path name: Example Name alt: string-value menu_order: 1 count: 1 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateProductCategory summary: WooCommerce Update a Product Category description: Updates a product category by its numeric ID. tags: - Product Categories parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProductCategoryInput' responses: '200': description: Category updated successfully content: application/json: schema: $ref: '#/components/schemas/ProductCategory' examples: updateProductCategory200Example: summary: Default updateProductCategory 200 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value parent: 1 description: A sample description display: string-value image: id: 1 src: https://example.com/path name: Example Name alt: string-value menu_order: 1 count: 1 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteProductCategory summary: WooCommerce Delete a Product Category description: >- Deletes a product category by ID. Set force to true to permanently delete. Requires that no products are assigned to the category, or use force to bypass this restriction. tags: - Product Categories parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' responses: '200': description: Category deleted content: application/json: schema: $ref: '#/components/schemas/ProductCategory' examples: deleteProductCategory200Example: summary: Default deleteProductCategory 200 response x-microcks-default: true value: id: 1 name: Example Name slug: string-value parent: 1 description: A sample description display: string-value image: id: 1 src: https://example.com/path name: Example Name alt: string-value menu_order: 1 count: 1 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /orders: get: operationId: listOrders summary: WooCommerce List All Orders description: >- Returns a paginated list of orders. Supports filtering by status, customer ID, product ID, date ranges, and more. Orders are sorted by date_created descending by default. tags: - Orders parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/after' - $ref: '#/components/parameters/before' - name: status in: query description: >- Filter orders by status. Options: any, pending, processing, on-hold, completed, cancelled, refunded, failed, trash. required: false schema: type: string enum: [any, pending, processing, on-hold, completed, cancelled, refunded, failed, trash] example: any - name: customer in: query description: Filter orders by customer ID. required: false schema: type: integer example: 1 - name: product in: query description: Filter orders that contain a specific product ID. required: false schema: type: integer example: 1 responses: '200': description: List of orders content: application/json: schema: type: array items: $ref: '#/components/schemas/Order' examples: listOrders200Example: summary: Default listOrders 200 response x-microcks-default: true value: - id: 1 parent_id: 1 number: string-value order_key: string-value status: pending currency: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' date_completed: '2026-05-03T14:30:00Z' discount_total: string-value discount_tax: string-value shipping_total: string-value shipping_tax: string-value cart_tax: string-value total: string-value total_tax: string-value customer_id: 1 customer_note: string-value billing: first_name: {} last_name: {} company: {} address_1: {} address_2: {} city: {} state: {} postcode: {} country: {} email: {} phone: {} shipping: first_name: {} last_name: {} company: {} address_1: {} address_2: {} city: {} state: {} postcode: {} country: {} email: {} phone: {} payment_method: string-value payment_method_title: Example Name transaction_id: '500123' line_items: &id009 - string-value meta_data: &id010 - string-value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createOrder summary: WooCommerce Create an Order description: >- Creates a new order. All order fields including billing, shipping, line items, coupons, shipping lines, and fee lines can be set at creation time. Customer ID is optional; guest checkout is supported. tags: - Orders requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderInput' responses: '201': description: Order created successfully content: application/json: schema: $ref: '#/components/schemas/Order' examples: createOrder201Example: summary: Default createOrder 201 response x-microcks-default: true value: id: 1 parent_id: 1 number: string-value order_key: string-value status: pending currency: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' date_completed: '2026-05-03T14:30:00Z' discount_total: string-value discount_tax: string-value shipping_total: string-value shipping_tax: string-value cart_tax: string-value total: string-value total_tax: string-value customer_id: 1 customer_note: 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 payment_method: string-value payment_method_title: Example Name transaction_id: '500123' line_items: *id009 meta_data: *id010 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /orders/{id}: get: operationId: getOrder summary: WooCommerce Retrieve an Order description: Returns a single order by its numeric ID including all line items, totals, billing, and shipping details. tags: - Orders parameters: - $ref: '#/components/parameters/id' responses: '200': description: Order details content: application/json: schema: $ref: '#/components/schemas/Order' examples: getOrder200Example: summary: Default getOrder 200 response x-microcks-default: true value: id: 1 parent_id: 1 number: string-value order_key: string-value status: pending currency: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' date_completed: '2026-05-03T14:30:00Z' discount_total: string-value discount_tax: string-value shipping_total: string-value shipping_tax: string-value cart_tax: string-value total: string-value total_tax: string-value customer_id: 1 customer_note: 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 payment_method: string-value payment_method_title: Example Name transaction_id: '500123' line_items: *id009 meta_data: *id010 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateOrder summary: WooCommerce Update an Order description: >- Updates an existing order. Common use cases include changing order status, updating billing or shipping addresses, and modifying line item quantities. Only fields included in the request are changed. tags: - Orders parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderInput' responses: '200': description: Order updated successfully content: application/json: schema: $ref: '#/components/schemas/Order' examples: updateOrder200Example: summary: Default updateOrder 200 response x-microcks-default: true value: id: 1 parent_id: 1 number: string-value order_key: string-value status: pending currency: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' date_completed: '2026-05-03T14:30:00Z' discount_total: string-value discount_tax: string-value shipping_total: string-value shipping_tax: string-value cart_tax: string-value total: string-value total_tax: string-value customer_id: 1 customer_note: 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 payment_method: string-value payment_method_title: Example Name transaction_id: '500123' line_items: *id009 meta_data: *id010 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOrder summary: WooCommerce Delete an Order description: >- Deletes an order by its numeric ID. Set force to true to permanently delete rather than moving the order to the trash. tags: - Orders parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' responses: '200': description: Order deleted content: application/json: schema: $ref: '#/components/schemas/Order' examples: deleteOrder200Example: summary: Default deleteOrder 200 response x-microcks-default: true value: id: 1 parent_id: 1 number: string-value order_key: string-value status: pending currency: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' date_completed: '2026-05-03T14:30:00Z' discount_total: string-value discount_tax: string-value shipping_total: string-value shipping_tax: string-value cart_tax: string-value total: string-value total_tax: string-value customer_id: 1 customer_note: 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 payment_method: string-value payment_method_title: Example Name transaction_id: '500123' line_items: *id009 meta_data: *id010 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /orders/{order_id}/notes: get: operationId: listOrderNotes summary: WooCommerce List All Order Notes description: >- Returns all notes associated with a specific order. Notes can be customer-facing or private (internal) and are ordered by date created. tags: - Order Notes parameters: - $ref: '#/components/parameters/order_id' - name: type in: query description: >- Limit results to a note type. Options: any, customer, internal. required: false schema: type: string enum: [any, customer, internal] example: any responses: '200': description: List of order notes content: application/json: schema: type: array items: $ref: '#/components/schemas/OrderNote' examples: listOrderNotes200Example: summary: Default listOrderNotes 200 response x-microcks-default: true value: - id: 1 date_created: '2026-05-03T14:30:00Z' note: string-value customer_note: true added_by_user: true '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createOrderNote summary: WooCommerce Create an Order Note description: >- Adds a new note to an order. Notes can be marked as customer-facing, causing them to appear in order confirmation emails and the customer's order history. tags: - Order Notes parameters: - $ref: '#/components/parameters/order_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderNoteInput' responses: '201': description: Order note created content: application/json: schema: $ref: '#/components/schemas/OrderNote' examples: createOrderNote201Example: summary: Default createOrderNote 201 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' note: string-value customer_note: true added_by_user: true '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /orders/{order_id}/notes/{id}: get: operationId: getOrderNote summary: WooCommerce Retrieve an Order Note description: Returns a single note for a specific order by note ID. tags: - Order Notes parameters: - $ref: '#/components/parameters/order_id' - $ref: '#/components/parameters/id' responses: '200': description: Order note details content: application/json: schema: $ref: '#/components/schemas/OrderNote' examples: getOrderNote200Example: summary: Default getOrderNote 200 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' note: string-value customer_note: true added_by_user: true '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOrderNote summary: WooCommerce Delete an Order Note description: Permanently deletes a specific note from an order. tags: - Order Notes parameters: - $ref: '#/components/parameters/order_id' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' responses: '200': description: Order note deleted content: application/json: schema: $ref: '#/components/schemas/OrderNote' examples: deleteOrderNote200Example: summary: Default deleteOrderNote 200 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' note: string-value customer_note: true added_by_user: true '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /orders/{order_id}/refunds: get: operationId: listOrderRefunds summary: WooCommerce List All Order Refunds description: Returns all refunds associated with a specific order. tags: - Order Refunds parameters: - $ref: '#/components/parameters/order_id' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' responses: '200': description: List of order refunds content: application/json: schema: type: array items: $ref: '#/components/schemas/OrderRefund' examples: listOrderRefunds200Example: summary: Default listOrderRefunds 200 response x-microcks-default: true value: - id: 1 date_created: '2026-05-03T14:30:00Z' amount: string-value reason: string-value refunded_by: 1 line_items: &id011 - string-value meta_data: &id012 - string-value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createOrderRefund summary: WooCommerce Create an Order Refund description: >- Creates a refund for a specific order. The refund amount, line item quantities to refund, whether to restock items, and reason can all be specified. Automatic gateway refunds are attempted when supported. tags: - Order Refunds parameters: - $ref: '#/components/parameters/order_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderRefundInput' responses: '201': description: Refund created successfully content: application/json: schema: $ref: '#/components/schemas/OrderRefund' examples: createOrderRefund201Example: summary: Default createOrderRefund 201 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' amount: string-value reason: string-value refunded_by: 1 line_items: *id011 meta_data: *id012 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /orders/{order_id}/refunds/{id}: get: operationId: getOrderRefund summary: WooCommerce Retrieve an Order Refund description: Returns a single refund by its ID for a specific order. tags: - Order Refunds parameters: - $ref: '#/components/parameters/order_id' - $ref: '#/components/parameters/id' responses: '200': description: Order refund details content: application/json: schema: $ref: '#/components/schemas/OrderRefund' examples: getOrderRefund200Example: summary: Default getOrderRefund 200 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' amount: string-value reason: string-value refunded_by: 1 line_items: *id011 meta_data: *id012 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOrderRefund summary: WooCommerce Delete an Order Refund description: Permanently deletes a refund from an order. tags: - Order Refunds parameters: - $ref: '#/components/parameters/order_id' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' responses: '200': description: Refund deleted content: application/json: schema: $ref: '#/components/schemas/OrderRefund' examples: deleteOrderRefund200Example: summary: Default deleteOrderRefund 200 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' amount: string-value reason: string-value refunded_by: 1 line_items: *id011 meta_data: *id012 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /customers: get: operationId: listCustomers summary: WooCommerce List All Customers description: >- Returns a paginated list of customers. Can be filtered by role, email, search term, and order by various fields such as id, registered date, name, or total spent. tags: - Customers parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/search' - name: role in: query description: >- Filter customers by WordPress user role. Default is customer. required: false schema: type: string example: string-value - name: email in: query description: Filter customers by email address. required: false schema: type: string format: email example: user@example.com responses: '200': description: List of customers content: application/json: schema: type: array items: $ref: '#/components/schemas/Customer' examples: listCustomers200Example: summary: Default listCustomers 200 response x-microcks-default: true value: - id: 1 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' email: user@example.com first_name: Example Name last_name: Example Name role: string-value username: Example Name billing: first_name: {} last_name: {} company: {} address_1: {} address_2: {} city: {} state: {} postcode: {} country: {} email: {} phone: {} shipping: first_name: {} last_name: {} company: {} address_1: {} address_2: {} city: {} state: {} postcode: {} country: {} email: {} phone: {} is_paying_customer: true orders_count: 1 total_spent: string-value avatar_url: https://example.com/path meta_data: &id013 - string-value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createCustomer summary: WooCommerce Create a Customer description: >- Creates a new customer account. Requires at minimum an email address and username. Billing and shipping address details can be set at creation time. tags: - Customers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerInput' responses: '201': description: Customer created successfully content: application/json: schema: $ref: '#/components/schemas/Customer' examples: createCustomer201Example: summary: Default createCustomer 201 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' email: user@example.com first_name: Example Name last_name: Example Name role: string-value username: Example Name 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 is_paying_customer: true orders_count: 1 total_spent: string-value avatar_url: https://example.com/path meta_data: *id013 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /customers/{id}: get: operationId: getCustomer summary: WooCommerce Retrieve a Customer description: Returns a single customer by numeric ID including billing and shipping addresses and account metadata. tags: - Customers parameters: - $ref: '#/components/parameters/id' responses: '200': description: Customer details content: application/json: schema: $ref: '#/components/schemas/Customer' examples: getCustomer200Example: summary: Default getCustomer 200 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' email: user@example.com first_name: Example Name last_name: Example Name role: string-value username: Example Name 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 is_paying_customer: true orders_count: 1 total_spent: string-value avatar_url: https://example.com/path meta_data: *id013 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateCustomer summary: WooCommerce Update a Customer description: Updates a customer record by numeric ID. Only provided fields are changed. tags: - Customers parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerInput' responses: '200': description: Customer updated successfully content: application/json: schema: $ref: '#/components/schemas/Customer' examples: updateCustomer200Example: summary: Default updateCustomer 200 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' email: user@example.com first_name: Example Name last_name: Example Name role: string-value username: Example Name 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 is_paying_customer: true orders_count: 1 total_spent: string-value avatar_url: https://example.com/path meta_data: *id013 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteCustomer summary: WooCommerce Delete a Customer description: >- Deletes a customer by numeric ID. Set force to true to permanently delete the WordPress user account. Optionally reassign the customer's orders to another customer ID. tags: - Customers parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' - name: reassign in: query description: User ID to reassign posts and links to. required: false schema: type: integer example: 1 responses: '200': description: Customer deleted content: application/json: schema: $ref: '#/components/schemas/Customer' examples: deleteCustomer200Example: summary: Default deleteCustomer 200 response x-microcks-default: true value: id: 1 date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' email: user@example.com first_name: Example Name last_name: Example Name role: string-value username: Example Name 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 is_paying_customer: true orders_count: 1 total_spent: string-value avatar_url: https://example.com/path meta_data: *id013 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /customers/{id}/downloads: get: operationId: getCustomerDownloads summary: WooCommerce Retrieve Customer Downloads description: >- Returns a list of digital downloads available to the customer, including download links, expiry dates, remaining download counts, and product information. tags: - Customers parameters: - $ref: '#/components/parameters/id' responses: '200': description: Customer downloads list content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomerDownload' examples: getCustomerDownloads200Example: summary: Default getCustomerDownloads 200 response x-microcks-default: true value: - download_id: '500123' download_url: https://example.com/path product_id: 1 product_name: Example Name download_name: Example Name order_id: 1 order_key: string-value downloads_remaining: string-value access_expires: '2026-05-03T14:30:00Z' file: &id022 name: Example Name file: https://example.com/path '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /coupons: get: operationId: listCoupons summary: WooCommerce List All Coupons description: >- Returns a paginated list of all coupons. Can be filtered by coupon code, discount type, date ranges, and sorted by various fields. tags: - Coupons parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/after' - $ref: '#/components/parameters/before' - name: code in: query description: Filter coupons by coupon code. required: false schema: type: string example: string-value responses: '200': description: List of coupons content: application/json: schema: type: array items: $ref: '#/components/schemas/Coupon' examples: listCoupons200Example: summary: Default listCoupons 200 response x-microcks-default: true value: - id: 1 code: string-value amount: string-value discount_type: percent description: A sample description date_expires: '2026-05-03T14:30:00Z' usage_count: 1 individual_use: true product_ids: &id014 - 1 excluded_product_ids: &id015 - 1 usage_limit: 1 usage_limit_per_user: 1 minimum_amount: string-value maximum_amount: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: &id016 - string-value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createCoupon summary: WooCommerce Create a Coupon description: >- Creates a new discount coupon. Requires a coupon code. Supports percentage, fixed cart, and fixed product discount types with optional usage limits, expiry dates, and product or category restrictions. tags: - Coupons requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CouponInput' responses: '201': description: Coupon created successfully content: application/json: schema: $ref: '#/components/schemas/Coupon' examples: createCoupon201Example: summary: Default createCoupon 201 response x-microcks-default: true value: id: 1 code: string-value amount: string-value discount_type: percent description: A sample description date_expires: '2026-05-03T14:30:00Z' usage_count: 1 individual_use: true product_ids: *id014 excluded_product_ids: *id015 usage_limit: 1 usage_limit_per_user: 1 minimum_amount: string-value maximum_amount: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: *id016 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /coupons/{id}: get: operationId: getCoupon summary: WooCommerce Retrieve a Coupon description: Returns a single coupon by its numeric ID. tags: - Coupons parameters: - $ref: '#/components/parameters/id' responses: '200': description: Coupon details content: application/json: schema: $ref: '#/components/schemas/Coupon' examples: getCoupon200Example: summary: Default getCoupon 200 response x-microcks-default: true value: id: 1 code: string-value amount: string-value discount_type: percent description: A sample description date_expires: '2026-05-03T14:30:00Z' usage_count: 1 individual_use: true product_ids: *id014 excluded_product_ids: *id015 usage_limit: 1 usage_limit_per_user: 1 minimum_amount: string-value maximum_amount: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: *id016 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateCoupon summary: WooCommerce Update a Coupon description: Updates an existing coupon by its numeric ID. Only provided fields are changed. tags: - Coupons parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CouponInput' responses: '200': description: Coupon updated successfully content: application/json: schema: $ref: '#/components/schemas/Coupon' examples: updateCoupon200Example: summary: Default updateCoupon 200 response x-microcks-default: true value: id: 1 code: string-value amount: string-value discount_type: percent description: A sample description date_expires: '2026-05-03T14:30:00Z' usage_count: 1 individual_use: true product_ids: *id014 excluded_product_ids: *id015 usage_limit: 1 usage_limit_per_user: 1 minimum_amount: string-value maximum_amount: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: *id016 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteCoupon summary: WooCommerce Delete a Coupon description: Deletes a coupon by its numeric ID. Set force to true to permanently delete. tags: - Coupons parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' responses: '200': description: Coupon deleted content: application/json: schema: $ref: '#/components/schemas/Coupon' examples: deleteCoupon200Example: summary: Default deleteCoupon 200 response x-microcks-default: true value: id: 1 code: string-value amount: string-value discount_type: percent description: A sample description date_expires: '2026-05-03T14:30:00Z' usage_count: 1 individual_use: true product_ids: *id014 excluded_product_ids: *id015 usage_limit: 1 usage_limit_per_user: 1 minimum_amount: string-value maximum_amount: string-value date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' meta_data: *id016 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /webhooks: get: operationId: listWebhooks summary: WooCommerce List All Webhooks description: >- Returns all configured webhooks. Supports filtering by status (active, paused, disabled) and delivery URL. tags: - Webhooks parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - name: status in: query description: "Filter webhooks by status. Options: all, active, paused, disabled." required: false schema: type: string enum: [all, active, paused, disabled] example: all responses: '200': description: List of webhooks content: application/json: schema: type: array items: $ref: '#/components/schemas/Webhook' examples: listWebhooks200Example: summary: Default listWebhooks 200 response x-microcks-default: true value: - id: 1 name: Example Name status: active topic: string-value resource: string-value event: string-value delivery_url: https://example.com/path date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createWebhook summary: WooCommerce Create a Webhook description: >- Creates a new webhook. Requires a topic (e.g. order.created) and a delivery URL. An optional secret key is used to generate the HMAC-SHA256 signature included in each delivery. tags: - Webhooks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookInput' responses: '201': description: Webhook created content: application/json: schema: $ref: '#/components/schemas/Webhook' examples: createWebhook201Example: summary: Default createWebhook 201 response x-microcks-default: true value: id: 1 name: Example Name status: active topic: string-value resource: string-value event: string-value delivery_url: https://example.com/path date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /webhooks/{id}: get: operationId: getWebhook summary: WooCommerce Retrieve a Webhook description: Returns a single webhook configuration by its numeric ID. tags: - Webhooks parameters: - $ref: '#/components/parameters/id' responses: '200': description: Webhook details content: application/json: schema: $ref: '#/components/schemas/Webhook' examples: getWebhook200Example: summary: Default getWebhook 200 response x-microcks-default: true value: id: 1 name: Example Name status: active topic: string-value resource: string-value event: string-value delivery_url: https://example.com/path date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateWebhook summary: WooCommerce Update a Webhook description: Updates a webhook configuration by its numeric ID. tags: - Webhooks parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookInput' responses: '200': description: Webhook updated content: application/json: schema: $ref: '#/components/schemas/Webhook' examples: updateWebhook200Example: summary: Default updateWebhook 200 response x-microcks-default: true value: id: 1 name: Example Name status: active topic: string-value resource: string-value event: string-value delivery_url: https://example.com/path date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteWebhook summary: WooCommerce Delete a Webhook description: Permanently deletes a webhook by its numeric ID. tags: - Webhooks parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/force' responses: '200': description: Webhook deleted content: application/json: schema: $ref: '#/components/schemas/Webhook' examples: deleteWebhook200Example: summary: Default deleteWebhook 200 response x-microcks-default: true value: id: 1 name: Example Name status: active topic: string-value resource: string-value event: string-value delivery_url: https://example.com/path date_created: '2026-05-03T14:30:00Z' date_modified: '2026-05-03T14:30:00Z' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /tax/rates: get: operationId: listTaxRates summary: WooCommerce List All Tax Rates description: >- Returns all configured tax rates. Supports filtering by tax class and ordering by priority, order, or ID. tags: - Tax Rates parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - name: class in: query description: >- Filter tax rates by tax class slug. Options: standard, reduced-rate, zero-rate, or any custom class slug. required: false schema: type: string example: string-value responses: '200': description: List of tax rates content: application/json: schema: type: array items: $ref: '#/components/schemas/TaxRate' examples: listTaxRates200Example: summary: Default listTaxRates 200 response x-microcks-default: true value: - id: 1 country: string-value state: string-value postcode: string-value city: string-value rate: string-value name: Example Name priority: 1 compound: true shipping: true class: string-value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /shipping/zones: get: operationId: listShippingZones summary: WooCommerce List All Shipping Zones description: >- Returns all shipping zones configured in the store. Each zone can contain locations (countries, states, postcodes) and shipping methods. tags: - Shipping Zones responses: '200': description: List of shipping zones content: application/json: schema: type: array items: $ref: '#/components/schemas/ShippingZone' examples: listShippingZones200Example: summary: Default listShippingZones 200 response x-microcks-default: true value: - id: 1 name: Example Name order: 1 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /shipping/zones/{id}/methods: get: operationId: listShippingZoneMethods summary: WooCommerce List Shipping Methods for a Zone description: >- Returns all shipping methods configured for a specific shipping zone, including their settings and enabled status. tags: - Shipping Zones parameters: - $ref: '#/components/parameters/id' responses: '200': description: List of shipping zone methods content: application/json: schema: type: array items: $ref: '#/components/schemas/ShippingMethod' examples: listShippingZoneMethods200Example: summary: Default listShippingZoneMethods 200 response x-microcks-default: true value: - id: 1 instance_id: 1 title: Example Name order: 1 enabled: true method_id: '500123' method_title: Example Name method_description: A sample description '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /payment_gateways: get: operationId: listPaymentGateways summary: WooCommerce List All Payment Gateways description: >- Returns all payment gateways installed in the store, including their enabled state, settings, and display order. tags: - Payment Gateways responses: '200': description: List of payment gateways content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentGateway' examples: listPaymentGateways200Example: summary: Default listPaymentGateways 200 response x-microcks-default: true value: - id: '500123' title: Example Name description: A sample description order: 1 enabled: true method_title: Example Name method_description: A sample description method_supports: &id017 - string-value settings: &id018 {} '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /payment_gateways/{id}: get: operationId: getPaymentGateway summary: WooCommerce Retrieve a Payment Gateway description: Returns a single payment gateway by its string ID (e.g. stripe, paypal). tags: - Payment Gateways parameters: - $ref: '#/components/parameters/id' responses: '200': description: Payment gateway details content: application/json: schema: $ref: '#/components/schemas/PaymentGateway' examples: getPaymentGateway200Example: summary: Default getPaymentGateway 200 response x-microcks-default: true value: id: '500123' title: Example Name description: A sample description order: 1 enabled: true method_title: Example Name method_description: A sample description method_supports: *id017 settings: *id018 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updatePaymentGateway summary: WooCommerce Update a Payment Gateway description: Updates the settings or enabled state of a payment gateway. tags: - Payment Gateways parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PaymentGatewayInput' responses: '200': description: Payment gateway updated content: application/json: schema: $ref: '#/components/schemas/PaymentGateway' examples: updatePaymentGateway200Example: summary: Default updatePaymentGateway 200 response x-microcks-default: true value: id: '500123' title: Example Name description: A sample description order: 1 enabled: true method_title: Example Name method_description: A sample description method_supports: *id017 settings: *id018 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /reports/sales: get: operationId: getSalesReport summary: WooCommerce Retrieve a Sales Report description: >- Returns aggregate sales data for a given date period. Includes totals for orders, items, discounts, shipping, refunds, taxes, and net sales. Supports period shortcuts (week, month, last_month, year) and custom date ranges. tags: - Reports parameters: - name: period in: query description: "Report period shortcut. Options: week, month, last_month, year." required: false schema: type: string enum: [week, month, last_month, year] example: week - $ref: '#/components/parameters/after' - $ref: '#/components/parameters/before' responses: '200': description: Sales report data content: application/json: schema: type: array items: $ref: '#/components/schemas/SalesReport' examples: getSalesReport200Example: summary: Default getSalesReport 200 response x-microcks-default: true value: - total_sales: string-value net_revenue: string-value average_sales: string-value total_orders: 1 total_items: 1 total_tax: string-value total_shipping: string-value total_refunds: 10.5 total_discount: 10.5 totals_grouped_by: string-value totals: &id023 {} '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /system_status: get: operationId: getSystemStatus summary: WooCommerce Retrieve System Status description: >- Returns detailed information about the WooCommerce store environment including WordPress version, WooCommerce version, PHP version, active plugins, theme, database tables, and security settings. tags: - System Status responses: '200': description: System status details content: application/json: schema: $ref: '#/components/schemas/SystemStatus' examples: getSystemStatus200Example: summary: Default getSystemStatus 200 response x-microcks-default: true value: environment: &id024 home_url: https://example.com/path site_url: https://example.com/path wc_version: string-value wp_version: string-value php_version: string-value php_memory_limit: string-value php_max_upload_size: string-value mysql_version: string-value log_directory_writable: true active_plugins: &id025 - plugin: string-value name: Example Name version: string-value author_name: Example Name theme: &id026 name: Example Name version: string-value author_url: https://example.com/path is_child_theme: true '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: basicAuth: type: http scheme: basic description: >- HTTP Basic Auth using the WooCommerce Consumer Key as the username and Consumer Secret as the password over HTTPS. Over plain HTTP use OAuth 1.0a one-legged authentication instead. parameters: id: name: id in: path description: Unique identifier for the resource. required: true schema: type: integer product_id: name: product_id in: path description: Unique identifier of the parent product. required: true schema: type: integer order_id: name: order_id in: path description: Unique identifier of the parent order. required: true schema: type: integer page: name: page in: query description: Current page of the collection. Defaults to 1. required: false schema: type: integer minimum: 1 default: 1 per_page: name: per_page in: query description: Maximum number of items per page. Defaults to 10, maximum 100. required: false schema: type: integer minimum: 1 maximum: 100 default: 10 search: name: search in: query description: Limit results to those matching a string. required: false schema: type: string after: name: after in: query description: >- Limit response to resources created after a given ISO8601 compliant date. required: false schema: type: string format: date-time before: name: before in: query description: >- Limit response to resources created before a given ISO8601 compliant date. required: false schema: type: string format: date-time force: name: force in: query description: >- Set to true to permanently delete the resource, bypassing the trash. required: false schema: type: boolean default: false responses: Unauthorized: description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: The request body 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 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 error context including HTTP status code. properties: status: type: integer description: HTTP status code associated with the error. example: status: 1 Address: type: object description: Billing or shipping address associated with a customer or order. 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 name. example: string-value state: type: string description: ISO code or name of the state, province, or district. 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 (billing only). example: string-value MetaData: type: object description: Custom metadata key-value entry. properties: id: type: integer description: Metadata unique identifier. example: 1 key: type: string description: Metadata key. example: string-value value: type: string description: Metadata value. example: string-value ProductImage: type: object description: An image associated with a product. properties: id: type: integer description: Image unique identifier. example: 1 src: type: string format: uri description: Image URL. example: https://example.com/path name: type: string description: Image name. example: Example Name alt: type: string description: Image alternative text. example: string-value ProductAttribute: type: object description: A product attribute with option values. properties: id: type: integer description: Attribute ID (0 for custom attributes). example: 1 name: type: string description: Attribute name. example: Example Name position: type: integer description: Attribute position in the product. example: 1 visible: type: boolean description: Whether the attribute is visible on the product page. example: true variation: type: boolean description: Whether the attribute is used to define variations. example: true options: type: array description: List of available options (terms) for this attribute. items: type: string example: - string-value ProductCategory: type: object description: A product category used to organize the store catalog. properties: id: type: integer description: Category unique identifier. example: 1 name: type: string description: Category name. example: Example Name slug: type: string description: URL-friendly category identifier. example: string-value parent: type: integer description: Parent category ID (0 for top-level categories). example: 1 description: type: string description: Category description. example: A sample description display: type: string description: "Category archive display type. Options: default, products, subcategories, both." example: string-value image: $ref: '#/components/schemas/ProductImage' menu_order: type: integer description: Menu order position for sorting. example: 1 count: type: integer description: Number of products in the category. example: 1 ProductCategoryInput: type: object description: Input for creating or updating a product category. properties: name: type: string description: Category name (required for create). example: Example Name slug: type: string description: URL-friendly category identifier. example: string-value parent: type: integer description: Parent category ID for nested categories. example: 1 description: type: string description: Category description. example: A sample description display: type: string description: Category archive display type. enum: [default, products, subcategories, both] example: default Product: type: object description: A WooCommerce product in the store catalog. 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 identifier. example: string-value permalink: type: string format: uri description: Product URL on the storefront. example: https://example.com/path type: type: string description: "Product type. Options: simple, grouped, external, variable." enum: [simple, grouped, external, variable] example: simple status: type: string description: "Product status. Options: draft, pending, private, publish." enum: [draft, pending, private, publish] example: draft featured: type: boolean description: Whether the product is featured. example: true description: type: string description: Full product description (HTML allowed). example: A sample description short_description: type: string description: Short product description (HTML allowed). example: A sample description sku: type: string description: Stock-keeping unit identifier. example: string-value price: type: string description: Current product price as a decimal string. example: string-value regular_price: type: string description: Regular product price as a decimal string. example: string-value sale_price: type: string description: Sale price as a decimal string. Empty string when not on sale. example: string-value on_sale: type: boolean description: Whether the product is on sale. example: true purchasable: type: boolean description: Whether the product can be bought. example: true total_sales: type: integer description: Total number of sales for the product. example: 1 virtual: type: boolean description: Whether the product is virtual (no shipping required). example: true downloadable: type: boolean description: Whether the product is downloadable. example: true manage_stock: type: boolean description: Whether stock management is enabled for this product. example: true stock_quantity: type: integer description: Stock quantity when manage_stock is true. nullable: true example: 1 stock_status: type: string description: "Stock status. Options: instock, outofstock, onbackorder." enum: [instock, outofstock, onbackorder] example: instock weight: type: string description: Product weight as a string in the store weight unit. example: string-value dimensions: type: object description: Product dimensions. properties: length: type: string description: Product length. width: type: string description: Product width. height: type: string description: Product height. 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. 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. example: *id003 images: type: array description: Images associated with the product. items: $ref: '#/components/schemas/ProductImage' example: *id004 attributes: type: array description: Product attributes for variable products. items: $ref: '#/components/schemas/ProductAttribute' example: *id005 date_created: type: string format: date-time description: Date the product was created, in the site timezone. example: '2026-05-03T14:30:00Z' date_modified: type: string format: date-time description: Date the product was last modified, in the site timezone. example: '2026-05-03T14:30:00Z' meta_data: type: array description: Custom metadata attached to the product. items: $ref: '#/components/schemas/MetaData' example: *id006 ProductInput: type: object description: Input payload for creating or updating a product. properties: name: type: string description: Product name. example: Example Name type: type: string description: Product type. enum: [simple, grouped, external, variable] example: simple status: type: string description: Product publication status. enum: [draft, pending, private, publish] example: draft featured: type: boolean description: Whether the product is featured. example: true description: type: string description: Full product description. example: A sample description short_description: type: string description: Short product description. example: A sample description sku: type: string description: Stock-keeping unit identifier. example: string-value regular_price: type: string description: Regular price as a decimal string. example: string-value sale_price: type: string description: Sale price as a decimal string. example: string-value virtual: type: boolean description: Whether the product is virtual. example: true downloadable: type: boolean description: Whether the product is downloadable. example: true manage_stock: type: boolean description: Whether to enable stock management. example: true stock_quantity: type: integer description: Stock quantity. example: 1 stock_status: type: string description: Stock status. enum: [instock, outofstock, onbackorder] example: instock weight: type: string description: Product weight. example: string-value categories: type: array description: Categories to assign to the product. items: type: object properties: id: type: integer description: Category ID. example: - id: 1 tags: type: array description: Tags to assign to the product. items: type: object properties: id: type: integer description: Tag ID. example: - id: 1 images: type: array description: Images to attach. items: $ref: '#/components/schemas/ProductImage' example: - string-value attributes: type: array description: Product attributes. items: $ref: '#/components/schemas/ProductAttribute' example: - string-value meta_data: type: array description: Custom metadata. items: $ref: '#/components/schemas/MetaData' example: - string-value BatchProductRequest: type: object description: Batch request for creating, updating, and deleting products. properties: create: type: array description: Array of product objects to create. items: $ref: '#/components/schemas/ProductInput' example: - string-value update: type: array description: Array of product objects with IDs to update. items: $ref: '#/components/schemas/ProductInput' example: - string-value delete: type: array description: Array of product IDs to delete. items: type: integer example: - 1 BatchProductResponse: type: object description: Response from a batch product operation. properties: create: type: array description: Created products. items: $ref: '#/components/schemas/Product' example: *id019 update: type: array description: Updated products. items: $ref: '#/components/schemas/Product' example: *id020 delete: type: array description: Deleted products. items: $ref: '#/components/schemas/Product' example: *id021 ProductVariation: type: object description: A variation of a variable product with its own pricing and stock. properties: id: type: integer description: Variation unique identifier. example: 1 sku: type: string description: Stock-keeping unit for this variation. example: string-value price: type: string description: Current price as a decimal string. example: string-value regular_price: type: string description: Regular price as a decimal string. example: string-value sale_price: type: string description: Sale price as a decimal string. example: string-value on_sale: type: boolean description: Whether the variation is on sale. example: true status: type: string description: Variation status. enum: [draft, pending, private, publish] example: draft manage_stock: type: boolean description: Whether stock is managed for this variation. example: true stock_quantity: type: integer description: Stock quantity for this variation. nullable: true example: 1 stock_status: type: string description: Stock status. enum: [instock, outofstock, onbackorder] example: instock image: $ref: '#/components/schemas/ProductImage' attributes: type: array description: Specific attribute values that define this variation. items: type: object properties: id: type: integer description: Attribute ID. name: type: string description: Attribute name. option: type: string description: Selected option value for this variation. example: *id007 meta_data: type: array description: Custom metadata for this variation. items: $ref: '#/components/schemas/MetaData' example: *id008 ProductVariationInput: type: object description: Input for creating or updating a product variation. properties: sku: type: string description: SKU for this variation. example: string-value regular_price: type: string description: Regular price. example: string-value sale_price: type: string description: Sale price. example: string-value status: type: string description: Variation status. enum: [draft, pending, private, publish] example: draft manage_stock: type: boolean description: Whether to enable stock management. example: true stock_quantity: type: integer description: Stock quantity. example: 1 stock_status: type: string description: Stock status. enum: [instock, outofstock, onbackorder] example: instock image: $ref: '#/components/schemas/ProductImage' attributes: type: array description: Attribute options for this variation. items: type: object properties: id: type: integer description: Attribute ID. name: type: string description: Attribute name. option: type: string description: Selected option value. example: - id: 1 name: Example Name option: string-value LineItem: type: object description: A product line item within an order. properties: id: type: integer description: Line item unique identifier. example: 1 name: type: string description: Product name at time of purchase. example: Example Name product_id: type: integer description: Product ID. example: 1 variation_id: type: integer description: Variation ID (0 if not a variation). example: 1 quantity: type: integer description: Quantity ordered. example: 1 tax_class: type: string description: Tax class used for this line item. example: string-value subtotal: type: string description: Line subtotal (before discounts) as a decimal string. example: string-value subtotal_tax: type: string description: Line subtotal tax as a decimal string. example: string-value total: type: string description: Line total (after discounts) as a decimal string. example: string-value total_tax: type: string description: Line total tax as a decimal string. example: string-value sku: type: string description: Product SKU. example: string-value price: type: number description: Product price at time of purchase. example: 10.5 meta_data: type: array description: Metadata for the line item (e.g. variation attributes). items: $ref: '#/components/schemas/MetaData' example: - string-value Order: type: object description: A WooCommerce customer order. properties: id: type: integer description: Order unique identifier. example: 1 parent_id: type: integer description: Parent order ID (for order refunds and child orders). example: 1 number: type: string description: Order number displayed to customers. example: string-value order_key: type: string description: Order key used to verify order ownership. example: string-value status: type: string description: >- Order status. Options: pending, processing, on-hold, completed, cancelled, refunded, failed, trash. enum: [pending, processing, on-hold, completed, cancelled, refunded, failed, trash] example: pending currency: type: string description: ISO 4217 currency code used for the order. example: string-value date_created: type: string format: date-time description: Date the order was created. example: '2026-05-03T14:30:00Z' date_modified: type: string format: date-time description: Date the order was last modified. example: '2026-05-03T14:30:00Z' date_completed: type: string format: date-time description: Date the order was marked as completed. nullable: true example: '2026-05-03T14:30:00Z' discount_total: type: string description: Total discount applied to the order as a decimal string. example: string-value discount_tax: type: string description: Total discount tax as a decimal string. example: string-value shipping_total: type: string description: Total shipping cost as a decimal string. example: string-value shipping_tax: type: string description: Total shipping tax as a decimal string. example: string-value cart_tax: type: string description: Total cart item taxes as a decimal string. example: string-value total: type: string description: Grand total as a decimal string. example: string-value total_tax: type: string description: Total tax as a decimal string. example: string-value customer_id: type: integer description: Customer ID (0 for guest orders). example: 1 customer_note: type: string description: Note left by the customer at checkout. example: string-value billing: $ref: '#/components/schemas/Address' shipping: $ref: '#/components/schemas/Address' payment_method: type: string description: Payment method ID (e.g. stripe, paypal). example: string-value payment_method_title: type: string description: Human-readable payment method name. example: Example Name transaction_id: type: string description: Payment gateway transaction ID. example: '500123' line_items: type: array description: Line items in the order. items: $ref: '#/components/schemas/LineItem' example: *id009 meta_data: type: array description: Custom metadata attached to the order. items: $ref: '#/components/schemas/MetaData' example: *id010 OrderInput: type: object description: Input for creating or updating an order. properties: status: type: string description: Order status. enum: [pending, processing, on-hold, completed, cancelled, refunded, failed] example: pending customer_id: type: integer description: Customer ID (0 for guest). example: 1 customer_note: type: string description: Note from customer. example: string-value billing: $ref: '#/components/schemas/Address' shipping: $ref: '#/components/schemas/Address' payment_method: type: string description: Payment method ID. example: string-value payment_method_title: type: string description: Payment method display name. example: Example Name line_items: type: array description: Line items to include in the order. items: $ref: '#/components/schemas/LineItem' example: - string-value meta_data: type: array description: Custom metadata. items: $ref: '#/components/schemas/MetaData' example: - string-value OrderNote: type: object description: A note attached to an order. properties: id: type: integer description: Note unique identifier. example: 1 date_created: type: string format: date-time description: Date the note was created. example: '2026-05-03T14:30:00Z' note: type: string description: Note text content. example: string-value customer_note: type: boolean description: Whether this note is visible to the customer. example: true added_by_user: type: boolean description: Whether the note was added by a store user (vs system). example: true OrderNoteInput: type: object description: Input for creating an order note. required: - note properties: note: type: string description: Note content. example: string-value customer_note: type: boolean description: Whether to display this note to the customer. default: false example: true added_by_user: type: boolean description: Whether to mark note as added by a user. default: false example: true OrderRefund: type: object description: A refund associated with an order. properties: id: type: integer description: Refund unique identifier. example: 1 date_created: type: string format: date-time description: Date the refund was created. example: '2026-05-03T14:30:00Z' amount: type: string description: Refund amount as a decimal string. example: string-value reason: type: string description: Reason for the refund. example: string-value refunded_by: type: integer description: User ID of the person who issued the refund. example: 1 line_items: type: array description: Line items included in the refund. items: $ref: '#/components/schemas/LineItem' example: *id011 meta_data: type: array description: Custom metadata. items: $ref: '#/components/schemas/MetaData' example: *id012 OrderRefundInput: type: object description: Input for creating an order refund. properties: amount: type: string description: Refund amount as a decimal string. example: string-value reason: type: string description: Reason for the refund. example: string-value refunded_by: type: integer description: User ID issuing the refund. example: 1 api_refund: type: boolean description: Whether to attempt an automatic payment gateway refund. default: true example: true line_items: type: array description: Line items to refund with quantities and amounts. items: $ref: '#/components/schemas/LineItem' example: - string-value Customer: type: object description: A WooCommerce customer account. properties: id: type: integer description: Customer unique identifier. example: 1 date_created: type: string format: date-time description: Date the customer was created. example: '2026-05-03T14:30:00Z' date_modified: type: string format: date-time description: Date the customer was last modified. example: '2026-05-03T14:30:00Z' email: type: string format: email description: Customer email address. example: user@example.com first_name: type: string description: Customer first name. example: Example Name last_name: type: string description: Customer last name. example: Example Name role: type: string description: Customer WordPress user role. example: string-value username: type: string description: Customer login username. example: Example Name billing: $ref: '#/components/schemas/Address' shipping: $ref: '#/components/schemas/Address' is_paying_customer: type: boolean description: Whether the customer has placed at least one order. example: true orders_count: type: integer description: Total number of orders placed by the customer. example: 1 total_spent: type: string description: Total amount spent by the customer as a decimal string. example: string-value avatar_url: type: string format: uri description: URL of the customer's Gravatar image. example: https://example.com/path meta_data: type: array description: Custom metadata attached to the customer. items: $ref: '#/components/schemas/MetaData' example: *id013 CustomerInput: type: object description: Input for creating or updating a customer. properties: email: type: string format: email description: Customer email address. example: user@example.com first_name: type: string description: Customer first name. example: Example Name last_name: type: string description: Customer last name. example: Example Name username: type: string description: Customer login username. example: Example Name password: type: string description: Customer account password (write only, not returned). example: string-value billing: $ref: '#/components/schemas/Address' shipping: $ref: '#/components/schemas/Address' meta_data: type: array description: Custom metadata. items: $ref: '#/components/schemas/MetaData' example: - string-value CustomerDownload: type: object description: A downloadable file accessible to a customer. properties: download_id: type: string description: Download unique identifier. example: '500123' download_url: type: string format: uri description: URL where the customer can download the file. example: https://example.com/path product_id: type: integer description: Product ID associated with this download. example: 1 product_name: type: string description: Product name at time of purchase. example: Example Name download_name: type: string description: Name of the downloadable file. example: Example Name order_id: type: integer description: Order ID for this download. example: 1 order_key: type: string description: Order key for verification. example: string-value downloads_remaining: type: string description: Number of downloads remaining (empty string for unlimited). example: string-value access_expires: type: string format: date-time description: Date and time when download access expires. nullable: true example: '2026-05-03T14:30:00Z' file: type: object description: File information. properties: name: type: string description: File name. file: type: string format: uri description: File URL. example: *id022 Coupon: type: object description: A WooCommerce discount coupon. properties: id: type: integer description: Coupon unique identifier. example: 1 code: type: string description: Coupon code used at checkout. example: string-value amount: type: string description: The amount of discount as a decimal string. example: string-value discount_type: type: string description: "Determines the type of discount. Options: percent, fixed_cart, fixed_product." enum: [percent, fixed_cart, fixed_product] example: percent description: type: string description: Coupon description shown in the admin. example: A sample description date_expires: type: string format: date-time description: Date the coupon expires, in the site timezone. nullable: true example: '2026-05-03T14:30:00Z' usage_count: type: integer description: Number of times the coupon has been used. example: 1 individual_use: type: boolean description: Whether the coupon can only be used alone (not with other coupons). example: true product_ids: type: array description: List of product IDs the coupon applies to. items: type: integer example: *id014 excluded_product_ids: type: array description: List of product IDs the coupon cannot be used for. items: type: integer example: *id015 usage_limit: type: integer description: Maximum number of times the coupon can be used in total. nullable: true example: 1 usage_limit_per_user: type: integer description: Maximum number of times per customer the coupon can be used. nullable: true example: 1 minimum_amount: type: string description: Minimum order amount to use the coupon. example: string-value maximum_amount: type: string description: Maximum order amount to use the coupon. example: string-value date_created: type: string format: date-time description: Date the coupon was created. example: '2026-05-03T14:30:00Z' date_modified: type: string format: date-time description: Date the coupon was last modified. example: '2026-05-03T14:30:00Z' meta_data: type: array description: Custom metadata. items: $ref: '#/components/schemas/MetaData' example: *id016 CouponInput: type: object description: Input for creating or updating a coupon. properties: code: type: string description: Coupon code (required for create). example: string-value amount: type: string description: Discount amount as a decimal string. example: string-value discount_type: type: string description: Discount type. enum: [percent, fixed_cart, fixed_product] example: percent description: type: string description: Admin description. example: A sample description date_expires: type: string format: date-time description: Expiry date. example: '2026-05-03T14:30:00Z' individual_use: type: boolean description: Whether usable alone. example: true product_ids: type: array description: Applicable product IDs. items: type: integer example: - 1 excluded_product_ids: type: array description: Excluded product IDs. items: type: integer example: - 1 usage_limit: type: integer description: Total usage limit. example: 1 usage_limit_per_user: type: integer description: Per-customer usage limit. example: 1 minimum_amount: type: string description: Minimum order amount. example: string-value maximum_amount: type: string description: Maximum order amount. example: string-value meta_data: type: array description: Custom metadata. items: $ref: '#/components/schemas/MetaData' example: - string-value Webhook: type: object description: A WooCommerce webhook configuration. properties: id: type: integer description: Webhook unique identifier. example: 1 name: type: string description: Friendly name for the webhook. example: Example Name status: type: string description: "Webhook status. Options: active, paused, disabled." enum: [active, paused, disabled] example: active topic: type: string description: >- Webhook topic that determines which events trigger the webhook (e.g. order.created, product.updated). example: string-value resource: type: string description: Resource type associated with the topic (e.g. order, product). example: string-value event: type: string description: Event action associated with the topic (e.g. created, updated). example: string-value delivery_url: type: string format: uri description: URL that receives the webhook HTTP POST payload. example: https://example.com/path date_created: type: string format: date-time description: Date the webhook was created. example: '2026-05-03T14:30:00Z' date_modified: type: string format: date-time description: Date the webhook was last modified. example: '2026-05-03T14:30:00Z' WebhookInput: type: object description: Input for creating or updating a webhook. properties: name: type: string description: Friendly webhook name. example: Example Name status: type: string description: Webhook status. enum: [active, paused, disabled] example: active topic: type: string description: Event topic that triggers the webhook (e.g. order.created). example: string-value delivery_url: type: string format: uri description: URL to receive POST notifications. example: https://example.com/path secret: type: string description: >- Secret key used to generate the HMAC-SHA256 payload signature included in the X-WC-Webhook-Signature header. example: string-value TaxRate: type: object description: A configured tax rate applied at checkout. properties: id: type: integer description: Tax rate unique identifier. example: 1 country: type: string description: ISO 3166-1 alpha-2 country code for this rate. example: string-value state: type: string description: State code for this rate (empty for country-wide rates). example: string-value postcode: type: string description: Postcode or range for this rate. example: string-value city: type: string description: City name for this rate. example: string-value rate: type: string description: Tax rate percentage as a decimal string (e.g. 20.0000). example: string-value name: type: string description: Tax rate label shown to customers. example: Example Name priority: type: integer description: >- Priority of this tax rate (used when multiple rates match the same address). example: 1 compound: type: boolean description: Whether this is a compound tax rate (applied on top of other taxes). example: true shipping: type: boolean description: Whether the tax applies to shipping costs. example: true class: type: string description: Tax class slug. Standard class is identified by an empty string. example: string-value ShippingZone: type: object description: A shipping zone defining geographic regions with specific shipping methods. properties: id: type: integer description: Shipping zone unique identifier. example: 1 name: type: string description: Shipping zone display name. example: Example Name order: type: integer description: Shipping zone display order. example: 1 ShippingMethod: type: object description: A shipping method configured within a shipping zone. properties: id: type: integer description: Shipping method unique identifier. example: 1 instance_id: type: integer description: Shipping method instance ID within the zone. example: 1 title: type: string description: Shipping method display name. example: Example Name order: type: integer description: Display order within the zone. example: 1 enabled: type: boolean description: Whether this shipping method is enabled. example: true method_id: type: string description: Shipping method type ID (e.g. flat_rate, free_shipping, local_pickup). example: '500123' method_title: type: string description: Shipping method type title. example: Example Name method_description: type: string description: Shipping method type description. example: A sample description PaymentGateway: type: object description: A payment gateway installed in the WooCommerce store. properties: id: type: string description: Payment gateway unique string identifier (e.g. stripe, paypal). example: '500123' title: type: string description: Gateway display name shown to customers at checkout. example: Example Name description: type: string description: Gateway description shown at checkout. example: A sample description order: type: integer description: Gateway display order at checkout. example: 1 enabled: type: boolean description: Whether the gateway is active and available at checkout. example: true method_title: type: string description: Admin label for the gateway. example: Example Name method_description: type: string description: Admin description of the gateway. example: A sample description method_supports: type: array description: Features supported by this gateway (e.g. products, refunds, subscriptions). items: type: string example: *id017 settings: type: object description: >- Gateway settings as a key-value map. Each setting has id, label, description, type, value, and tip properties. additionalProperties: true example: *id018 PaymentGatewayInput: type: object description: Input for updating a payment gateway. properties: enabled: type: boolean description: Whether to enable the gateway. example: true settings: type: object description: Gateway settings to update. additionalProperties: true example: {} SalesReport: type: object description: Aggregated sales report data for a time period. properties: total_sales: type: string description: Total gross sales for the period. example: string-value net_revenue: type: string description: Net revenue (gross sales minus refunds). example: string-value average_sales: type: string description: Average daily sales for the period. example: string-value total_orders: type: integer description: Total number of orders in the period. example: 1 total_items: type: integer description: Total number of items sold. example: 1 total_tax: type: string description: Total tax collected. example: string-value total_shipping: type: string description: Total shipping revenue. example: string-value total_refunds: type: number description: Total refund amount. example: 10.5 total_discount: type: number description: Total discount amount. example: 10.5 totals_grouped_by: type: string description: Grouping interval for totals_by_date (day, week, month, year). example: string-value totals: type: object description: Sales totals grouped by the totals_grouped_by interval. additionalProperties: true example: *id023 SystemStatus: type: object description: WooCommerce store system status and environment information. properties: environment: type: object description: Server environment details including PHP version, memory, and URLs. properties: home_url: type: string format: uri description: WordPress home URL. site_url: type: string format: uri description: WordPress site URL. wc_version: type: string description: Installed WooCommerce version. wp_version: type: string description: Installed WordPress version. php_version: type: string description: PHP version. php_memory_limit: type: string description: PHP memory limit. php_max_upload_size: type: string description: PHP maximum file upload size. mysql_version: type: string description: MySQL or MariaDB version. log_directory_writable: type: boolean description: Whether the WooCommerce log directory is writable. example: *id024 active_plugins: type: array description: List of active WordPress plugins. items: type: object properties: plugin: type: string description: Plugin file path. name: type: string description: Plugin display name. version: type: string description: Plugin version. author_name: type: string description: Plugin author. example: *id025 theme: type: object description: Active WordPress theme details. properties: name: type: string description: Theme name. version: type: string description: Theme version. author_url: type: string format: uri description: Theme author URL. is_child_theme: type: boolean description: Whether the active theme is a child theme. example: *id026