B2B platform for digital goods

API Docs

REST reference for distributors: auth, catalog, orders, webhooks, rate limits.

Base URL: https://api.foxreload.com Β· Sandbox: https://api-sandbox.foxreload.com

β†’ Quickstart in 10 minutes

Authentication

Every request passes `Authorization: Bearer YOUR_API_KEY`. Keys are issued in `Dashboard β†’ Settings β†’ API Keys` and shown only once. HTTPS required.

curl https://api.foxreload.com/v1/catalog \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Core endpoints

MethodPathDescription
GET/v1/catalogList SKUs with pricing and stock.
GET/v1/catalog/{sku_id}Detail for one SKU.
POST/v1/ordersCreate an order. Idempotency-Key recommended.
GET/v1/orders/{order_id}Order state and delivery payload when ready.
POST/v1/orders/{order_id}/replacementRequest a replacement for a failed code (60-day window).
GET/v1/balanceCurrent wholesale balance per currency.
GET/v1/ordersPaginated history with filter and date range.
POST/v1/webhooksRegister / rotate a webhook endpoint.

Webhooks

Events `order.created`, `order.delivered`, `order.failed`, `order.refunded` POST to your endpoint. HMAC-SHA256 signature in the `X-FoxReload-Signature` header. See the library article for verification details.

POST https://your-shop.com/webhooks/foxreload
Headers:
  X-FoxReload-Signature: t=...,v1=hex(hmac_sha256(secret, raw_body))
  Content-Type: application/json

Body:
{
  "event": "order.delivered",
  "order_id": "ord_abc123",
  "sku_id": "psn-tr-100",
  "wholesale_cost_usd": "8.45",
  "delivered_at": "2026-05-18T14:32:11Z",
  "delivery_data": { "code": "XXXX-YYYY-ZZZZ", "type": "redeem_code" }
}

Rate limits

Standard tier: 100 req/min per API key. Enterprise: 1,000 req/min. Excess returns `HTTP 429` with a `Retry-After` header. Use exponential backoff (30s, 60s, 120s).

Full OpenAPI 3.1 specification

/api/openapi.json Β· OpenAPI 3.1 / JSON. Compatible with swagger-ui, redoc, insomnia, postman.