This document provides a quick overview of all available API endpoints in the Commercify system.
/api
GET /health- Health check endpoint
POST /api/auth/register- Register new userPOST /api/auth/signin- User login
GET /api/products/{productId}- Get product by IDGET /api/products/search- Search products
GET /api/categories- List all categoriesGET /api/categories/{id}- Get category by IDGET /api/categories/{id}/children- Get child categories
GET /api/payment/providers- Get available payment providers
POST /api/discounts/validate- Validate discount code
GET /api/currencies- List enabled currenciesGET /api/currencies/default- Get default currencyPOST /api/currencies/convert- Convert amount between currencies
POST /api/shipping/options- Calculate shipping options
GET /api/checkout- Get current checkoutPOST /api/checkout/items- Add item to checkoutPUT /api/checkout/items/{sku}- Update checkout itemDELETE /api/checkout/items/{sku}- Remove item from checkoutDELETE /api/checkout- Clear checkoutPUT /api/checkout/shipping-address- Set shipping addressPUT /api/checkout/billing-address- Set billing addressPUT /api/checkout/customer-details- Set customer detailsPUT /api/checkout/shipping-method- Set shipping methodPUT /api/checkout/currency- Set checkout currencyPOST /api/checkout/discount- Apply discountDELETE /api/checkout/discount- Remove discountPOST /api/checkout/complete- Complete checkout
GET /api/users/me- Get user profilePUT /api/users/me- Update user profilePUT /api/users/me/password- Change password
GET /api/orders- List user ordersGET /api/orders/{orderId}- Get order by ID (also accessible via checkout session)
All admin endpoints require authentication and admin role.
GET /api/admin/users- List all users
GET /api/admin/orders- List all ordersPUT /api/admin/orders/{orderId}/status- Update order status
GET /api/admin/checkouts- List all checkoutsGET /api/admin/checkouts/{checkoutId}- Get checkout by IDDELETE /api/admin/checkouts/{checkoutId}- Delete checkout
GET /api/admin/currencies/all- List all currenciesPOST /api/admin/currencies- Create currencyPUT /api/admin/currencies- Update currencyDELETE /api/admin/currencies- Delete currencyPUT /api/admin/currencies/default- Set default currency
POST /api/admin/categories- Create categoryPUT /api/admin/categories/{id}- Update categoryDELETE /api/admin/categories/{id}- Delete category
GET /api/admin/products- List all productsPOST /api/admin/products- Create productPUT /api/admin/products/{productId}- Update productDELETE /api/admin/products/{productId}- Delete product
POST /api/admin/products/{productId}/variants- Add product variantPUT /api/admin/products/{productId}/variants/{variantId}- Update variantDELETE /api/admin/products/{productId}/variants/{variantId}- Delete variant
POST /api/admin/shipping/methods- Create shipping methodPOST /api/admin/shipping/zones- Create shipping zonePOST /api/admin/shipping/rates- Create shipping ratePOST /api/admin/shipping/rates/weight- Create weight-based ratePOST /api/admin/shipping/rates/value- Create value-based rate
POST /api/admin/discounts- Create discountGET /api/admin/discounts/{discountId}- Get discountPUT /api/admin/discounts/{discountId}- Update discountDELETE /api/admin/discounts/{discountId}- Delete discountGET /api/admin/discounts- List all discountsGET /api/admin/discounts/active- List active discountsPOST /api/admin/discounts/apply/{orderId}- Apply discount to orderDELETE /api/admin/discounts/remove/{orderId}- Remove discount from order
POST /api/admin/payments/{paymentId}/capture- Capture paymentPOST /api/admin/payments/{paymentId}/cancel- Cancel paymentPOST /api/admin/payments/{paymentId}/refund- Refund paymentPOST /api/admin/payments/{paymentId}/force-approve- Force approve MobilePay payment
GET /api/admin/payment-providers- Get all payment providersGET /api/admin/payment-providers/enabled- Get enabled providersPUT /api/admin/payment-providers/{providerType}/enable- Enable/disable providerPUT /api/admin/payment-providers/{providerType}/configuration- Update configurationPOST /api/admin/payment-providers/{providerType}/webhook- Register webhookDELETE /api/admin/payment-providers/{providerType}/webhook- Delete webhookGET /api/admin/payment-providers/{providerType}/webhook- Get webhook info
POST /api/admin/test/email- Send test email
Server-to-server communication endpoints (no authentication required):
POST /api/webhooks/stripe- Stripe webhookPOST /api/webhooks/mobilepay- MobilePay webhook
Most endpoints require authentication via JWT token in the Authorization header:
Authorization: Bearer <your-jwt-token>
- Public - No authentication required
- Authenticated - Valid JWT token required
- Admin - JWT token with admin role required
- Webhook - Server-to-server, signature verification
200 OK- Request successful201 Created- Resource created successfully400 Bad Request- Invalid request data401 Unauthorized- Authentication required403 Forbidden- Insufficient permissions404 Not Found- Resource not found409 Conflict- Resource already exists or conflict500 Internal Server Error- Server error