Admin REST API

Admin routes require WordPress authentication and AweCommerce capabilities.

Routes

GET        /wp-json/awecommerce/v1/admin/products
POST       /wp-json/awecommerce/v1/admin/products
GET        /wp-json/awecommerce/v1/admin/products/{id}
PATCH|PUT  /wp-json/awecommerce/v1/admin/products/{id}
DELETE     /wp-json/awecommerce/v1/admin/products/{id}

GET        /wp-json/awecommerce/v1/admin/coupons
POST       /wp-json/awecommerce/v1/admin/coupons
GET        /wp-json/awecommerce/v1/admin/coupons/{id}
PATCH|PUT  /wp-json/awecommerce/v1/admin/coupons/{id}
DELETE     /wp-json/awecommerce/v1/admin/coupons/{id}

GET        /wp-json/awecommerce/v1/admin/grants
POST       /wp-json/awecommerce/v1/admin/grants
POST       /wp-json/awecommerce/v1/admin/grants/revoke

POST       /wp-json/awecommerce/v1/admin/orders/{id}/refund
POST       /wp-json/awecommerce/v1/admin/subscriptions/{id}/change-plan
GET        /wp-json/awecommerce/v1/admin/invoices/{id}/download

Fetch Products In Admin JavaScript

const response = await fetch('/wp-json/awecommerce/v1/admin/products', {
  credentials: 'same-origin',
  headers: {
    'X-WP-Nonce': window.wpApiSettings.nonce
  }
});

if (!response.ok) {
  throw new Error(`Product request failed: ${response.status}`);
}

const data = await response.json();

Create Product

curl -X POST "https://store.example.com/wp-json/awecommerce/v1/admin/products" \
  -H "Content-Type: application/json" \
  -H "X-WP-Nonce: ADMIN_REST_NONCE" \
  -d '{
    "slug": "example-product",
    "name": "Example Product",
    "status": "active",
    "description": "Example product description"
  }'

Create Coupon

curl -X POST "https://store.example.com/wp-json/awecommerce/v1/admin/coupons" \
  -H "Content-Type: application/json" \
  -H "X-WP-Nonce: ADMIN_REST_NONCE" \
  -d '{
    "code": "SAVE20",
    "name": "Save 20 percent",
    "type": "percentage",
    "percentage": 20,
    "active": true
  }'

Create Grant

curl -X POST "https://store.example.com/wp-json/awecommerce/v1/admin/grants" \
  -H "Content-Type: application/json" \
  -H "X-WP-Nonce: ADMIN_REST_NONCE" \
  -d '{
    "user_id": 42,
    "kind": "entitlement",
    "key": "download.product:example-plugin",
    "expires_at": "2026-12-31 23:59:59"
  }'

Revoke Grant Source

curl -X POST "https://store.example.com/wp-json/awecommerce/v1/admin/grants/revoke" \
  -H "Content-Type: application/json" \
  -H "X-WP-Nonce: ADMIN_REST_NONCE" \
  -d '{
    "source_type": "manual",
    "source_id": 123
  }'

Refund Order

curl -X POST "https://store.example.com/wp-json/awecommerce/v1/admin/orders/5001/refund" \
  -H "Content-Type: application/json" \
  -H "X-WP-Nonce: ADMIN_REST_NONCE" \
  -d '{
    "amount": 2500,
    "reason": "Customer requested partial refund"
  }'

Was this documentation helpful?