curl commands and a clear path to scale up to full catalog sync.
1. Get an API key
Follow the steps in Authentication to generate a key from Settings → Integrations. Export it for the rest of this page:2. Verify the key works
200 with "ok": true means you are good to go.
3. Create one product
Pick a product id you control - it is the stable identifier you will use to update or delete this product later. UUIDs are fine, but any string works.201 Created response returns the full product record, including the internal id Retailgrid assigned.
4. Bulk-upsert many products at once
For more than a handful of records, prefer/bulk. It accepts up to a few thousand items in one request and returns per-item results.
BulkItemResult per input row, so partial failures do not block the whole batch. See Conventions for details.
5. Read what you’ve loaded
The API reads as well as writes. Pull enriched products (canonical fields plus any custom columns added at import) for ERP or BI ingestion:updated_after filter for delta pulls. See Get grid rows for the full column-selection options.
6. Async CSV uploads
For full-catalog refreshes, use the CSV import endpoints. They return immediately with ajob_id:
"status": "completed", the data is live in your Retailgrid grids.
What’s next
- Imports vs bulk - decide which endpoint family fits your pipeline.
- Conventions - the patterns every endpoint follows.
- Errors - what 422 responses look like and how to fix them.
- List products and Get grid rows - the read-side reference.
