RetailLink

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.

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:

Authorization: Bearer sk_live_YOUR_KEY
# or
X-RetailLink-Access-Token: sk_live_YOUR_KEY

3. First request

List products for your shop. Switch language tabs and copy the snippet you need.

GET/api/v1/{shopId}/products

Returns a paginated product catalogue for the authenticated shop.

# 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:

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.