Skip to content
Integration and Troubleshooting

REST API and Commerce Integration Reference

3 min read

Discover the routes registered on your site, then use the contract for the active component. Read-only checks and order-creating requests have very different effects.

Free operational routes

Method and routeAccess / effect
GET /wp-json/citelayer/v1/scanAdministrator scan; can perform checks and store results
POST /wp-json/citelayer/v1/scan/resetAdministrator reset
POST /wp-json/citelayer/v1/ai-referralValidated browser arrival signal, not a public analytics read endpoint

WooCommerce integration contract

Begin with GET /ucp/capabilities, /ucp/openapi.json, /ucp/auth and /ucp/coverage under /wp-json/citelayer/v1. They declare paths, schemas, auth and current coverage. Catalog and stateless cart checks are public and rate limited; signed draft-cart, lifecycle and order-read requests have separate scopes.

  • Catalog: products, categories, product detail and search.
  • Draft carts: signed create/read/item mutations/delete/calculate/checkout, key ownership and expiry.
  • Checkout: pending-order handoff with buyer-reviewed WooCommerce payment URL.
  • Lifecycle: signed status/cancel with lifecycle token.
  • Order reads: signed reads for UCP-created orders with order token.

Signed Woo requests

Use the auth contract’s HMAC-SHA256 canonical request format, timestamp and nonce. Assign only required scopes: dev.ucp.shopping.cart:manage, dev.ucp.shopping.checkout:manage or dev.ucp.shopping.order:read. Store signing secrets privately. Lifecycle/order calls also require the relevant checkout-issued token. Do not replace this with a WordPress nonce or send the secret in a URL.

EDD routes

  • GET /ucp/downloads, /ucp/downloads/{id}, /ucp/downloads/categories, /ucp/search.
  • POST /ucp/cart/validate and /ucp/cart/calculate.
  • GET /ucp/checkout/gateways; POST /ucp/checkout creates a pending EDD order.

EDD 1.2.1 does not include Woo’s signed cart resource or order lifecycle API. Use valid price-option IDs for variable-priced downloads.

Read one catalog item

curl -i https://your-shop.example/wp-json/citelayer/v1/ucp/products?limit=1
curl -i https://your-shop.example/wp-json/citelayer/v1/ucp/downloads?limit=1

Use the first GET on a WooCommerce store and the second on EDD. Compare the returned price, stock semantics and valid price-option IDs with the store before preparing a cart. These catalog reads do not create an order.

Safe integration sequence

  1. Inspect the site’s REST index and the active component/version.
  2. Exercise GET catalog routes on test products first.
  3. Validate and calculate a test cart before checkout.
  4. Only issue checkout on a deliberate test store: it creates orders and processes billing input.
  5. Verify error, rate-limit and expired-token behavior before connecting a production client.

Next step

Continue with the quick start checklist, or check the common questions. For a reproducible problem, send the plugin versions, affected URL, expected result and actual response through Support. Do not include passwords, license keys or customer details.

Reviewed 6 October 2026 against citelayer® Free 1.13.5, WooCommerce add-on 1.2.19 and EDD add-on 1.2.1. Features depend on the active components and settings on your site.