Skip to main content
Sandboxes are isolated workspaces you can use to test your Plane integration or try features without affecting live data. They behave like regular workspaces in the UI and API, but they block side effects and external integrations.

How sandboxes differ from live workspaces

  • Isolated data: No live data is copied into a sandbox. You start with a clean workspace.
  • Non‑billable: Sandbox activity doesn’t count toward usage or billing.
  • Protected side effects: Money movement, stateful providers, and outbound email delivery are disabled.
  • Test credentials: Sandbox API keys are prefixed with sk_test_ and can only access the sandbox they belong to.
Use sandboxes for integration testing, demos, and experiments. Use live workspaces for production data and real payments.

Create a sandbox

1

Open Sandboxes

In your live workspace, go to Developers → Sandboxes.
2

Create a sandbox

Click Create sandbox, review the generated name, and submit the form.
You start with an empty sandbox workspace.
You can create up to five sandboxes per live workspace.

Enter a sandbox

From Developers → Sandboxes, select a sandbox and click Enter. You’ll be placed in the sandbox workspace context. Only admins from the parent live workspace can enter a sandbox.

Create a test API key

Test keys are created inside the sandbox (not from your live workspace).
1

Open API keys

While in the sandbox, go to Developers → API keys.
2

Create a key

Click Create secret key and give it a name. The key will be shown once.
Sandbox API access is enabled by default, so you can create test keys immediately.

Use a test key in the API

Sandbox requests use the same API base URL as live requests. The key determines which workspace the request targets. The base URL is always https://api.plane.com.
curl -X POST "https://api.plane.com/v1/workers" \
  -u "sk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Alex Rivera",
    "email": "[email protected]"
  }'
If you use a live key (sk_live_...), your request will target a live workspace and create real data.

Identify sandbox data

Records created in a sandbox use a _test_ midfix in their IDs (for example, wr_test_...). This makes it easy to distinguish test data from live data.

Webhooks and events

Webhook delivery works in sandboxes. If you configure a webhook inside a sandbox, it will receive events for sandbox activity only. Use sandbox webhooks to validate your event handling without touching live data.

Sandbox limitations and protections

Sandboxes are intentionally constrained to prevent side effects. These constraints can evolve, but currently include:
  • Money movement is disabled (no real payments).
  • Bank accounts are simulated (adding a bank account creates a verified test source and skips Plaid).
  • Stateful provider calls are blocked (for example, identity checks).
  • Outbound emails are suppressed (invitations, notifications, and system emails don’t send).
  • User invites are disabled (sandbox access comes from the parent workspace’s admins).
If a feature is unavailable in a sandbox, it’s by design to keep test environments safe.

Troubleshooting

I can’t see the Sandboxes page : You must be an admin in a live workspace. Sandboxes aren’t accessible from inside another sandbox. My API request created live data : Verify the key prefix. Sandbox requests must use sk_test_ keys created inside the sandbox. I don’t see any data after entering a sandbox : Sandboxes start empty. Create test data using the UI or API.