Product category image. Similar to ProductImage but used specifically for category images.
Input for creating/updating a product category.
Product brand taxonomy. Structurally identical to categories (display, image, parent hierarchy).
Input for creating/updating a product brand.
Input for creating/updating a variation.
Line item input for creating/updating orders.
Tax line. All fields are read-only per WooCommerce API docs.
Inline refund line in Order response. This is a simplified representation of refunds returned in the Order object. All fields are read-only per WooCommerce API docs.
Customer download. All fields are read-only as this is a read-only resource.
Product review input for creating/updating.
Product shipping class input for creating/updating.
Report totals item (for coupons, customers, orders, products, reviews, categories, tags, attributes).
WooCommerce shipping method. This represents a global shipping method type (e.g., flat_rate, free_shipping, local_pickup). These are the available shipping methods that can be added to shipping zones.
Input for creating/updating a shipping zone.
Input for creating/updating a shipping zone location.
Shipping method setting. Settings are dynamically keyed by setting ID in the response.
Input for creating a shipping zone method. Only method_id is required to add a shipping method to a zone.
Input for updating a shipping zone method.
HAL-style links for setting groups. Setting groups have a different link structure with 'options' instead of 'self'.
WooCommerce setting group. Setting groups are categories that contain related settings. Examples: general, products, tax, shipping, checkout, account, email, integration, api
WooCommerce setting option. Individual configurable setting within a setting group.
Input for batch updating setting options.
Batch update request for setting options.
Batch update response for setting options.
Payment gateway setting. Individual configurable setting within a payment gateway. Reuses SettingOptionType enum from settings.tsp since same types apply.
WooCommerce payment gateway. Payment gateways handle payment processing at checkout. Results are not paginated - all gateways will be returned.
WooCommerce webhook configuration. Webhooks allow external services to be notified when events occur in WooCommerce. After 5 consecutive failed deliveries, the webhook is automatically disabled.
WooCommerce system status. The system status API allows you to view all system status items.
System status tool. The system status tools API allows you to view and run tools from system status.
Input model for running a system status tool.
Data endpoint information. Represents an available data resource in the WooCommerce data API.
State/Province information. Used within Country and ContinentCountry models.
Country information within a continent. Contains additional currency and formatting properties compared to the standalone Country model.
Continent information. Contains continent code, name, and list of countries with their details.
Country information. Contains country code, name, and list of states.
Currency information. Contains currency code, name, and symbol.
Request to create or refresh an order receipt URL.
Request to send order details email to customer.
Request to send a templated order notification email.
Product deleted webhook payload. Note: Contains only the deleted product ID.
Product restored from trash webhook payload.
Order restored from trash webhook payload.
Sort order options for product attributes.
Auto-draft status for WordPress auto-save functionality
Checkout draft (block checkout). Version history: Added in v4.3.0, removed in v4.3.1, re-added in v6.6.1. TypeSpec limitation: Only one
Auto-draft, enables WordPress autosave functionality
Trashed, moved to trash. Version history: Query param filter accepted "trash" since v4.2.0, but ProductStatus enum value for write operations added in v7.4.1.
Type of setting control. Determines how the setting is displayed and edited in the UI.
Query alias: 1 model declares accessExpires.
Query alias: 1 model declares accessExpiresGmt.
Query alias: 1 model declares activePlugins.
Query alias: 2 models declare addedByUser.
Query alias: 1 model declares apiEnabled.
Query alias: 1 model declares apiRefund.
Query alias: 1 model declares apiRestock.
Query alias: 2 models declare attributeIdentifier.
Query alias: 1 model declares authorName.
Query alias: 2 models declare authorUrl.
Query alias: 3 models declare avatarUrl.
Query alias: 4 models declare averageRating.
Query alias: 1 model declares averageSales.
Query alias: 5 models declare backordered.
Query alias: 7 models declare backorders.
Query alias: 5 models declare backordersAllowed.
Query alias: 5 models declare buttonText.
Query alias: 5 models declare catalogVisibility.
Query alias: 5 models declare categories.
Query alias: 1 model declares collection.
Query alias: 1 model declares coreVersion.
Query alias: 1 model declares countries.
Query alias: 4 models declare createdVia.
Query alias: 5 models declare crossSellProducts.
Query alias: 1 model declares curlVersion.
Query alias: 1 model declares currencyCode.
Query alias: 1 model declares currencyPos.
Query alias: 1 model declares currencyPosition.
Query alias: 5 models declare currencySymbol.
Query alias: 4 models declare customerIpAddress.
Query alias: 1 model declares customers.
Query alias: 4 models declare customerUserAgent.
Query alias: 1 model declares databasePrefix.
Query alias: 1 model declares databaseTables.
Query alias: 4 models declare dateCompleted.
Query alias: 4 models declare dateCompletedGmt.
Query alias: 20 models declare dateCreated.
Query alias: 19 models declare dateCreatedGmt.
Query alias: 4 models declare dateExpires.
Query alias: 2 models declare dateExpiresGmt.
Query alias: 17 models declare dateModified.
Query alias: 16 models declare dateModifiedGmt.
Query alias: 7 models declare dateOnSaleFrom.
Query alias: 7 models declare dateOnSaleFromGmt.
Query alias: 7 models declare dateOnSaleTo.
Query alias: 7 models declare dateOnSaleToGmt.
Query alias: 4 models declare datePaidGmt.
Query alias: 1 model declares decimalSep.
Query alias: 1 model declares decimalSeparator.
Query alias: 5 models declare defaultAttributes.
Query alias: 1 model declares defaultTimezone.
Query alias: 2 models declare deliveryUrl.
Query alias: 31 models declare description.
Query alias: 7 models declare dimensions.
Query alias: 1 model declares dimensionUnit.
Query alias: 5 models declare discountTax.
Query alias: 4 models declare discountTotal.
Query alias: 5 models declare discountType.
Query alias: 1 model declares displayKey.
Query alias: 1 model declares displayValue.
Query alias: 1 model declares domdocumentEnabled.
Query alias: 7 models declare downloadable.
Query alias: 7 models declare downloadExpiry.
Query alias: 1 model declares downloadId.
Query alias: 1 model declares downloadIdentifier.
Query alias: 7 models declare downloadLimit.
Query alias: 1 model declares downloadName.
Query alias: 7 models declare downloads.
Query alias: 1 model declares downloadsRemaining.
Query alias: 1 model declares downloadUrl.
Query alias: 2 models declare emailRestrictions.
Query alias: 1 model declares environment.
Query alias: 2 models declare excludedProductCategories.
Query alias: 2 models declare excludedProducts.
Query alias: 2 models declare excludeSaleItems.
Query alias: 1 model declares expirationDate.
Query alias: 1 model declares expirationDays.
Query alias: 5 models declare externalUrl.
Query alias: 6 models declare firstName.
Query alias: 2 models declare forceEmailUpdate.
Query alias: 5 models declare freeShipping.
Query alias: 1 model declares fsockopenOrCurlEnabled.
Query alias: 1 model declares geolocationEnabled.
Query alias: 8 models declare globalUniqueId.
Query alias: 5 models declare groupedProducts.
Query alias: 1 model declares gzipEnabled.
Query alias: 1 model declares hasArchives.
Query alias: 1 model declares hasOutdatedTemplates.
Query alias: 1 model declares hasWoocommerceFile.
Query alias: 1 model declares hasWoocommerceSupport.
Query alias: 1 model declares hideErrors.
Query alias: 3 models declare imageIdentifier.
Query alias: 2 models declare individualUse.
Query alias: 1 model declares instanceId.
Query alias: 1 model declares isChildTheme.
Query alias: 4 models declare isEditable.
Query alias: 3 models declare isPayingCustomer.
Query alias: 4 models declare itemIdentifier.
Query alias: 2 models declare limitUsageToXItems.
Query alias: 1 model declares lineItemIdentifier.
Query alias: 1 model declares logDirectory.
Query alias: 1 model declares logDirectoryWritable.
Query alias: 7 models declare manageStock.
Query alias: 2 models declare maximumAmount.
Query alias: 1 model declares maxmindGeoipDatabase.
Query alias: 1 model declares maxUploadSize.
Query alias: 1 model declares mbstringEnabled.
Query alias: 11 models declare menuOrder.
Query alias: 24 models declare metadata.
Query alias: 2 models declare metaIdentifier.
Query alias: 2 models declare methodDescription.
Query alias: 1 model declares methodSupports.
Query alias: 4 models declare methodTitle.
Query alias: 2 models declare minimumAmount.
Query alias: 1 model declares mysqlVersion.
Query alias: 4 models declare needsPayment.
Query alias: 4 models declare needsProcessing.
Query alias: 1 model declares networkActivated.
Query alias: 1 model declares nominalAmount.
Query alias: 1 model declares numberOfDecimals.
Query alias: 1 model declares numDecimals.
Query alias: 1 model declares overrides.
Query alias: 1 model declares pageExists.
Query alias: 1 model declares pageVisible.
Query alias: 1 model declares parentAuthorUrl.
Query alias: 2 models declare parentName.
Query alias: 1 model declares parentVersion.
Query alias: 1 model declares parentVersionLatest.
Query alias: 5 models declare paymentMethod.
Query alias: 5 models declare paymentMethodTitle.
Query alias: 4 models declare paymentUrl.
Query alias: 1 model declares phpMaxExecutionTime.
Query alias: 1 model declares phpMaxInputVars.
Query alias: 1 model declares phpPostMaxSize.
Query alias: 1 model declares phpVersion.
Query alias: 3 models declare placeholder.
Query alias: 2 models declare postcodes.
Query alias: 4 models declare priceHtml.
Query alias: 4 models declare pricesIncludeTax.
Query alias: 2 models declare productCategories.
Query alias: 1 model declares productName.
Query alias: 5 models declare purchasable.
Query alias: 5 models declare purchaseNote.
Query alias: 1 model declares ratePercent.
Query alias: 4 models declare ratingCount.
Query alias: 2 models declare refundedBy.
Query alias: 1 model declares refundedPayment.
Query alias: 1 model declares refundTax.
Query alias: 2 models declare refundTotal.
Query alias: 7 models declare regularPrice.
Query alias: 4 models declare relatedProducts.
Query alias: 1 model declares remoteGetResponse.
Query alias: 1 model declares remoteGetSuccessful.
Query alias: 1 model declares remotePostResponse.
Query alias: 1 model declares remotePostSuccessful.
Query alias: 1 model declares reviewerAvatarUrls.
Query alias: 2 models declare reviewerEmail.
Query alias: 5 models declare reviewsAllowed.
Query alias: 7 models declare salePrice.
Query alias: 1 model declares secureConnection.
Query alias: 1 model declares serverInfo.
Query alias: 3 models declare settingIdentifier.
Query alias: 7 models declare shippingClass.
Query alias: 5 models declare shippingClassId.
Query alias: 4 models declare shippingRequired.
Query alias: 4 models declare shippingTax.
Query alias: 4 models declare shippingTaxable.
Query alias: 1 model declares shippingTaxTotal.
Query alias: 4 models declare shippingTotal.
Query alias: 1 model declares shortcode.
Query alias: 1 model declares shortcodePresent.
Query alias: 1 model declares shortcodeRequired.
Query alias: 5 models declare shortDescription.
Query alias: 1 model declares soapclientEnabled.
Query alias: 5 models declare soldIndividually.
Query alias: 7 models declare stockQuantity.
Query alias: 7 models declare stockStatus.
Query alias: 1 model declares subGroups.
Query alias: 1 model declares subtotalTax.
Query alias: 1 model declares suhosinInstalled.
Query alias: 13 models declare taxClass.
Query alias: 1 model declares taxonomies.
Query alias: 2 models declare taxRateIdentifier.
Query alias: 9 models declare taxStatus.
Query alias: 1 model declares templateId.
Query alias: 1 model declares templateIdentifier.
Query alias: 1 model declares thousandSep.
Query alias: 1 model declares thousandSeparator.
Query alias: 1 model declares totalCustomers.
Query alias: 1 model declares totalDiscount.
Query alias: 1 model declares totalItems.
Query alias: 1 model declares totalOrders.
Query alias: 1 model declares totalRefunds.
Query alias: 1 model declares totalsGroupedBy.
Query alias: 1 model declares totalShipping.
Query alias: 5 models declare transactionId.
Query alias: 5 models declare upsellProducts.
Query alias: 3 models declare usageCount.
Query alias: 4 models declare usageLimit.
Query alias: 2 models declare usageLimitPerUser.
Query alias: 4 models declare variations.
Query alias: 2 models declare versionLatest.
Query alias: 1 model declares wcDatabaseVersion.
Query alias: 1 model declares weightUnit.
Query alias: 1 model declares wpDebugMode.
Query alias: 1 model declares wpEnvironmentType.
Query alias: 1 model declares wpMemoryLimit.
Query alias: 1 model declares wpMultisite.
Query alias: 1 model declares wpVersion.
The date the image was created (in the site's timezone)
The date the image was last modified (in the site's timezone)
Image ID (attachment ID from Media Library)
The date the image was created, in the site's timezone
The date the image was last modified, in the site's timezone
The date the image was last modified, as GMT
Attribute ID (0 for custom product attribute)
An alphanumeric identifier for the resource unique to its type
Menu order, used to custom sort the resource
Number of published products for the resource
The date the product was created, in the site's timezone
The date the product was created, as GMT
The date the product was last modified, in the site's timezone
The date the product was last modified, as GMT
Start date of sale price, in the site's timezone
End date of sale price, in the site's timezone
Number of times downloadable files can be downloaded after purchase. Default is -1.
Number of days until access to downloadable files expires. Default is -1.
Product external URL. Only for external products.
Product external button text. Only for external products.
Controls the stock status of the product
If managing stock, this controls if backorders are allowed
Allow one item to be bought in a single order
Shows whether or not the product shipping is taxable
Optional note to send the customer after purchase
Menu order, used to custom sort products
The date the variation was created, in the site's timezone
The date the variation was created, as GMT
The date the variation was last modified, in the site's timezone
The date the variation was last modified, as GMT
Number of times downloadable files can be downloaded after purchase
Number of days until access to downloadable files expires
Controls the stock status of the variation
Shows if the variation is on backordered
Default sort order. Options: menu_order, name, name_num and id. Default is menu_order.
Parent product name if the product is a variation
GTIN, UPC, EAN, or ISBN - global product identifier
Postcode/ZIP. Deprecated: use postcodes instead
City name. Deprecated: use cities instead
Tax priority. Only 1 matching rate per priority will be used. Default is 1.
Whether this is a compound tax rate. Compound rates are applied on top of other tax rates. Default is false.
Whether this tax rate also gets applied to shipping. Default is true.
Indicates the order that will appear in queries
Type of discount (percent, fixed_cart, etc.)
Original coupon value before calculation (e.g., 10 for 10% off or $10 off)
The order the refund is associated with. Only present in standalone refunds endpoint.
The date the refund was created, in the site's timezone
Total refund amount. If provided, takes precedence over line item totals.
Whether the payment was refunded via the API. See api_refund.
Shows where the order was created. Can only be set during creation.
Version of WooCommerce which last updated the order
The date the order was created, in the site's timezone
The date the order was last modified, in the site's timezone
The date the order was last modified, as GMT
True if prices included tax during checkout
Customer who owns the order. 0 for guests.
The date the order was paid, in the site's timezone
The date the order was completed, in the site's timezone
The date the order was completed, as GMT
MD5 hash of cart items to ensure orders are not modified
The date the customer was created, in the site's timezone
The date the customer was created, as GMT
The date the customer was last modified, in the site's timezone
The date the customer was last modified, as GMT
When true, the payment gateway API is used to generate the refund. Default is true.
When true, the selected line items are restocked. Default is true.
The date the note was created, in the site's timezone
Whether note is for customer (visible to customer). Default is false.
Whether added by user (not system). Default is false.
Define if the order is paid. Will set status to processing and reduce stock.
The date when download access expires, in the site's timezone. Can be 'never'.
The date when download access expires, as GMT. Can be 'never'.
The date the review was created (in the site's timezone)
An alphanumeric identifier for the shipping class (slug)
An alphanumeric identifier for the resource
The amount of discount. Should always be numeric, even if setting a percentage.
The date the coupon was created, in the site's timezone
The date the coupon was last modified, in the site's timezone
The date the coupon was last modified, as GMT
Determines the type of discount that will be applied
The date the coupon expires, in the site's timezone
Number of times the coupon has been used already
If true, the coupon can only be used individually. Other applied coupons will be removed from the cart.
List of products the coupon can be used on
List of products the coupon cannot be used on
How many times the coupon can be used in total
How many times the coupon can be used per customer
Max number of items in the cart the coupon can be applied to
If true and if the free shipping method requires a coupon, this coupon will enable free shipping
List of category IDs the coupon applies to
List of category IDs the coupon does not apply to
If true, this coupon will not be applied to items that have sale prices
Minimum order amount that needs to be in the cart before coupon applies
Maximum order amount allowed when using the coupon
List of email addresses that can use this coupon
List of user IDs (or guest email addresses) that have used the coupon
If true, the coupon can only be used individually
If true, this coupon grants free shipping
A human readable label for the setting used in interfaces
A human readable description for the setting used in interfaces
Additional help text shown to the user about the setting
Placeholder text to be displayed in text inputs
Options for select/multiselect types. Keys are option values, values are display labels.
Shipping method settings. Keys are setting IDs.
Shipping method ID (e.g., 'flat_rate', 'free_shipping', 'local_pickup')
Settings to update. Keys are setting IDs, values are the new setting values.
Link to the setting options for this group
A unique identifier that can be used to link settings together
Setting value. String for most types, array of strings for multiselect.
Default value for the setting. String for most types, array of strings for multiselect.
Array of options (key value pairs) for inputs such as select, multiselect, and radio buttons
An identifier for the group this setting belongs to
Setting value to update. String for most types, array of strings for multiselect.
Supported features for this payment gateway
Payment gateway settings, keyed by setting ID
Settings values to update, keyed by setting ID
WooCommerce action names associated with the webhook
The URL where the webhook payload is delivered
Secret key used to generate a hash of the delivered webhook (HMAC-SHA256)
The date the webhook was created, in the site's timezone
The date the webhook was created, as GMT
The date the webhook was last modified, in the site's timezone
The date the webhook was last modified, as GMT
Secret key used to generate a hash of the delivered webhook
Database tables (table name to existence status)
Does the theme declare WooCommerce support?
Does the theme have a woocommerce.php file?
Does this theme have outdated templates?
Taxonomy terms for product/order statuses
Default ISO4217 alpha-3 currency code for the country
Currency symbol position for this country
Decimal separator for displayed prices for this country
The unit lengths are defined in for this country
Number of decimal points shown in displayed prices for this country
Thousands separator for displayed prices in this country
The unit weights are defined in for this country
Receipt expiration date in yyyy-mm-dd format
Force generation of a new receipt URL even if one exists
Email address to send to. Required if order has no billing email.
If true, update the order's billing email with the provided email address.
The email template to use. If omitted (10.7.0+), the best template is auto-selected based on order status.
Success message describing the action taken.
Template identifier (e.g., 'customer_completed_order', 'customer_invoice').
Description of when this template is used.