API · sandbox

Break things safely.

Every organization gets a linked sandbox organization for free. Test keys (pls_test_) operate only inside it; live keys (pls_live_) never do. Same API, same behavior, no production blast radius.

What the sandbox does

HTTP checksReally run — integrations exercise realistic monitor flows, states change, incidents open.
NotificationsSuppressed by the notifier and logged with status sandbox — nobody gets paged by a test.
Outbound webhooksStill deliver, so you can test your event consumers end to end.
BillingBilling surfaces stay live-only; the sandbox never charges anything.

Create a test key

In the app under Settings → API tokens, or via the API with an existing key that carries api_key.write:

curl -s -X POST https://app.upfour.io/v1/api-keys \
  -H "Authorization: Bearer $UP4_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "CI sandbox",
    "key_version": "test",
    "scopes": ["monitor.read", "monitor.write", "webhook.write"]
  }'

Use it everywhere docs say “Try it”

The reference pages run requests straight from your browser. Paste a pls_test_ key once and every panel on this site uses it — against your sandbox, where nothing you break matters.