Test API keys
Create credentials that can access only synthetic data and can never create billable usage.
Create an API key in the dashboard and choose Test. Save the secret as
OPENHANDLE_TEST_KEY:
export OPENHANDLE_TEST_KEY="oh_test_…"The complete secret appears once. Store it in a secret manager. Do not put it in source control, browser code, a mobile app, logs, or analytics.
Key environments
| Prefix | Environment | Data | Actual charge |
|---|---|---|---|
oh_test_ | Test | Deterministic synthetic records | $0.000 |
oh_live_ | Live | Real public records | Normal billing |
Legacy oh_ keys remain Live keys. Create a new key when you want the visible
oh_live_ prefix.
The environment is immutable. Create a new key when you need a different environment. A name does not control the environment; the stored key type and prefix do.
Expiry, revocation, workspace permissions, rate limits, and optional request caps apply to both key types. Billing standing can block Live while Test remains available. A security suspension can block both.
No environment override
Do not send an environment header, query parameter, or request body field.
Public API routes and MCP tools intentionally have no environment input. This
prevents a Test credential from reaching Live data.