Skip to content

Concepts

Sandbox

Test keys in a copy of your organization, and the calls that play review and the stores.

A sandbox key (sm_test_…) works in a copy of your organization, made the first time the key is used. Everything the API does works there, and nothing leaves it: nothing reaches review, the stores, payouts or anyone's inbox, and its webhooks say "livemode": false.

Playing review and the stores#

In production, people review releases and the stores put them live. In the sandbox you play those parts yourself, and each step raises the same webhooks and events the real one does.

CallWhat it plays
POST /sandbox/releases/{id}/reviewReview: { "decision": "APPROVE" }, or REQUEST_CHANGES / REJECT with a note the label reads
POST /sandbox/releases/{id}/deliverThe stores: { "outcome": "LIVE" } gives the release a UPC, ISRCs and store links; REFUSED_BY_STORES with a reason refuses it
POST /sandbox/royaltiesA month of royalties (month, gross): a published statement and the balance credited
POST /sandbox/payouts/{id}/payPays a payout request
POST /sandbox/resetDeletes everything in the sandbox: { "confirm": true }
curl https://api.stillmoregroup.com/api/v1/sandbox/releases/<release id>/review \
  -H "Authorization: Bearer $STILLMORE_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{"decision":"APPROVE"}'

curl https://api.stillmoregroup.com/api/v1/sandbox/releases/<release id>/deliver \
  -H "Authorization: Bearer $STILLMORE_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{"outcome":"LIVE"}'

The simulations answer 403 SANDBOX_ONLY to a live key. Sandbox keys can't act for sub-labels (SANDBOX_NO_SUB_LABELS).