Going live checklist
Everything to check before you switch from test keys to live keys and send real orders.
Your test integration becomes a live one by swapping the key — products and SKUs are shared between modes. Before you do, work through this list.
Account
- Verify your email address. You need a verified email to create live keys and use live mode in the dashboard (Settings → Profile shows the status).
- Live mode is enabled.
GET /accountwith a live key returns"live_mode_enabled": true. If live keys return403 live_mode_disabled, contact support. - Branding is set (Settings → Branding): brand name, logo, support email, packing slip message and return address. They appear on packing slips, the tracking page and customer emails — under your brand, never ours.
- Order settings (Settings → Orders): auto-confirm, what happens when credits run out (hold, hold and release manually, or reject), customer shipment emails, low-balance alert.
- Team access: invite teammates with the least role they need (developers manage keys and webhooks; finance manages the wallet).
Credits
- Buy credits (Wallet → Buy credits). Bigger top-ups earn bonus credits. Top-ups start at $100.
- Turn on auto-recharge so orders never wait for credits: save a card or bank account and pick a threshold and amount.
- Subscribe to
wallet.low_balanceor keep the low-balance email alert on.
Keys & security
- Create a live key (
sk_live_…) with only the scopes your integration needs. Store it in your secrets manager — never in code or in the browser. - Optional: restrict it to your server's egress IPs with an IP allowlist.
- Plan rotation: know how to roll the key with an overlap.
Webhooks
- Create a live webhook endpoint — test endpoints do not receive live events. Live endpoints must use HTTPS on a public host.
- Store the live signing secret (it is different from the test one) and verify every signature.
- Respond 2xx within 15 seconds and process asynchronously; handle duplicates by event
id. - Reconcile: if your endpoint was down, list missed events with
GET /events(30 days).
Orders
- Idempotency: every
POST /orderssends anIdempotency-Keyderived from your store's order id, andexternal_idis set. See Idempotency. - Errors: you log
error.codeandrequest_id, retry only 409idempotency_in_progress, 429 and 5xx, and alert on the rest. See Errors. - Holds: you handle
order.on_hold(show it in your back office; most holds resolve themselves). - Shipping: every shipping option of your store maps to
economy,standard,expressorpriority. - Non-production items: your integration skips store line items whose SKU is not one of your products (gift cards, digital goods).
- Tracking: your store is updated from
order.shipped/shipment.created(or you use our customer emails).
Final test
- Order a sample to yourself with the live key to check print quality and packaging.
- Watch your first orders in the dashboard (Orders, Developers → Logs, Developers → Webhooks).
Questions? Contact support@swaglists.com — include request ids (Request-Id header) for API questions.