> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clinikapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandbox rules

> What the practice environment is, what you may put in it, and its limits and clean-up.

# Sandbox rules

## What this is for

The **sandbox** is the practice environment that your test keys talk to. It behaves like the real API but is completely separate from production, free to use and safe to break. This page lists the rules of that environment: what data is allowed, who can see it, when it is deleted and how much you can do per minute or per hour, so nothing surprises you while you build.

## Before you start

You do not need to do anything to get a sandbox. Every project has one, and any key that starts with `clk_test_` uses it. If you have no key yet, see [Access: API keys](https://docs.clinikapi.com/dashboard/projects/access-keys.md).

## The rules

**1. Use synthetic data only**

Put only invented data in the sandbox: made-up names, dates and values. **Do not** enter real patient information and do not copy production records into it. Every response to a test key carries the header `X-Sandbox-Notice: synthetic-data-only` as a reminder. *Synthetic data* simply means data that looks real but describes no real person.

**2. Know who can see your data**

A test key reads and writes only its own project's sandbox data. Other organizations' and other projects' sandbox data cannot be reached with it. Data created with test keys is never visible to live keys, and the reverse.

**3. Expect the 90-day clean-up**

Sandbox records that have not been updated for 90 days are deleted automatically by a nightly job. Update a record, or create it again, if you need it to last. Production data is not affected.

**4. Stay inside the limits**

See the table below.

## Limits

| Limit | Value |
| - | - |
| Requests per minute | 60 for all test-key traffic of one organization, sub-organizations included. This applies on top of your plan's own rate limit; it is 60 on every plan. Beyond it the API answers `429` with "Test keys are limited to 60 requests per minute". |
| Records per bulk import | 1,000 (live keys: 10,000). |
| Records per type in an export | 1,000. |
| Export size | A sandbox export must fit in one response; otherwise it is refused as too large. |
| Bulk operations | 5 per hour. |
| Monthly sandbox requests | 1,000 per organization on Free, Pro and Team (Enterprise is custom), counted separately from live requests, which have no monthly quota. Beyond it the API answers `429` with code `SANDBOX_QUOTA_EXCEEDED` until the 1st. Requests the dashboard makes for you ([Data browser](https://docs.clinikapi.com/dashboard/data/data-browser.md), [Exports](https://docs.clinikapi.com/dashboard/data/exports.md)) appear in [Logs](https://docs.clinikapi.com/dashboard/data/logs.md) as **Dashboard · (your name)** but do not count toward the 1,000 sandbox requests a month. See [Errors](https://docs.clinikapi.com/errors.md#rate-limits). |

## In the dashboard

The [Data browser](https://docs.clinikapi.com/dashboard/data/data-browser.md) and [Exports](https://docs.clinikapi.com/dashboard/data/exports.md) work only with test keys, and live data is never written from the console. When the sandbox cannot be reached, those pages say **Sandbox coming soon** and the project's status shows **Sandbox unavailable**.

## Common questions

> **What is the difference between the sandbox and production?**
>
> The sandbox holds practice data for building and testing; production holds your real data and needs a paid plan and live keys. They are separate: data created with a test key is never visible to a live key.

> **Why did my test records disappear?**
>
> They were not updated for 90 days and the nightly clean-up removed them. Keep important sample data in a script you can run again.

> **Is the sandbox HIPAA-covered?**
>
> No. It is for synthetic data only, which is exactly why real patient information must stay out. The Free plan is test-only and carries no BAA.

> **Why am I getting 429 errors in testing?**
>
> All test-key traffic of the whole organization shares 60 requests a minute. Slow down loops, or run test suites in smaller batches.

> **Why is the sandbox 'coming soon' or 'unavailable' in the dashboard?**
>
> The dashboard checks the sandbox before it shows data. When it does not answer, pages say so honestly instead of showing an empty table.

## Troubleshooting

| What you see | What to do |
| - | - |
| `429` "Test keys are limited to 60 requests per minute" | Wait a minute and slow your requests. |
| "Too many exports this hour. The limit is 5 per hour." | Wait for the hour to pass. |
| "Export too large for the sandbox; narrow the types or date range" | Export fewer types or a shorter date range. |
| **Sandbox coming soon** / **Sandbox unavailable** | The practice environment is not answering. Retry shortly and check **System status**. |
| Records you created last quarter are gone | The 90-day clean-up removed them. |

## Related

* [Data browser](https://docs.clinikapi.com/dashboard/data/data-browser.md)
* [Exports](https://docs.clinikapi.com/dashboard/data/exports.md)
* [Errors and rate limits](https://docs.clinikapi.com/errors.md)
* [Glossary](https://docs.clinikapi.com/dashboard/glossary.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.