Sandbox and test keys
Build the whole integration against fake data first. A test key (olv_test_…) acts in your workspace's sandbox: no vendors are called, no credits are used and nothing is sent.
Get a test key
At app.outlevo.com → Developers → New test key, or ask the Outlevo chat for one. Only an owner or admin can create keys. Tick "Acts as me" if your code writes campaigns or decides handoffs.
export OUTLEVO_KEY=olv_test_...
curl -s https://api.outlevo.com/v1/companies -H "authorization: Bearer $OUTLEVO_KEY"
What is in it
- 100 fake companies on
sbx-001.example…sbx-100.example, spread over every status: unresearched, research required, disqualified, qualified and eligible for action. - Fake contacts, five Readiness Cards and two fake mailboxes (
GET /v1/mailboxes). - An approved outbound policy, a draft campaign to set messages on, and a sending campaign with fake leads behind its stats and lead list.
The names are invented and carry "(Sandbox)", the domains are on the reserved .example top-level domain, and sandbox contacts can never be emailed.
How it behaves
- Metered calls quote and run as they do with a live key, at no cost. Jobs finish after about 3 seconds.
- Writes can be rehearsed: companies (create, bulk, PATCH), contacts, evidence (a URL or a note; nothing is fetched), signals, Revenue Actions, campaigns and webhooks.
- Building and starting a campaign need a real Smartlead account, so they do not run in the sandbox.
- Webhooks are signed with
whsec_sandbox_outlevo_test_only_000000. - The assistant and the MCP server work in the sandbox with a test key too.
Going live
Swap the key for a live one on the server only. A live key needs a second factor from the last 12 hours, scopes, and three spend caps: credits per day, per month and per call. Give it only the scopes your code uses.