Access the WooCommerce REST API with managed OAuth authentication. Manage products, orders, customers, coupons, shipping, taxes, and more for e-commerce operations.
# List products
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/woocommerce/wp-json/wc/v3/products')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
https://api.maton.ai/woocommerce/{native-api-path}
Maton proxies requests to your WooCommerce store and automatically handles authentication.
All requests require the Maton API key in the Authorization header:
Authorization: Bearer $MATON_API_KEY
Environment Variable: Set your API key as MATON_API_KEY:
export MATON_API_KEY="YOUR_API_KEY"
Manage your WooCommerce OAuth connections at https://api.maton.ai.
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections?app=woocommerce&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'woocommerce'}).encode()
req = urllib.request.Request('https://api.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Response:
{
"connection": {
"connection_id": "{connection_id}",
"status": "ACTIVE",
"creation_time": "2025-12-08T07:20:53.488460Z",
"last_updated_time": "2026-01-31T20:03:32.593153Z",
"url": "https://connect.maton.ai/?session_token=...",
"app": "woocommerce",
"metadata": {}
}
}
Open the returned url in a browser to complete OAuth authorization.
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
If you have multiple WooCommerce connections, specify which one to use with the Maton-Connection header:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/woocommerce/wp-json/wc/v3/products')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', '{connection_id}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
If you have multiple connections, always include this header to ensure requests go to the intended account.
GET /woocommerce/wp-json/wc/v3/products
Query parameters:
page - Current page (default: 1)per_page - Items per page (default: 10, max: 100)search - Search by product namestatus - Filter by status: draft, pending, private, publishtype - Filter by type: simple, grouped, external, variablesku - Filter by SKUcategory - Filter by category IDtag - Filter by tag IDfeatured - Filter featured productson_sale - Filter on-sale productsmin_price / max_price - Filter by price rangestock_status - Filter by stock status: instock, outofstock, onbackorderorderby - Sort by: date, id, include, title, slug, price, popularity, ratingorder - Sort order: asc, descExample:
curl -s -X GET "https://api.maton.ai/woocommerce/wp-json/wc/v3/products?per_page=20&status=publish" -H "Authorization: Bearer $MATON_API_KEY"
Response:
[
{
"id": 123,
"name": "Premium T-Shirt",
"slug": "premium-t-shirt",
"type": "simple",
"status": "publish",
"sku": "TSH-001",
"price": "29.99",
"regular_price": "34.99",
"sale_price": "29.99",
"stock_quantity": 50,
"stock_status": "instock",
"categories": [{"id": 15, "name": "Apparel"}],
"images": [{"id": 456, "src": "https://..."}]
}
]
GET /woocommerce/wp-json/wc/v3/products/{id}
Example:
curl -s -X GET "https://api.maton.ai/woocommerce/wp-json/wc/v3/products/123" -H "Authorization: Bearer $MATON_API_KEY"
POST /woocommerce/wp-json/wc/v3/products
Content-Type: application/json
{
"name": "New Product",
"type": "simple",
"regular_price": "49.99",
"description": "Full product description",
"short_description": "Brief description",
"sku": "PROD-001",
"manage_stock": true,
"stock_quantity": 100,
"categories": [{"id": 15}],
"images": [{"src": "https://example.com/image.jpg"}]
}
Example:
curl -s -X POST "https://api.maton.ai/woocommerce/wp-json/wc/v3/products" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"name": "Premium Widget", "type": "simple", "regular_price": "19.99", "sku": "WDG-001"}'
PUT /woocommerce/wp-json/wc/v3/products/{id}
Example:
curl -s -X PUT "https://api.maton.ai/woocommerce/wp-json/wc/v3/products/123" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"regular_price": "24.99", "sale_price": "19.99"}'
DELETE /woocommerce/wp-json/wc/v3/products/{id}
Query parameters:
force - Set to true to permanently delete (default: false moves to trash)POST /woocommerce/wp-json/wc/v3/products/{id}/duplicate
For variable products, manage individual variations:
GET /woocommerce/wp-json/wc/v3/products/{product_id}/variations
POST /woocommerce/wp-json/wc/v3/products/{product_id}/variations
Content-Type: application/json
{
"regular_price": "29.99",
"sku": "TSH-001-RED-M",
"attributes": [
{"id": 1, "option": "Red"},
{"id": 2, "option": "Medium"}
]
}
PUT /woocommerce/wp-json/wc/v3/products/{product_id}/variations/{id}
DELETE /woocommerce/wp-json/wc/v3/products/{product_id}/variations/{id}
POST /woocommerce/wp-json/wc/v3/products/{product_id}/variations/batch
GET /woocommerce/wp-json/wc/v3/products/attributes
POST /woocommerce/wp-json/wc/v3/products/attributes
Content-Type: application/json
{
"name": "Color",
"slug": "color",
"type": "select",
"order_by": "menu_order"
}
GET /woocommerce/wp-json/wc/v3/products/attributes/{id}
PUT /woocommerce/wp-json/wc/v3/products/attributes/{id}
DELETE /woocommerce/wp-json/wc/v3/products/attributes/{id}
GET /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms
POST /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms
GET /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms/{id}
PUT /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms/{id}
DELETE /woocommerce/wp-json/wc/v3/products/attributes/{attribute_id}/terms/{id}
GET /woocommerce/wp-json/wc/v3/products/categories
POST /woocommerce/wp-json/wc/v3/products/categories
Content-Type: application/json
{
"name": "Electronics",
"parent": 0,
"description": "Electronic products"
}
GET /woocommerce/wp-json/wc/v3/products/categories/{id}
PUT /woocommerce/wp-json/wc/v3/products/categories/{id}
DELETE /woocommerce/wp-json/wc/v3/products/categories/{id}
GET /woocommerce/wp-json/wc/v3/products/tags
POST /woocommerce/wp-json/wc/v3/products/tags
GET /woocommerce/wp-json/wc/v3/products/tags/{id}
PUT /woocommerce/wp-json/wc/v3/products/tags/{id}
DELETE /woocommerce/wp-json/wc/v3/products/tags/{id}
GET /woocommerce/wp-json/wc/v3/products/shipping_classes
POST /woocommerce/wp-json/wc/v3/products/shipping_classes
GET /woocommerce/wp-json/wc/v3/products/shipping_classes/{id}
PUT /woocommerce/wp-json/wc/v3/products/shipping_classes/{id}
DELETE /woocommerce/wp-json/wc/v3/products/shipping_classes/{id}
GET /woocommerce/wp-json/wc/v3/products/reviews
Query parameters:
product - Filter by product IDstatus - Filter by status: approved, hold, spam, trashPOST /woocommerce/wp-json/wc/v3/products/reviews
Content-Type: application/json
{
"product_id": 123,
"review": "Great product!",
"reviewer": "John Doe",
"reviewer_email": "john@example.com",
"rating": 5
}
GET /woocommerce/wp-json/wc/v3/products/reviews/{id}
PUT /woocommerce/wp-json/wc/v3/products/reviews/{id}
DELETE /woocommerce/wp-json/wc/v3/products/reviews/{id}
GET /woocommerce/wp-json/wc/v3/orders
Query parameters:
page - Current page (default: 1)per_page - Items per page (default: 10)search - Search ordersafter / before - Filter by date (ISO8601)status - Order status (see below)customer - Filter by customer IDproduct - Filter by product IDorderby - Sort by: date, id, include, title, slugorder - Sort order: asc, descOrder Statuses:
pending - Payment pendingprocessing - Payment received, awaiting fulfillmenton-hold - Awaiting payment confirmationcompleted - Order fulfilledcancelled - Cancelled by admin or customerrefunded - Fully refundedfailed - Payment failedExample:
curl -s -X GET "https://api.maton.ai/woocommerce/wp-json/wc/v3/orders?status=processing&per_page=50" -H "Authorization: Bearer $MATON_API_KEY"
Response:
[
{
"id": 456,
"status": "processing",
"currency": "USD",
"total": "129.99",
"customer_id": 12,
"billing": {
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"line_items": [
{
"id": 789,
"product_id": 123,
"name": "Premium T-Shirt",
"quantity": 2,
"total": "59.98"
}
]
}
]
GET /woocommerce/wp-json/wc/v3/orders/{id}
POST /woocommerce/wp-json/wc/v3/orders
Content-Type: application/json
{
"payment_method": "stripe",
"payment_method_title": "Credit Card",
"set_paid": true,
"billing": {
"first_name": "John",
"last_name": "Doe",
"address_1": "123 Main St",
"city": "Anytown",
"state": "CA",
"postcode": "12345",
"country": "US",
"email": "john@example.com",
"phone": "555-1234"
},
"shipping": {
"first_name": "John",
"last_name": "Doe",
"address_1": "123 Main St",
"city": "Anytown",
"state": "CA",
"postcode": "12345",
"country": "US"
},
"line_items": [
{
"product_id": 123,
"quantity": 2
}
]
}
PUT /woocommerce/wp-json/wc/v3/orders/{id}
Example - Update order status:
curl -s -X PUT "https://api.maton.ai/woocommerce/wp-json/wc/v3/orders/456" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"status": "completed"}'
DELETE /woocommerce/wp-json/wc/v3/orders/{id}
GET /woocommerce/wp-json/wc/v3/orders/{order_id}/notes
POST /woocommerce/wp-json/wc/v3/orders/{order_id}/notes
Content-Type: application/json
{
"note": "Order shipped via FedEx, tracking #12345",
"customer_note": true
}
customer_note: Set to true to make the note visible to the customerGET /woocommerce/wp-json/wc/v3/orders/{order_id}/notes/{id}
DELETE /woocommerce/wp-json/wc/v3/orders/{order_id}/notes/{id}
GET /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds
POST /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds
Content-Type: application/json
{
"amount": "25.00",
"reason": "Product damaged during shipping",
"api_refund": true
}
api_refund: Set to true to process refund through payment gatewayGET /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds/{id}
DELETE /woocommerce/wp-json/wc/v3/orders/{order_id}/refunds/{id}
GET /woocommerce/wp-json/wc/v3/customers
Query parameters:
page - Current page (default: 1)per_page - Items per page (default: 10)search - Search by name or emailemail - Filter by exact emailrole - Filter by role: all, administrator, customer, shop_managerorderby - Sort by: id, include, name, registered_dateorder - Sort order: asc, descExample:
curl -s -X GET "https://api.maton.ai/woocommerce/wp-json/wc/v3/customers?per_page=25" -H "Authorization: Bearer $MATON_API_KEY"
Response:
[
{
"id": 12,
"email": "john@example.com",
"first_name": "John",
"last_name": "Doe",
"username": "johndoe",
"billing": {
"first_name": "John",
"last_name": "Doe",
"address_1": "123 Main St",
"city": "Anytown",
"state": "CA",
"postcode": "12345",
"country": "US",
"email": "john@example.com",
"phone": "555-1234"
},
"shipping": {
"first_name": "John",
"last_name": "Doe",
"address_1": "123 Main St",
"city": "Anytown",
"state": "CA",
"postcode": "12345",
"country": "US"
}
}
]
GET /woocommerce/wp-json/wc/v3/customers/{id}
POST /woocommerce/wp-json/wc/v3/customers
Content-Type: application/json
{
"email": "jane@example.com",
"first_name": "Jane",
"last_name": "Smith",
"username": "janesmith",
"password": "secure_password",
"billing": {
"first_name": "Jane",
"last_name": "Smith",
"address_1": "456 Oak Ave",
"city": "Springfield",
"state": "IL",
"postcode": "62701",
"country": "US",
"email": "jane@example.com",
"phone": "555-5678"
}
}
PUT /woocommerce/wp-json/wc/v3/customers/{id}
DELETE /woocommerce/wp-json/wc/v3/customers/{id}
GET /woocommerce/wp-json/wc/v3/customers/{customer_id}/downloads
Returns downloadable products the customer has access to.
GET /woocommerce/wp-json/wc/v3/coupons
Query parameters:
page - Current page (default: 1)per_page - Items per page (default: 10)search - Search couponscode - Filter by coupon codeGET /woocommerce/wp-json/wc/v3/coupons/{id}
POST /woocommerce/wp-json/wc/v3/coupons
Content-Type: application/json
{
"code": "SUMMER2024",
"discount_type": "percent",
"amount": "15",
"description": "Summer promotion - 15% off",
"date_expires": "2024-08-31T23:59:59",
"individual_use": true,
"usage_limit": 100,
"usage_limit_per_user": 1,
"minimum_amount": "50.00",
"maximum_amount": "500.00",
"free_shipping": false,
"exclude_sale_items": true
}
Discount Types:
percent - Percentage discountfixed_cart - Fixed amount off entire cartfixed_product - Fixed amount off per productCoupon Properties:
code - Coupon code (required)amount - Discount amountdiscount_type - Type of discountdescription - Coupon descriptiondate_expires - Expiration date (ISO8601)individual_use - Cannot be combined with other couponsproduct_ids - Array of product IDs the coupon applies toexcluded_product_ids - Array of product IDs excludedusage_limit - Total number of times coupon can be usedusage_limit_per_user - Usage limit per customerlimit_usage_to_x_items - Max items the discount applies tofree_shipping - Enables free shippingproduct_categories - Array of category IDsexcluded_product_categories - Array of excluded category IDsexclude_sale_items - Exclude sale items from discountminimum_amount - Minimum cart total requiredmaximum_amount - Maximum cart total allowedemail_restrictions - Array of allowed email addressesPUT /woocommerce/wp-json/wc/v3/coupons/{id}
DELETE /woocommerce/wp-json/wc/v3/coupons/{id}
GET /woocommerce/wp-json/wc/v3/taxes
POST /woocommerce/wp-json/wc/v3/taxes
GET /woocommerce/wp-json/wc/v3/taxes/{id}
PUT /woocommerce/wp-json/wc/v3/taxes/{id}
DELETE /woocommerce/wp-json/wc/v3/taxes/{id}
POST /woocommerce/wp-json/wc/v3/taxes/batch
Create Tax Rate Example:
curl -s -X POST "https://api.maton.ai/woocommerce/wp-json/wc/v3/taxes" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"country": "US", "state": "CA", "rate": "7.25", "name": "CA State Tax", "shipping": true}'
GET /woocommerce/wp-json/wc/v3/taxes/classes
POST /woocommerce/wp-json/wc/v3/taxes/classes
DELETE /woocommerce/wp-json/wc/v3/taxes/classes/{slug}
GET /woocommerce/wp-json/wc/v3/shipping/zones
POST /woocommerce/wp-json/wc/v3/shipping/zones
GET /woocommerce/wp-json/wc/v3/shipping/zones/{id}
PUT /woocommerce/wp-json/wc/v3/shipping/zones/{id}
DELETE /woocommerce/wp-json/wc/v3/shipping/zones/{id}
Create Shipping Zone Example:
curl -s -X POST "https://api.maton.ai/woocommerce/wp-json/wc/v3/shipping/zones" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"name": "US West Coast", "order": 1}'
GET /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/locations
PUT /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/locations
Update Zone Locations Example:
curl -s -X PUT "https://api.maton.ai/woocommerce/wp-json/wc/v3/shipping/zones/1/locations" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '[{"code": "US:CA", "type": "state"}, {"code": "US:OR", "type": "state"}, {"code": "US:WA", "type": "state"}]'
GET /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods
POST /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods
GET /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods/{id}
PUT /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods/{id}
DELETE /woocommerce/wp-json/wc/v3/shipping/zones/{zone_id}/methods/{id}
GET /woocommerce/wp-json/wc/v3/shipping_methods
GET /woocommerce/wp-json/wc/v3/shipping_methods/{id}
GET /woocommerce/wp-json/wc/v3/payment_gateways
GET /woocommerce/wp-json/wc/v3/payment_gateways/{id}
PUT /woocommerce/wp-json/wc/v3/payment_gateways/{id}
Example - Enable a Payment Gateway:
curl -s -X PUT "https://api.maton.ai/woocommerce/wp-json/wc/v3/payment_gateways/stripe" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"enabled": true}'
GET /woocommerce/wp-json/wc/v3/settings
GET /woocommerce/wp-json/wc/v3/settings/{group}
Common groups: general, products, tax, shipping, checkout, account, email
GET /woocommerce/wp-json/wc/v3/settings/{group}/{id}
PUT /woocommerce/wp-json/wc/v3/settings/{group}/{id}
Example - Update Store Address:
curl -s -X PUT "https://api.maton.ai/woocommerce/wp-json/wc/v3/settings/general/woocommerce_store_address" -H "Content-Type: application/json" -H "Authorization: Bearer $MATON_API_KEY" -d '{"value": "123 Commerce St"}'
POST /woocommerce/wp-json/wc/v3/settings/{group}/batch
GET /woocommerce/wp-json/wc/v3/webhooks
POST /woocommerce/wp-json/wc/v3/webhooks
Content-Type: application/json
{
"name": "Order Created",
"topic": "order.created",
"delivery_url": "https://example.com/webhooks/woocommerce",
"status": "active"
}
Webhook Topics:
order.created, order.updated, order.deleted, order.restoredproduct.created, product.updated, product.deleted, product.restoredcustomer.created, customer.updated, customer.deletedcoupon.created, coupon.updated, coupon.deleted, coupon.restoredGET /woocommerce/wp-json/wc/v3/webhooks/{id}
PUT /woocommerce/wp-json/wc/v3/webhooks/{id}
DELETE /woocommerce/wp-json/wc/v3/webhooks/{id}
GET /woocommerce/wp-json/wc/v3/reports
GET /woocommerce/wp-json/wc/v3/reports/sales
Query parameters:
period - Report period: week, month, last_month, yeardate_min / date_max - Custom date rangeGET /woocommerce/wp-json/wc/v3/reports/top_sellers
GET /woocommerce/wp-json/wc/v3/reports/coupons/totals
GET /woocommerce/wp-json/wc/v3/reports/customers/totals
GET /woocommerce/wp-json/wc/v3/reports/orders/totals
GET /woocommerce/wp-json/wc/v3/reports/products/totals
GET /woocommerce/wp-json/wc/v3/reports/reviews/totals
GET /woocommerce/wp-json/wc/v3/data
GET /woocommerce/wp-json/wc/v3/data/continents
GET /woocommerce/wp-json/wc/v3/data/continents/{code}
GET /woocommerce/wp-json/wc/v3/data/countries
GET /woocommerce/wp-json/wc/v3/data/countries/{code}
GET /woocommerce/wp-json/wc/v3/data/currencies
GET /woocommerce/wp-json/wc/v3/data/currencies/{code}
GET /woocommerce/wp-json/wc/v3/data/currencies/current
> Administrative maintenance. System status tools can trigger repair, cleanup, or reset operations with potentially disruptive side effects on the live store. Only invoke POST (tool execution) when the user explicitly requests maintenance and confirms the specific tool.
GET /woocommerce/wp-json/wc/v3/system_status
GET /woocommerce/wp-json/wc/v3/system_status/tools
POST /woocommerce/wp-json/wc/v3/system_status/tools/{id}
Most resources support batch operations for creating, updating, and deleting multiple items:
POST /woocommerce/wp-json/wc/v3/{resource}/batch
Content-Type: application/json
{
"create": [
{"name": "New Product 1", "regular_price": "19.99"},
{"name": "New Product 2", "regular_price": "29.99"}
],
"update": [
{"id": 123, "regular_price": "24.99"}
],
"delete": [456, 789]
}
Response:
{
"create": [...],
"update": [...],
"delete": [...]
}
WooCommerce uses page-based pagination with response headers:
Query Parameters:
page - Page number (default: 1)per_page - Items per page (default: 10, max: 100)offset - Offset to start fromResponse Headers:
X-WP-Total - Total number of itemsX-WP-TotalPages - Total number of pagesLink - Contains next, prev, first, last pagination linksExample:
curl -s -I -X GET "https://api.maton.ai/woocommerce/wp-json/wc/v3/products?page=2&per_page=25" -H "Authorization: Bearer $MATON_API_KEY"
const response = await fetch(
'https://api.maton.ai/woocommerce/wp-json/wc/v3/orders?status=processing',
{
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`
}
}
);
const orders = await response.json();
import os
import requests
response = requests.get(
'https://api.maton.ai/woocommerce/wp-json/wc/v3/products',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
params={'per_page': 50, 'status': 'publish'}
)
products = response.json()
import os
import requests
order_data = {
"payment_method": "stripe",
"set_paid": True,
"billing": {
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"address_1": "123 Main St",
"city": "Anytown",
"state": "CA",
"postcode": "12345",
"country": "US"
},
"line_items": [
{"product_id": 123, "quantity": 2},
{"product_id": 456, "quantity": 1}
]
}
response = requests.post(
'https://api.maton.ai/woocommerce/wp-json/wc/v3/orders',
headers={
'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}',
'Content-Type': 'application/json'
},
json=order_data
)
order = response.json()
YYYY-MM-DDTHH:MM:SScontext=edit parameter for additional writable fieldscurl -g when URLs contain brackets (fields[], sort[], records[]) to disable glob parsingjq or other commands, environment variables like $MATON_API_KEY may not expand correctly in some shell environments. You may get "Invalid API key" errors when piping.| Status | Meaning |
|---|---|
| -------- | --------- |
| 400 | Bad request or invalid data |
| 401 | Invalid or missing authentication |
| 403 | Forbidden - insufficient permissions |
| 404 | Resource not found |
| 500 | Internal server error |
Error Response Format:
{
"code": "woocommerce_rest_invalid_id",
"message": "Invalid ID.",
"data": {
"status": 404
}
}
MATON_API_KEY environment variable is set:echo $MATON_API_KEY
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
woocommerce. For example:https://api.maton.ai/woocommerce/wp-json/wc/v3/productshttps://api.maton.ai/wp-json/wc/v3/products共 3 个版本