Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

WooCommerce Products API

Create, retrieve, update, and delete store products and their variations

WooCommerce Products API is one of 21 APIs that WooCommerce publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 7 JSON Schema definitions.

Tagged areas include Products. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, and 7 JSON Schemas.

This API exposes 7 operations across 4 paths, and defines 9 schemas. It is described by OpenAPI 3.1.0, at version v3.

Requests are made against a single base URL, https://example.com/wp-json/wc/v3.

7 operations 4 paths 9 schemas 1 DELETE3 GET2 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
v3
Base URL
https://example.com/wp-json/wc/v3
Authentication
HTTP Basic
Terms of Service
Resource Areas
1

Authentication & Security 1

WooCommerce Products API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (basicAuth). By default, every request must be authenticated.

  • basicAuth — HTTP Basic Auth using the WooCommerce Consumer Key as the username and Consumer Secret as the password over HTTPS. Over plain HTTP use OAuth 1.0a one-legged au…

Paths & Operations 7

Across 4 paths, the API surfaces 7 operations — 1 DELETE, 3 GET, 2 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Products 7

Create, retrieve, update, and delete store products and their variations

GET
/products
WooCommerce List All Products
listProducts 11 params → 200401
POST
/products
WooCommerce Create a Product
createProduct body → 201400401
GET
/products/{id}
WooCommerce Retrieve a Product
getProduct 1 param → 200401404
PUT
/products/{id}
WooCommerce Update a Product
updateProduct 1 param body → 200400401404
DELETE
/products/{id}
WooCommerce Delete a Product
deleteProduct 2 params → 200401404
POST
/products/batch
WooCommerce Batch Create, Update, and Delete Products
batchUpdateProducts body → 200401
GET
/products/collection-data
WooCommerce Get Product Collection Data
getProductCollectionData 3 params → 200

Schemas 9

The contract defines 9 schemas that model the data the API accepts and returns. The most detailed are Product (30 properties), ProductInput (20 properties), ProductAttribute (6 properties), ProductImage (4 properties). Each schema is shown below with its type and property counts.

ProductInput
object
Input payload for creating or updating a product.
20 properties
ProductImage
object
An image associated with a product.
4 properties
MetaData
object
Custom metadata key-value entry.
3 properties
BatchProductRequest
object
Batch request for creating, updating, and deleting products.
3 properties
ProductCollectionData
object
Aggregate data about a filtered product collection.
3 properties
Product
object
A WooCommerce product in the store catalog.
30 properties
BatchProductResponse
object
Response from a batch product operation.
3 properties
ProductAttribute
object
A product attribute with option values.
6 properties
Error
object
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

woocommerce-products-api-openapi.yml Raw ↑

Other APIs WooCommerce publishes across the network.

WooCommerce Webhook Events
WooCommerce GraphQL API
WooCommerce Cart API
WooCommerce Checkout API
WooCommerce Coupons API
WooCommerce Customers API
WooCommerce Order Notes API
WooCommerce Order Refunds API
WooCommerce Orders API
WooCommerce Payment Gateways API
WooCommerce Product Attributes API
WooCommerce Product Categories API