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:- Publish the draft to Test.
- Exercise it with a
sk_test_key — the Quote pins the Test-published Version. - Publish the same draft revision to Live when satisfied.
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_quotesfor load tests — use a Test key.