API Calls
Last Updated: 2026-06-26
Base URL
All MallPlus Open Platform API requests use the following base URLs:
| Environment | Base URL |
|---|---|
| Production | https://sandbox.open.mallplus.ph |
| Sandbox | https://sandbox.sandbox.open.mallplus.ph |
All endpoints are prefixed with /open/v1. For example, the full URL for listing products in production is https://sandbox.open.mallplus.ph/open/v1/products.
Request Format
All API requests must be made over HTTPS. HTTP requests will be rejected. Request bodies (for POST and PUT) must be JSON-encoded with the Content-Type: application/json header.
Every request must include the three authentication headers described in the Authentication guide.
Response Format
All responses are JSON-encoded. Successful responses return a top-level success: true field with data in the data field. Error responses include an error object with a machine-readable code and a human-readable message.
// Success
{ "success": true, "data": { ... } }
// Error
{
"success": false,
"error": {
"code": "INVALID_SIGNATURE",
"message": "The request signature is invalid"
}
}Rate Limits
API calls are rate-limited per app at a default of 600 requests per minute, shared across all endpoints and methods — reads and writes draw from the same budget. Unauthenticated endpoints are limited per source IP instead.
Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. When you exceed the limit, the API returns 429 RATE_LIMITED with a Retry-After header indicating how many seconds to wait before retrying.
See the Rate Limits guide for the full policy, response headers, the real-time usage meter, and backoff guidance.
Endpoint Reference
All endpoints require HMAC-SHA256 authentication. See the Authentication guide for signing details. Click the API name link for full documentation with request/response examples.
9 scopes:catalog:read, catalog:write, orders:read, orders:write, inventory:read, inventory:write, fulfillment:read, fulfillment:write, seller:read
Catalog
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| GET | /open/v1/products | catalog:read | List products |
| GET | /open/v1/products/:id | catalog:read | Get product by ID |
| POST | /open/v1/products | catalog:write | Create a product |
| POST | /open/v1/products/bulk | catalog:write | Bulk create products (max 50) |
| PUT | /open/v1/products/:id | catalog:write | Update a product |
| DELETE | /open/v1/products/:id | catalog:write | Delete (archive) a product |
| GET | /open/v1/categories | catalog:read | List categories |
Orders
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| GET | /open/v1/orders | orders:read | List orders |
| GET | /open/v1/orders/:id | orders:read | Get order by ID |
| GET | /open/v1/orders/:id/items | orders:read | Get order line items |
| POST | /open/v1/orders/:id/ship | orders:write | Ship order with tracking |
| POST | /open/v1/orders/:id/cancel | orders:write | Cancel order with reason |
Inventory
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| GET | /open/v1/inventory | inventory:read | List inventory items |
| PUT | /open/v1/inventory/:id | inventory:write | Update inventory for an item |
| POST | /open/v1/inventory/bulk-update | inventory:write | Bulk update inventory (max 100) |
Fulfillments
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| GET | /open/v1/fulfillments | fulfillment:read | List fulfillments |
| GET | /open/v1/fulfillments/:id | fulfillment:read | Get fulfillment by ID |
| POST | /open/v1/fulfillments | fulfillment:write | Create a fulfillment |
| PUT | /open/v1/fulfillments/:id | fulfillment:write | Update fulfillment status/tracking |
Returns
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| GET | /open/v1/returns | orders:read | List return requests |
| GET | /open/v1/returns/:id | orders:read | Get return by ID |
| POST | /open/v1/returns/:id/approve | orders:write | Approve a return |
| POST | /open/v1/returns/:id/reject | orders:write | Reject a return with reason |
Shipping
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| GET | /open/v1/shipping/options | orders:read | List shipping options/providers |
Sellers
| Method | Endpoint | Scope | Description |
|---|---|---|---|
| GET | /open/v1/sellers | seller:read | List sellers |
| GET | /open/v1/sellers/:id | seller:read | Get seller by ID |
/open/v1/auth/*). See the Seller Authorization guide for details.