# specVersion: 1.0.0 openapi: 3.0.1 info: title: WooCommerce REST API description: The REST API is a powerful part of WooCommerce which lets you read and write various parts of WooCommerce data such as orders, products, coupons, customers, and shipping zones. version: v3 contact: name: WTX Labs Team url: https://github.com/wtx-labs/woocommerce-api-openapi-specification servers: - url: https://example-woocommerce-shop.com/wp-json/wc/v3 security: - basicAuth: [] tags: - name: Customers - name: Orders - name: Products - name: Product variations - name: Product attributes - name: Product attribute terms - name: Product categories - name: Product shipping classes - name: Product tags - name: Product reviews - name: Reports - name: Coupons - name: Settings - name: Shipping zones - name: Payment gateways - name: Taxes - name: Webhooks - name: System status paths: /customers: post: tags: - Customers summary: This API helps you to create a new customer. operationId: createCustomer requestBody: description: Customer object with data to create. content: application/json: schema: $ref: '#/components/schemas/Customer' required: true responses: '200': description: Returns specified customer. content: application/json: schema: $ref: '#/components/schemas/Customer' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' get: tags: - Customers summary: This API helps you to view all the customers. operationId: listAllCustomers parameters: - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: 'Current page of the collection. Default is 1.' schema: type: integer default: 1 - name: per_page in: query description: 'Maximum number of items to be returned in result set. Default is 10.' schema: type: integer default: 10 - name: search in: query description: 'Limit results to those matching a string.' schema: type: string - name: exclude in: query description: 'Ensure result set excludes specific IDs.' explode: false schema: type: array items: type: integer - name: include in: query description: 'Limit result set to specific IDs.' explode: false schema: type: array items: type: integer - name: offset in: query description: 'Offset the result set by a specific number of items.' schema: type: integer - name: order in: query description: 'Order sort attribute ascending or descending. Options: asc and desc. Default is asc.' schema: type: string enum: - asc - desc default: asc - name: orderby in: query description: 'Sort collection by object attribute. Options: id, include, name and registered_date. Default is name.' schema: type: string enum: - id - include - name - registered_date default: name - name: email in: query description: 'Limit result set to resources with a specific email.' schema: type: string - name: role in: query description: 'Limit result set to resources with a specific role. Options: all, administrator, editor, author, contributor, subscriber, customer and shop_manager. Default is customer.' schema: type: string enum: - all - administrator - editor - author - contributor - subscriber - customer - shop_manager default: customer responses: '200': description: Returns list of customers. content: application/json: schema: type: array items: $ref: '#/components/schemas/Customer' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /customers/{customerId}: get: tags: - Customers summary: This API lets you retrieve and view a specific customer by ID. operationId: retrieveCustomerById parameters: - name: customerId in: path description: ID of customer to return required: true schema: type: integer responses: '200': description: Returns specified customer. content: application/json: schema: $ref: '#/components/schemas/Customer' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Customers summary: This API lets you make changes to a customer. operationId: updateCustomerById parameters: - name: customerId in: path description: ID of customer to update required: true schema: type: integer requestBody: description: Customer object with data to update. content: application/json: schema: $ref: '#/components/schemas/Customer' required: true responses: '200': description: Returns updated customer. content: application/json: schema: $ref: '#/components/schemas/Customer' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' x-codegen-request-body-name: customer delete: tags: - Customers summary: This API helps you delete a customer. operationId: deleteCustomerById parameters: - name: customerId in: path description: ID of customer to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: string - name: reassign in: query description: User ID to reassign posts to. required: false schema: type: integer responses: '200': description: Returns deleted customer. content: application/json: schema: $ref: '#/components/schemas/Customer' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /customers/batch: post: tags: [Customers] summary: Batch create, update, and delete customers operationId: batchCustomers requestBody: description: Batch create, update, and delete customers content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Customer' update: type: array items: $ref: '#/components/schemas/Customer' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Customer' update: type: array items: $ref: '#/components/schemas/Customer' delete: type: array items: $ref: '#/components/schemas/Customer' /products: post: tags: - Products summary: This API helps you to create a new product. operationId: createProduct requestBody: description: Product object with data to create. content: application/json: schema: $ref: '#/components/schemas/Product' required: true responses: '201': description: Returns created product. content: application/json: schema: $ref: '#/components/schemas/Product' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' get: tags: - Products summary: This API helps you to view all the products. operationId: listAllProducts parameters: - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: Current page of the collection. Default is 1. schema: type: integer default: 1 - name: per_page in: query description: Maximum number of items to be returned in result set. Default is 10. schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: after in: query description: Limit response to resources published after a given ISO8601 compliant date. schema: type: string - name: before in: query description: Limit response to resources published before a given ISO8601 compliant date. schema: type: string - name: modified_after in: query description: Limit response to resources modified after a given ISO8601 compliant date. schema: type: string - name: modified_before in: query description: Limit response to resources modified before a given ISO8601 compliant date. schema: type: string - name: dates_are_gmt in: query description: Whether to consider GMT post dates when limiting response by published or modified date. schema: type: boolean - name: exclude in: query description: Ensure result set excludes specific IDs. explode: false schema: type: array items: type: integer - name: include in: query description: Limit result set to specific ids. explode: false schema: type: array items: type: integer - name: offset in: query description: Offset the result set by a specific number of items. schema: type: integer - name: order in: query description: 'Order sort attribute ascending or descending. Options: asc and desc. Default is desc.' schema: type: string enum: - asc - desc default: desc - name: orderby in: query description: 'Sort collection by object attribute. Options: date, modified, id, include, title, slug, price, popularity, rating, and menu_order. Default is date.' schema: type: string enum: - date - modified - id - include - title - slug - price - popularity - rating - menu_order default: date - name: parent in: query description: Limit result set to those of particular parent IDs. explode: false schema: type: array items: type: integer - name: parent_exclude in: query description: Limit result set to all items except those of a particular parent ID. explode: false schema: type: array items: type: integer - name: slug in: query description: Limit result set to products with a specific slug. schema: type: string - name: status in: query description: 'Limit result set to products assigned a specific status. Options: any, draft, pending, private and publish. Default is any.' explode: false schema: type: array items: type: string enum: - any - draft - pending - private - publish default: any - name: include_status in: query description: '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.' explode: false schema: type: array items: type: string enum: - any - future - trash - draft - pending - private - publish - name: exclude_status in: query description: '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.' explode: false schema: type: array items: type: string enum: - future - trash - draft - pending - private - publish - name: type in: query description: 'Limit result set to products assigned a specific type. Options: simple, grouped, external and variable.' schema: type: string enum: - simple - grouped - external - variable - name: include_types in: query description: '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.' explode: false schema: type: array items: type: string enum: - simple - grouped - external - variable - name: exclude_types in: query description: '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.' explode: false schema: type: array items: type: string enum: - simple - grouped - external - variable - name: sku in: query description: Limit result set to products with a specific SKU. schema: type: string - name: featured in: query description: Limit result set to featured products. schema: type: boolean - name: category in: query description: Limit result set to products assigned a specific category ID. schema: type: string - name: tag in: query description: Limit result set to products assigned a specific tag ID. schema: type: string - name: shipping_class in: query description: Limit result set to products assigned a specific shipping class ID. schema: type: string - name: attribute in: query description: Limit result set to products with a specific attribute. schema: type: string - name: attribute_term in: query description: Limit result set to products with a specific attribute term ID (required an assigned attribute). schema: type: string - name: tax_class in: query description: 'Limit result set to products with a specific tax class. Default options: standard, reduced-rate and zero-rate.' schema: type: string enum: - standard - reduced-rate - zero-rate - name: on_sale in: query description: Limit result set to products on sale. schema: type: boolean - name: min_price in: query description: Limit result set to products based on a minimum price. schema: type: string - name: max_price in: query description: Limit result set to products based on a maximum price. schema: type: string - name: stock_status in: query description: 'Limit result set to products with specified stock status. Options: instock, outofstock and onbackorder.' schema: type: string enum: - instock - outofstock - onbackorder - name: virtual in: query description: Limit result set to virtual products. schema: type: boolean - name: downloadable in: query description: Limit result set to downloadable products. schema: type: boolean responses: '200': description: Returns list of products. content: application/json: schema: type: array items: $ref: '#/components/schemas/Product' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /products/{productId}: get: tags: - Products summary: This API lets you retrieve and view a specific product by ID. operationId: retrieveProductById parameters: - name: productId in: path description: ID of product to return required: true schema: type: integer responses: '200': description: Returns specified product. content: application/json: schema: $ref: '#/components/schemas/Product' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Products summary: This API lets you make changes to a product. operationId: updateProductById parameters: - name: productId in: path description: ID of product to update required: true schema: type: integer requestBody: description: Product object with data to update. content: application/json: schema: $ref: '#/components/schemas/Product' required: true responses: '200': description: Returns updated product. content: application/json: schema: $ref: '#/components/schemas/Product' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' x-codegen-request-body-name: product delete: tags: - Products summary: This API helps you delete a product. operationId: deleteProductById parameters: - name: productId in: path description: ID of product to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted product. content: application/json: schema: $ref: '#/components/schemas/Product' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /products/{productId}/duplicate: post: tags: - Products summary: This API helps you to duplicate a product. operationId: duplicateProduct parameters: - name: productId in: path description: ID of product to duplicate required: true schema: type: integer responses: '201': description: Returns newly duplicated product. content: application/json: schema: $ref: '#/components/schemas/Product' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /products/batch: post: tags: - Products summary: Batch create, update, and delete products operationId: batchProducts requestBody: description: Batch create, update, and delete products content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Product' update: type: array items: $ref: '#/components/schemas/Product' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Product' update: type: array items: $ref: '#/components/schemas/Product' delete: type: array items: $ref: '#/components/schemas/Product' /products/{productId}/variations: post: tags: - Product variations summary: This API helps you to create a new product variation. operationId: createProductVariation parameters: - name: productId in: path description: ID of parent product for variation to create required: true schema: type: integer requestBody: description: Product variation object with data to create. content: application/json: schema: $ref: '#/components/schemas/ProductVariation' required: true responses: '201': description: Returns created product variation. content: application/json: schema: $ref: '#/components/schemas/ProductVariation' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' get: tags: - Product variations summary: This API helps you to view all the product variations. operationId: listAllProductVariations parameters: - name: productId in: path description: 'ID of parent product for variations to return' required: true schema: type: integer - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: 'Current page of the collection. Default is 1.' schema: type: integer default: 1 - name: per_page in: query description: 'Maximum number of items to be returned in result set. Default is 10.' schema: type: integer default: 10 - name: search in: query description: 'Limit results to those matching a string.' schema: type: string - name: after in: query description: 'Limit response to resources published after a given ISO8601 compliant date.' schema: type: string format: date-time - name: before in: query description: 'Limit response to resources published before a given ISO8601 compliant date.' schema: type: string format: date-time - name: exclude in: query description: 'Ensure result set excludes specific IDs.' explode: false schema: type: array items: type: integer - name: include in: query description: 'Limit result set to specific ids.' explode: false schema: type: array items: type: integer - name: offset in: query description: 'Offset the result set by a specific number of items.' schema: type: integer - name: order in: query description: 'Order sort attribute ascending or descending. Options: asc and desc. Default is desc.' schema: type: string enum: - asc - desc default: desc - name: orderby in: query description: 'Sort collection by object attribute. Options: date, modified, id, include, title and slug. Default is date.' schema: type: string enum: - date - modified - id - include - title - slug default: date - name: parent in: query description: 'Limit result set to those of particular parent IDs.' explode: false schema: type: array items: type: integer - name: parent_exclude in: query description: 'Limit result set to all items except those of a particular parent ID.' explode: false schema: type: array items: type: integer - name: slug in: query description: 'Limit result set to products with a specific slug.' schema: type: string - name: status in: query description: 'Limit result set to products assigned a specific status. Options: any, draft, pending, private and publish. Default is any.' explode: false schema: type: array items: type: string default: any enum: - any - draft - pending - private - publish - name: include_status in: query description: '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.' explode: false schema: type: array items: type: string enum: - any - future - trash - draft - pending - private - publish - name: exclude_status in: query description: '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.' explode: false schema: type: array items: type: string enum: - future - trash - draft - pending - private - publish - name: sku in: query description: 'Limit result set to products with a specific SKU.' schema: type: string - name: tax_class in: query description: 'Limit result set to products with a specific tax class. Default options: standard, reduced-rate and zero-rate.' schema: type: string enum: - standard - reduced-rate - zero-rate - name: on_sale in: query description: 'Limit result set to products on sale.' schema: type: boolean - name: min_price in: query description: 'Limit result set to products based on a minimum price.' schema: type: string - name: max_price in: query description: 'Limit result set to products based on a maximum price.' schema: type: string - name: stock_status in: query description: 'Limit result set to products with specified stock status. Options: instock, outofstock and onbackorder.' schema: type: string enum: - instock - outofstock - onbackorder - name: virtual in: query description: 'Limit result set to virtual product variations.' schema: type: boolean - name: downloadable in: query description: 'Limit result set to downloadable product variations.' schema: type: boolean responses: '200': description: Returns list of product variations. content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductVariation' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /products/{productId}/variations/{variationId}: get: tags: - Product variations summary: This API lets you retrieve and view a specific product variation by ID. operationId: retrieveProductVariationById parameters: - name: productId in: path description: ID of parent product for variation to return required: true schema: type: integer - name: variationId in: path description: ID of variation to return required: true schema: type: integer responses: '200': description: Returns specified product. content: application/json: schema: $ref: '#/components/schemas/ProductVariation' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Product variations summary: 'This API lets you make changes to a product variation.' operationId: updateProductVariationById parameters: - name: productId in: path description: 'ID of parent product for variation to update' required: true schema: type: integer - name: variationId in: path description: 'ID of variation to update' required: true schema: type: integer requestBody: description: 'Product variation object with data to update.' content: application/json: schema: $ref: '#/components/schemas/ProductVariation' required: true responses: '200': description: 'Returns updated product variation.' content: application/json: schema: $ref: '#/components/schemas/ProductVariation' '401': description: 'Unauthorized' content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: 'Not Found' content: application/json: schema: $ref: '#/components/schemas/ApiError' x-codegen-request-body-name: productVariation delete: tags: - Product variations summary: 'This API helps you delete a product variation.' operationId: deleteProductVariationById parameters: - name: productId in: path description: 'ID of parent product for variation to delete' required: true schema: type: integer - name: variationId in: path description: 'ID of variation to delete' required: true schema: type: integer - name: force in: query description: 'Required to be true, as resource does not support trashing.' required: true schema: type: boolean default: true responses: '200': description: 'Returns deleted product variation.' content: application/json: schema: $ref: '#/components/schemas/ProductVariation' '401': description: 'Unauthorized' content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: 'Not Found' content: application/json: schema: $ref: '#/components/schemas/ApiError' /products/{productId}/variations/batch: post: tags: - Product variations summary: Batch create, update, and delete product variations operationId: batchProductVariations parameters: - name: productId in: path required: true schema: type: integer requestBody: description: Batch create, update, and delete product variations content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductVariation' update: type: array items: $ref: '#/components/schemas/ProductVariation' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductVariation' update: type: array items: $ref: '#/components/schemas/ProductVariation' delete: type: array items: $ref: '#/components/schemas/ProductVariation' /products/attributes: get: tags: - Product attributes summary: List all product attributes operationId: listAllProductAttributes parameters: - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view responses: '200': description: Returns list of product attributes content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductAttribute' post: tags: - Product attributes summary: Create a product attribute operationId: createProductAttribute requestBody: description: Product attribute object with data to create content: application/json: schema: $ref: '#/components/schemas/ProductAttribute' required: true responses: '201': description: Returns created product attribute content: application/json: schema: $ref: '#/components/schemas/ProductAttribute' /products/attributes/{attributeId}: get: tags: - Product attributes summary: Retrieve a product attribute operationId: retrieveProductAttribute parameters: - name: attributeId in: path required: true schema: type: integer responses: '200': description: Returns specified product attribute content: application/json: schema: $ref: '#/components/schemas/ProductAttribute' put: tags: - Product attributes summary: Update a product attribute operationId: updateProductAttribute parameters: - name: attributeId in: path required: true schema: type: integer requestBody: description: Product attribute object with data to update content: application/json: schema: $ref: '#/components/schemas/ProductAttribute' required: true responses: '200': description: Returns updated product attribute content: application/json: schema: $ref: '#/components/schemas/ProductAttribute' delete: tags: - Product attributes summary: Delete a product attribute operationId: deleteProductAttribute parameters: - name: attributeId in: path required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Product attribute deleted content: application/json: schema: $ref: '#/components/schemas/ProductAttribute' /products/attributes/batch: post: tags: - Product attributes summary: Batch update product attributes operationId: batchUpdateProductAttributes requestBody: description: Batch create, update, delete product attributes content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductAttribute' update: type: array items: $ref: '#/components/schemas/ProductAttribute' delete: type: array items: type: integer responses: '200': description: Returns batch operation result content: application/json: schema: type: object /products/attributes/{attributeId}/terms: get: tags: - Product attribute terms summary: List all terms for a product attribute operationId: listAllAttributeTerms parameters: - name: attributeId in: path required: true schema: type: integer - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: Current page of the collection. Default is 1. schema: type: integer default: 1 - name: per_page in: query description: Maximum number of items to be returned in result set. Default is 10. schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: orderby in: query description: 'Sort collection by resource attribute. Options: name, slug, term_group, description, count. Default is name.' schema: type: string enum: - name - slug - term_group - description - count default: name - name: order in: query description: 'Order sort attribute ascending or descending. Options: asc and desc. Default is asc.' schema: type: string enum: - asc - desc default: asc - name: hide_empty in: query description: Whether to hide resources not assigned to any products. Default is false. schema: type: boolean default: false - name: parent in: query description: Limit result set to resources assigned to a specific parent. schema: type: integer - name: product in: query description: Limit result set to resources assigned to a specific product. schema: type: integer - name: slug in: query description: Limit result set to resources with a specific slug. schema: type: string - name: include in: query description: Limit result set to specific IDs. schema: type: array items: type: integer - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer responses: '200': description: Returns list of attribute terms content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductAttributeTerm' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Product attribute terms summary: Create an attribute term operationId: createAttributeTerm parameters: - name: attributeId in: path required: true schema: type: integer requestBody: description: Attribute term object with data to create content: application/json: schema: $ref: '#/components/schemas/ProductAttributeTerm' required: true responses: '201': description: Returns created attribute term content: application/json: schema: $ref: '#/components/schemas/ProductAttributeTerm' /products/attributes/{attributeId}/terms/{termId}: get: tags: - Product attribute terms summary: Retrieve an attribute term operationId: retrieveAttributeTerm parameters: - name: attributeId in: path required: true schema: type: integer - name: termId in: path required: true schema: type: integer responses: '200': description: Returns specified attribute term content: application/json: schema: $ref: '#/components/schemas/ProductAttributeTerm' put: tags: - Product attribute terms summary: Update an attribute term operationId: updateAttributeTerm parameters: - name: attributeId in: path required: true schema: type: integer - name: termId in: path required: true schema: type: integer requestBody: description: Attribute term object with data to update content: application/json: schema: $ref: '#/components/schemas/ProductAttributeTerm' required: true responses: '200': description: Returns updated attribute term content: application/json: schema: $ref: '#/components/schemas/ProductAttributeTerm' delete: tags: - Product attribute terms summary: Delete an attribute term operationId: deleteAttributeTerm parameters: - name: attributeId in: path required: true schema: type: integer - name: termId in: path required: true schema: type: integer - name: force in: query required: true description: Required to be true, as resource does not support trashing. schema: type: boolean default: true responses: '200': description: Attribute term deleted content: application/json: schema: $ref: '#/components/schemas/ProductAttributeTerm' /products/attributes/{attributeId}/terms/batch: post: tags: - Product attribute terms summary: Batch update attribute terms operationId: batchUpdateAttributeTerms parameters: - name: attributeId in: path required: true schema: type: integer requestBody: description: Batch create, update, delete attribute terms content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductAttributeTerm' update: type: array items: $ref: '#/components/schemas/ProductAttributeTerm' delete: type: array items: type: integer responses: '200': description: Returns batch operation result content: application/json: schema: type: object /products/categories: post: tags: - Product categories summary: This API helps you to create a new product category. operationId: createProductCategory requestBody: description: Product category object with data to create content: application/json: schema: $ref: '#/components/schemas/ProductCategory' required: true responses: '201': description: Returns created product category content: application/json: schema: $ref: '#/components/schemas/ProductCategory' '401': description: Unauthorized '404': description: Not Found get: tags: - Product categories summary: This API lets you retrieve all product categories. operationId: listAllProductCategories parameters: - name: context in: query description: Scope under which the request is made; determines fields present in response schema: type: string enum: [view, edit] default: view - name: page in: query description: Current page of the collection schema: type: integer default: 1 - name: per_page in: query description: Maximum number of items to be returned in result set schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string schema: type: string - name: exclude in: query description: Ensure result set excludes specific ids schema: type: array items: type: integer - name: include in: query description: Limit result set to specific ids schema: type: array items: type: integer - name: order in: query description: Order sort attribute ascending or descending schema: type: string enum: [asc, desc] default: asc - name: orderby in: query description: Sort collection by resource attribute schema: type: string enum: [id, include, name, slug, term_group, description, count] default: name - name: hide_empty in: query description: Whether to hide resources not assigned to any products schema: type: boolean default: false - name: parent in: query description: Limit result set to resources assigned to a specific parent schema: type: integer - name: product in: query description: Limit result set to resources assigned to a specific product schema: type: integer - name: slug in: query description: Limit result set to resources with a specific slug schema: type: string responses: '200': description: Returns list of product categories content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductCategory' '401': description: Unauthorized '404': description: Not Found /products/categories/{categoryId}: get: tags: - Product categories summary: This API lets you retrieve a product category by ID. operationId: retrieveProductCategory parameters: - name: categoryId in: path description: ID of product category to return required: true schema: type: integer responses: '200': description: Returns specified product category content: application/json: schema: $ref: '#/components/schemas/ProductCategory' '401': description: Unauthorized '404': description: Not Found put: tags: - Product categories summary: This API lets you make changes to a product category. operationId: updateProductCategory parameters: - name: categoryId in: path description: ID of product category to update required: true schema: type: integer requestBody: description: Product category object with data to update content: application/json: schema: $ref: '#/components/schemas/ProductCategory' required: true responses: '200': description: Returns updated product category content: application/json: schema: $ref: '#/components/schemas/ProductCategory' '401': description: Unauthorized '404': description: Not Found delete: tags: - Product categories summary: This API helps you delete a product category. operationId: deleteProductCategory parameters: - name: categoryId in: path description: ID of product category to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing required: true schema: type: boolean default: true responses: '200': description: Product category deleted content: application/json: schema: $ref: '#/components/schemas/ProductCategory' /products/categories/batch: post: tags: - Product categories summary: Batch create, update, and delete product categories operationId: batchProductCategories requestBody: description: Batch create, update, and delete product categories content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductCategory' update: type: array items: $ref: '#/components/schemas/ProductCategory' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductCategory' update: type: array items: $ref: '#/components/schemas/ProductCategory' delete: type: array items: $ref: '#/components/schemas/ProductCategory' /products/shipping-classes: get: tags: - Product shipping classes summary: List all shipping classes operationId: listAllShippingClasses parameters: - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: Current page of the collection. Default is 1. schema: type: integer default: 1 - name: per_page in: query description: Maximum number of items to be returned in result set. Default is 10. schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: orderby in: query description: 'Sort collection by resource attribute. Options: id, include, name, slug, term_group, description, count. Default is name.' schema: type: string enum: - id - include - name - slug - term_group - description - count default: name - name: order in: query description: 'Order sort attribute ascending or descending. Options: asc and desc. Default is asc.' schema: type: string enum: - asc - desc default: asc - name: hide_empty in: query description: Whether to hide resources not assigned to any products. Default is false. schema: type: boolean default: false - name: parent in: query description: Limit result set to resources assigned to a specific parent. schema: type: integer - name: product in: query description: Limit result set to resources assigned to a specific product. schema: type: integer - name: slug in: query description: Limit result set to resources with a specific slug. schema: type: string - name: include in: query description: Limit result set to specific IDs. schema: type: array items: type: integer - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer responses: '200': description: Returns list of shipping classes content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductShippingClass' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Product shipping classes summary: Create a shipping class operationId: createShippingClass requestBody: description: Shipping class object with data to create content: application/json: schema: $ref: '#/components/schemas/ProductShippingClass' required: true responses: '201': description: Returns created shipping class content: application/json: schema: $ref: '#/components/schemas/ProductShippingClass' /products/shipping-classes/{classId}: get: tags: - Product shipping classes summary: Retrieve a shipping class operationId: retrieveShippingClass parameters: - name: classId in: path required: true schema: type: integer responses: '200': description: Returns specified shipping class content: application/json: schema: $ref: '#/components/schemas/ProductShippingClass' put: tags: - Product shipping classes summary: Update a shipping class operationId: updateShippingClass parameters: - name: classId in: path required: true schema: type: integer requestBody: description: Shipping class object with data to update content: application/json: schema: $ref: '#/components/schemas/ProductShippingClass' required: true responses: '200': description: Returns updated shipping class content: application/json: schema: $ref: '#/components/schemas/ProductShippingClass' delete: tags: - Product shipping classes summary: Delete a shipping class operationId: deleteShippingClass parameters: - name: classId in: path required: true schema: type: integer - name: force in: query required: true description: Required to be true, as resource does not support trashing. schema: type: boolean default: true responses: '200': description: Shipping class deleted content: application/json: schema: $ref: '#/components/schemas/ProductShippingClass' /products/shipping-classes/batch: post: tags: - Product shipping classes summary: Batch update shipping classes operationId: batchUpdateShippingClasses requestBody: description: Batch create, update, delete shipping classes content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductShippingClass' update: type: array items: $ref: '#/components/schemas/ProductShippingClass' delete: type: array items: type: integer responses: '200': description: Returns batch operation result content: application/json: schema: type: object /products/tags: post: tags: - Product tags summary: This API helps you to create a new product tag. operationId: createProductTag requestBody: description: Product tag object with data to create content: application/json: schema: $ref: '#/components/schemas/ProductTag' required: true responses: '201': description: Returns created product tag content: application/json: schema: $ref: '#/components/schemas/ProductTag' '401': description: Unauthorized '404': description: Not Found get: tags: - Product tags summary: This API lets you retrieve all product tags. operationId: listAllProductTags parameters: - name: context in: query description: Scope under which the request is made; determines fields present in response schema: type: string enum: [view, edit] default: view - name: page in: query description: Current page of the collection schema: type: integer default: 1 - name: per_page in: query description: Maximum number of items to be returned in result set schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string schema: type: string - name: exclude in: query description: Ensure result set excludes specific ids schema: type: array items: type: integer - name: include in: query description: Limit result set to specific ids schema: type: array items: type: integer - name: offset in: query description: Offset the result set by a specific number of items schema: type: integer - name: order in: query description: Order sort attribute ascending or descending schema: type: string enum: [asc, desc] default: asc - name: orderby in: query description: Sort collection by resource attribute schema: type: string enum: [id, include, name, slug, term_group, description, count] default: name - name: hide_empty in: query description: Whether to hide resources not assigned to any products schema: type: boolean default: false - name: product in: query description: Limit result set to resources assigned to a specific product schema: type: integer - name: slug in: query description: Limit result set to resources with a specific slug schema: type: string responses: '200': description: Returns list of product tags content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductTag' '401': description: Unauthorized '404': description: Not Found /products/tags/{tagId}: get: tags: - Product tags summary: This API lets you retrieve a product tag by ID. operationId: retrieveProductTag parameters: - name: tagId in: path description: ID of product tag to return required: true schema: type: integer responses: '200': description: Returns specified product tag content: application/json: schema: $ref: '#/components/schemas/ProductTag' '401': description: Unauthorized '404': description: Not Found put: tags: - Product tags summary: This API lets you make changes to a product tag. operationId: updateProductTag parameters: - name: tagId in: path description: ID of product tag to update required: true schema: type: integer requestBody: description: Product tag object with data to update content: application/json: schema: $ref: '#/components/schemas/ProductTag' required: true responses: '200': description: Returns updated product tag content: application/json: schema: $ref: '#/components/schemas/ProductTag' '401': description: Unauthorized '404': description: Not Found delete: tags: - Product tags summary: This API helps you delete a product tag. operationId: deleteProductTag parameters: - name: tagId in: path description: ID of product tag to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing required: true schema: type: boolean default: true responses: '200': description: Product tag deleted content: application/json: schema: $ref: '#/components/schemas/ProductTag' /products/tags/batch: post: tags: - Product tags summary: Batch create, update, and delete product tags operationId: batchProductTags requestBody: description: Batch create, update, and delete product tags content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductTag' update: type: array items: $ref: '#/components/schemas/ProductTag' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductTag' update: type: array items: $ref: '#/components/schemas/ProductTag' delete: type: array items: $ref: '#/components/schemas/ProductTag' /orders: post: tags: - Orders summary: This API helps you to create a new order. operationId: createOrder requestBody: description: Order object with data to create. content: application/json: schema: $ref: '#/components/schemas/Order' required: true responses: '201': description: Returns created order. content: application/json: schema: $ref: '#/components/schemas/Order' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' get: tags: - Orders summary: This API helps you to view all the orders. operationId: listAllOrders parameters: - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: 'Current page of the collection. Default is 1.' schema: type: integer default: 1 - name: per_page in: query description: 'Maximum number of items to be returned in result set. Default is 10.' schema: type: integer default: 10 - name: search in: query description: 'Limit results to those matching a string.' schema: type: string - name: after in: query description: 'Limit response to resources published after a given ISO8601 compliant date.' schema: type: string format: date-time - name: before in: query description: 'Limit response to resources published before a given ISO8601 compliant date.' schema: type: string format: date-time - name: modified_after in: query description: 'Limit response to resources modified after a given ISO8601 compliant date.' schema: type: string format: date-time - name: modified_before in: query description: 'Limit response to resources modified before a given ISO8601 compliant date.' schema: type: string format: date-time - name: dates_are_gmt in: query description: 'Whether to consider GMT post dates when limiting response by published or modified date.' schema: type: boolean - name: exclude in: query description: 'Ensure result set excludes specific IDs.' explode: false schema: type: array items: type: integer - name: include in: query description: 'Limit result set to specific ids.' explode: false schema: type: array items: type: integer - name: offset in: query description: 'Offset the result set by a specific number of items.' schema: type: integer - name: order in: query description: 'Order sort attribute ascending or descending. Options: asc and desc. Default is desc.' schema: type: string enum: - asc - desc default: desc - name: orderby in: query description: 'Sort collection by object attribute. Options: date, modified, id, include, title and slug. Default is date.' schema: type: string enum: - date - modified - id - include - title - slug default: date - name: parent in: query description: 'Limit result set to those of particular parent IDs.' explode: false schema: type: array items: type: integer - name: parent_exclude in: query description: 'Limit result set to all items except those of a particular parent ID.' explode: false schema: type: array items: type: integer - name: status in: query description: 'Limit result set to orders assigned a specific status. Options: any, pending, processing, on-hold, completed, cancelled, refunded, failed and trash. Default is any.' explode: false schema: type: array items: type: string enum: - any - pending - processing - on-hold - completed - cancelled - refunded - failed - trash default: any - name: customer in: query description: 'Limit result set to orders assigned a specific customer.' schema: type: integer - name: product in: query description: 'Limit result set to orders assigned a specific product.' schema: type: integer - name: dp in: query description: 'Number of decimal points to use in each resource. Default is 2.' schema: type: integer default: 2 responses: '200': description: Returns list of orders. content: application/json: schema: type: array items: $ref: '#/components/schemas/Order' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /orders/{orderId}: get: tags: - Orders summary: This API lets you retrieve and view a specific order. operationId: retrieveOrderById parameters: - name: orderId in: path description: ID of order to return required: true schema: type: integer responses: '200': description: Returns specified order. content: application/json: schema: $ref: '#/components/schemas/Order' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Orders summary: 'This API lets you make changes to an order.' operationId: updateOrderById parameters: - name: orderId in: path description: 'ID of order to update' required: true schema: type: integer requestBody: description: 'Order object with data to update.' content: application/json: schema: $ref: '#/components/schemas/Order' required: true responses: '200': description: 'Returns updated order.' content: application/json: schema: $ref: '#/components/schemas/Order' '401': description: 'Unauthorized' content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: 'Not Found' content: application/json: schema: $ref: '#/components/schemas/ApiError' x-codegen-request-body-name: order delete: tags: - Orders summary: This API helps you delete an order. operationId: deleteOrderById parameters: - name: orderId in: path description: ID of order to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted order. content: application/json: schema: $ref: '#/components/schemas/Order' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /orders/batch: post: tags: - Orders summary: Batch create, update, and delete orders operationId: batchOrders requestBody: description: Batch create, update, and delete orders content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Order' update: type: array items: $ref: '#/components/schemas/Order' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Order' update: type: array items: $ref: '#/components/schemas/Order' delete: type: array items: $ref: '#/components/schemas/Order' /orders/{orderId}/notes: get: tags: - Orders summary: This API helps you to view all notes for an order. operationId: listAllOrderNotes parameters: - name: orderId in: path description: ID of order for notes to return required: true schema: type: integer - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: 'Current page of the collection. Default is 1.' schema: type: integer default: 1 - name: per_page in: query description: 'Maximum number of items to be returned in result set. Default is 10.' schema: type: integer default: 10 responses: '200': description: Returns list of order notes. content: application/json: schema: type: array items: $ref: '#/components/schemas/OrderNote' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Orders summary: This API helps you to create a new order note. operationId: createOrderNote parameters: - name: orderId in: path description: ID of order for note to create required: true schema: type: integer requestBody: description: Order note object with data to create. content: application/json: schema: $ref: '#/components/schemas/OrderNote' required: true responses: '201': description: Returns created order note. content: application/json: schema: $ref: '#/components/schemas/OrderNote' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /orders/{orderId}/notes/{noteId}: get: tags: - Orders summary: This API lets you retrieve and view a specific order note by ID. operationId: retrieveOrderNoteById parameters: - name: orderId in: path description: ID of order for note to return required: true schema: type: integer - name: noteId in: path description: ID of note to return required: true schema: type: integer responses: '200': description: Returns specified order note. content: application/json: schema: $ref: '#/components/schemas/OrderNote' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Orders summary: This API helps you delete an order note. operationId: deleteOrderNoteById parameters: - name: orderId in: path description: ID of order for note to delete required: true schema: type: integer - name: noteId in: path description: ID of note to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted order note. content: application/json: schema: $ref: '#/components/schemas/OrderNote' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /products/reviews: get: tags: - Product reviews summary: List all product reviews operationId: listAllProductReviews parameters: - name: context in: query description: >- Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view. schema: type: string enum: - view - edit default: view - name: page in: query description: Current page of the collection. Default is 1. schema: type: integer default: 1 - name: per_page in: query description: Maximum number of items to be returned in result set. Default is 10. schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: after in: query description: Limit response to reviews published after a given ISO8601 compliant date. schema: type: string format: date-time - name: before in: query description: Limit response to reviews published before a given ISO8601 compliant date. schema: type: string format: date-time - name: exclude in: query description: 'Ensure result set excludes specific IDs.' explode: false schema: type: array items: type: integer - name: include in: query description: 'Limit result set to specific IDs.' explode: false schema: type: array items: type: integer - name: offset in: query description: Offset the result set by a specific number of items. schema: type: integer - name: order in: query description: 'Order sort attribute ascending or descending. Options: asc and desc. Default is desc.' schema: type: string enum: - asc - desc default: desc - name: orderby in: query description: 'Sort collection by resource attribute. Options: date, date_gmt, id, slug, include and product. Default is date_gmt.' schema: type: string enum: - date - date_gmt - id - slug - include - product default: date_gmt - name: reviewer in: query description: 'Ensure result set excludes specific IDs.' explode: false schema: type: array items: type: integer - name: reviewer_exclude in: query description: 'Limit result set to specific IDs.' explode: false schema: type: array items: type: integer - name: reviewer_email in: query description: Limit result set to that from a specific author email. explode: false schema: type: array items: type: integer - name: product in: query description: Limit result set to reviews assigned to specific product IDs explode: false schema: type: array items: type: integer - name: status in: query description: 'Limit result set to reviews assigned a specific status. Options: all, hold, approved, spam and trash. Default is approved.' schema: type: string enum: - all - hold - approved - spam - trash default: approved responses: '200': description: Returns list of product reviews content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductReview' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Product reviews summary: Create a product review operationId: createProductReview requestBody: description: Product review object with data to create content: application/json: schema: $ref: '#/components/schemas/ProductReview' required: true responses: '201': description: Returns created product review content: application/json: schema: $ref: '#/components/schemas/ProductReview' /products/reviews/{reviewId}: get: tags: - Product reviews summary: Retrieve a product review operationId: retrieveProductReview parameters: - name: reviewId in: path required: true schema: type: integer responses: '200': description: Returns specified product review content: application/json: schema: $ref: '#/components/schemas/ProductReview' put: tags: - Product reviews summary: Update a product review operationId: updateProductReview parameters: - name: reviewId in: path required: true schema: type: integer requestBody: description: Product review object with data to update content: application/json: schema: $ref: '#/components/schemas/ProductReview' required: true responses: '200': description: Returns updated product review content: application/json: schema: $ref: '#/components/schemas/ProductReview' delete: tags: - Product reviews summary: Delete a product review operationId: deleteProductReview parameters: - name: reviewId in: path required: true schema: type: integer - name: force in: query required: true description: Required to be true, as resource does not support trashing. schema: type: boolean default: true responses: '200': description: Product review deleted content: application/json: schema: $ref: '#/components/schemas/ProductReview' /products/reviews/batch: post: tags: - Product reviews summary: Batch update product reviews operationId: batchUpdateProductReviews requestBody: description: Batch create, update, delete product reviews content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/ProductReview' update: type: array items: $ref: '#/components/schemas/ProductReview' delete: type: array items: type: integer responses: '200': description: Returns batch operation result content: application/json: schema: type: object /reports: get: tags: - Reports summary: List all reports operationId: listAllReports responses: '200': description: Returns list of available reports content: application/json: schema: type: array items: $ref: '#/components/schemas/ReportListItem' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /reports/top_sellers: get: tags: - Reports summary: Retrieve top sellers report operationId: getTopSellersReport parameters: - name: context in: query description: Scope under which the request is made; determines fields present in response. Default is view. schema: type: string default: view - name: period in: query description: 'Report period. Default is week. Options: week, month, last_month, year' schema: type: string enum: [week, month, last_month, year] - name: date_min in: query description: Return sales for a specific start date (YYYY-MM-DD) schema: type: string - name: date_max in: query description: Return sales for a specific end date (YYYY-MM-DD) schema: type: string responses: '200': description: Returns top sellers report content: application/json: schema: type: array items: $ref: '#/components/schemas/ReportTopSellersItem' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /reports/coupons/totals: get: tags: - Reports summary: Retrieve coupons totals report operationId: getCouponsTotals responses: '200': description: Returns coupons totals content: application/json: schema: type: array items: $ref: '#/components/schemas/ReportTotalsItem' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /reports/customers/totals: get: tags: - Reports summary: Retrieve customers totals report operationId: getCustomersTotals responses: '200': description: Returns customers totals content: application/json: schema: type: array items: $ref: '#/components/schemas/ReportTotalsItem' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /reports/orders/totals: get: tags: - Reports summary: This API lets you retrieve and view orders totals report. operationId: reportOrderTotalsSummary responses: '200': description: Returns list of products. content: application/json: schema: type: array items: $ref: '#/components/schemas/ReportOrderTotalSummary' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /reports/products/totals: get: tags: - Reports summary: Retrieve products totals report operationId: getProductsTotals responses: '200': description: Returns products totals content: application/json: schema: type: array items: $ref: '#/components/schemas/ReportTotalsItem' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /reports/reviews/totals: get: tags: - Reports summary: Retrieve reviews totals report operationId: getReviewsTotals responses: '200': description: Returns reviews totals content: application/json: schema: type: array items: $ref: '#/components/schemas/ReportTotalsItem' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /reports/sales: get: tags: - Reports summary: This API lets you retrieve and view a sales report. operationId: reportSalesSummary parameters: - name: period in: query description: 'Report period. Default is today''s date. Options: week, month, last_month and year' schema: type: string enum: - week - month - last_month - year - name: date_min in: query description: Return sales for a specific start date, the date need to be in the YYYY-MM-DD format. schema: type: string - name: date_max in: query description: Return sales for a specific end date, the date need to be in the YYYY-MM-DD format. schema: type: string responses: '200': description: Returns list of products. content: application/json: schema: type: array items: $ref: '#/components/schemas/ReportSalesSummary' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /orders/{orderId}/refunds: get: tags: - Orders summary: This API helps you to view all refunds for an order. operationId: listAllOrderRefunds parameters: - name: orderId in: path description: ID of order for refunds to return required: true schema: type: integer - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: 'Current page of the collection. Default is 1.' schema: type: integer default: 1 - name: per_page in: query description: 'Maximum number of items to be returned in result set. Default is 10.' schema: type: integer default: 10 responses: '200': description: Returns list of order refunds. content: application/json: schema: type: array items: $ref: '#/components/schemas/OrderRefund' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Orders summary: This API helps you to create a new order refund. operationId: createOrderRefund parameters: - name: orderId in: path description: ID of order for refund to create required: true schema: type: integer requestBody: description: Order refund object with data to create. content: application/json: schema: $ref: '#/components/schemas/OrderRefund' required: true responses: '201': description: Returns created order refund. content: application/json: schema: $ref: '#/components/schemas/OrderRefund' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /orders/{orderId}/refunds/{refundId}: get: tags: - Orders summary: This API lets you retrieve and view a specific order refund by ID. operationId: retrieveOrderRefundById parameters: - name: orderId in: path description: ID of order for refund to return required: true schema: type: integer - name: refundId in: path description: ID of refund to return required: true schema: type: integer responses: '200': description: Returns specified order refund. content: application/json: schema: $ref: '#/components/schemas/OrderRefund' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Orders summary: This API helps you delete an order refund. operationId: deleteOrderRefundById parameters: - name: orderId in: path description: ID of order for refund to delete required: true schema: type: integer - name: refundId in: path description: ID of refund to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted order refund. content: application/json: schema: $ref: '#/components/schemas/OrderRefund' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /coupons: get: tags: - Coupons summary: This API helps you to view all coupons. operationId: listAllCoupons parameters: - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: 'Current page of the collection. Default is 1.' schema: type: integer default: 1 - name: per_page in: query description: 'Maximum number of items to be returned in result set. Default is 10.' schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: after in: query description: Limit response to resources published after a given ISO8601 compliant date. schema: type: string format: date-time - name: before in: query description: Limit response to resources published before a given ISO8601 compliant date. schema: type: string format: date-time - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer - name: include in: query description: Limit result set to specific ids. schema: type: array items: type: integer - name: offset in: query description: Offset the result set by a specific number of items. schema: type: integer - name: order in: query description: Order sort attribute ascending or descending. schema: type: string enum: - asc - desc default: desc - name: orderby in: query description: Sort collection by object attribute. schema: type: string enum: - date - id - include - title - slug default: date - name: code in: query description: Limit result set to resources with a specific code. schema: type: string responses: '200': description: Returns list of coupons. content: application/json: schema: type: array items: $ref: '#/components/schemas/Coupon' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Coupons summary: This API helps you to create a new coupon. operationId: createCoupon requestBody: description: Coupon object with data to create. content: application/json: schema: $ref: '#/components/schemas/Coupon' required: true responses: '201': description: Returns created coupon. content: application/json: schema: $ref: '#/components/schemas/Coupon' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /coupons/{couponId}: get: tags: - Coupons summary: This API lets you retrieve and view a specific coupon by ID. operationId: retrieveCouponById parameters: - name: couponId in: path description: ID of coupon to return required: true schema: type: integer - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view responses: '200': description: Returns specified coupon. content: application/json: schema: $ref: '#/components/schemas/Coupon' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Coupons summary: This API helps you to update a coupon. operationId: updateCoupon parameters: - name: couponId in: path description: ID of coupon to update required: true schema: type: integer requestBody: description: Coupon object with data to update. content: application/json: schema: $ref: '#/components/schemas/Coupon' required: true responses: '200': description: Returns updated coupon. content: application/json: schema: $ref: '#/components/schemas/Coupon' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Coupons summary: This API helps you delete a coupon. operationId: deleteCouponById parameters: - name: couponId in: path description: ID of coupon to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted coupon. content: application/json: schema: $ref: '#/components/schemas/Coupon' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /coupons/batch: post: tags: - Coupons summary: Batch create, update, and delete coupons operationId: batchCoupons requestBody: description: Batch create, update, and delete coupons content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Coupon' update: type: array items: $ref: '#/components/schemas/Coupon' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Coupon' update: type: array items: $ref: '#/components/schemas/Coupon' delete: type: array items: $ref: '#/components/schemas/Coupon' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /settings: get: tags: - Settings summary: This API helps you to view all settings groups. operationId: listAllSettingsGroups responses: '200': description: Returns list of settings groups. content: application/json: schema: type: array items: $ref: '#/components/schemas/SettingsGroup' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /settings/{groupId}: get: tags: - Settings summary: This API helps you to view a specific settings group. operationId: retrieveSettingsGroup parameters: - name: groupId in: path description: ID of settings group to return required: true schema: type: string responses: '200': description: Returns specified settings group. content: application/json: schema: $ref: '#/components/schemas/SettingsGroup' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /settings/{groupId}/{id}: get: tags: - Settings summary: This API helps you to view a specific setting. operationId: retrieveSetting parameters: - name: groupId in: path description: ID of settings group required: true schema: type: string - name: id in: path description: ID of setting to return required: true schema: type: string responses: '200': description: Returns specified setting. content: application/json: schema: $ref: '#/components/schemas/Setting' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Settings summary: This API helps you to update a specific setting. operationId: updateSetting parameters: - name: groupId in: path description: ID of settings group required: true schema: type: string - name: id in: path description: ID of setting to update required: true schema: type: string requestBody: description: Setting object with data to update. content: application/json: schema: $ref: '#/components/schemas/Setting' required: true responses: '200': description: Returns updated setting. content: application/json: schema: $ref: '#/components/schemas/Setting' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /shipping/zones: get: tags: - Shipping zones summary: This API helps you to view all shipping zones. operationId: listAllShippingZones responses: '200': description: Returns list of shipping zones. content: application/json: schema: type: array items: $ref: '#/components/schemas/ShippingZone' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Shipping zones summary: This API helps you to create a new shipping zone. operationId: createShippingZone requestBody: description: Shipping zone object with data to create. content: application/json: schema: $ref: '#/components/schemas/ShippingZone' required: true responses: '201': description: Returns created shipping zone. content: application/json: schema: $ref: '#/components/schemas/ShippingZone' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /shipping/zones/{id}: get: tags: - Shipping zones summary: This API lets you retrieve and view a specific shipping zone by ID. operationId: retrieveShippingZoneById parameters: - name: id in: path description: ID of shipping zone to return required: true schema: type: integer responses: '200': description: Returns specified shipping zone. content: application/json: schema: $ref: '#/components/schemas/ShippingZone' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Shipping zones summary: This API helps you to update a shipping zone. operationId: updateShippingZone parameters: - name: id in: path description: ID of shipping zone to update required: true schema: type: integer requestBody: description: Shipping zone object with data to update. content: application/json: schema: $ref: '#/components/schemas/ShippingZone' required: true responses: '200': description: Returns updated shipping zone. content: application/json: schema: $ref: '#/components/schemas/ShippingZone' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Shipping zones summary: This API helps you delete a shipping zone. operationId: deleteShippingZoneById parameters: - name: id in: path description: ID of shipping zone to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted shipping zone. content: application/json: schema: $ref: '#/components/schemas/ShippingZone' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /shipping/zones/{id}/locations: get: tags: - Shipping zones summary: This API helps you to view all locations for a shipping zone. operationId: listShippingZoneLocations parameters: - name: id in: path description: ID of shipping zone required: true schema: type: integer responses: '200': description: Returns list of shipping zone locations. content: application/json: schema: type: array items: $ref: '#/components/schemas/ShippingZoneLocation' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Shipping zones summary: This API helps you to update locations for a shipping zone. operationId: updateShippingZoneLocations parameters: - name: id in: path description: ID of shipping zone required: true schema: type: integer requestBody: description: Shipping zone locations array with data to update. content: application/json: schema: type: array items: $ref: '#/components/schemas/ShippingZoneLocation' required: true responses: '200': description: Returns updated shipping zone locations. content: application/json: schema: type: array items: $ref: '#/components/schemas/ShippingZoneLocation' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /shipping/zones/{id}/methods: get: tags: - Shipping zones summary: This API helps you to view all shipping methods for a shipping zone. operationId: listShippingZoneMethods parameters: - name: id in: path description: ID of shipping zone required: true schema: type: integer responses: '200': description: Returns list of shipping zone methods. content: application/json: schema: type: array items: $ref: '#/components/schemas/ShippingZoneMethod' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Shipping zones summary: This API helps you to create a new shipping method for a shipping zone. operationId: createShippingZoneMethod parameters: - name: id in: path description: ID of shipping zone required: true schema: type: integer requestBody: description: Shipping zone method object with data to create. content: application/json: schema: $ref: '#/components/schemas/ShippingZoneMethod' required: true responses: '201': description: Returns created shipping zone method. content: application/json: schema: $ref: '#/components/schemas/ShippingZoneMethod' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /shipping/zones/{id}/methods/{instanceId}: get: tags: - Shipping zones summary: This API lets you retrieve and view a specific shipping zone method by instance ID. operationId: retrieveShippingZoneMethodById parameters: - name: id in: path description: ID of shipping zone required: true schema: type: integer - name: instanceId in: path description: Instance ID of shipping zone method to return required: true schema: type: integer responses: '200': description: Returns specified shipping zone method. content: application/json: schema: $ref: '#/components/schemas/ShippingZoneMethod' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Shipping zones summary: This API helps you to update a shipping zone method. operationId: updateShippingZoneMethod parameters: - name: id in: path description: ID of shipping zone required: true schema: type: integer - name: instanceId in: path description: Instance ID of shipping zone method to update required: true schema: type: integer requestBody: description: Shipping zone method object with data to update. content: application/json: schema: $ref: '#/components/schemas/ShippingZoneMethod' required: true responses: '200': description: Returns updated shipping zone method. content: application/json: schema: $ref: '#/components/schemas/ShippingZoneMethod' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Shipping zones summary: This API helps you delete a shipping zone method. operationId: deleteShippingZoneMethodById parameters: - name: id in: path description: ID of shipping zone required: true schema: type: integer - name: instanceId in: path description: Instance ID of shipping zone method to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted shipping zone method. content: application/json: schema: $ref: '#/components/schemas/ShippingZoneMethod' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /payment_gateways: get: tags: - Payment gateways summary: This API helps you to view all payment gateways. operationId: listAllPaymentGateways responses: '200': description: Returns list of payment gateways. content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentGateway' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /payment_gateways/{id}: get: tags: - Payment gateways summary: This API lets you retrieve and view a specific payment gateway by ID. operationId: retrievePaymentGatewayById parameters: - name: id in: path description: ID of payment gateway to return required: true schema: type: string responses: '200': description: Returns specified payment gateway. content: application/json: schema: $ref: '#/components/schemas/PaymentGateway' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Payment gateways summary: This API helps you to update a payment gateway. operationId: updatePaymentGateway parameters: - name: id in: path description: ID of payment gateway to update required: true schema: type: string requestBody: description: Payment gateway object with data to update. content: application/json: schema: $ref: '#/components/schemas/PaymentGateway' required: true responses: '200': description: Returns updated payment gateway. content: application/json: schema: $ref: '#/components/schemas/PaymentGateway' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /taxes: get: tags: - Taxes summary: This API helps you to view all taxes. operationId: listAllTaxes parameters: - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: 'Current page of the collection. Default is 1.' schema: type: integer default: 1 - name: per_page in: query description: 'Maximum number of items to be returned in result set. Default is 10.' schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer - name: include in: query description: Limit result set to specific ids. schema: type: array items: type: integer - name: offset in: query description: Offset the result set by a specific number of items. schema: type: integer - name: order in: query description: Order sort attribute ascending or descending. schema: type: string enum: - asc - desc default: asc - name: orderby in: query description: Sort collection by object attribute. schema: type: string enum: - id - order default: id - name: class in: query description: Limit result set to resources with a specific tax class. schema: type: string responses: '200': description: Returns list of taxes. content: application/json: schema: type: array items: $ref: '#/components/schemas/Tax' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Taxes summary: This API helps you to create a new tax. operationId: createTax requestBody: description: Tax object with data to create. content: application/json: schema: $ref: '#/components/schemas/Tax' required: true responses: '201': description: Returns created tax. content: application/json: schema: $ref: '#/components/schemas/Tax' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /taxes/{id}: get: tags: - Taxes summary: This API lets you retrieve and view a specific tax by ID. operationId: retrieveTaxById parameters: - name: id in: path description: ID of tax to return required: true schema: type: integer - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view responses: '200': description: Returns specified tax. content: application/json: schema: $ref: '#/components/schemas/Tax' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Taxes summary: This API helps you to update a tax. operationId: updateTax parameters: - name: id in: path description: ID of tax to update required: true schema: type: integer requestBody: description: Tax object with data to update. content: application/json: schema: $ref: '#/components/schemas/Tax' required: true responses: '200': description: Returns updated tax. content: application/json: schema: $ref: '#/components/schemas/Tax' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Taxes summary: This API helps you delete a tax. operationId: deleteTaxById parameters: - name: id in: path description: ID of tax to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted tax. content: application/json: schema: $ref: '#/components/schemas/Tax' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /taxes/batch: post: tags: - Taxes summary: Batch create, update, and delete taxes operationId: batchTaxes requestBody: description: Batch create, update, and delete taxes content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Tax' update: type: array items: $ref: '#/components/schemas/Tax' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Tax' update: type: array items: $ref: '#/components/schemas/Tax' delete: type: array items: $ref: '#/components/schemas/Tax' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /taxes/classes: get: tags: - Taxes summary: This API helps you to view all tax classes. operationId: listAllTaxClasses responses: '200': description: Returns list of tax classes. content: application/json: schema: type: array items: $ref: '#/components/schemas/TaxClass' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Taxes summary: This API helps you to create a new tax class. operationId: createTaxClass requestBody: description: Tax class object with data to create. content: application/json: schema: $ref: '#/components/schemas/TaxClass' required: true responses: '201': description: Returns created tax class. content: application/json: schema: $ref: '#/components/schemas/TaxClass' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /taxes/classes/{slug}: get: tags: - Taxes summary: This API lets you retrieve and view a specific tax class by slug. operationId: retrieveTaxClassBySlug parameters: - name: slug in: path description: Slug of tax class to return required: true schema: type: string responses: '200': description: Returns specified tax class. content: application/json: schema: $ref: '#/components/schemas/TaxClass' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Taxes summary: This API helps you delete a tax class. operationId: deleteTaxClassBySlug parameters: - name: slug in: path description: Slug of tax class to delete required: true schema: type: string - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted tax class. content: application/json: schema: $ref: '#/components/schemas/TaxClass' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /webhooks: get: tags: - Webhooks summary: This API helps you to view all webhooks. operationId: listAllWebhooks parameters: - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view - name: page in: query description: 'Current page of the collection. Default is 1.' schema: type: integer default: 1 - name: per_page in: query description: 'Maximum number of items to be returned in result set. Default is 10.' schema: type: integer default: 10 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: after in: query description: Limit response to resources published after a given ISO8601 compliant date. schema: type: string format: date-time - name: before in: query description: Limit response to resources published before a given ISO8601 compliant date. schema: type: string format: date-time - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer - name: include in: query description: Limit result set to specific ids. schema: type: array items: type: integer - name: offset in: query description: Offset the result set by a specific number of items. schema: type: integer - name: order in: query description: Order sort attribute ascending or descending. schema: type: string enum: - asc - desc default: desc - name: orderby in: query description: Sort collection by object attribute. schema: type: string enum: - date - id - include - title default: date - name: status in: query description: Limit result set to webhooks assigned a specific status. schema: type: string enum: - all - active - paused - disabled responses: '200': description: Returns list of webhooks. content: application/json: schema: type: array items: $ref: '#/components/schemas/Webhook' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' post: tags: - Webhooks summary: This API helps you to create a new webhook. operationId: createWebhook requestBody: description: Webhook object with data to create. content: application/json: schema: $ref: '#/components/schemas/Webhook' required: true responses: '201': description: Returns created webhook. content: application/json: schema: $ref: '#/components/schemas/Webhook' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /webhooks/{id}: get: tags: - Webhooks summary: This API lets you retrieve and view a specific webhook by ID. operationId: retrieveWebhookById parameters: - name: id in: path description: ID of webhook to return required: true schema: type: integer - name: context in: query description: 'Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.' schema: type: string enum: - view - edit default: view responses: '200': description: Returns specified webhook. content: application/json: schema: $ref: '#/components/schemas/Webhook' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - Webhooks summary: This API helps you to update a webhook. operationId: updateWebhook parameters: - name: id in: path description: ID of webhook to update required: true schema: type: integer requestBody: description: Webhook object with data to update. content: application/json: schema: $ref: '#/components/schemas/Webhook' required: true responses: '200': description: Returns updated webhook. content: application/json: schema: $ref: '#/components/schemas/Webhook' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' delete: tags: - Webhooks summary: This API helps you delete a webhook. operationId: deleteWebhookById parameters: - name: id in: path description: ID of webhook to delete required: true schema: type: integer - name: force in: query description: Required to be true, as resource does not support trashing. required: true schema: type: boolean default: true responses: '200': description: Returns deleted webhook. content: application/json: schema: $ref: '#/components/schemas/Webhook' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' /webhooks/batch: post: tags: - Webhooks summary: Batch create, update, and delete webhooks operationId: batchWebhooks requestBody: description: Batch create, update, and delete webhooks content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Webhook' update: type: array items: $ref: '#/components/schemas/Webhook' delete: type: array items: type: integer responses: '200': description: Batch operation results content: application/json: schema: type: object properties: create: type: array items: $ref: '#/components/schemas/Webhook' update: type: array items: $ref: '#/components/schemas/Webhook' delete: type: array items: $ref: '#/components/schemas/Webhook' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /system_status: get: tags: - System status summary: This API helps you to view the system status. operationId: getSystemStatus responses: '200': description: Returns system status. content: application/json: schema: $ref: '#/components/schemas/SystemStatus' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /system_status/tools: get: tags: - System status summary: This API helps you to view all system status tools. operationId: listAllSystemStatusTools responses: '200': description: Returns list of system status tools. content: application/json: schema: type: array items: $ref: '#/components/schemas/SystemStatusTool' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' /system_status/tools/{id}: get: tags: - System status summary: This API lets you retrieve and view a specific system status tool by ID. operationId: retrieveSystemStatusToolById parameters: - name: id in: path description: ID of system status tool to return required: true schema: type: string responses: '200': description: Returns specified system status tool. content: application/json: schema: $ref: '#/components/schemas/SystemStatusTool' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' put: tags: - System status summary: This API helps you to run a system status tool. operationId: runSystemStatusTool parameters: - name: id in: path description: ID of system status tool to run required: true schema: type: string responses: '200': description: Returns system status tool execution result. content: application/json: schema: $ref: '#/components/schemas/SystemStatusTool' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' components: schemas: Customer: type: object properties: id: type: integer description: Unique identifier for the resource. read-only date_created: type: string format: date-time description: The date the customer was created, in the site's timezone. read-only date_created_gmt: type: string format: date-time description: The date the customer was created, as GMT. read-only date_modified: type: string format: date-time description: The date the customer was last modified, in the site's timezone. read-only date_modified_gmt: type: string format: date-time description: The date the customer was last modified, as GMT. read-only email: type: string description: The email address for the customer. mandatory first_name: type: string description: Customer first name. last_name: type: string description: Customer last name. role: type: string description: Customer role. read-only username: type: string description: Customer login name. password: type: string description: Customer password. write-only billing: $ref: '#/components/schemas/Billing' shipping: $ref: '#/components/schemas/Shipping' is_paying_customer: type: boolean description: Is the customer a paying customer? read-only avatar_url: type: string description: Avatar URL. read-only meta_data: type: array description: Meta data. items: $ref: '#/components/schemas/MetaData' Product: type: object properties: id: type: integer description: Unique identifier for the resource. read-only name: type: string description: Product name. slug: type: string description: Product slug. permalink: type: string description: Product URL. read-only date_created: type: string description: The date the product was created, in the site's timezone. read-only format: date-time date_created_gmt: type: string description: The date the product was created, as GMT. read-only format: date-time date_modified: type: string description: The date the product was last modified, in the site's timezone. read-only format: date-time date_modified_gmt: type: string description: The date the product was last modified, as GMT. read-only format: date-time type: type: string description: 'Product type. Options: simple, grouped, external and variable. Default is simple.' status: type: string description: 'Product status (post status). Options: draft, pending, private and publish. Default is publish.' featured: type: boolean description: Featured product. Default is false. catalog_visibility: type: string description: 'Catalog visibility. Options: visible, catalog, search and hidden. Default is visible.' description: type: string description: Product description. short_description: type: string description: Product short description. sku: type: string description: Unique identifier. price: type: string description: Current product price. read-only regular_price: type: string description: Regular product price. sale_price: type: string description: Product sale price. date_on_sale_from: type: string description: Start date of sale price, in the site's timezone. format: date-time date_on_sale_from_gmt: type: string description: Start date of sale price, as GMT. format: date-time date_on_sale_to: type: string description: End date of sale price, in the site's timezone. format: date-time date_on_sale_to_gmt: type: string description: End date of sale price, as GMT. format: date-time price_html: type: string description: Price formatted in HTML. read-only on_sale: type: boolean description: Shows if the product is on sale. read-only purchasable: type: boolean description: Shows if the product can be bought. read-only total_sales: type: integer description: Amount of sales. read-only format: int64 virtual: type: boolean description: If the product is virtual. Default is false. downloadable: type: boolean description: If the product is downloadable. Default is false. downloads: type: array description: List of downloadable files. items: $ref: '#/components/schemas/ProductDownload' download_limit: type: integer description: Number of times downloadable files can be downloaded after purchase. Default is -1. download_expiry: type: integer description: Number of days until access to downloadable files expires. Default is -1. external_url: type: string description: Product external URL. Only for external products. button_text: type: string description: Product external button text. Only for external products. tax_status: type: string description: 'Tax status. Options: taxable, shipping and none. Default is taxable.' tax_class: type: string description: Tax class. manage_stock: type: boolean description: Stock management at product level. Default is false. stock_quantity: type: integer description: Stock quantity. stock_status: type: string description: 'Controls the stock status of the product. Options: instock, outofstock, onbackorder. Default is instock.' backorders: type: string description: 'If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no.' backorders_allowed: type: boolean description: Shows if backorders are allowed. read-only backordered: type: boolean description: Shows if the product is on backordered. read-only sold_individually: type: boolean description: Allow one item to be bought in a single order. Default is false. weight: type: string description: Product weight. dimensions: $ref: '#/components/schemas/ProductDimension' shipping_required: type: boolean description: Shows if the product need to be shipped. read-only shipping_taxable: type: boolean description: Shows whether or not the product shipping is taxable. read-only shipping_class: type: string description: Shipping class slug. shipping_class_id: type: integer description: Shipping class ID. reviews_allowed: type: boolean description: Allow reviews. Default is true. average_rating: type: string description: Reviews average rating. read-only rating_count: type: integer description: Amount of reviews that the product have. read-only related_ids: type: array description: List of related products IDs. read-only items: type: integer upsell_ids: type: array description: List of up-sell products IDs. items: type: integer cross_sell_ids: type: array description: List of cross-sell products IDs. items: type: integer parent_id: type: integer description: Product parent ID. purchase_note: type: string description: Optional note to send the customer after purchase. categories: type: array description: List of categories. items: $ref: '#/components/schemas/ProductCategoriesItem' tags: type: array description: List of tags. items: $ref: '#/components/schemas/ProductTag' images: type: array description: List of product images. items: $ref: '#/components/schemas/ProductImage' attributes: type: array description: List of attributes. items: $ref: '#/components/schemas/ProductAttribute' default_attributes: type: array description: List of default attributes. items: $ref: '#/components/schemas/ProductAttribute' variations: type: array description: List of variations IDs. read-only items: type: integer grouped_products: type: array description: List of grouped products ID. items: type: integer menu_order: type: integer description: Menu order, used to custom sort products. meta_data: type: array description: Meta data properties. items: $ref: '#/components/schemas/MetaData' ProductVariation: type: object properties: id: type: integer description: Unique identifier for the resource. read-only date_created: type: string description: The date the variation was created, in the site's timezone. read-only format: date-time date_created_gmt: type: string description: The date the variation was created, as GMT. read-only format: date-time date_modified: type: string description: The date the variation was last modified, in the site's timezone. read-only format: date-time date_modified_gmt: type: string description: The date the variation was last modified, as GMT. read-only format: date-time description: type: string description: Variation description. permalink: type: string description: Variation URL. read-only sku: type: string description: Unique identifier. price: type: string description: Current variation price. read-only regular_price: type: string description: Variation product price. sale_price: type: string description: Variation sale price. date_on_sale_from: type: string description: Start date of sale price, in the site's timezone. format: date-time date_on_sale_from_gmt: type: string description: Start date of sale price, as GMT. format: date-time date_on_sale_to: type: string description: End date of sale price, in the site's timezone. format: date-time date_on_sale_to_gmt: type: string description: End date of sale price, as GMT. format: date-time on_sale: type: boolean description: Shows if the variation is on sale. read-only status: type: string description: 'Variation status. Options: draft, pending, private and publish. Default is publish.' purchasable: type: boolean description: Shows if the variation can be bought. read-only virtual: type: boolean description: If the variation is virtual. Default is false. downloadable: type: boolean description: If the variation is downloadable. Default is false. downloads: type: array description: List of downloadable files. items: $ref: '#/components/schemas/ProductDownload' download_limit: type: integer description: Number of times downloadable files can be downloaded after purchase. Default is -1. download_expiry: type: integer description: Number of days until access to downloadable files expires. Default is -1. tax_status: type: string description: 'Tax status. Options: taxable, shipping and none. Default is taxable.' tax_class: type: string description: Tax class. manage_stock: type: boolean description: Stock management at variation level. Default is false. stock_quantity: type: integer description: Stock quantity. stock_status: type: string description: 'Controls the stock status of the product. Options: instock, outofstock, onbackorder. Default is instock.' backorders: type: string description: 'If managing stock, this controls if backorders are allowed. Options: no, notify and yes. Default is no.' backorders_allowed: type: boolean description: Shows if backorders are allowed. read-only backordered: type: boolean description: Shows if the variation is on backordered. read-only weight: type: string description: Variation weight. dimensions: $ref: '#/components/schemas/ProductDimension' shipping_class: type: string description: Shipping class slug. shipping_class_id: type: integer description: Shipping class ID. image: $ref: '#/components/schemas/ProductImage' attributes: type: array description: List of attributes. items: $ref: '#/components/schemas/ProductAttribute' menu_order: type: integer description: Menu order, used to custom sort products. meta_data: type: array description: Meta data properties. items: $ref: '#/components/schemas/MetaData' ProductDownload: type: object properties: id: type: string description: File ID. name: type: string description: File name. file: type: string description: File URL. ProductDimension: type: object properties: length: type: string description: Product length. width: type: string description: Product width. height: type: string description: Product height. ProductImage: type: object properties: id: type: integer description: Image ID. date_created: type: string description: The date the image was created, in the site's timezone. read-only format: date-time date_created_gmt: type: string description: The date the image was created, as GMT. read-only format: date-time date_modified: type: string description: The date the image was last modified, in the site's timezone. read-only format: date-time date_modified_gmt: type: string description: The date the image was last modified, as GMT. read-only format: date-time src: type: string description: Image URL. name: type: string description: Image name. alt: type: string description: Image alternative text. ProductCategoriesItem: type: object properties: id: type: integer description: Category ID. name: type: string description: Category name. read-only slug: type: string description: Category slug. read-only ProductTag: type: object properties: id: type: integer description: Tag ID. name: type: string description: Tag name. read-only slug: type: string description: Tag slug. read-only description: type: string description: HTML description of the resource count: type: integer description: Number of published products for the resource required: - name ProductAttribute: type: object properties: id: type: integer description: Attribute ID. name: type: string description: Attribute name. option: type: string description: Selected attribute term name. Applicable only for Product represents SKU (variation) slug: type: string description: Attribute slug. type: type: string description: Attribute type. order_by: type: string description: Sort order. has_archives: type: boolean description: Enable/Disable attribute archives. ProductAttributeTerm: type: object properties: id: type: integer description: Term ID. name: type: string description: Term name. slug: type: string description: Term slug. description: type: string description: Term description. menu_order: type: integer description: Menu order. count: type: integer description: Number of products in term. ProductCategory: type: object properties: id: type: integer description: Unique identifier for the resource. readOnly: true name: type: string description: Category name. slug: type: string description: An alphanumeric identifier for the resource unique to its type. parent: type: integer description: The ID for the parent of the resource. description: type: string description: HTML description of the resource. display: type: string description: Category archive display type. enum: [default, products, subcategories, both] default: default image: $ref: '#/components/schemas/ProductImage' menu_order: type: integer description: Menu order, used to custom sort the resource. count: type: integer description: Number of published products for the resource. readOnly: true required: - name ProductShippingClass: type: object properties: id: type: integer description: Shipping class ID. name: type: string description: Shipping class name. slug: type: string description: Shipping class slug. description: type: string description: Shipping class description. count: type: integer description: Number of products in class. ProductReview: type: object properties: id: type: integer description: Unique identifier for the resource. readOnly: true date_created: type: string format: date-time description: The date the review was created, in the site's timezone. readOnly: true date_created_gmt: type: string format: date-time description: The date the review was created, as GMT. readOnly: true product_id: type: integer description: Unique identifier for the product that the review belongs to. status: type: string description: Status of the review. enum: - approved - hold - spam - unspam - trash - untrash default: approved reviewer: type: string description: Reviewer name. reviewer_email: type: string format: email description: Reviewer email. review: type: string description: The content of the review. rating: type: integer description: Review rating (0 to 5). minimum: 0 maximum: 5 verified: type: boolean description: Shows if the reviewer bought the product or not. Order: type: object properties: id: type: integer description: Unique identifier for the resource. parent_id: type: integer description: Parent order ID. number: type: string description: Order number. order_key: type: string description: Order key. created_via: type: string description: Shows where the order was created. version: type: string description: Version of WooCommerce which last updated the order. status: type: string description: Order status. Options - pending, processing, on-hold, completed, cancelled, refunded, failed, trash and checkout-draft. Default is pending. currency: type: string description: Currency the order was created with, in ISO format. enum: - 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 date_created: type: string description: The date the order was created, in the site's timezone. format: date-time date_created_gmt: type: string description: The date the order was created, as GMT. format: date-time date_modified: type: string description: The date the order was last modified, in the site's timezone. format: date-time date_modified_gmt: type: string description: The date the order was last modified, as GMT. format: date-time discount_total: type: string description: Total discount amount for the order. discount_tax: type: string description: Total discount tax amount for the order. shipping_total: type: string description: Total shipping amount for the order. shipping_tax: type: string description: Total shipping tax amount for the order. cart_tax: type: string description: Sum of line item taxes only. total: type: string description: Grand total. total_tax: type: string description: Sum of all taxes. prices_include_tax: type: boolean description: True the prices included tax during checkout. customer_id: type: integer description: User ID who owns the order. 0 for guests. customer_ip_address: type: string description: Customer's IP address. customer_user_agent: type: string description: User agent of the customer. customer_note: type: string description: Note left by customer during checkout. billing: $ref: '#/components/schemas/Billing' shipping: $ref: '#/components/schemas/Shipping' payment_method: type: string description: Payment method ID. payment_method_title: type: string description: Payment method title. transaction_id: type: string description: Unique transaction ID. date_paid: type: string description: The date the order was paid, in the site's timezone. format: date-time date_paid_gmt: type: string description: The date the order was paid, as GMT. format: date-time date_completed: type: string description: The date the order was completed, in the site's timezone. format: date-time date_completed_gmt: type: string description: The date the order was completed, as GMT. format: date-time cart_hash: type: string description: MD5 hash of cart items to ensure orders are not modified. meta_data: type: array description: Meta data properties. items: $ref: '#/components/schemas/MetaData' line_items: type: array description: Line items data. items: $ref: '#/components/schemas/OrderLineItem' tax_lines: type: array description: Tax lines data. items: $ref: '#/components/schemas/OrderTaxLine' shipping_lines: type: array description: Shipping lines data. items: $ref: '#/components/schemas/OrderShippingLine' fee_lines: type: array description: Fee lines data. items: $ref: '#/components/schemas/OrderFeeLine' coupon_lines: type: array description: Fee lines data. items: $ref: '#/components/schemas/OrderCouponLine' refunds: type: array description: List of refunds. items: $ref: '#/components/schemas/OrderRefund' set_paid: type: boolean description: Define if the order is paid. It will set the status to processing and reduce stock items. Billing: type: object properties: first_name: type: string description: First name. last_name: type: string description: Last name. company: type: string description: Company name. address_1: type: string description: Address line 1 address_2: type: string description: Address line 2 city: type: string description: City name. state: type: string description: ISO code or name of the state, province or district. postcode: type: string description: Postal code. country: type: string description: Country code in ISO 3166-1 alpha-2 format. email: type: string description: Email address. phone: type: string description: Phone number. Shipping: type: object properties: first_name: type: string description: First name. last_name: type: string description: Last name. company: type: string description: Company name. address_1: type: string description: Address line 1 address_2: type: string description: Address line 2 city: type: string description: City name. state: type: string description: ISO code or name of the state, province or district. postcode: type: string description: Postal code. country: type: string description: ISO code of the country. phone: type: string description: Phone number. OrderLineItem: type: object properties: id: type: integer description: Item ID. name: type: string description: Product name. parent_name: type: string description: Parent product name if the product is a variation. product_id: type: integer description: Product ID. variation_id: type: integer description: Variation ID, if applicable. quantity: type: integer description: Quantity ordered. tax_class: type: string description: Tax class of product. subtotal: type: string description: Line subtotal (before discounts). subtotal_tax: type: string description: Line subtotal tax (before discounts). total: type: string description: Line total (after discounts). total_tax: type: string description: Line total tax (after discounts). taxes: type: array description: Line taxes. items: $ref: '#/components/schemas/OrderTaxLine' meta_data: type: array description: Meta data properties. items: $ref: '#/components/schemas/MetaData' sku: type: string description: Product SKU. price: type: number description: Product price. OrderTaxLine: type: object properties: id: type: integer description: Item ID. rate_code: type: string description: Tax rate code. rate_id: type: string description: Tax rate ID. label: type: string description: Tax rate label. compound: type: boolean description: Whether or not this is a compound tax rate. tax_total: type: string description: Tax total (not including shipping taxes). shipping_tax_total: type: string description: Shipping tax total. meta_data: type: array description: Meta data properties. items: $ref: '#/components/schemas/MetaData' OrderShippingLine: properties: id: type: integer description: Item ID. method_title: type: string description: Shipping method name. method_id: type: string description: Shipping method ID. instance_id: type: string description: Shipping instance ID. total: type: string description: Line total (after discounts). total_tax: type: string description: Line total tax (after discounts). taxes: type: array description: Line taxes. items: $ref: '#/components/schemas/OrderTaxLine' meta_data: type: array description: Meta data properties. items: $ref: '#/components/schemas/MetaData' OrderFeeLine: properties: id: type: integer description: Item ID. name: type: string description: Fee name. tax_class: type: string description: Tax class of fee. tax_status: type: string description: Tax status of fee. Options taxable and none. total: type: string description: Line total (after discounts). total_tax: type: string description: Line total tax (after discounts). taxes: type: array description: Line taxes. items: $ref: '#/components/schemas/OrderTaxLine' meta_data: type: array description: Meta data properties. items: $ref: '#/components/schemas/MetaData' OrderCouponLine: properties: id: type: integer description: Item ID. code: type: string description: Coupon code. discount: type: string description: Discount total. discount_tax: type: string description: Discount total tax. meta_data: type: array description: Meta data properties. items: $ref: '#/components/schemas/MetaData' OrderRefund: type: object properties: id: type: integer description: Refund ID. read-only reason: type: string description: Refund reason. total: type: string description: Refund total. date_created: type: string format: date-time description: The date the refund was created, in the site's timezone. read-only date_created_gmt: type: string format: date-time description: The date the refund was created, as GMT. read-only amount: type: string description: Refund amount. api_refund: type: boolean description: When true, the payment gateway API is used to generate the refund. line_items: type: array description: List of line items data. items: type: object properties: id: type: integer description: Item ID. name: type: string description: Product name. product_id: type: integer description: Product ID. variation_id: type: integer description: Variation ID, if applicable. quantity: type: integer description: Quantity ordered. tax_class: type: string description: Tax class of product. subtotal: type: string description: Line subtotal (before discounts). subtotal_tax: type: string description: Line subtotal tax (before discounts). total: type: string description: Line total (after discounts). total_tax: type: string description: Line total tax (after discounts). taxes: type: array description: Line taxes. items: type: object properties: id: type: integer description: Tax rate ID. total: type: string description: Tax total. subtotal: type: string description: Tax subtotal. meta_data: type: array description: Meta data. items: $ref: '#/components/schemas/MetaData' sku: type: string description: Product SKU. price: type: number format: float description: Product price. refunded_by: type: integer description: User ID of user who created the refund. read-only refunded_payment: type: boolean description: If the refund was created via the API. read-only meta_data: type: array description: Meta data. items: $ref: '#/components/schemas/MetaData' OrderNote: type: object properties: id: type: integer description: Unique identifier for the resource. read-only author: type: string description: Note author. Displays as "system" for WooCommerce-generated notes, otherwise the author name. read-only date_created: type: string format: date-time description: The date the note was created, in the site's timezone. read-only date_created_gmt: type: string format: date-time description: The date the note was created, as GMT. read-only note: type: string description: Note content. mandatory customer_note: type: boolean description: If true, the note will be visible to customers. mandatory MetaData: type: object properties: id: type: integer description: Meta ID. key: type: string description: Meta key. value: type: object properties: {} description: Meta value. display_key: type: string description: Meta key for UI display. display_value: type: object properties: {} description: Meta value for UI display. ReportListItem: type: object properties: slug: type: string description: type: string _links: type: object properties: self: type: array items: type: object properties: href: type: string collection: type: array items: type: object properties: href: type: string ReportTotalsItem: type: object properties: slug: type: string name: type: string total: type: string ReportTopSellersItem: type: object properties: title: type: string product_id: type: integer quantity: type: integer ReportOrderTotalSummary: type: object properties: slug: type: string description: An alphanumeric identifier for the resource. name: type: string description: Orders status name. total: type: integer description: Amount of orders. ReportSalesSummary: type: object properties: total_sales: type: string net_sales: type: string average_sales: type: string total_orders: type: integer total_items: type: integer total_tax: type: string total_shipping: type: string total_refunds: type: number total_discount: type: string totals_grouped_by: type: string total_customers: type: integer totals: type: object additionalProperties: $ref: '#/components/schemas/ReportSalesSummaryItem' ReportSalesSummaryItem: type: object properties: sales: type: string orders: type: integer items: type: integer tax: type: string shipping: type: string discount: type: string customers: type: integer Coupon: type: object properties: id: type: integer description: Unique identifier for the resource. read-only code: type: string description: Coupon code. mandatory amount: type: string description: The amount of discount. Should always be numeric, even if setting a percentage. date_created: type: string format: date-time description: The date the coupon was created, in the site's timezone. read-only date_created_gmt: type: string format: date-time description: The date the coupon was created, as GMT. read-only date_modified: type: string format: date-time description: The date the coupon was last modified, in the site's timezone. read-only date_modified_gmt: type: string format: date-time description: The date the coupon was last modified, as GMT. read-only discount_type: type: string description: Determines the type of discount that will be applied. enum: - percent - fixed_cart - fixed_product default: fixed_cart description: type: string description: Coupon description. date_expires: type: string format: date-time description: The date the coupon expires, in the site's timezone. date_expires_gmt: type: string format: date-time description: The date the coupon expires, as GMT. usage_count: type: integer description: Number of times the coupon has been used already. read-only individual_use: type: boolean description: If true, the coupon can only be used individually. Other applied coupons will be removed from the cart. default: false product_ids: type: array description: List of product IDs the coupon can be used on. items: type: integer excluded_product_ids: type: array description: List of product IDs the coupon cannot be used on. items: type: integer usage_limit: type: integer description: How many times the coupon can be used in total. usage_limit_per_user: type: integer description: How many times the coupon can be used per customer. limit_usage_to_x_items: type: integer description: Max number of items in the cart the coupon can be applied to. free_shipping: type: boolean description: If true and if the free shipping method requires a coupon, this coupon will enable free shipping. default: false product_categories: type: array description: List of category IDs the coupon applies to. items: type: integer excluded_product_categories: type: array description: List of category IDs the coupon does not apply to. items: type: integer exclude_sale_items: type: boolean description: If true, this coupon will not be applied to items that have sale prices. default: false minimum_amount: type: string description: Minimum order amount that needs to be in the cart before coupon applies. maximum_amount: type: string description: Maximum order amount allowed when using the coupon. email_restrictions: type: array description: List of email addresses that can use this coupon. items: type: string meta_data: type: array description: Meta data. items: $ref: '#/components/schemas/MetaData' SettingsGroup: type: object properties: id: type: string description: Settings group ID. label: type: string description: Settings group label. description: type: string description: Settings group description. parent_id: type: string description: Parent ID. sub_groups: type: string description: Sub groups. Setting: type: object properties: id: type: string description: A unique identifier for the setting. label: type: string description: A human readable label for the setting used in interfaces. description: type: string description: A human readable description for the setting used in interfaces. value: type: string description: Setting value. default: type: string description: Default value for the setting. tip: type: string description: Additional help text shown to the user about the setting. type: type: string description: Type of setting. options: type: object description: An object of option properties. ShippingZone: type: object properties: id: type: integer description: Unique identifier for the resource. read-only name: type: string description: Shipping zone name. mandatory order: type: integer description: Shipping zone order. _links: type: object description: List of links. properties: self: type: array items: type: object properties: href: type: string collection: type: array items: type: object properties: href: type: string ShippingZoneLocation: type: object properties: code: type: string description: Location code. type: type: string description: Location type. enum: - postcode - state - country - continent ShippingZoneMethod: type: object properties: id: type: integer description: Method ID. read-only instance_id: type: integer description: Instance ID. read-only title: type: string description: Shipping method title. order: type: integer description: Shipping method sort order. enabled: type: boolean description: Shipping method enabled status. method_id: type: string description: Shipping method ID. method_title: type: string description: Shipping method title. read-only method_description: type: string description: Shipping method description. read-only settings: type: object description: Shipping method settings. PaymentGateway: type: object properties: id: type: string description: Payment gateway ID. read-only title: type: string description: Payment gateway title on checkout. description: type: string description: Payment gateway description on checkout. order: type: integer description: Payment gateway sort order. enabled: type: boolean description: Payment gateway enabled status. method_title: type: string description: Payment gateway method title. read-only method_description: type: string description: Payment gateway method description. read-only method_supports: type: array description: Supported features for this payment gateway. read-only items: type: string settings: type: object description: Payment gateway settings. Tax: type: object properties: id: type: integer description: Unique identifier for the resource. read-only country: type: string description: Country ISO 3166 code. mandatory state: type: string description: State code. postcode: type: string description: Postcode/ZIP code. city: type: string description: City name. rate: type: string description: Tax rate. mandatory name: type: string description: Tax rate name. mandatory priority: type: integer description: Tax priority. default: 1 compound: type: boolean description: Whether or not this is a compound rate. default: false shipping: type: boolean description: Whether or not this tax rate also gets applied to shipping. default: true order: type: integer description: Indicates the order that will appear in queries. default: 0 class: type: string description: Tax class. default: standard TaxClass: type: object properties: slug: type: string description: Unique identifier for the resource. read-only name: type: string description: Tax class name. mandatory Webhook: type: object properties: id: type: integer description: Unique identifier for the resource. read-only name: type: string description: A friendly name for the webhook. mandatory status: type: string description: Webhook status. enum: - active - paused - disabled default: active topic: type: string description: Webhook topic. mandatory resource: type: string description: Webhook resource. read-only event: type: string description: Webhook event. read-only hooks: type: array description: WooCommerce action names associated with the webhook. read-only items: type: string delivery_url: type: string format: uri description: The URL where the webhook payload is delivered. mandatory secret: type: string description: 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: type: string format: date-time description: The date the webhook was created, in the site's timezone. read-only date_created_gmt: type: string format: date-time description: The date the webhook was created, as GMT. read-only date_modified: type: string format: date-time description: The date the webhook was last modified, in the site's timezone. read-only date_modified_gmt: type: string format: date-time description: The date the webhook was last modified, as GMT. read-only SystemStatus: type: object description: System status information. properties: environment: type: object description: Environment information. database: type: object description: Database information. active_plugins: type: array description: Active plugins. items: type: object inactive_plugins: type: array description: Inactive plugins. items: type: object dropins_mu_plugins: type: array description: Dropins and MU plugins. items: type: object theme: type: object description: Theme information. settings: type: object description: Settings information. security: type: object description: Security information. pages: type: array description: Pages. items: type: object SystemStatusTool: type: object properties: id: type: string description: A unique identifier for the tool. read-only name: type: string description: Tool name. read-only action: type: string description: What running the tool will do. read-only description: type: string description: Tool description. read-only success: type: boolean description: Did the tool run successfully? read-only message: type: string description: Tool return message. read-only ApiError: type: object properties: code: type: string message: type: string data: type: object properties: status: type: integer securitySchemes: basicAuth: type: http scheme: basic