WooCommerce
WooCommerce REST API integration with managed OAuth. Access products, orders, customers, coupons, shipping, taxes, reports, and webhooks. Use this skill when users want to manage e-commerce operations
WooCommerce REST API integration with managed OAuth. Access products, orders, customers, coupons, shipping, taxes, reports, and webhooks. Use this skill when users want to manage e-commerce operations
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
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://gateway.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://gateway.maton.ai/woocommerce/{native-api-path}
Replace
{native-api-path} with the actual WooCommerce API endpoint path. The gateway 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://ctrl.maton.ai.
python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.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://ctrl.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://ctrl.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": "21fd90f9-5935-43cd-b6c8-bde9d915ca80", "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://ctrl.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://gateway.maton.ai/woocommerce/wp-json/wc/v3/products') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF
If omitted, the gateway uses the default (oldest) active connection.
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://gateway.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://gateway.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://gateway.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://gateway.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://gateway.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://gateway.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://gateway.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://gateway.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://gateway.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://gateway.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://gateway.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://gateway.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
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://gateway.maton.ai/woocommerce/wp-json/wc/v3/products?page=2&per_page=25" -H "Authorization: Bearer $MATON_API_KEY"
const response = await fetch( 'https://gateway.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 requestsresponse = requests.get( 'https://gateway.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 requestsorder_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://gateway.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://ctrl.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://gateway.maton.ai/woocommerce/wp-json/wc/v3/productshttps://gateway.maton.ai/wp-json/wc/v3/productsNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.