Format
- HTTPS only.
- Requests and responses are JSON. Send
Content-Type: application/jsonon requests with a body. - Authenticate with your key in the
x-api-keyheader on every request — see Authentication. - Most data endpoints are scoped to a channel by
merchantId+channelId; discover these viaPOST /channels.
Pagination
Paginated endpoints (such asPOST /content-changes) use zero-based pageIndex / pageSize:
| Parameter | Description |
|---|---|
pageIndex | Page number, starting at 0 (default 0). |
pageSize | Items per page. Defaults and caps vary by endpoint — e.g. content changes are capped at 500. |
pageIndex / pageSize under a paginationParams object.
Dates
Date ranges and timestamps are expressed in the format documented on each endpoint. Provide date-range parameters where an endpoint requires them (for example, the sales-by-period views), and prefer explicit ranges over relying on defaults.Reports are asynchronous
Report creation (POST /reports/create/*) returns a reportId rather than the data itself. Poll GET /reports/status/{reportId} until status is done, then download the downloadUrl. See the Reports guide. Endpoints under /reports/view/* return JSON immediately and do not need polling.
Errors
The API uses standard HTTP status codes:| Status | Meaning |
|---|---|
400 | Bad request — missing or invalid parameters. |
401 | Valid API key, but it doesn’t have access to the endpoint. |
403 | Missing or invalid API key. |
404 | Resource not found (e.g. an unknown reportId). |