SKU.io API Reference
SKU.io is an inventory management platform for multichannel ecommerce brands. The API gives you programmatic access to the same operations the app performs — products, inventory, sales orders, purchasing, customers, accounting, and the sales-channel integrations built on top of them.
Every change to the API surface is published to the API changelog — one entry per day, generated from the spec. Subscribe to the full RSS feed, or the breaking-changes-only feed to be paged only when something will break your integration. See Staying notified for every option, including email alerts and in-band Deprecation/Sunset headers.
Set your base URL
SKU.io is multitenant: your API lives on your own tenant domain.
https://app.sku.ioSaved locally in your browser. Use this URL as the base for all API requests. In the Try It panels, set tenant to app to send requests directly from the docs.
Make your first call
- Create a Personal Access Token under Settings → Developer → Personal Access Tokens (pick the scopes you need; the token is shown once).
- Send it as a Bearer token:
curl "https://acme.sku.io/api/v2/products?per_page=5" \
-H "Authorization: Bearer <your-token>" \
-H "Accept: application/json"
The Quickstart guide walks through this end to end — first read, first write — in about five minutes.
Explore in Postman
Prefer a GUI client? The entire API is available as a Postman collection — every endpoint, pre-organized by domain, with collection-level baseUrl and token variables you set once.
One click forks the published collection into your own Postman workspace and keeps a link back to the source, so you can pull the latest endpoints as the API evolves — no manual re-import needed.
Prefer to work from a file, or import by link instead?
-
Download the Postman collection — a v2.1 collection generated from the same OpenAPI spec as this reference, so it always matches what you see here.
-
Import by link to keep it current: in Postman, choose Import → Link, paste the URL below, and click Continue. Re-importing later pulls the latest version.
https://developer.sku.io/skuio-api.postman_collection.json
After importing (or forking), open the collection's Variables tab, set baseUrl to https://{tenant}.sku.io (your tenant domain) and token to your Personal Access Token, then send any request.
Guides
Start here before diving into individual endpoints:
| Guide | What it covers |
|---|---|
| Quickstart | First API call in 5 minutes — token, list products, create a customer |
| Authentication | Personal Access Tokens, the scope vocabulary, token lifecycle, IP allowlists |
| API Conventions | The /api vs /api/v2 story, response envelopes, headers, the 200-on-create quirk |
| Pagination | Page-based pagination, response metadata, iterating large sets |
| Filtering & Sorting | filter[field.operator]=value, sort, search, grouped filter trees, filter discovery |
| Errors | Every error shape by status code, machine-readable codes, retry guidance |
| Dates & Timezones | Datetimes are UTC, date-only fields are tenant-local — and what that means for filters |
| Rate Limits | The 1,000 req/min platform limit, optional per-token caps, handling 429s |
| Webhooks | Event catalog, subscribing, HMAC signature verification, retries |
| Staying Notified | The changelog + RSS feeds, a breaking-changes-only feed, email alerts, and in-band Deprecation/Sunset headers |
| Build with AI | MCP server (npx -y @skuio/docs-mcp), llms.txt, markdown twins, per-domain spec chunks |
Browse the reference
The sidebar organizes every endpoint by domain:
- Core API — Orders, Purchasing, Products, Inventory, Accounting, Contacts, Insights & Analytics
- Integrations — per-channel endpoints (Amazon, Shopify, eBay, Walmart, TikTok Shop, and more) plus shipping and 3PL providers
- Platform — authentication, webhooks, exports, settings, and administrative endpoints
Each endpoint page documents parameters, request/response examples, and the exact path to call. Conventions in one line each (full detail in the guides): lists are paginated (page, per_page, default 10); filters use filter[field]=value and filter[field.operator]=value; sorting uses sort=-created_at; datetimes are UTC; errors are JSON with a stable machine-readable code.
Support
- Website: sku.io
- Email: support@sku.io — include the
X-Request-Idresponse header value when reporting API issues