FREDFRED docs

Test your integration in your store sandbox

Create simulated orders and inspect events without real payments or manufacturing.

Published by FRED

Each FRED store can have its own independent sandbox. Select your store in the dashboard and choose Create sandbox. Start empty, use a demonstration product, or copy your configuration and selected products. Copied objects receive new IDs. Copying covers uploaded products and name, sender and review settings. Inserts, shared catalog items, contacts, payments and Shopify connections are not copied. Test settings are not synchronized with production.

Connect your server

Open the sandbox and API keys, then create a test key. It starts with sk_test_ and is permanently bound to that sandbox. Use the same API URL and business routes as production, with X-API-Key. Switching the dashboard environment does not change your application: its key determines which environment it accesses.

To control simulations, add sandbox:simulate alongside the file, quote and order permissions your integration needs. Keep the key on your server.

Files, products, quotes, orders and webhook destinations remain separate between sandboxes, even for stores belonging to the same account. Production IDs cannot be used in a sandbox.

Control an order

Create and confirm a test order through the usual routes. A confirmed order uses a simulated payment and workshop. Progress is manual by default: use the dashboard Test tools or the simulation API.

curl https://api.fredpod.com/v1/sandboxes/$FRED_SANDBOX_ID/simulations \
  -H "X-API-Key: $FRED_TEST_KEY" \
  -H "Idempotency-Key: shipping-simulation-001" \
  -H "Content-Type: application/json" \
  -d '{"order_id":"ord_example","action":"complete"}'
ActionRequired state and effect
nextAdvances a confirmed order's jobs by one step
completeAdvances jobs to simulated shipping
printing_failedSimulates failure while jobs are printing
deliveredMarks a shipped order as delivered
payment_failedSimulates a declined payment before confirmation
capacity_unavailableSimulates unavailable capacity before manufacturing starts
shipping_delayedEmits a delay incident for a shipped order

Reuse the same Idempotency-Key and payload after a network error. The response includes a simulation ID and sandbox generation. The idempotency key is required. The result can be retrieved for 24 hours through GET /v1/sandboxes/{sandbox_id}/simulations/{simulation_id}. Invalid state transitions are rejected.

Test prices and delivery estimates are fictional and are not production price, capacity or manufacturing commitments. Comparisons and storefront quotes use fictional measurements marked as estimate_source: sandbox; no file is sent to a printer. AI Studio and real credit purchases are unavailable in sandboxes.

Check webhooks

Configure destinations in the sandbox environment. Notifications are actually sent to those HTTPS URLs and signed with those endpoints' own secrets. Payloads include mode: "test", sandbox_id and sandbox_generation for store sandboxes. Keep their handling separate from production.

A connection test checks your receiver; an order simulation checks the business flow and its events. Inspect attempts, errors and retries on the Webhooks page. Use an HTTPS relay to reach a local server.

Reset and go live

A reset keeps API keys and webhook destinations and creates a new data generation. Previous objects and upload tokens are no longer usable. A webhook already received cannot be recalled. Deletion revokes keys; recreation gets a new identity. Archived private uploads are purged after FRED's configured retention period.

Quotas limit storage and simulation frequency. Storage defaults to 100 MB per generation and 500 MB across a real account's test accounts, including archived uploads until they are purged.

For production, create a live key, prepare production resources and webhook destinations, and complete ordering and payment setup. Test orders are never converted automatically into real orders. The current Shopify connection rejects test keys when activating a real service: test your FRED integration separately before activation.

Older test keys without a store sandbox keep their historical account-wide environment. They are not reassigned automatically. Once a store sandbox exists, new test keys for the account must specify their sandbox.

Was this page helpful?

On this page