New: Application API docs
Pick the API you are reading here — the Merchant API for your own store, the Application API for partner apps.
For partner applications: browse merchants and products, hand customers a checkout link, and follow the orders it creates.
One envelope for every paginated list, and a stable key on every validation error so you never parse a message.
Every paginated endpoint returns:
{
"data": [],
"hasMore": true,
"totalPages": 12,
"totalCount": 230
}
| Status | When | Body |
|---|---|---|
| 400 | A request parameter failed validation | { "key", "message", "errors" } — see below |
| 400 | A business rule refused the request (checkout token checks) | { "message": "…" } |
| 401 | Authentication failed | { "message": "…" } — see Authentication → Constraints |
| 404 | Resource not found, or not yours | { "message": "…" } or { "key", "message" } |
| 422 | A cancellation was refused | { "key", "message" } |
| 503 | A dependency is temporarily unavailable (/states only) |
{ "message": "…" } |
{
"key": "errors.validation.page_size.max",
"message": "لا يمكن أن تكون page size أكبر من 100.",
"errors": {
"page_size": [
"لا يمكن أن تكون page size أكبر من 100."
]
}
}