{"files":{"SKILL.md":"---\nname: woocommerce-rest-api\ndescription: \"WooCommerce REST API skill. Use when working with WooCommerce REST for customers, products, orders. Covers 122 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# WooCommerce REST API\nAPI version: v3\n\n## Auth\nBearer basic\n\n## Base URL\nhttps://example-woocommerce-shop.com/wp-json/wc/v3\n\n## Setup\n1. Set Authorization header with Bearer token\n2. GET /customers -- this api helps you to view all the customers.\n3. POST /customers -- create first customer\n\n## Endpoints\n122 endpoints across 11 groups. See references/api-spec.lap for full details.\n\n### Customers\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /customers | This API helps you to create a new customer. |\n| GET | /customers | This API helps you to view all the customers. |\n| GET | /customers/{customerId} | This API lets you retrieve and view a specific customer by ID. |\n| PUT | /customers/{customerId} | This API lets you make changes to a customer. |\n| DELETE | /customers/{customerId} | This API helps you delete a customer. |\n| POST | /customers/batch | Batch create, update, and delete customers |\n\n### Products\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /products | This API helps you to create a new product. |\n| GET | /products | This API helps you to view all the products. |\n| GET | /products/{productId} | This API lets you retrieve and view a specific product by ID. |\n| PUT | /products/{productId} | This API lets you make changes to a product. |\n| DELETE | /products/{productId} | This API helps you delete a product. |\n| POST | /products/{productId}/duplicate | This API helps you to duplicate a product. |\n| POST | /products/batch | Batch create, update, and delete products |\n| POST | /products/{productId}/variations | This API helps you to create a new product variation. |\n| GET | /products/{productId}/variations | This API helps you to view all the product variations. |\n| GET | /products/{productId}/variations/{variationId} | This API lets you retrieve and view a specific product variation by ID. |\n| PUT | /products/{productId}/variations/{variationId} | This API lets you make changes to a product variation. |\n| DELETE | /products/{productId}/variations/{variationId} | This API helps you delete a product variation. |\n| POST | /products/{productId}/variations/batch | Batch create, update, and delete product variations |\n| GET | /products/attributes | List all product attributes |\n| POST | /products/attributes | Create a product attribute |\n| GET | /products/attributes/{attributeId} | Retrieve a product attribute |\n| PUT | /products/attributes/{attributeId} | Update a product attribute |\n| DELETE | /products/attributes/{attributeId} | Delete a product attribute |\n| POST | /products/attributes/batch | Batch update product attributes |\n| GET | /products/attributes/{attributeId}/terms | List all terms for a product attribute |\n| POST | /products/attributes/{attributeId}/terms | Create an attribute term |\n| GET | /products/attributes/{attributeId}/terms/{termId} | Retrieve an attribute term |\n| PUT | /products/attributes/{attributeId}/terms/{termId} | Update an attribute term |\n| DELETE | /products/attributes/{attributeId}/terms/{termId} | Delete an attribute term |\n| POST | /products/attributes/{attributeId}/terms/batch | Batch update attribute terms |\n| POST | /products/categories | This API helps you to create a new product category. |\n| GET | /products/categories | This API lets you retrieve all product categories. |\n| GET | /products/categories/{categoryId} | This API lets you retrieve a product category by ID. |\n| PUT | /products/categories/{categoryId} | This API lets you make changes to a product category. |\n| DELETE | /products/categories/{categoryId} | This API helps you delete a product category. |\n| POST | /products/categories/batch | Batch create, update, and delete product categories |\n| GET | /products/shipping-classes | List all shipping classes |\n| POST | /products/shipping-classes | Create a shipping class |\n| GET | /products/shipping-classes/{classId} | Retrieve a shipping class |\n| PUT | /products/shipping-classes/{classId} | Update a shipping class |\n| DELETE | /products/shipping-classes/{classId} | Delete a shipping class |\n| POST | /products/shipping-classes/batch | Batch update shipping classes |\n| POST | /products/tags | This API helps you to create a new product tag. |\n| GET | /products/tags | This API lets you retrieve all product tags. |\n| GET | /products/tags/{tagId} | This API lets you retrieve a product tag by ID. |\n| PUT | /products/tags/{tagId} | This API lets you make changes to a product tag. |\n| DELETE | /products/tags/{tagId} | This API helps you delete a product tag. |\n| POST | /products/tags/batch | Batch create, update, and delete product tags |\n| GET | /products/reviews | List all product reviews |\n| POST | /products/reviews | Create a product review |\n| GET | /products/reviews/{reviewId} | Retrieve a product review |\n| PUT | /products/reviews/{reviewId} | Update a product review |\n| DELETE | /products/reviews/{reviewId} | Delete a product review |\n| POST | /products/reviews/batch | Batch update product reviews |\n\n### Orders\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /orders | This API helps you to create a new order. |\n| GET | /orders | This API helps you to view all the orders. |\n| GET | /orders/{orderId} | This API lets you retrieve and view a specific order. |\n| PUT | /orders/{orderId} | This API lets you make changes to an order. |\n| DELETE | /orders/{orderId} | This API helps you delete an order. |\n| POST | /orders/batch | Batch create, update, and delete orders |\n| GET | /orders/{orderId}/notes | This API helps you to view all notes for an order. |\n| POST | /orders/{orderId}/notes | This API helps you to create a new order note. |\n| GET | /orders/{orderId}/notes/{noteId} | This API lets you retrieve and view a specific order note by ID. |\n| DELETE | /orders/{orderId}/notes/{noteId} | This API helps you delete an order note. |\n| GET | /orders/{orderId}/refunds | This API helps you to view all refunds for an order. |\n| POST | /orders/{orderId}/refunds | This API helps you to create a new order refund. |\n| GET | /orders/{orderId}/refunds/{refundId} | This API lets you retrieve and view a specific order refund by ID. |\n| DELETE | /orders/{orderId}/refunds/{refundId} | This API helps you delete an order refund. |\n\n### Reports\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /reports | List all reports |\n| GET | /reports/top_sellers | Retrieve top sellers report |\n| GET | /reports/coupons/totals | Retrieve coupons totals report |\n| GET | /reports/customers/totals | Retrieve customers totals report |\n| GET | /reports/orders/totals | This API lets you retrieve and view orders totals report. |\n| GET | /reports/products/totals | Retrieve products totals report |\n| GET | /reports/reviews/totals | Retrieve reviews totals report |\n| GET | /reports/sales | This API lets you retrieve and view a sales report. |\n\n### Coupons\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /coupons | This API helps you to view all coupons. |\n| POST | /coupons | This API helps you to create a new coupon. |\n| GET | /coupons/{couponId} | This API lets you retrieve and view a specific coupon by ID. |\n| PUT | /coupons/{couponId} | This API helps you to update a coupon. |\n| DELETE | /coupons/{couponId} | This API helps you delete a coupon. |\n| POST | /coupons/batch | Batch create, update, and delete coupons |\n\n### Settings\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /settings | This API helps you to view all settings groups. |\n| GET | /settings/{groupId} | This API helps you to view a specific settings group. |\n| GET | /settings/{groupId}/{id} | This API helps you to view a specific setting. |\n| PUT | /settings/{groupId}/{id} | This API helps you to update a specific setting. |\n\n### Shipping\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /shipping/zones | This API helps you to view all shipping zones. |\n| POST | /shipping/zones | This API helps you to create a new shipping zone. |\n| GET | /shipping/zones/{id} | This API lets you retrieve and view a specific shipping zone by ID. |\n| PUT | /shipping/zones/{id} | This API helps you to update a shipping zone. |\n| DELETE | /shipping/zones/{id} | This API helps you delete a shipping zone. |\n| GET | /shipping/zones/{id}/locations | This API helps you to view all locations for a shipping zone. |\n| PUT | /shipping/zones/{id}/locations | This API helps you to update locations for a shipping zone. |\n| GET | /shipping/zones/{id}/methods | This API helps you to view all shipping methods for a shipping zone. |\n| POST | /shipping/zones/{id}/methods | This API helps you to create a new shipping method for a shipping zone. |\n| GET | /shipping/zones/{id}/methods/{instanceId} | This API lets you retrieve and view a specific shipping zone method by instance ID. |\n| PUT | /shipping/zones/{id}/methods/{instanceId} | This API helps you to update a shipping zone method. |\n| DELETE | /shipping/zones/{id}/methods/{instanceId} | This API helps you delete a shipping zone method. |\n\n### Payment_gateways\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /payment_gateways | This API helps you to view all payment gateways. |\n| GET | /payment_gateways/{id} | This API lets you retrieve and view a specific payment gateway by ID. |\n| PUT | /payment_gateways/{id} | This API helps you to update a payment gateway. |\n\n### Taxes\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /taxes | This API helps you to view all taxes. |\n| POST | /taxes | This API helps you to create a new tax. |\n| GET | /taxes/{id} | This API lets you retrieve and view a specific tax by ID. |\n| PUT | /taxes/{id} | This API helps you to update a tax. |\n| DELETE | /taxes/{id} | This API helps you delete a tax. |\n| POST | /taxes/batch | Batch create, update, and delete taxes |\n| GET | /taxes/classes | This API helps you to view all tax classes. |\n| POST | /taxes/classes | This API helps you to create a new tax class. |\n| GET | /taxes/classes/{slug} | This API lets you retrieve and view a specific tax class by slug. |\n| DELETE | /taxes/classes/{slug} | This API helps you delete a tax class. |\n\n### Webhooks\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /webhooks | This API helps you to view all webhooks. |\n| POST | /webhooks | This API helps you to create a new webhook. |\n| GET | /webhooks/{id} | This API lets you retrieve and view a specific webhook by ID. |\n| PUT | /webhooks/{id} | This API helps you to update a webhook. |\n| DELETE | /webhooks/{id} | This API helps you delete a webhook. |\n| POST | /webhooks/batch | Batch create, update, and delete webhooks |\n\n### System_status\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /system_status | This API helps you to view the system status. |\n| GET | /system_status/tools | This API helps you to view all system status tools. |\n| GET | /system_status/tools/{id} | This API lets you retrieve and view a specific system status tool by ID. |\n| PUT | /system_status/tools/{id} | This API helps you to run a system status tool. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a customer?\" -> POST /customers\n- \"Search customers?\" -> GET /customers\n- \"Get customer details?\" -> GET /customers/{customerId}\n- \"Update a customer?\" -> PUT /customers/{customerId}\n- \"Delete a customer?\" -> DELETE /customers/{customerId}\n- \"Create a batch?\" -> POST /customers/batch\n- \"Create a product?\" -> POST /products\n- \"Search products?\" -> GET /products\n- \"Get product details?\" -> GET /products/{productId}\n- \"Update a product?\" -> PUT /products/{productId}\n- \"Delete a product?\" -> DELETE /products/{productId}\n- \"Create a duplicate?\" -> POST /products/{productId}/duplicate\n- \"Create a variation?\" -> POST /products/{productId}/variations\n- \"Search variations?\" -> GET /products/{productId}/variations\n- \"Get variation details?\" -> GET /products/{productId}/variations/{variationId}\n- \"Update a variation?\" -> PUT /products/{productId}/variations/{variationId}\n- \"Delete a variation?\" -> DELETE /products/{productId}/variations/{variationId}\n- \"List all attributes?\" -> GET /products/attributes\n- \"Create a attribute?\" -> POST /products/attributes\n- \"Get attribute details?\" -> GET /products/attributes/{attributeId}\n- \"Update a attribute?\" -> PUT /products/attributes/{attributeId}\n- \"Delete a attribute?\" -> DELETE /products/attributes/{attributeId}\n- \"Search terms?\" -> GET /products/attributes/{attributeId}/terms\n- \"Create a term?\" -> POST /products/attributes/{attributeId}/terms\n- \"Get term details?\" -> GET /products/attributes/{attributeId}/terms/{termId}\n- \"Update a term?\" -> PUT /products/attributes/{attributeId}/terms/{termId}\n- \"Delete a term?\" -> DELETE /products/attributes/{attributeId}/terms/{termId}\n- \"Create a category?\" -> POST /products/categories\n- \"Search categories?\" -> GET /products/categories\n- \"Get category details?\" -> GET /products/categories/{categoryId}\n- \"Update a category?\" -> PUT /products/categories/{categoryId}\n- \"Delete a category?\" -> DELETE /products/categories/{categoryId}\n- \"Search shipping-classes?\" -> GET /products/shipping-classes\n- \"Create a shipping-classe?\" -> POST /products/shipping-classes\n- \"Get shipping-classe details?\" -> GET /products/shipping-classes/{classId}\n- \"Update a shipping-classe?\" -> PUT /products/shipping-classes/{classId}\n- \"Delete a shipping-classe?\" -> DELETE /products/shipping-classes/{classId}\n- \"Create a tag?\" -> POST /products/tags\n- \"Search tags?\" -> GET /products/tags\n- \"Get tag details?\" -> GET /products/tags/{tagId}\n- \"Update a tag?\" -> PUT /products/tags/{tagId}\n- \"Delete a tag?\" -> DELETE /products/tags/{tagId}\n- \"Create a order?\" -> POST /orders\n- \"Search orders?\" -> GET /orders\n- \"Get order details?\" -> GET /orders/{orderId}\n- \"Update a order?\" -> PUT /orders/{orderId}\n- \"Delete a order?\" -> DELETE /orders/{orderId}\n- \"List all notes?\" -> GET /orders/{orderId}/notes\n- \"Create a note?\" -> POST /orders/{orderId}/notes\n- \"Get note details?\" -> GET /orders/{orderId}/notes/{noteId}\n- \"Delete a note?\" -> DELETE /orders/{orderId}/notes/{noteId}\n- \"Search reviews?\" -> GET /products/reviews\n- \"Create a review?\" -> POST /products/reviews\n- \"Get review details?\" -> GET /products/reviews/{reviewId}\n- \"Update a review?\" -> PUT /products/reviews/{reviewId}\n- \"Delete a review?\" -> DELETE /products/reviews/{reviewId}\n- \"List all reports?\" -> GET /reports\n- \"List all top_sellers?\" -> GET /reports/top_sellers\n- \"List all totals?\" -> GET /reports/coupons/totals\n- \"List all sales?\" -> GET /reports/sales\n- \"List all refunds?\" -> GET /orders/{orderId}/refunds\n- \"Create a refund?\" -> POST /orders/{orderId}/refunds\n- \"Get refund details?\" -> GET /orders/{orderId}/refunds/{refundId}\n- \"Delete a refund?\" -> DELETE /orders/{orderId}/refunds/{refundId}\n- \"Search coupons?\" -> GET /coupons\n- \"Create a coupon?\" -> POST /coupons\n- \"Get coupon details?\" -> GET /coupons/{couponId}\n- \"Update a coupon?\" -> PUT /coupons/{couponId}\n- \"Delete a coupon?\" -> DELETE /coupons/{couponId}\n- \"List all settings?\" -> GET /settings\n- \"Get setting details?\" -> GET /settings/{groupId}\n- \"Update a setting?\" -> PUT /settings/{groupId}/{id}\n- \"List all zones?\" -> GET /shipping/zones\n- \"Create a zone?\" -> POST /shipping/zones\n- \"Get zone details?\" -> GET /shipping/zones/{id}\n- \"Update a zone?\" -> PUT /shipping/zones/{id}\n- \"Delete a zone?\" -> DELETE /shipping/zones/{id}\n- \"List all locations?\" -> GET /shipping/zones/{id}/locations\n- \"List all methods?\" -> GET /shipping/zones/{id}/methods\n- \"Create a method?\" -> POST /shipping/zones/{id}/methods\n- \"Get method details?\" -> GET /shipping/zones/{id}/methods/{instanceId}\n- \"Update a method?\" -> PUT /shipping/zones/{id}/methods/{instanceId}\n- \"Delete a method?\" -> DELETE /shipping/zones/{id}/methods/{instanceId}\n- \"List all payment_gateways?\" -> GET /payment_gateways\n- \"Get payment_gateway details?\" -> GET /payment_gateways/{id}\n- \"Update a payment_gateway?\" -> PUT /payment_gateways/{id}\n- \"Search taxes?\" -> GET /taxes\n- \"Create a taxe?\" -> POST /taxes\n- \"Get taxe details?\" -> GET /taxes/{id}\n- \"Update a taxe?\" -> PUT /taxes/{id}\n- \"Delete a taxe?\" -> DELETE /taxes/{id}\n- \"List all classes?\" -> GET /taxes/classes\n- \"Create a classe?\" -> POST /taxes/classes\n- \"Get classe details?\" -> GET /taxes/classes/{slug}\n- \"Delete a classe?\" -> DELETE /taxes/classes/{slug}\n- \"Search webhooks?\" -> GET /webhooks\n- \"Create a webhook?\" -> POST /webhooks\n- \"Get webhook details?\" -> GET /webhooks/{id}\n- \"Update a webhook?\" -> PUT /webhooks/{id}\n- \"Delete a webhook?\" -> DELETE /webhooks/{id}\n- \"List all system_status?\" -> GET /system_status\n- \"List all tools?\" -> GET /system_status/tools\n- \"Get tool details?\" -> GET /system_status/tools/{id}\n- \"Update a tool?\" -> PUT /system_status/tools/{id}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api WooCommerce REST API\n@base https://example-woocommerce-shop.com/wp-json/wc/v3\n@version v3\n@auth Bearer basic\n@endpoints 122\n@hint download_for_search\n@toc customers(6), products(49), orders(14), reports(8), coupons(6), settings(4), shipping(12), payment_gateways(3), taxes(10), webhooks(6), system_status(4)\n\n@group customers\n@endpoint POST /customers\n@desc This API helps you to create a new customer.\n@optional {id: int # Unique identifier for the resource. read-only, date_created: str(date-time) # The date the customer was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the customer was created, as GMT. read-only, date_modified: str(date-time) # The date the customer was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the customer was last modified, as GMT. read-only, email: str # The email address for the customer. mandatory, first_name: str # Customer first name., last_name: str # Customer last name., role: str # Customer role. read-only, username: str # Customer login name., password: str # Customer password. write-only, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, is_paying_customer: bool # Is the customer a paying customer? read-only, avatar_url: str # Avatar URL. read-only, meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data.}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), email: str, first_name: str, last_name: str, role: str, username: str, password: str, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, is_paying_customer: bool, avatar_url: str, meta_data: [map]} # Returns specified customer.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /customers\n@desc This API helps you to view all the customers.\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., exclude: [int] # Ensure result set excludes specific IDs., include: [int] # Limit result set to specific IDs., offset: int # Offset the result set by a specific number of items., order: str(asc/desc)=asc # Order sort attribute ascending or descending. Options: asc and desc. Default is asc., orderby: str(id/include/name/registered_date)=name # Sort collection by object attribute. Options: id, include, name and registered_date. Default is name., email: str # Limit result set to resources with a specific email., role: str(all/administrator/editor/author/contributor/subscriber/customer/shop_manager)=customer # Limit result set to resources with a specific role. Options: all, administrator, editor, author, contributor, subscriber, customer and shop_manager. Default is customer.}\n@returns(200) Returns list of customers.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /customers/{customerId}\n@desc This API lets you retrieve and view a specific customer by ID.\n@required {customerId: int # ID of customer to return}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), email: str, first_name: str, last_name: str, role: str, username: str, password: str, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, is_paying_customer: bool, avatar_url: str, meta_data: [map]} # Returns specified customer.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /customers/{customerId}\n@desc This API lets you make changes to a customer.\n@required {customerId: int # ID of customer to update}\n@optional {id: int # Unique identifier for the resource. read-only, date_created: str(date-time) # The date the customer was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the customer was created, as GMT. read-only, date_modified: str(date-time) # The date the customer was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the customer was last modified, as GMT. read-only, email: str # The email address for the customer. mandatory, first_name: str # Customer first name., last_name: str # Customer last name., role: str # Customer role. read-only, username: str # Customer login name., password: str # Customer password. write-only, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, is_paying_customer: bool # Is the customer a paying customer? read-only, avatar_url: str # Avatar URL. read-only, meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data.}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), email: str, first_name: str, last_name: str, role: str, username: str, password: str, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, is_paying_customer: bool, avatar_url: str, meta_data: [map]} # Returns updated customer.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /customers/{customerId}\n@desc This API helps you delete a customer.\n@required {customerId: int # ID of customer to delete, force: str # Required to be true, as resource does not support trashing.}\n@optional {reassign: int # User ID to reassign posts to.}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), email: str, first_name: str, last_name: str, role: str, username: str, password: str, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, is_paying_customer: bool, avatar_url: str, meta_data: [map]} # Returns deleted customer.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /customers/batch\n@desc Batch create, update, and delete customers\n@optional {create: [map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), email: str, first_name: str, last_name: str, role: str, username: str, password: str, billing: map, shipping: map, is_paying_customer: bool, avatar_url: str, meta_data: [map]}], update: [map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), email: str, first_name: str, last_name: str, role: str, username: str, password: str, billing: map, shipping: map, is_paying_customer: bool, avatar_url: str, meta_data: [map]}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n\n@endgroup\n\n@group products\n@endpoint POST /products\n@desc This API helps you to create a new product.\n@optional {id: int # Unique identifier for the resource. read-only, name: str # Product name., slug: str # Product slug., permalink: str # Product URL. read-only, date_created: str(date-time) # The date the product was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the product was created, as GMT. read-only, date_modified: str(date-time) # The date the product was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the product was last modified, as GMT. read-only, type: str # Product type. Options: simple, grouped, external and variable. Default is simple., status: str # Product status (post status). Options: draft, pending, private and publish. Default is publish., featured: bool # Featured product. Default is false., catalog_visibility: str # Catalog visibility. Options: visible, catalog, search and hidden. Default is visible., description: str # Product description., short_description: str # Product short description., sku: str # Unique identifier., price: str # Current product price. read-only, regular_price: str # Regular product price., sale_price: str # Product sale price., date_on_sale_from: str(date-time) # Start date of sale price, in the site's timezone., date_on_sale_from_gmt: str(date-time) # Start date of sale price, as GMT., date_on_sale_to: str(date-time) # End date of sale price, in the site's timezone., date_on_sale_to_gmt: str(date-time) # End date of sale price, as GMT., price_html: str # Price formatted in HTML. read-only, on_sale: bool # Shows if the product is on sale. read-only, purchasable: bool # Shows if the product can be bought. read-only, total_sales: int(int64) # Amount of sales. read-only, virtual: bool # If the product is virtual. Default is false., downloadable: bool # If the product is downloadable. Default is false., downloads: [map{id: str, name: str, file: str}] # List of downloadable files., download_limit: int # Number of times downloadable files can be downloaded after purchase. Default is -1., download_expiry: int # Number of days until access to downloadable files expires. Default is -1., external_url: str # Product external URL. Only for external products., button_text: str # Product external button text. Only for external products., tax_status: str # Tax status. Options: taxable, shipping and none. Default is taxable., tax_class: str # Tax class., manage_stock: bool # Stock management at product level. Default is false., stock_quantity: int # Stock quantity., stock_status: str # Controls the stock status of the product. Options: instock, outofstock, onbackorder. Default is instock., backorders: str # If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no., backorders_allowed: bool # Shows if backorders are allowed. read-only, backordered: bool # Shows if the product is on backordered. read-only, sold_individually: bool # Allow one item to be bought in a single order. Default is false., weight: str # Product weight., dimensions: map{length: str, width: str, height: str}, shipping_required: bool # Shows if the product need to be shipped. read-only, shipping_taxable: bool # Shows whether or not the product shipping is taxable. read-only, shipping_class: str # Shipping class slug., shipping_class_id: int # Shipping class ID., reviews_allowed: bool # Allow reviews. Default is true., average_rating: str # Reviews average rating. read-only, rating_count: int # Amount of reviews that the product have. read-only, related_ids: [int] # List of related products IDs. read-only, upsell_ids: [int] # List of up-sell products IDs., cross_sell_ids: [int] # List of cross-sell products IDs., parent_id: int # Product parent ID., purchase_note: str # Optional note to send the customer after purchase., categories: [map{id: int, name: str, slug: str}] # List of categories., tags: [map{id: int, name!: str, slug: str, description: str, count: int}] # List of tags., images: [map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}] # List of product images., attributes: [map{id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool}] # List of attributes., default_attributes: [map{id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool}] # List of default attributes., variations: [int] # List of variations IDs. read-only, grouped_products: [int] # List of grouped products ID., menu_order: int # Menu order, used to custom sort products., meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data properties.}\n@returns(201) {id: int, name: str, slug: str, permalink: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), type: str, status: str, featured: bool, catalog_visibility: str, description: str, short_description: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), price_html: str, on_sale: bool, purchasable: bool, total_sales: int(int64), virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, external_url: str, button_text: str, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, sold_individually: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_required: bool, shipping_taxable: bool, shipping_class: str, shipping_class_id: int, reviews_allowed: bool, average_rating: str, rating_count: int, related_ids: [int], upsell_ids: [int], cross_sell_ids: [int], parent_id: int, purchase_note: str, categories: [map], tags: [map], images: [map], attributes: [map], default_attributes: [map], variations: [int], grouped_products: [int], menu_order: int, meta_data: [map]} # Returns created product.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /products\n@desc This API helps you to view all the products.\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., after: str # Limit response to resources published after a given ISO8601 compliant date., before: str # Limit response to resources published before a given ISO8601 compliant date., modified_after: str # Limit response to resources modified after a given ISO8601 compliant date., modified_before: str # Limit response to resources modified before a given ISO8601 compliant date., dates_are_gmt: bool # Whether to consider GMT post dates when limiting response by published or modified date., exclude: [int] # Ensure result set excludes specific IDs., include: [int] # Limit result set to specific ids., offset: int # Offset the result set by a specific number of items., order: str(asc/desc)=desc # Order sort attribute ascending or descending. Options: asc and desc. Default is desc., orderby: str(date/modified/id/include/title/slug/price/popularity/rating/menu_order)=date # Sort collection by object attribute. Options: date, modified, id, include, title, slug, price, popularity, rating, and menu_order. Default is date., parent: [int] # Limit result set to those of particular parent IDs., parent_exclude: [int] # Limit result set to all items except those of a particular parent ID., slug: str # Limit result set to products with a specific slug., status: [str] # Limit result set to products assigned a specific status. Options: any, draft, pending, private and publish. Default is any., include_status: [str] # Limit result set to products with any of the specified statuses. Multiple statuses can be provided as a comma-separated list. Takes precedence over the status parameter. Options: any, future, trash, draft, pending, private, and publish., exclude_status: [str] # Exclude products from result set with any of the specified statuses. Multiple statuses can be provided as a comma-separated list. Takes precedence over the include_status parameter. Options: future, trash, draft, pending, private, and publish., type: str(simple/grouped/external/variable) # Limit result set to products assigned a specific type. Options: simple, grouped, external and variable., include_types: [str] # Limit result set to products with any of the types. Multiple statuses can be provided as a comma-separated list. Takes precedence over the type parameter. Options: simple, grouped, external and variable., exclude_types: [str] # Exclude products from result set with any of the specified types. Multiple statuses can be provided as a comma-separated list. Takes precedence over the include_types parameter. Options: simple, grouped, external and variable., sku: str # Limit result set to products with a specific SKU., featured: bool # Limit result set to featured products., category: str # Limit result set to products assigned a specific category ID., tag: str # Limit result set to products assigned a specific tag ID., shipping_class: str # Limit result set to products assigned a specific shipping class ID., attribute: str # Limit result set to products with a specific attribute., attribute_term: str # Limit result set to products with a specific attribute term ID (required an assigned attribute)., tax_class: str(standard/reduced-rate/zero-rate) # Limit result set to products with a specific tax class. Default options: standard, reduced-rate and zero-rate., on_sale: bool # Limit result set to products on sale., min_price: str # Limit result set to products based on a minimum price., max_price: str # Limit result set to products based on a maximum price., stock_status: str(instock/outofstock/onbackorder) # Limit result set to products with specified stock status. Options: instock, outofstock and onbackorder., virtual: bool # Limit result set to virtual products., downloadable: bool # Limit result set to downloadable products.}\n@returns(200) Returns list of products.\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /products/{productId}\n@desc This API lets you retrieve and view a specific product by ID.\n@required {productId: int # ID of product to return}\n@returns(200) {id: int, name: str, slug: str, permalink: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), type: str, status: str, featured: bool, catalog_visibility: str, description: str, short_description: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), price_html: str, on_sale: bool, purchasable: bool, total_sales: int(int64), virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, external_url: str, button_text: str, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, sold_individually: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_required: bool, shipping_taxable: bool, shipping_class: str, shipping_class_id: int, reviews_allowed: bool, average_rating: str, rating_count: int, related_ids: [int], upsell_ids: [int], cross_sell_ids: [int], parent_id: int, purchase_note: str, categories: [map], tags: [map], images: [map], attributes: [map], default_attributes: [map], variations: [int], grouped_products: [int], menu_order: int, meta_data: [map]} # Returns specified product.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /products/{productId}\n@desc This API lets you make changes to a product.\n@required {productId: int # ID of product to update}\n@optional {id: int # Unique identifier for the resource. read-only, name: str # Product name., slug: str # Product slug., permalink: str # Product URL. read-only, date_created: str(date-time) # The date the product was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the product was created, as GMT. read-only, date_modified: str(date-time) # The date the product was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the product was last modified, as GMT. read-only, type: str # Product type. Options: simple, grouped, external and variable. Default is simple., status: str # Product status (post status). Options: draft, pending, private and publish. Default is publish., featured: bool # Featured product. Default is false., catalog_visibility: str # Catalog visibility. Options: visible, catalog, search and hidden. Default is visible., description: str # Product description., short_description: str # Product short description., sku: str # Unique identifier., price: str # Current product price. read-only, regular_price: str # Regular product price., sale_price: str # Product sale price., date_on_sale_from: str(date-time) # Start date of sale price, in the site's timezone., date_on_sale_from_gmt: str(date-time) # Start date of sale price, as GMT., date_on_sale_to: str(date-time) # End date of sale price, in the site's timezone., date_on_sale_to_gmt: str(date-time) # End date of sale price, as GMT., price_html: str # Price formatted in HTML. read-only, on_sale: bool # Shows if the product is on sale. read-only, purchasable: bool # Shows if the product can be bought. read-only, total_sales: int(int64) # Amount of sales. read-only, virtual: bool # If the product is virtual. Default is false., downloadable: bool # If the product is downloadable. Default is false., downloads: [map{id: str, name: str, file: str}] # List of downloadable files., download_limit: int # Number of times downloadable files can be downloaded after purchase. Default is -1., download_expiry: int # Number of days until access to downloadable files expires. Default is -1., external_url: str # Product external URL. Only for external products., button_text: str # Product external button text. Only for external products., tax_status: str # Tax status. Options: taxable, shipping and none. Default is taxable., tax_class: str # Tax class., manage_stock: bool # Stock management at product level. Default is false., stock_quantity: int # Stock quantity., stock_status: str # Controls the stock status of the product. Options: instock, outofstock, onbackorder. Default is instock., backorders: str # If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no., backorders_allowed: bool # Shows if backorders are allowed. read-only, backordered: bool # Shows if the product is on backordered. read-only, sold_individually: bool # Allow one item to be bought in a single order. Default is false., weight: str # Product weight., dimensions: map{length: str, width: str, height: str}, shipping_required: bool # Shows if the product need to be shipped. read-only, shipping_taxable: bool # Shows whether or not the product shipping is taxable. read-only, shipping_class: str # Shipping class slug., shipping_class_id: int # Shipping class ID., reviews_allowed: bool # Allow reviews. Default is true., average_rating: str # Reviews average rating. read-only, rating_count: int # Amount of reviews that the product have. read-only, related_ids: [int] # List of related products IDs. read-only, upsell_ids: [int] # List of up-sell products IDs., cross_sell_ids: [int] # List of cross-sell products IDs., parent_id: int # Product parent ID., purchase_note: str # Optional note to send the customer after purchase., categories: [map{id: int, name: str, slug: str}] # List of categories., tags: [map{id: int, name!: str, slug: str, description: str, count: int}] # List of tags., images: [map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}] # List of product images., attributes: [map{id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool}] # List of attributes., default_attributes: [map{id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool}] # List of default attributes., variations: [int] # List of variations IDs. read-only, grouped_products: [int] # List of grouped products ID., menu_order: int # Menu order, used to custom sort products., meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data properties.}\n@returns(200) {id: int, name: str, slug: str, permalink: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), type: str, status: str, featured: bool, catalog_visibility: str, description: str, short_description: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), price_html: str, on_sale: bool, purchasable: bool, total_sales: int(int64), virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, external_url: str, button_text: str, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, sold_individually: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_required: bool, shipping_taxable: bool, shipping_class: str, shipping_class_id: int, reviews_allowed: bool, average_rating: str, rating_count: int, related_ids: [int], upsell_ids: [int], cross_sell_ids: [int], parent_id: int, purchase_note: str, categories: [map], tags: [map], images: [map], attributes: [map], default_attributes: [map], variations: [int], grouped_products: [int], menu_order: int, meta_data: [map]} # Returns updated product.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /products/{productId}\n@desc This API helps you delete a product.\n@required {productId: int # ID of product to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, name: str, slug: str, permalink: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), type: str, status: str, featured: bool, catalog_visibility: str, description: str, short_description: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), price_html: str, on_sale: bool, purchasable: bool, total_sales: int(int64), virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, external_url: str, button_text: str, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, sold_individually: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_required: bool, shipping_taxable: bool, shipping_class: str, shipping_class_id: int, reviews_allowed: bool, average_rating: str, rating_count: int, related_ids: [int], upsell_ids: [int], cross_sell_ids: [int], parent_id: int, purchase_note: str, categories: [map], tags: [map], images: [map], attributes: [map], default_attributes: [map], variations: [int], grouped_products: [int], menu_order: int, meta_data: [map]} # Returns deleted product.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /products/{productId}/duplicate\n@desc This API helps you to duplicate a product.\n@required {productId: int # ID of product to duplicate}\n@returns(201) {id: int, name: str, slug: str, permalink: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), type: str, status: str, featured: bool, catalog_visibility: str, description: str, short_description: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), price_html: str, on_sale: bool, purchasable: bool, total_sales: int(int64), virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, external_url: str, button_text: str, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, sold_individually: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_required: bool, shipping_taxable: bool, shipping_class: str, shipping_class_id: int, reviews_allowed: bool, average_rating: str, rating_count: int, related_ids: [int], upsell_ids: [int], cross_sell_ids: [int], parent_id: int, purchase_note: str, categories: [map], tags: [map], images: [map], attributes: [map], default_attributes: [map], variations: [int], grouped_products: [int], menu_order: int, meta_data: [map]} # Returns newly duplicated product.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /products/batch\n@desc Batch create, update, and delete products\n@optional {create: [map{id: int, name: str, slug: str, permalink: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), type: str, status: str, featured: bool, catalog_visibility: str, description: str, short_description: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), price_html: str, on_sale: bool, purchasable: bool, total_sales: int(int64), virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, external_url: str, button_text: str, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, sold_individually: bool, weight: str, dimensions: map, shipping_required: bool, shipping_taxable: bool, shipping_class: str, shipping_class_id: int, reviews_allowed: bool, average_rating: str, rating_count: int, related_ids: [int], upsell_ids: [int], cross_sell_ids: [int], parent_id: int, purchase_note: str, categories: [map], tags: [map], images: [map], attributes: [map], default_attributes: [map], variations: [int], grouped_products: [int], menu_order: int, meta_data: [map]}], update: [map{id: int, name: str, slug: str, permalink: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), type: str, status: str, featured: bool, catalog_visibility: str, description: str, short_description: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), price_html: str, on_sale: bool, purchasable: bool, total_sales: int(int64), virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, external_url: str, button_text: str, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, sold_individually: bool, weight: str, dimensions: map, shipping_required: bool, shipping_taxable: bool, shipping_class: str, shipping_class_id: int, reviews_allowed: bool, average_rating: str, rating_count: int, related_ids: [int], upsell_ids: [int], cross_sell_ids: [int], parent_id: int, purchase_note: str, categories: [map], tags: [map], images: [map], attributes: [map], default_attributes: [map], variations: [int], grouped_products: [int], menu_order: int, meta_data: [map]}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n\n@endpoint POST /products/{productId}/variations\n@desc This API helps you to create a new product variation.\n@required {productId: int # ID of parent product for variation to create}\n@optional {id: int # Unique identifier for the resource. read-only, date_created: str(date-time) # The date the variation  was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the variation  was created, as GMT. read-only, date_modified: str(date-time) # The date the variation  was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the variation  was last modified, as GMT. read-only, description: str # Variation description., permalink: str # Variation URL. read-only, sku: str # Unique identifier., price: str # Current variation price. read-only, regular_price: str # Variation product price., sale_price: str # Variation sale price., date_on_sale_from: str(date-time) # Start date of sale price, in the site's timezone., date_on_sale_from_gmt: str(date-time) # Start date of sale price, as GMT., date_on_sale_to: str(date-time) # End date of sale price, in the site's timezone., date_on_sale_to_gmt: str(date-time) # End date of sale price, as GMT., on_sale: bool # Shows if the variation is on sale. read-only, status: str # Variation status. Options: draft, pending, private and publish. Default is publish., purchasable: bool # Shows if the variation can be bought. read-only, virtual: bool # If the variation is virtual. Default is false., downloadable: bool # If the variation is downloadable. Default is false., downloads: [map{id: str, name: str, file: str}] # List of downloadable files., download_limit: int # Number of times downloadable files can be downloaded after purchase. Default is -1., download_expiry: int # Number of days until access to downloadable files expires. Default is -1., tax_status: str # Tax status. Options: taxable, shipping and none. Default is taxable., tax_class: str # Tax class., manage_stock: bool # Stock management at variation level. Default is false., stock_quantity: int # Stock quantity., stock_status: str # Controls the stock status of the product. Options: instock, outofstock, onbackorder. Default is instock., backorders: str # If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no., backorders_allowed: bool # Shows if backorders are allowed. read-only, backordered: bool # Shows if the variation is on backordered. read-only, weight: str # Variation weight., dimensions: map{length: str, width: str, height: str}, shipping_class: str # Shipping class slug., shipping_class_id: int # Shipping class ID., image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, attributes: [map{id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool}] # List of attributes., menu_order: int # Menu order, used to custom sort products., meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data properties.}\n@returns(201) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), description: str, permalink: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), on_sale: bool, status: str, purchasable: bool, virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_class: str, shipping_class_id: int, image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, attributes: [map], menu_order: int, meta_data: [map]} # Returns created product variation.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /products/{productId}/variations\n@desc This API helps you to view all the product variations.\n@required {productId: int # ID of parent product for variations to return}\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., after: str(date-time) # Limit response to resources published after a given ISO8601 compliant date., before: str(date-time) # Limit response to resources published before a given ISO8601 compliant date., exclude: [int] # Ensure result set excludes specific IDs., include: [int] # Limit result set to specific ids., offset: int # Offset the result set by a specific number of items., order: str(asc/desc)=desc # Order sort attribute ascending or descending. Options: asc and desc. Default is desc., orderby: str(date/modified/id/include/title/slug)=date # Sort collection by object attribute. Options: date, modified, id, include, title and slug. Default is date., parent: [int] # Limit result set to those of particular parent IDs., parent_exclude: [int] # Limit result set to all items except those of a particular parent ID., slug: str # Limit result set to products with a specific slug., status: [str] # Limit result set to products assigned a specific status. Options: any, draft, pending, private and publish. Default is any., include_status: [str] # Limit result set to product variations with any of the specified statuses. Multiple statuses can be provided as a comma-separated list. Takes precedence over the status parameter. Options: any, future, trash, draft, pending, private, and publish., exclude_status: [str] # Exclude product variations from result set with any of the specified statuses. Multiple statuses can be provided as a comma-separated list. Takes precedence over the include_status parameter. Options: future, trash, draft, pending, private, and publish., sku: str # Limit result set to products with a specific SKU., tax_class: str(standard/reduced-rate/zero-rate) # Limit result set to products with a specific tax class. Default options: standard, reduced-rate and zero-rate., on_sale: bool # Limit result set to products on sale., min_price: str # Limit result set to products based on a minimum price., max_price: str # Limit result set to products based on a maximum price., stock_status: str(instock/outofstock/onbackorder) # Limit result set to products with specified stock status. Options: instock, outofstock and onbackorder., virtual: bool # Limit result set to virtual product variations., downloadable: bool # Limit result set to downloadable product variations.}\n@returns(200) Returns list of product variations.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /products/{productId}/variations/{variationId}\n@desc This API lets you retrieve and view a specific product variation by ID.\n@required {productId: int # ID of parent product for variation to return, variationId: int # ID of variation to return}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), description: str, permalink: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), on_sale: bool, status: str, purchasable: bool, virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_class: str, shipping_class_id: int, image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, attributes: [map], menu_order: int, meta_data: [map]} # Returns specified product.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /products/{productId}/variations/{variationId}\n@desc This API lets you make changes to a product variation.\n@required {productId: int # ID of parent product for variation to update, variationId: int # ID of variation to update}\n@optional {id: int # Unique identifier for the resource. read-only, date_created: str(date-time) # The date the variation  was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the variation  was created, as GMT. read-only, date_modified: str(date-time) # The date the variation  was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the variation  was last modified, as GMT. read-only, description: str # Variation description., permalink: str # Variation URL. read-only, sku: str # Unique identifier., price: str # Current variation price. read-only, regular_price: str # Variation product price., sale_price: str # Variation sale price., date_on_sale_from: str(date-time) # Start date of sale price, in the site's timezone., date_on_sale_from_gmt: str(date-time) # Start date of sale price, as GMT., date_on_sale_to: str(date-time) # End date of sale price, in the site's timezone., date_on_sale_to_gmt: str(date-time) # End date of sale price, as GMT., on_sale: bool # Shows if the variation is on sale. read-only, status: str # Variation status. Options: draft, pending, private and publish. Default is publish., purchasable: bool # Shows if the variation can be bought. read-only, virtual: bool # If the variation is virtual. Default is false., downloadable: bool # If the variation is downloadable. Default is false., downloads: [map{id: str, name: str, file: str}] # List of downloadable files., download_limit: int # Number of times downloadable files can be downloaded after purchase. Default is -1., download_expiry: int # Number of days until access to downloadable files expires. Default is -1., tax_status: str # Tax status. Options: taxable, shipping and none. Default is taxable., tax_class: str # Tax class., manage_stock: bool # Stock management at variation level. Default is false., stock_quantity: int # Stock quantity., stock_status: str # Controls the stock status of the product. Options: instock, outofstock, onbackorder. Default is instock., backorders: str # If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no., backorders_allowed: bool # Shows if backorders are allowed. read-only, backordered: bool # Shows if the variation is on backordered. read-only, weight: str # Variation weight., dimensions: map{length: str, width: str, height: str}, shipping_class: str # Shipping class slug., shipping_class_id: int # Shipping class ID., image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, attributes: [map{id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool}] # List of attributes., menu_order: int # Menu order, used to custom sort products., meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data properties.}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), description: str, permalink: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), on_sale: bool, status: str, purchasable: bool, virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_class: str, shipping_class_id: int, image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, attributes: [map], menu_order: int, meta_data: [map]} # Returns updated product variation.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /products/{productId}/variations/{variationId}\n@desc This API helps you delete a product variation.\n@required {productId: int # ID of parent product for variation to delete, variationId: int # ID of variation to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), description: str, permalink: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), on_sale: bool, status: str, purchasable: bool, virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, weight: str, dimensions: map{length: str, width: str, height: str}, shipping_class: str, shipping_class_id: int, image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, attributes: [map], menu_order: int, meta_data: [map]} # Returns deleted product variation.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /products/{productId}/variations/batch\n@desc Batch create, update, and delete product variations\n@required {productId: int}\n@optional {create: [map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), description: str, permalink: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), on_sale: bool, status: str, purchasable: bool, virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, weight: str, dimensions: map, shipping_class: str, shipping_class_id: int, image: map, attributes: [map], menu_order: int, meta_data: [map]}], update: [map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), description: str, permalink: str, sku: str, price: str, regular_price: str, sale_price: str, date_on_sale_from: str(date-time), date_on_sale_from_gmt: str(date-time), date_on_sale_to: str(date-time), date_on_sale_to_gmt: str(date-time), on_sale: bool, status: str, purchasable: bool, virtual: bool, downloadable: bool, downloads: [map], download_limit: int, download_expiry: int, tax_status: str, tax_class: str, manage_stock: bool, stock_quantity: int, stock_status: str, backorders: str, backorders_allowed: bool, backordered: bool, weight: str, dimensions: map, shipping_class: str, shipping_class_id: int, image: map, attributes: [map], menu_order: int, meta_data: [map]}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n\n@endpoint GET /products/attributes\n@desc List all product attributes\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.}\n@returns(200) Returns list of product attributes\n\n@endpoint POST /products/attributes\n@desc Create a product attribute\n@optional {id: int # Attribute ID., name: str # Attribute name., option: str # Selected attribute term name. Applicable only for Product represents SKU (variation), slug: str # Attribute slug., type: str # Attribute type., order_by: str # Sort order., has_archives: bool # Enable/Disable attribute archives.}\n@returns(201) {id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool} # Returns created product attribute\n\n@endpoint GET /products/attributes/{attributeId}\n@desc Retrieve a product attribute\n@required {attributeId: int}\n@returns(200) {id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool} # Returns specified product attribute\n\n@endpoint PUT /products/attributes/{attributeId}\n@desc Update a product attribute\n@required {attributeId: int}\n@optional {id: int # Attribute ID., name: str # Attribute name., option: str # Selected attribute term name. Applicable only for Product represents SKU (variation), slug: str # Attribute slug., type: str # Attribute type., order_by: str # Sort order., has_archives: bool # Enable/Disable attribute archives.}\n@returns(200) {id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool} # Returns updated product attribute\n\n@endpoint DELETE /products/attributes/{attributeId}\n@desc Delete a product attribute\n@required {attributeId: int, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool} # Product attribute deleted\n\n@endpoint POST /products/attributes/batch\n@desc Batch update product attributes\n@optional {create: [map{id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool}], update: [map{id: int, name: str, option: str, slug: str, type: str, order_by: str, has_archives: bool}], delete: [int]}\n@returns(200) Returns batch operation result\n\n@endpoint GET /products/attributes/{attributeId}/terms\n@desc List all terms for a product attribute\n@required {attributeId: int}\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., orderby: str(name/slug/term_group/description/count)=name # Sort collection by resource attribute. Options: name, slug, term_group, description, count. Default is name., order: str(asc/desc)=asc # Order sort attribute ascending or descending. Options: asc and desc. Default is asc., hide_empty: bool=false # Whether to hide resources not assigned to any products. Default is false., parent: int # Limit result set to resources assigned to a specific parent., product: int # Limit result set to resources assigned to a specific product., slug: str # Limit result set to resources with a specific slug., include: [int] # Limit result set to specific IDs., exclude: [int] # Ensure result set excludes specific IDs.}\n@returns(200) Returns list of attribute terms\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint POST /products/attributes/{attributeId}/terms\n@desc Create an attribute term\n@required {attributeId: int}\n@optional {id: int # Term ID., name: str # Term name., slug: str # Term slug., description: str # Term description., menu_order: int # Menu order., count: int # Number of products in term.}\n@returns(201) {id: int, name: str, slug: str, description: str, menu_order: int, count: int} # Returns created attribute term\n\n@endpoint GET /products/attributes/{attributeId}/terms/{termId}\n@desc Retrieve an attribute term\n@required {attributeId: int, termId: int}\n@returns(200) {id: int, name: str, slug: str, description: str, menu_order: int, count: int} # Returns specified attribute term\n\n@endpoint PUT /products/attributes/{attributeId}/terms/{termId}\n@desc Update an attribute term\n@required {attributeId: int, termId: int}\n@optional {id: int # Term ID., name: str # Term name., slug: str # Term slug., description: str # Term description., menu_order: int # Menu order., count: int # Number of products in term.}\n@returns(200) {id: int, name: str, slug: str, description: str, menu_order: int, count: int} # Returns updated attribute term\n\n@endpoint DELETE /products/attributes/{attributeId}/terms/{termId}\n@desc Delete an attribute term\n@required {attributeId: int, termId: int, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, name: str, slug: str, description: str, menu_order: int, count: int} # Attribute term deleted\n\n@endpoint POST /products/attributes/{attributeId}/terms/batch\n@desc Batch update attribute terms\n@required {attributeId: int}\n@optional {create: [map{id: int, name: str, slug: str, description: str, menu_order: int, count: int}], update: [map{id: int, name: str, slug: str, description: str, menu_order: int, count: int}], delete: [int]}\n@returns(200) Returns batch operation result\n\n@endpoint POST /products/categories\n@desc This API helps you to create a new product category.\n@required {name: str # Category name.}\n@optional {id: int # Unique identifier for the resource., slug: str # An alphanumeric identifier for the resource unique to its type., parent: int # The ID for the parent of the resource., description: str # HTML description of the resource., display: str(default/products/subcategories/both)=default # Category archive display type., image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, menu_order: int # Menu order, used to custom sort the resource., count: int # Number of published products for the resource.}\n@returns(201) {id: int, name: str, slug: str, parent: int, description: str, display: str, image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, menu_order: int, count: int} # Returns created product category\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /products/categories\n@desc This API lets you retrieve all product categories.\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response, page: int=1 # Current page of the collection, per_page: int=10 # Maximum number of items to be returned in result set, search: str # Limit results to those matching a string, exclude: [int] # Ensure result set excludes specific ids, include: [int] # Limit result set to specific ids, order: str(asc/desc)=asc # Order sort attribute ascending or descending, orderby: str(id/include/name/slug/term_group/description/count)=name # Sort collection by resource attribute, hide_empty: bool=false # Whether to hide resources not assigned to any products, parent: int # Limit result set to resources assigned to a specific parent, product: int # Limit result set to resources assigned to a specific product, slug: str # Limit result set to resources with a specific slug}\n@returns(200) Returns list of product categories\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /products/categories/{categoryId}\n@desc This API lets you retrieve a product category by ID.\n@required {categoryId: int # ID of product category to return}\n@returns(200) {id: int, name: str, slug: str, parent: int, description: str, display: str, image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, menu_order: int, count: int} # Returns specified product category\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /products/categories/{categoryId}\n@desc This API lets you make changes to a product category.\n@required {categoryId: int # ID of product category to update, name: str # Category name.}\n@optional {id: int # Unique identifier for the resource., slug: str # An alphanumeric identifier for the resource unique to its type., parent: int # The ID for the parent of the resource., description: str # HTML description of the resource., display: str(default/products/subcategories/both)=default # Category archive display type., image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, menu_order: int # Menu order, used to custom sort the resource., count: int # Number of published products for the resource.}\n@returns(200) {id: int, name: str, slug: str, parent: int, description: str, display: str, image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, menu_order: int, count: int} # Returns updated product category\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /products/categories/{categoryId}\n@desc This API helps you delete a product category.\n@required {categoryId: int # ID of product category to delete, force: bool=true # Required to be true, as resource does not support trashing}\n@returns(200) {id: int, name: str, slug: str, parent: int, description: str, display: str, image: map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), src: str, name: str, alt: str}, menu_order: int, count: int} # Product category deleted\n\n@endpoint POST /products/categories/batch\n@desc Batch create, update, and delete product categories\n@optional {create: [map{id: int, name!: str, slug: str, parent: int, description: str, display: str, image: map, menu_order: int, count: int}], update: [map{id: int, name!: str, slug: str, parent: int, description: str, display: str, image: map, menu_order: int, count: int}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n\n@endpoint GET /products/shipping-classes\n@desc List all shipping classes\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., orderby: str(id/include/name/slug/term_group/description/count)=name # Sort collection by resource attribute. Options: id, include, name, slug, term_group, description, count. Default is name., order: str(asc/desc)=asc # Order sort attribute ascending or descending. Options: asc and desc. Default is asc., hide_empty: bool=false # Whether to hide resources not assigned to any products. Default is false., parent: int # Limit result set to resources assigned to a specific parent., product: int # Limit result set to resources assigned to a specific product., slug: str # Limit result set to resources with a specific slug., include: [int] # Limit result set to specific IDs., exclude: [int] # Ensure result set excludes specific IDs.}\n@returns(200) Returns list of shipping classes\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint POST /products/shipping-classes\n@desc Create a shipping class\n@optional {id: int # Shipping class ID., name: str # Shipping class name., slug: str # Shipping class slug., description: str # Shipping class description., count: int # Number of products in class.}\n@returns(201) {id: int, name: str, slug: str, description: str, count: int} # Returns created shipping class\n\n@endpoint GET /products/shipping-classes/{classId}\n@desc Retrieve a shipping class\n@required {classId: int}\n@returns(200) {id: int, name: str, slug: str, description: str, count: int} # Returns specified shipping class\n\n@endpoint PUT /products/shipping-classes/{classId}\n@desc Update a shipping class\n@required {classId: int}\n@optional {id: int # Shipping class ID., name: str # Shipping class name., slug: str # Shipping class slug., description: str # Shipping class description., count: int # Number of products in class.}\n@returns(200) {id: int, name: str, slug: str, description: str, count: int} # Returns updated shipping class\n\n@endpoint DELETE /products/shipping-classes/{classId}\n@desc Delete a shipping class\n@required {classId: int, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, name: str, slug: str, description: str, count: int} # Shipping class deleted\n\n@endpoint POST /products/shipping-classes/batch\n@desc Batch update shipping classes\n@optional {create: [map{id: int, name: str, slug: str, description: str, count: int}], update: [map{id: int, name: str, slug: str, description: str, count: int}], delete: [int]}\n@returns(200) Returns batch operation result\n\n@endpoint POST /products/tags\n@desc This API helps you to create a new product tag.\n@required {name: str # Tag name. read-only}\n@optional {id: int # Tag ID., slug: str # Tag slug. read-only, description: str # HTML description of the resource, count: int # Number of published products for the resource}\n@returns(201) {id: int, name: str, slug: str, description: str, count: int} # Returns created product tag\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /products/tags\n@desc This API lets you retrieve all product tags.\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response, page: int=1 # Current page of the collection, per_page: int=10 # Maximum number of items to be returned in result set, search: str # Limit results to those matching a string, exclude: [int] # Ensure result set excludes specific ids, include: [int] # Limit result set to specific ids, offset: int # Offset the result set by a specific number of items, order: str(asc/desc)=asc # Order sort attribute ascending or descending, orderby: str(id/include/name/slug/term_group/description/count)=name # Sort collection by resource attribute, hide_empty: bool=false # Whether to hide resources not assigned to any products, product: int # Limit result set to resources assigned to a specific product, slug: str # Limit result set to resources with a specific slug}\n@returns(200) Returns list of product tags\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /products/tags/{tagId}\n@desc This API lets you retrieve a product tag by ID.\n@required {tagId: int # ID of product tag to return}\n@returns(200) {id: int, name: str, slug: str, description: str, count: int} # Returns specified product tag\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /products/tags/{tagId}\n@desc This API lets you make changes to a product tag.\n@required {tagId: int # ID of product tag to update, name: str # Tag name. read-only}\n@optional {id: int # Tag ID., slug: str # Tag slug. read-only, description: str # HTML description of the resource, count: int # Number of published products for the resource}\n@returns(200) {id: int, name: str, slug: str, description: str, count: int} # Returns updated product tag\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /products/tags/{tagId}\n@desc This API helps you delete a product tag.\n@required {tagId: int # ID of product tag to delete, force: bool=true # Required to be true, as resource does not support trashing}\n@returns(200) {id: int, name: str, slug: str, description: str, count: int} # Product tag deleted\n\n@endpoint POST /products/tags/batch\n@desc Batch create, update, and delete product tags\n@optional {create: [map{id: int, name!: str, slug: str, description: str, count: int}], update: [map{id: int, name!: str, slug: str, description: str, count: int}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n\n@endgroup\n\n@group orders\n@endpoint POST /orders\n@desc This API helps you to create a new order.\n@optional {id: int # Unique identifier for the resource., parent_id: int # Parent order ID., number: str # Order number., order_key: str # Order key., created_via: str # Shows where the order was created., version: str # Version of WooCommerce which last updated the order., status: str # Order status. Options - pending, processing, on-hold, completed, cancelled, refunded, failed, trash and checkout-draft. Default is pending., currency: str(AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BRL/BSD/BTC/BTN/BWP/BYR/BYN/BZD/CAD/CDF/CHF/CLP/CNY/COP/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GGP/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/IMP/INR/IQD/IRR/IRT/ISK/JEP/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRU/MUR/MVR/MWK/MXN/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PRB/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STN/SYP/SZL/THB/TJS/TMT/TND/TOP/TRY/TTD/TWD/TZS/UAH/UGX/USD/UYU/UZS/VEF/VES/VND/VUV/WST/XAF/XCD/XOF/XPF/YER/ZAR/ZMW) # Currency the order was created with, in ISO format., date_created: str(date-time) # The date the order was created, in the site's timezone., date_created_gmt: str(date-time) # The date the order was created, as GMT., date_modified: str(date-time) # The date the order was last modified, in the site's timezone., date_modified_gmt: str(date-time) # The date the order was last modified, as GMT., discount_total: str # Total discount amount for the order., discount_tax: str # Total discount tax amount for the order., shipping_total: str # Total shipping amount for the order., shipping_tax: str # Total shipping tax amount for the order., cart_tax: str # Sum of line item taxes only., total: str # Grand total., total_tax: str # Sum of all taxes., prices_include_tax: bool # True the prices included tax during checkout., customer_id: int # User ID who owns the order. 0 for guests., customer_ip_address: str # Customer's IP address., customer_user_agent: str # User agent of the customer., customer_note: str # Note left by customer during checkout., billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, payment_method: str # Payment method ID., payment_method_title: str # Payment method title., transaction_id: str # Unique transaction ID., date_paid: str(date-time) # The date the order was paid, in the site's timezone., date_paid_gmt: str(date-time) # The date the order was paid, as GMT., date_completed: str(date-time) # The date the order was completed, in the site's timezone., date_completed_gmt: str(date-time) # The date the order was completed, as GMT., cart_hash: str # MD5 hash of cart items to ensure orders are not modified., meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data properties., line_items: [map{id: int, name: str, parent_name: str, product_id: int, variation_id: int, quantity: int, tax_class: str, subtotal: str, subtotal_tax: str, total: str, total_tax: str, taxes: [map], meta_data: [map], sku: str, price: num}] # Line items data., tax_lines: [map{id: int, rate_code: str, rate_id: str, label: str, compound: bool, tax_total: str, shipping_tax_total: str, meta_data: [map]}] # Tax lines data., shipping_lines: [any] # Shipping lines data., fee_lines: [any] # Fee lines data., coupon_lines: [any] # Fee lines data., refunds: [map{id: int, reason: str, total: str, date_created: str(date-time), date_created_gmt: str(date-time), amount: str, api_refund: bool, line_items: [map], refunded_by: int, refunded_payment: bool, meta_data: [map]}] # List of refunds., set_paid: bool # Define if the order is paid. It will set the status to processing and reduce stock items.}\n@returns(201) {id: int, parent_id: int, number: str, order_key: str, created_via: str, version: str, status: str, currency: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_total: str, discount_tax: str, shipping_total: str, shipping_tax: str, cart_tax: str, total: str, total_tax: str, prices_include_tax: bool, customer_id: int, customer_ip_address: str, customer_user_agent: str, customer_note: str, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, payment_method: str, payment_method_title: str, transaction_id: str, date_paid: str(date-time), date_paid_gmt: str(date-time), date_completed: str(date-time), date_completed_gmt: str(date-time), cart_hash: str, meta_data: [map], line_items: [map], tax_lines: [map], shipping_lines: [any], fee_lines: [any], coupon_lines: [any], refunds: [map], set_paid: bool} # Returns created order.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /orders\n@desc This API helps you to view all the orders.\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., after: str(date-time) # Limit response to resources published after a given ISO8601 compliant date., before: str(date-time) # Limit response to resources published before a given ISO8601 compliant date., modified_after: str(date-time) # Limit response to resources modified after a given ISO8601 compliant date., modified_before: str(date-time) # Limit response to resources modified before a given ISO8601 compliant date., dates_are_gmt: bool # Whether to consider GMT post dates when limiting response by published or modified date., exclude: [int] # Ensure result set excludes specific IDs., include: [int] # Limit result set to specific ids., offset: int # Offset the result set by a specific number of items., order: str(asc/desc)=desc # Order sort attribute ascending or descending. Options: asc and desc. Default is desc., orderby: str(date/modified/id/include/title/slug)=date # Sort collection by object attribute. Options: date, modified, id, include, title and slug. Default is date., parent: [int] # Limit result set to those of particular parent IDs., parent_exclude: [int] # Limit result set to all items except those of a particular parent ID., status: [str] # Limit result set to orders assigned a specific status. Options: any, pending, processing, on-hold, completed, cancelled, refunded, failed and trash. Default is any., customer: int # Limit result set to orders assigned a specific customer., product: int # Limit result set to orders assigned a specific product., dp: int=2 # Number of decimal points to use in each resource. Default is 2.}\n@returns(200) Returns list of orders.\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /orders/{orderId}\n@desc This API lets you retrieve and view a specific order.\n@required {orderId: int # ID of order to return}\n@returns(200) {id: int, parent_id: int, number: str, order_key: str, created_via: str, version: str, status: str, currency: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_total: str, discount_tax: str, shipping_total: str, shipping_tax: str, cart_tax: str, total: str, total_tax: str, prices_include_tax: bool, customer_id: int, customer_ip_address: str, customer_user_agent: str, customer_note: str, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, payment_method: str, payment_method_title: str, transaction_id: str, date_paid: str(date-time), date_paid_gmt: str(date-time), date_completed: str(date-time), date_completed_gmt: str(date-time), cart_hash: str, meta_data: [map], line_items: [map], tax_lines: [map], shipping_lines: [any], fee_lines: [any], coupon_lines: [any], refunds: [map], set_paid: bool} # Returns specified order.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /orders/{orderId}\n@desc This API lets you make changes to an order.\n@required {orderId: int # ID of order to update}\n@optional {id: int # Unique identifier for the resource., parent_id: int # Parent order ID., number: str # Order number., order_key: str # Order key., created_via: str # Shows where the order was created., version: str # Version of WooCommerce which last updated the order., status: str # Order status. Options - pending, processing, on-hold, completed, cancelled, refunded, failed, trash and checkout-draft. Default is pending., currency: str(AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BRL/BSD/BTC/BTN/BWP/BYR/BYN/BZD/CAD/CDF/CHF/CLP/CNY/COP/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GGP/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/IMP/INR/IQD/IRR/IRT/ISK/JEP/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRU/MUR/MVR/MWK/MXN/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PRB/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STN/SYP/SZL/THB/TJS/TMT/TND/TOP/TRY/TTD/TWD/TZS/UAH/UGX/USD/UYU/UZS/VEF/VES/VND/VUV/WST/XAF/XCD/XOF/XPF/YER/ZAR/ZMW) # Currency the order was created with, in ISO format., date_created: str(date-time) # The date the order was created, in the site's timezone., date_created_gmt: str(date-time) # The date the order was created, as GMT., date_modified: str(date-time) # The date the order was last modified, in the site's timezone., date_modified_gmt: str(date-time) # The date the order was last modified, as GMT., discount_total: str # Total discount amount for the order., discount_tax: str # Total discount tax amount for the order., shipping_total: str # Total shipping amount for the order., shipping_tax: str # Total shipping tax amount for the order., cart_tax: str # Sum of line item taxes only., total: str # Grand total., total_tax: str # Sum of all taxes., prices_include_tax: bool # True the prices included tax during checkout., customer_id: int # User ID who owns the order. 0 for guests., customer_ip_address: str # Customer's IP address., customer_user_agent: str # User agent of the customer., customer_note: str # Note left by customer during checkout., billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, payment_method: str # Payment method ID., payment_method_title: str # Payment method title., transaction_id: str # Unique transaction ID., date_paid: str(date-time) # The date the order was paid, in the site's timezone., date_paid_gmt: str(date-time) # The date the order was paid, as GMT., date_completed: str(date-time) # The date the order was completed, in the site's timezone., date_completed_gmt: str(date-time) # The date the order was completed, as GMT., cart_hash: str # MD5 hash of cart items to ensure orders are not modified., meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data properties., line_items: [map{id: int, name: str, parent_name: str, product_id: int, variation_id: int, quantity: int, tax_class: str, subtotal: str, subtotal_tax: str, total: str, total_tax: str, taxes: [map], meta_data: [map], sku: str, price: num}] # Line items data., tax_lines: [map{id: int, rate_code: str, rate_id: str, label: str, compound: bool, tax_total: str, shipping_tax_total: str, meta_data: [map]}] # Tax lines data., shipping_lines: [any] # Shipping lines data., fee_lines: [any] # Fee lines data., coupon_lines: [any] # Fee lines data., refunds: [map{id: int, reason: str, total: str, date_created: str(date-time), date_created_gmt: str(date-time), amount: str, api_refund: bool, line_items: [map], refunded_by: int, refunded_payment: bool, meta_data: [map]}] # List of refunds., set_paid: bool # Define if the order is paid. It will set the status to processing and reduce stock items.}\n@returns(200) {id: int, parent_id: int, number: str, order_key: str, created_via: str, version: str, status: str, currency: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_total: str, discount_tax: str, shipping_total: str, shipping_tax: str, cart_tax: str, total: str, total_tax: str, prices_include_tax: bool, customer_id: int, customer_ip_address: str, customer_user_agent: str, customer_note: str, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, payment_method: str, payment_method_title: str, transaction_id: str, date_paid: str(date-time), date_paid_gmt: str(date-time), date_completed: str(date-time), date_completed_gmt: str(date-time), cart_hash: str, meta_data: [map], line_items: [map], tax_lines: [map], shipping_lines: [any], fee_lines: [any], coupon_lines: [any], refunds: [map], set_paid: bool} # Returns updated order.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /orders/{orderId}\n@desc This API helps you delete an order.\n@required {orderId: int # ID of order to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, parent_id: int, number: str, order_key: str, created_via: str, version: str, status: str, currency: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_total: str, discount_tax: str, shipping_total: str, shipping_tax: str, cart_tax: str, total: str, total_tax: str, prices_include_tax: bool, customer_id: int, customer_ip_address: str, customer_user_agent: str, customer_note: str, billing: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, email: str, phone: str}, shipping: map{first_name: str, last_name: str, company: str, address_1: str, address_2: str, city: str, state: str, postcode: str, country: str, phone: str}, payment_method: str, payment_method_title: str, transaction_id: str, date_paid: str(date-time), date_paid_gmt: str(date-time), date_completed: str(date-time), date_completed_gmt: str(date-time), cart_hash: str, meta_data: [map], line_items: [map], tax_lines: [map], shipping_lines: [any], fee_lines: [any], coupon_lines: [any], refunds: [map], set_paid: bool} # Returns deleted order.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /orders/batch\n@desc Batch create, update, and delete orders\n@optional {create: [map{id: int, parent_id: int, number: str, order_key: str, created_via: str, version: str, status: str, currency: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_total: str, discount_tax: str, shipping_total: str, shipping_tax: str, cart_tax: str, total: str, total_tax: str, prices_include_tax: bool, customer_id: int, customer_ip_address: str, customer_user_agent: str, customer_note: str, billing: map, shipping: map, payment_method: str, payment_method_title: str, transaction_id: str, date_paid: str(date-time), date_paid_gmt: str(date-time), date_completed: str(date-time), date_completed_gmt: str(date-time), cart_hash: str, meta_data: [map], line_items: [map], tax_lines: [map], shipping_lines: [any], fee_lines: [any], coupon_lines: [any], refunds: [map], set_paid: bool}], update: [map{id: int, parent_id: int, number: str, order_key: str, created_via: str, version: str, status: str, currency: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_total: str, discount_tax: str, shipping_total: str, shipping_tax: str, cart_tax: str, total: str, total_tax: str, prices_include_tax: bool, customer_id: int, customer_ip_address: str, customer_user_agent: str, customer_note: str, billing: map, shipping: map, payment_method: str, payment_method_title: str, transaction_id: str, date_paid: str(date-time), date_paid_gmt: str(date-time), date_completed: str(date-time), date_completed_gmt: str(date-time), cart_hash: str, meta_data: [map], line_items: [map], tax_lines: [map], shipping_lines: [any], fee_lines: [any], coupon_lines: [any], refunds: [map], set_paid: bool}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n\n@endpoint GET /orders/{orderId}/notes\n@desc This API helps you to view all notes for an order.\n@required {orderId: int # ID of order for notes to return}\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10.}\n@returns(200) Returns list of order notes.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /orders/{orderId}/notes\n@desc This API helps you to create a new order note.\n@required {orderId: int # ID of order for note to create}\n@optional {id: int # Unique identifier for the resource. read-only, author: str # Note author. Displays as \"system\" for WooCommerce-generated notes, otherwise the author name. read-only, date_created: str(date-time) # The date the note was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the note was created, as GMT. read-only, note: str # Note content. mandatory, customer_note: bool # If true, the note will be visible to customers. mandatory}\n@returns(201) {id: int, author: str, date_created: str(date-time), date_created_gmt: str(date-time), note: str, customer_note: bool} # Returns created order note.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /orders/{orderId}/notes/{noteId}\n@desc This API lets you retrieve and view a specific order note by ID.\n@required {orderId: int # ID of order for note to return, noteId: int # ID of note to return}\n@returns(200) {id: int, author: str, date_created: str(date-time), date_created_gmt: str(date-time), note: str, customer_note: bool} # Returns specified order note.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /orders/{orderId}/notes/{noteId}\n@desc This API helps you delete an order note.\n@required {orderId: int # ID of order for note to delete, noteId: int # ID of note to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, author: str, date_created: str(date-time), date_created_gmt: str(date-time), note: str, customer_note: bool} # Returns deleted order note.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endgroup\n\n@group products\n@endpoint GET /products/reviews\n@desc List all product reviews\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., after: str(date-time) # Limit response to reviews published after a given ISO8601 compliant date., before: str(date-time) # Limit response to reviews published before a given ISO8601 compliant date., exclude: [int] # Ensure result set excludes specific IDs., include: [int] # Limit result set to specific IDs., offset: int # Offset the result set by a specific number of items., order: str(asc/desc)=desc # Order sort attribute ascending or descending. Options: asc and desc. Default is desc., orderby: str(date/date_gmt/id/slug/include/product)=date_gmt # Sort collection by resource attribute. Options: date, date_gmt, id, slug, include and product. Default is date_gmt., reviewer: [int] # Ensure result set excludes specific IDs., reviewer_exclude: [int] # Limit result set to specific IDs., reviewer_email: [int] # Limit result set to that from a specific author email., product: [int] # Limit result set to reviews assigned to specific product IDs, status: str(all/hold/approved/spam/trash)=approved # Limit result set to reviews assigned a specific status. Options: all, hold, approved, spam and trash. Default is approved.}\n@returns(200) Returns list of product reviews\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint POST /products/reviews\n@desc Create a product review\n@optional {id: int # Unique identifier for the resource., date_created: str(date-time) # The date the review was created, in the site's timezone., date_created_gmt: str(date-time) # The date the review was created, as GMT., product_id: int # Unique identifier for the product that the review belongs to., status: str(approved/hold/spam/unspam/trash/untrash)=approved # Status of the review., reviewer: str # Reviewer name., reviewer_email: str(email) # Reviewer email., review: str # The content of the review., rating: int # Review rating (0 to 5)., verified: bool # Shows if the reviewer bought the product or not.}\n@returns(201) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), product_id: int, status: str, reviewer: str, reviewer_email: str(email), review: str, rating: int, verified: bool} # Returns created product review\n\n@endpoint GET /products/reviews/{reviewId}\n@desc Retrieve a product review\n@required {reviewId: int}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), product_id: int, status: str, reviewer: str, reviewer_email: str(email), review: str, rating: int, verified: bool} # Returns specified product review\n\n@endpoint PUT /products/reviews/{reviewId}\n@desc Update a product review\n@required {reviewId: int}\n@optional {id: int # Unique identifier for the resource., date_created: str(date-time) # The date the review was created, in the site's timezone., date_created_gmt: str(date-time) # The date the review was created, as GMT., product_id: int # Unique identifier for the product that the review belongs to., status: str(approved/hold/spam/unspam/trash/untrash)=approved # Status of the review., reviewer: str # Reviewer name., reviewer_email: str(email) # Reviewer email., review: str # The content of the review., rating: int # Review rating (0 to 5)., verified: bool # Shows if the reviewer bought the product or not.}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), product_id: int, status: str, reviewer: str, reviewer_email: str(email), review: str, rating: int, verified: bool} # Returns updated product review\n\n@endpoint DELETE /products/reviews/{reviewId}\n@desc Delete a product review\n@required {reviewId: int, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, date_created: str(date-time), date_created_gmt: str(date-time), product_id: int, status: str, reviewer: str, reviewer_email: str(email), review: str, rating: int, verified: bool} # Product review deleted\n\n@endpoint POST /products/reviews/batch\n@desc Batch update product reviews\n@optional {create: [map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), product_id: int, status: str, reviewer: str, reviewer_email: str(email), review: str, rating: int, verified: bool}], update: [map{id: int, date_created: str(date-time), date_created_gmt: str(date-time), product_id: int, status: str, reviewer: str, reviewer_email: str(email), review: str, rating: int, verified: bool}], delete: [int]}\n@returns(200) Returns batch operation result\n\n@endgroup\n\n@group reports\n@endpoint GET /reports\n@desc List all reports\n@returns(200) Returns list of available reports\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /reports/top_sellers\n@desc Retrieve top sellers report\n@optional {context: str=view # Scope under which the request is made; determines fields present in response. Default is view., period: str(week/month/last_month/year) # Report period. Default is week. Options: week, month, last_month, year, date_min: str # Return sales for a specific start date (YYYY-MM-DD), date_max: str # Return sales for a specific end date (YYYY-MM-DD)}\n@returns(200) Returns top sellers report\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /reports/coupons/totals\n@desc Retrieve coupons totals report\n@returns(200) Returns coupons totals\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /reports/customers/totals\n@desc Retrieve customers totals report\n@returns(200) Returns customers totals\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /reports/orders/totals\n@desc This API lets you retrieve and view orders totals report.\n@returns(200) Returns list of products.\n@errors {401: Unauthorized}\n\n@endpoint GET /reports/products/totals\n@desc Retrieve products totals report\n@returns(200) Returns products totals\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /reports/reviews/totals\n@desc Retrieve reviews totals report\n@returns(200) Returns reviews totals\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /reports/sales\n@desc This API lets you retrieve and view a sales report.\n@optional {period: str(week/month/last_month/year) # Report period. Default is today's date. Options: week, month, last_month and year, date_min: str # Return sales for a specific start date, the date need to be in the YYYY-MM-DD format., date_max: str # Return sales for a specific end date, the date need to be in the YYYY-MM-DD format.}\n@returns(200) Returns list of products.\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endgroup\n\n@group orders\n@endpoint GET /orders/{orderId}/refunds\n@desc This API helps you to view all refunds for an order.\n@required {orderId: int # ID of order for refunds to return}\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10.}\n@returns(200) Returns list of order refunds.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /orders/{orderId}/refunds\n@desc This API helps you to create a new order refund.\n@required {orderId: int # ID of order for refund to create}\n@optional {id: int # Refund ID. read-only, reason: str # Refund reason., total: str # Refund total., date_created: str(date-time) # The date the refund was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the refund was created, as GMT. read-only, amount: str # Refund amount., api_refund: bool # When true, the payment gateway API is used to generate the refund., line_items: [map{id: int, name: str, product_id: int, variation_id: int, quantity: int, tax_class: str, subtotal: str, subtotal_tax: str, total: str, total_tax: str, taxes: [map], meta_data: [map], sku: str, price: num(float)}] # List of line items data., refunded_by: int # User ID of user who created the refund. read-only, refunded_payment: bool # If the refund was created via the API. read-only, meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data.}\n@returns(201) {id: int, reason: str, total: str, date_created: str(date-time), date_created_gmt: str(date-time), amount: str, api_refund: bool, line_items: [map], refunded_by: int, refunded_payment: bool, meta_data: [map]} # Returns created order refund.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /orders/{orderId}/refunds/{refundId}\n@desc This API lets you retrieve and view a specific order refund by ID.\n@required {orderId: int # ID of order for refund to return, refundId: int # ID of refund to return}\n@returns(200) {id: int, reason: str, total: str, date_created: str(date-time), date_created_gmt: str(date-time), amount: str, api_refund: bool, line_items: [map], refunded_by: int, refunded_payment: bool, meta_data: [map]} # Returns specified order refund.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /orders/{orderId}/refunds/{refundId}\n@desc This API helps you delete an order refund.\n@required {orderId: int # ID of order for refund to delete, refundId: int # ID of refund to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, reason: str, total: str, date_created: str(date-time), date_created_gmt: str(date-time), amount: str, api_refund: bool, line_items: [map], refunded_by: int, refunded_payment: bool, meta_data: [map]} # Returns deleted order refund.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endgroup\n\n@group coupons\n@endpoint GET /coupons\n@desc This API helps you to view all coupons.\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., after: str(date-time) # Limit response to resources published after a given ISO8601 compliant date., before: str(date-time) # Limit response to resources published before a given ISO8601 compliant date., exclude: [int] # Ensure result set excludes specific IDs., include: [int] # Limit result set to specific ids., offset: int # Offset the result set by a specific number of items., order: str(asc/desc)=desc # Order sort attribute ascending or descending., orderby: str(date/id/include/title/slug)=date # Sort collection by object attribute., code: str # Limit result set to resources with a specific code.}\n@returns(200) Returns list of coupons.\n@errors {401: Unauthorized}\n\n@endpoint POST /coupons\n@desc This API helps you to create a new coupon.\n@optional {id: int # Unique identifier for the resource. read-only, code: str # Coupon code. mandatory, amount: str # The amount of discount. Should always be numeric, even if setting a percentage., date_created: str(date-time) # The date the coupon was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the coupon was created, as GMT. read-only, date_modified: str(date-time) # The date the coupon was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the coupon was last modified, as GMT. read-only, discount_type: str(percent/fixed_cart/fixed_product)=fixed_cart # Determines the type of discount that will be applied., description: str # Coupon description., date_expires: str(date-time) # The date the coupon expires, in the site's timezone., date_expires_gmt: str(date-time) # The date the coupon expires, as GMT., usage_count: int # Number of times the coupon has been used already. read-only, individual_use: bool=false # If true, the coupon can only be used individually. Other applied coupons will be removed from the cart., product_ids: [int] # List of product IDs the coupon can be used on., excluded_product_ids: [int] # List of product IDs the coupon cannot be used on., usage_limit: int # How many times the coupon can be used in total., usage_limit_per_user: int # How many times the coupon can be used per customer., limit_usage_to_x_items: int # Max number of items in the cart the coupon can be applied to., free_shipping: bool=false # If true and if the free shipping method requires a coupon, this coupon will enable free shipping., product_categories: [int] # List of category IDs the coupon applies to., excluded_product_categories: [int] # List of category IDs the coupon does not apply to., exclude_sale_items: bool=false # If true, this coupon will not be applied to items that have sale prices., minimum_amount: str # Minimum order amount that needs to be in the cart before coupon applies., maximum_amount: str # Maximum order amount allowed when using the coupon., email_restrictions: [str] # List of email addresses that can use this coupon., meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data.}\n@returns(201) {id: int, code: str, amount: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_type: str, description: str, date_expires: str(date-time), date_expires_gmt: str(date-time), usage_count: int, individual_use: bool, product_ids: [int], excluded_product_ids: [int], usage_limit: int, usage_limit_per_user: int, limit_usage_to_x_items: int, free_shipping: bool, product_categories: [int], excluded_product_categories: [int], exclude_sale_items: bool, minimum_amount: str, maximum_amount: str, email_restrictions: [str], meta_data: [map]} # Returns created coupon.\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /coupons/{couponId}\n@desc This API lets you retrieve and view a specific coupon by ID.\n@required {couponId: int # ID of coupon to return}\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.}\n@returns(200) {id: int, code: str, amount: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_type: str, description: str, date_expires: str(date-time), date_expires_gmt: str(date-time), usage_count: int, individual_use: bool, product_ids: [int], excluded_product_ids: [int], usage_limit: int, usage_limit_per_user: int, limit_usage_to_x_items: int, free_shipping: bool, product_categories: [int], excluded_product_categories: [int], exclude_sale_items: bool, minimum_amount: str, maximum_amount: str, email_restrictions: [str], meta_data: [map]} # Returns specified coupon.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /coupons/{couponId}\n@desc This API helps you to update a coupon.\n@required {couponId: int # ID of coupon to update}\n@optional {id: int # Unique identifier for the resource. read-only, code: str # Coupon code. mandatory, amount: str # The amount of discount. Should always be numeric, even if setting a percentage., date_created: str(date-time) # The date the coupon was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the coupon was created, as GMT. read-only, date_modified: str(date-time) # The date the coupon was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the coupon was last modified, as GMT. read-only, discount_type: str(percent/fixed_cart/fixed_product)=fixed_cart # Determines the type of discount that will be applied., description: str # Coupon description., date_expires: str(date-time) # The date the coupon expires, in the site's timezone., date_expires_gmt: str(date-time) # The date the coupon expires, as GMT., usage_count: int # Number of times the coupon has been used already. read-only, individual_use: bool=false # If true, the coupon can only be used individually. Other applied coupons will be removed from the cart., product_ids: [int] # List of product IDs the coupon can be used on., excluded_product_ids: [int] # List of product IDs the coupon cannot be used on., usage_limit: int # How many times the coupon can be used in total., usage_limit_per_user: int # How many times the coupon can be used per customer., limit_usage_to_x_items: int # Max number of items in the cart the coupon can be applied to., free_shipping: bool=false # If true and if the free shipping method requires a coupon, this coupon will enable free shipping., product_categories: [int] # List of category IDs the coupon applies to., excluded_product_categories: [int] # List of category IDs the coupon does not apply to., exclude_sale_items: bool=false # If true, this coupon will not be applied to items that have sale prices., minimum_amount: str # Minimum order amount that needs to be in the cart before coupon applies., maximum_amount: str # Maximum order amount allowed when using the coupon., email_restrictions: [str] # List of email addresses that can use this coupon., meta_data: [map{id: int, key: str, value: map, display_key: str, display_value: map}] # Meta data.}\n@returns(200) {id: int, code: str, amount: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_type: str, description: str, date_expires: str(date-time), date_expires_gmt: str(date-time), usage_count: int, individual_use: bool, product_ids: [int], excluded_product_ids: [int], usage_limit: int, usage_limit_per_user: int, limit_usage_to_x_items: int, free_shipping: bool, product_categories: [int], excluded_product_categories: [int], exclude_sale_items: bool, minimum_amount: str, maximum_amount: str, email_restrictions: [str], meta_data: [map]} # Returns updated coupon.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /coupons/{couponId}\n@desc This API helps you delete a coupon.\n@required {couponId: int # ID of coupon to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, code: str, amount: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_type: str, description: str, date_expires: str(date-time), date_expires_gmt: str(date-time), usage_count: int, individual_use: bool, product_ids: [int], excluded_product_ids: [int], usage_limit: int, usage_limit_per_user: int, limit_usage_to_x_items: int, free_shipping: bool, product_categories: [int], excluded_product_categories: [int], exclude_sale_items: bool, minimum_amount: str, maximum_amount: str, email_restrictions: [str], meta_data: [map]} # Returns deleted coupon.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /coupons/batch\n@desc Batch create, update, and delete coupons\n@optional {create: [map{id: int, code: str, amount: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_type: str, description: str, date_expires: str(date-time), date_expires_gmt: str(date-time), usage_count: int, individual_use: bool, product_ids: [int], excluded_product_ids: [int], usage_limit: int, usage_limit_per_user: int, limit_usage_to_x_items: int, free_shipping: bool, product_categories: [int], excluded_product_categories: [int], exclude_sale_items: bool, minimum_amount: str, maximum_amount: str, email_restrictions: [str], meta_data: [map]}], update: [map{id: int, code: str, amount: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time), discount_type: str, description: str, date_expires: str(date-time), date_expires_gmt: str(date-time), usage_count: int, individual_use: bool, product_ids: [int], excluded_product_ids: [int], usage_limit: int, usage_limit_per_user: int, limit_usage_to_x_items: int, free_shipping: bool, product_categories: [int], excluded_product_categories: [int], exclude_sale_items: bool, minimum_amount: str, maximum_amount: str, email_restrictions: [str], meta_data: [map]}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endgroup\n\n@group settings\n@endpoint GET /settings\n@desc This API helps you to view all settings groups.\n@returns(200) Returns list of settings groups.\n@errors {401: Unauthorized}\n\n@endpoint GET /settings/{groupId}\n@desc This API helps you to view a specific settings group.\n@required {groupId: str # ID of settings group to return}\n@returns(200) {id: str, label: str, description: str, parent_id: str, sub_groups: str} # Returns specified settings group.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /settings/{groupId}/{id}\n@desc This API helps you to view a specific setting.\n@required {groupId: str # ID of settings group, id: str # ID of setting to return}\n@returns(200) {id: str, label: str, description: str, value: str, default: str, tip: str, type: str, options: map} # Returns specified setting.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /settings/{groupId}/{id}\n@desc This API helps you to update a specific setting.\n@required {groupId: str # ID of settings group, id: str # ID of setting to update}\n@optional {id: str # A unique identifier for the setting., label: str # A human readable label for the setting used in interfaces., description: str # A human readable description for the setting used in interfaces., value: str # Setting value., default: str # Default value for the setting., tip: str # Additional help text shown to the user about the setting., type: str # Type of setting., options: map # An object of option properties.}\n@returns(200) {id: str, label: str, description: str, value: str, default: str, tip: str, type: str, options: map} # Returns updated setting.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endgroup\n\n@group shipping\n@endpoint GET /shipping/zones\n@desc This API helps you to view all shipping zones.\n@returns(200) Returns list of shipping zones.\n@errors {401: Unauthorized}\n\n@endpoint POST /shipping/zones\n@desc This API helps you to create a new shipping zone.\n@optional {id: int # Unique identifier for the resource. read-only, name: str # Shipping zone name. mandatory, order: int # Shipping zone order., _links: map{self: [map], collection: [map]} # List of links.}\n@returns(201) {id: int, name: str, order: int, _links: map{self: [map], collection: [map]}} # Returns created shipping zone.\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /shipping/zones/{id}\n@desc This API lets you retrieve and view a specific shipping zone by ID.\n@required {id: int # ID of shipping zone to return}\n@returns(200) {id: int, name: str, order: int, _links: map{self: [map], collection: [map]}} # Returns specified shipping zone.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /shipping/zones/{id}\n@desc This API helps you to update a shipping zone.\n@required {id: int # ID of shipping zone to update}\n@optional {id: int # Unique identifier for the resource. read-only, name: str # Shipping zone name. mandatory, order: int # Shipping zone order., _links: map{self: [map], collection: [map]} # List of links.}\n@returns(200) {id: int, name: str, order: int, _links: map{self: [map], collection: [map]}} # Returns updated shipping zone.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /shipping/zones/{id}\n@desc This API helps you delete a shipping zone.\n@required {id: int # ID of shipping zone to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, name: str, order: int, _links: map{self: [map], collection: [map]}} # Returns deleted shipping zone.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint GET /shipping/zones/{id}/locations\n@desc This API helps you to view all locations for a shipping zone.\n@required {id: int # ID of shipping zone}\n@returns(200) Returns list of shipping zone locations.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /shipping/zones/{id}/locations\n@desc This API helps you to update locations for a shipping zone.\n@required {id: int # ID of shipping zone}\n@returns(200) Returns updated shipping zone locations.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint GET /shipping/zones/{id}/methods\n@desc This API helps you to view all shipping methods for a shipping zone.\n@required {id: int # ID of shipping zone}\n@returns(200) Returns list of shipping zone methods.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /shipping/zones/{id}/methods\n@desc This API helps you to create a new shipping method for a shipping zone.\n@required {id: int # ID of shipping zone}\n@optional {id: int # Method ID. read-only, instance_id: int # Instance ID. read-only, title: str # Shipping method title., order: int # Shipping method sort order., enabled: bool # Shipping method enabled status., method_id: str # Shipping method ID., method_title: str # Shipping method title. read-only, method_description: str # Shipping method description. read-only, settings: map # Shipping method settings.}\n@returns(201) {id: int, instance_id: int, title: str, order: int, enabled: bool, method_id: str, method_title: str, method_description: str, settings: map} # Returns created shipping zone method.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint GET /shipping/zones/{id}/methods/{instanceId}\n@desc This API lets you retrieve and view a specific shipping zone method by instance ID.\n@required {id: int # ID of shipping zone, instanceId: int # Instance ID of shipping zone method to return}\n@returns(200) {id: int, instance_id: int, title: str, order: int, enabled: bool, method_id: str, method_title: str, method_description: str, settings: map} # Returns specified shipping zone method.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /shipping/zones/{id}/methods/{instanceId}\n@desc This API helps you to update a shipping zone method.\n@required {id: int # ID of shipping zone, instanceId: int # Instance ID of shipping zone method to update}\n@optional {id: int # Method ID. read-only, instance_id: int # Instance ID. read-only, title: str # Shipping method title., order: int # Shipping method sort order., enabled: bool # Shipping method enabled status., method_id: str # Shipping method ID., method_title: str # Shipping method title. read-only, method_description: str # Shipping method description. read-only, settings: map # Shipping method settings.}\n@returns(200) {id: int, instance_id: int, title: str, order: int, enabled: bool, method_id: str, method_title: str, method_description: str, settings: map} # Returns updated shipping zone method.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /shipping/zones/{id}/methods/{instanceId}\n@desc This API helps you delete a shipping zone method.\n@required {id: int # ID of shipping zone, instanceId: int # Instance ID of shipping zone method to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, instance_id: int, title: str, order: int, enabled: bool, method_id: str, method_title: str, method_description: str, settings: map} # Returns deleted shipping zone method.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endgroup\n\n@group payment_gateways\n@endpoint GET /payment_gateways\n@desc This API helps you to view all payment gateways.\n@returns(200) Returns list of payment gateways.\n@errors {401: Unauthorized}\n\n@endpoint GET /payment_gateways/{id}\n@desc This API lets you retrieve and view a specific payment gateway by ID.\n@required {id: str # ID of payment gateway to return}\n@returns(200) {id: str, title: str, description: str, order: int, enabled: bool, method_title: str, method_description: str, method_supports: [str], settings: map} # Returns specified payment gateway.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /payment_gateways/{id}\n@desc This API helps you to update a payment gateway.\n@required {id: str # ID of payment gateway to update}\n@optional {id: str # Payment gateway ID. read-only, title: str # Payment gateway title on checkout., description: str # Payment gateway description on checkout., order: int # Payment gateway sort order., enabled: bool # Payment gateway enabled status., method_title: str # Payment gateway method title. read-only, method_description: str # Payment gateway method description. read-only, method_supports: [str] # Supported features for this payment gateway. read-only, settings: map # Payment gateway settings.}\n@returns(200) {id: str, title: str, description: str, order: int, enabled: bool, method_title: str, method_description: str, method_supports: [str], settings: map} # Returns updated payment gateway.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endgroup\n\n@group taxes\n@endpoint GET /taxes\n@desc This API helps you to view all taxes.\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., exclude: [int] # Ensure result set excludes specific IDs., include: [int] # Limit result set to specific ids., offset: int # Offset the result set by a specific number of items., order: str(asc/desc)=asc # Order sort attribute ascending or descending., orderby: str(id/order)=id # Sort collection by object attribute., class: str # Limit result set to resources with a specific tax class.}\n@returns(200) Returns list of taxes.\n@errors {401: Unauthorized}\n\n@endpoint POST /taxes\n@desc This API helps you to create a new tax.\n@optional {id: int # Unique identifier for the resource. read-only, country: str # Country ISO 3166 code. mandatory, state: str # State code., postcode: str # Postcode/ZIP code., city: str # City name., rate: str # Tax rate. mandatory, name: str # Tax rate name. mandatory, priority: int=1 # Tax priority., compound: bool=false # Whether or not this is a compound rate., shipping: bool=true # Whether or not this tax rate also gets applied to shipping., order: int=0 # Indicates the order that will appear in queries., class: str=standard # Tax class.}\n@returns(201) {id: int, country: str, state: str, postcode: str, city: str, rate: str, name: str, priority: int, compound: bool, shipping: bool, order: int, class: str} # Returns created tax.\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /taxes/{id}\n@desc This API lets you retrieve and view a specific tax by ID.\n@required {id: int # ID of tax to return}\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.}\n@returns(200) {id: int, country: str, state: str, postcode: str, city: str, rate: str, name: str, priority: int, compound: bool, shipping: bool, order: int, class: str} # Returns specified tax.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /taxes/{id}\n@desc This API helps you to update a tax.\n@required {id: int # ID of tax to update}\n@optional {id: int # Unique identifier for the resource. read-only, country: str # Country ISO 3166 code. mandatory, state: str # State code., postcode: str # Postcode/ZIP code., city: str # City name., rate: str # Tax rate. mandatory, name: str # Tax rate name. mandatory, priority: int=1 # Tax priority., compound: bool=false # Whether or not this is a compound rate., shipping: bool=true # Whether or not this tax rate also gets applied to shipping., order: int=0 # Indicates the order that will appear in queries., class: str=standard # Tax class.}\n@returns(200) {id: int, country: str, state: str, postcode: str, city: str, rate: str, name: str, priority: int, compound: bool, shipping: bool, order: int, class: str} # Returns updated tax.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /taxes/{id}\n@desc This API helps you delete a tax.\n@required {id: int # ID of tax to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, country: str, state: str, postcode: str, city: str, rate: str, name: str, priority: int, compound: bool, shipping: bool, order: int, class: str} # Returns deleted tax.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /taxes/batch\n@desc Batch create, update, and delete taxes\n@optional {create: [map{id: int, country: str, state: str, postcode: str, city: str, rate: str, name: str, priority: int, compound: bool, shipping: bool, order: int, class: str}], update: [map{id: int, country: str, state: str, postcode: str, city: str, rate: str, name: str, priority: int, compound: bool, shipping: bool, order: int, class: str}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /taxes/classes\n@desc This API helps you to view all tax classes.\n@returns(200) Returns list of tax classes.\n@errors {401: Unauthorized}\n\n@endpoint POST /taxes/classes\n@desc This API helps you to create a new tax class.\n@optional {slug: str # Unique identifier for the resource. read-only, name: str # Tax class name. mandatory}\n@returns(201) {slug: str, name: str} # Returns created tax class.\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /taxes/classes/{slug}\n@desc This API lets you retrieve and view a specific tax class by slug.\n@required {slug: str # Slug of tax class to return}\n@returns(200) {slug: str, name: str} # Returns specified tax class.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /taxes/classes/{slug}\n@desc This API helps you delete a tax class.\n@required {slug: str # Slug of tax class to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {slug: str, name: str} # Returns deleted tax class.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endgroup\n\n@group webhooks\n@endpoint GET /webhooks\n@desc This API helps you to view all webhooks.\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view., page: int=1 # Current page of the collection. Default is 1., per_page: int=10 # Maximum number of items to be returned in result set. Default is 10., search: str # Limit results to those matching a string., after: str(date-time) # Limit response to resources published after a given ISO8601 compliant date., before: str(date-time) # Limit response to resources published before a given ISO8601 compliant date., exclude: [int] # Ensure result set excludes specific IDs., include: [int] # Limit result set to specific ids., offset: int # Offset the result set by a specific number of items., order: str(asc/desc)=desc # Order sort attribute ascending or descending., orderby: str(date/id/include/title)=date # Sort collection by object attribute., status: str(all/active/paused/disabled) # Limit result set to webhooks assigned a specific status.}\n@returns(200) Returns list of webhooks.\n@errors {401: Unauthorized}\n\n@endpoint POST /webhooks\n@desc This API helps you to create a new webhook.\n@optional {id: int # Unique identifier for the resource. read-only, name: str # A friendly name for the webhook. mandatory, status: str(active/paused/disabled)=active # Webhook status., topic: str # Webhook topic. mandatory, resource: str # Webhook resource. read-only, event: str # Webhook event. read-only, hooks: [str] # WooCommerce action names associated with the webhook. read-only, delivery_url: str(uri) # The URL where the webhook payload is delivered. mandatory, secret: str # Secret key used to generate a hash of the delivered webhook and provided in the request headers. This will default is a MD5 hash from the current user's ID|username if not provided., date_created: str(date-time) # The date the webhook was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the webhook was created, as GMT. read-only, date_modified: str(date-time) # The date the webhook was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the webhook was last modified, as GMT. read-only}\n@returns(201) {id: int, name: str, status: str, topic: str, resource: str, event: str, hooks: [str], delivery_url: str(uri), secret: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time)} # Returns created webhook.\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endpoint GET /webhooks/{id}\n@desc This API lets you retrieve and view a specific webhook by ID.\n@required {id: int # ID of webhook to return}\n@optional {context: str(view/edit)=view # Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.}\n@returns(200) {id: int, name: str, status: str, topic: str, resource: str, event: str, hooks: [str], delivery_url: str(uri), secret: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time)} # Returns specified webhook.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /webhooks/{id}\n@desc This API helps you to update a webhook.\n@required {id: int # ID of webhook to update}\n@optional {id: int # Unique identifier for the resource. read-only, name: str # A friendly name for the webhook. mandatory, status: str(active/paused/disabled)=active # Webhook status., topic: str # Webhook topic. mandatory, resource: str # Webhook resource. read-only, event: str # Webhook event. read-only, hooks: [str] # WooCommerce action names associated with the webhook. read-only, delivery_url: str(uri) # The URL where the webhook payload is delivered. mandatory, secret: str # Secret key used to generate a hash of the delivered webhook and provided in the request headers. This will default is a MD5 hash from the current user's ID|username if not provided., date_created: str(date-time) # The date the webhook was created, in the site's timezone. read-only, date_created_gmt: str(date-time) # The date the webhook was created, as GMT. read-only, date_modified: str(date-time) # The date the webhook was last modified, in the site's timezone. read-only, date_modified_gmt: str(date-time) # The date the webhook was last modified, as GMT. read-only}\n@returns(200) {id: int, name: str, status: str, topic: str, resource: str, event: str, hooks: [str], delivery_url: str(uri), secret: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time)} # Returns updated webhook.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endpoint DELETE /webhooks/{id}\n@desc This API helps you delete a webhook.\n@required {id: int # ID of webhook to delete, force: bool=true # Required to be true, as resource does not support trashing.}\n@returns(200) {id: int, name: str, status: str, topic: str, resource: str, event: str, hooks: [str], delivery_url: str(uri), secret: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time)} # Returns deleted webhook.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint POST /webhooks/batch\n@desc Batch create, update, and delete webhooks\n@optional {create: [map{id: int, name: str, status: str, topic: str, resource: str, event: str, hooks: [str], delivery_url: str(uri), secret: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time)}], update: [map{id: int, name: str, status: str, topic: str, resource: str, event: str, hooks: [str], delivery_url: str(uri), secret: str, date_created: str(date-time), date_created_gmt: str(date-time), date_modified: str(date-time), date_modified_gmt: str(date-time)}], delete: [int]}\n@returns(200) {create: [map], update: [map], delete: [map]} # Batch operation results\n@errors {400: Bad Request, 401: Unauthorized}\n\n@endgroup\n\n@group system_status\n@endpoint GET /system_status\n@desc This API helps you to view the system status.\n@returns(200) {environment: map, database: map, active_plugins: [map], inactive_plugins: [map], dropins_mu_plugins: [map], theme: map, settings: map, security: map, pages: [map]} # Returns system status.\n@errors {401: Unauthorized}\n\n@endpoint GET /system_status/tools\n@desc This API helps you to view all system status tools.\n@returns(200) Returns list of system status tools.\n@errors {401: Unauthorized}\n\n@endpoint GET /system_status/tools/{id}\n@desc This API lets you retrieve and view a specific system status tool by ID.\n@required {id: str # ID of system status tool to return}\n@returns(200) {id: str, name: str, action: str, description: str, success: bool, message: str} # Returns specified system status tool.\n@errors {401: Unauthorized, 404: Not Found}\n\n@endpoint PUT /system_status/tools/{id}\n@desc This API helps you to run a system status tool.\n@required {id: str # ID of system status tool to run}\n@returns(200) {id: str, name: str, action: str, description: str, success: bool, message: str} # Returns system status tool execution result.\n@errors {400: Bad Request, 401: Unauthorized, 404: Not Found}\n\n@endgroup\n\n@end\n"}}