Getting started
Create a shop API key, authenticate, and list products — with copy-ready snippets in cURL, Node.js, and Python.
1. Create credentials
In Admin, open Settings → API credentials (Growth+ or trial). Create a key, copy the sk_live_… secret once, and store it in your server environment — never in a browser app.
bash
export RETAILLINK_API_KEY="sk_live_YOUR_KEY"
export RETAILLINK_SHOP_ID="your-shop-id"
export RETAILLINK_API_BASE="http://localhost:3003"2. Authenticate
Send the key on every Merchant API request:
http
Authorization: Bearer sk_live_YOUR_KEY
# or
X-RetailLink-Access-Token: sk_live_YOUR_KEY3. First request
List products for your shop. Switch language tabs and copy the snippet you need.
GET
/api/v1/{shopId}/productsReturns a paginated product catalogue for the authenticated shop.
bash
# List products
curl -s "http://localhost:3003/api/v1/{shopId}/products?limit=5" \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "Accept: application/json"{ } Response200 OK
{
"products": [
{
"id": "prod_01HXYZ...",
"title": "Hiking backpack",
"handle": "hiking-backpack",
"status": "ACTIVE",
"variants": [
{
"id": "var_01HXYZ...",
"title": "Default Title",
"sku": "BP-001",
"barcode": "5000123456789",
"price": 49.99,
"inventoryQuantity": 12
}
]
}
],
"pagination": { "page": 1, "limit": 5, "total": 42, "pages": 9 }
}4. OpenAPI
Machine-readable spec for codegen and explorers:
bash
curl -s "http://localhost:3003/api/v1/openapi.json" \
-H "Accept: application/json"{ } Spec200 OK
{
"openapi": "3.0.3",
"info": { "title": "RetailLink Merchant API", "version": "1.0.0" },
"paths": { "/api/v1/{shopId}/products": { "get": { "…" } } }
}Shop ID
Find your shop ID under Admin → Settings → General (POS & devices card). Paths always include
/api/v1/{shopId}/…. Full endpoint reference: Merchant API.