Developer guide
Sandbox and live: planes and keys
Two deployments, two key prefixes, and what a key can carry.
Open the Developer CenterNever send patient information to a sandbox key.
On this deployment: Headless Connect API: Not available in this environment · Live keys: Not available
- Headless Connect API: Not available in this environment. What runs now: Sandbox-key calls to /api/v1 on the nonproduction deployment with synthetic data: claims scan, formulary, rulebook, the sandbox order preview, delivery reads and replay, and the MCP endpoint, on a deployment whose database has the 20261101090000-range migrations applied (a hard deploy-order dependency the merge gate enforces; ahead of them the rulebook, claims scan, MCP and replay answer 503).
- Live keys: Not available. What runs now: Nothing on any deployment: the governed request, approval and issuance path (20261101090100) is written but not applied to a hosted database or run, and no production database has recorded its plane.
Two deployments, not two modes
The developer sandbox and live are separate deployments with separate databases. A key, a brand's configuration and a webhook receiver exist only on the deployment where they were created. There is no test mode inside live, and nothing you do in the sandbox reaches live data.
| Plane | Key prefix | Data | Who issues keys | Base URL (canonical once serving) | Alias |
|---|---|---|---|---|---|
| Developer sandbox | ak_sandbox_ | synthetic | Self-serve in the Developer Center | https://sandbox.api.ambitionhealth.co/v1 (Not serving yet) | https://aws-nonprod.ambitionhealth.co/api/v1 |
| Live | ak_live_ | real | Platform approval of a production access request | https://api.ambitionhealth.co/v1 (Not serving yet) | https://ambitionhealth.co/api/v1 (Not serving yet) |
A ak_sandbox_ key presented to live, or a ak_live_ key presented to the sandbox, is refused before any lookup. Each plane's API host at /v1 is its canonical base URL once it serves; the deployment's own origin at /api/v1 stays served as an alias, with the same routes: /v1/<path> on the API host is /api/v1/<path> on the alias. Until an API host serves, call its alias, or the origin of the deployment whose console issued your key, at /api/v1; the API reference prints it.
Every answer says which plane served it: Ambition-Environment is sandbox or live, and Ambition-Livemode is false or true. The deployment sets both; nothing in your request changes them. On the sandbox all data is synthetic.
Configure your brand on each deployment: programs, state policy, subscription terms, care host, external sites and receivers. A tool that promotes sandbox configuration to live is planned; until it ships, the two are set up separately, and the production access review checks the live configuration.
A key carries only what its creator can see
Every key is bound to one brand and one plane. Each scope needs a console capability, and the database refuses a scope the person creating the key does not hold.
| Scope | Its creator needs |
|---|---|
catalog.read | manage developer credentials |
enrollments.write | minimum-necessary patient access |
enrollments.read | minimum-necessary patient access |
claims.scan | manage developer credentials |
deliveries.read | read integrations |
deliveries.replay | configure integrations |
Enrollment status is treated as health information, so the enrollment scopes need minimum-necessary patient access, which a developer role does not have.
Rotation and revocation
- Rotating a key mints a new secret and keeps the old one working for an overlap of 0 to 168 hours, so a deployment can switch without downtime.
- Revoking a key stops it at once. A lost secret is never shown again: revoke the key and create another.
- Only a SHA-256 digest of a secret is stored. Keep secrets in your server's secret manager, never in a browser or a repository.
Getting a live key
Live keys are not available yet. When production access opens, the brand's tenant owner requests one named key on the live deployment with two-step verification, attaching a signed sandbox certification bundle or asking for the manual checklist. A platform administrator other than the requester approves it only with Gate B go, the brand-to-entity business associate agreement in force and the brand's external sites registered and attested, and the owner then issues the key within seven days.
| Item |
|---|
| The brand completed the sandbox quickstart: a sandbox key made a successful call and created a test enrollment. |
| A brand receiver verified the signature of a sandbox webhook delivery. |
| The brand's production configuration on this deployment (programs, state policy, terms, care host and receivers) was reviewed. |
| Copy published on the brand's registered sites has claim-scan receipts against the active rulebook. |
| The requested scopes are the minimum the integration needs. |