Skip to main content
Every Project has two fully isolated Environments: Test and Live. Isolation is structural — separate API keys, separate publication pointers, separate Quote records — not a mode flag you can forget to set.

How a quote picks its Environment

The surface you quote through determines the Environment. There is no parameter to override it: API keys are environment-specific: the key record binds one Workspace, one Project, and one Environment, and a Test key can never address Live data. Member-hosted and public quotes always pin Live, because both exist to serve real customers — use a Test key for pre-production checks instead.

Publication is per-Environment

Publishing a Book moves one Environment’s pointer to an immutable Version. Test and Live hold independent pointers, so the standard promotion flow is:
  1. Publish the draft to Test.
  2. Exercise it with a sk_test_ key — the Quote pins the Test-published Version.
  3. Publish the same draft revision to Live when satisfied.
Rolling back Live re-points Live only; Test is untouched, and issued Receipts keep their pinned Version regardless.

Comparison

Test traffic is not billed, and failed, requires-input, and idempotently replayed quotes are not successful quotes. Only successful Live quotes are billable-relevant.

Switching environments

Use a different API key — that is the entire mechanism. Mint Test keys in the Console Developers section today; the Live key lifecycle (creation, rotation, revocation) opens with the developer-operations phase. Hosted surfaces need no switch at all: they quote Live by construction, and you validate behavior beforehand with a Test key against the same Book draft.

What isolation does not do

  • Isolation does not version your Book for you. A draft must be published to each Environment explicitly.
  • Isolation does not copy Quotes between Environments. A Test quote stays in Test forever.
  • The anonymous public route has no Test mode. Never point untrusted traffic-drivers at /v1/public_quotes for load tests — use a Test key.