FHIR sandbox: a private FHIR R4 test server
A free FHIR R4 sandbox with 30 synthetic patients: base URL, authentication, stable persona ids, reset, limits and first requests — and how it differs from a public test server.
A FHIR sandbox is a test server that speaks the HL7 FHIR API, where developers can create, read and search resources without touching real patients. The Anpheros FHIR sandbox is private to your project: a FHIR R4 endpoint at https://platform.anpheros.com/fhir/R4, 30 synthetic patients with six months of history each, the same authentication as production, and a reset button. It is free and takes one click to get.
Sandbox details
| FHIR base URL | https://platform.anpheros.com/fhir/R4 (the key decides sandbox or production) |
| FHIR version | R4 (4.0.1), 26 resource types; public CapabilityStatement at /fhir/R4/metadata |
| Authentication | Authorization: Bearer sk_test_…, or OAuth 2.1 tokens for SMART apps |
| Test data | 30 synthetic patients: adults, children and older people, with ICD-10 conditions, ATC medications, allergies, LOINC labs and vital signs |
| Stable persona ids | identifier system https://anpheros.com/fhir/sid/sandbox-persona, values p01–p30: the same person even after a reset |
| Reset | One click in the dashboard restores the 30 patients (with new ids); patients you created are not touched |
| Limits | 10,000 resource writes a day, 500 patients of your own, 250 MB of documents |
| Price | Free, no card |
First requests
export KEY=sk_test_... # from the dashboard: Get a sandbox key
BASE=https://platform.anpheros.com/fhir/R4
# the server's capabilities (no key needed)
curl -s $BASE/metadata | head -c 400
# three synthetic patients
curl -s "$BASE/Patient?_count=3" -H "Authorization: Bearer $KEY"
# one persona by its stable identifier
curl -s "$BASE/Patient?identifier=https://anpheros.com/fhir/sid/sandbox-persona|p02" -H "Authorization: Bearer $KEY"
# that patient's lab results, newest first
curl -s "$BASE/Observation?patient=$PID&category=laboratory&_sort=-date" -H "Authorization: Bearer $KEY"
# the whole record, and an International Patient Summary
curl -s "$BASE/Patient/$PID/\$everything" -H "Authorization: Bearer $KEY"
curl -s "$BASE/Patient/$PID/\$summary" -H "Authorization: Bearer $KEY"
Private sandbox or public test server?
| Public test server | Anpheros sandbox | |
|---|---|---|
| Your data is visible to others | ✓ | — |
| Authentication like production (API key, OAuth) | — | ✓ |
| Realistic patients with history | ◐ | ✓ |
| Reset to a known state | — | ✓ |
| Same code works in production | — | ✓ |
| Any FHIR resource type | ✓ | ◐ |
A public test server such as the open HAPI FHIR server is great for learning the standard; a private sandbox is for testing your product. ◐ = Anpheros stores 26 resource types.
Frequently asked questions
Is there a free FHIR sandbox?
Yes. The Anpheros FHIR R4 sandbox is free and self-service: sign in to the dashboard with Google, press Get a sandbox key and call /fhir/R4 with it.
What is the FHIR sandbox URL?
https://platform.anpheros.com/fhir/R4. Sandbox and production share the address; a sk_test_ key only ever reaches sandbox data.
Does the sandbox have test patients?
Yes, 30 synthetic patients per project, each with about six months of conditions, medications, allergies, laboratory results and vital signs. Each persona keeps a stable identifier across resets.
Can I test SMART on FHIR and OAuth in the sandbox?
Yes. OAuth 2.1 with PKCE, SMART v2 patient scopes and the consent page work in the sandbox, so an app can be tested end to end before production.
Can I put real patient data in the sandbox?
No. The sandbox is for synthetic data only. Real patients belong in production, a separate database for verified organisations with a signed data processing agreement.
Related
- Free FHIR database and sandbox: when a managed FHIR database is the right choice
- FHIR proof of concept in a free sandbox: what a pilot must show
- Synthetic patient data for testing
- FHIR platform
- Getting started
- Limits