curl "https://api.haau3.com/v1/sandbox/fhir/r4/metadata" \
-H "Authorization: Bearer $HAAU3_API_KEY"import { Haau3 } from "@haau3/sdk";
const haau3 = new Haau3(); // reads HAAU3_API_KEY
const capabilityStatement = await haau3.sandboxMetadata();
console.log(capabilityStatement.resourceType);
from haau3 import Haau3
client = Haau3() # reads HAAU3_API_KEY
capability_statement = client.sandbox_metadata()
print(capability_statement["resourceType"])
package main
import (
"context"
"fmt"
"log"
"github.com/haau3/haau3-go"
)
func main() {
ctx := context.Background()
client, err := haau3.NewClient() // reads HAAU3_API_KEY
if err != nil {
log.Fatal(err)
}
capabilityStatement, err := client.SandboxMetadata(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Println(capabilityStatement.ResourceType())
}
{
"resourceType": "CapabilityStatement",
"status": "active",
"date": "2026-10-27",
"publisher": "haau3",
"kind": "instance",
"instantiates": [
"http://hl7.org/fhir/us/carin-rtpbc/CapabilityStatement/rtpbc-responder|2.0.0-ballot"
],
"software": {
"name": "haau3 Sandbox"
},
"implementation": {
"description": "haau3's Sandbox: the platform FHIR base's non-production twin, the same paths answered with synthetic data. It serves the CARIN Consumer Real-Time Pharmacy Benefit Check (STU2 ballot), answered by Example Health Plan, haau3's test insurer, for its test members only, each outcome fixed by the medication. Send test members only, never a real person.",
"url": "https://api.haau3.com/v1/sandbox/fhir/r4"
},
"fhirVersion": "4.0.1",
"format": [
"application/fhir+json",
"json"
],
"rest": [
{
"mode": "server",
"documentation": "haau3's Sandbox: the platform FHIR base's non-production twin, the same paths answered with synthetic data. It serves the CARIN Consumer Real-Time Pharmacy Benefit Check (STU2 ballot), answered by Example Health Plan, haau3's test insurer, for its test members only, each outcome fixed by the medication. Send test members only, never a real person.",
"operation": [
{
"name": "process-message",
"definition": "http://hl7.org/fhir/OperationDefinition/MessageHeader-process-message",
"documentation": "A member's pharmacy benefit check, answered by a test insurer: a CARIN request message in, a CARIN response message out. Test members only; any other member gets the error no-test-member."
}
]
}
],
"messaging": [
{
"documentation": "haau3's Sandbox: the platform FHIR base's non-production twin, the same paths answered with synthetic data. It serves the CARIN Consumer Real-Time Pharmacy Benefit Check (STU2 ballot), answered by Example Health Plan, haau3's test insurer, for its test members only, each outcome fixed by the medication. Send test members only, never a real person.",
"supportedMessage": [
{
"mode": "receiver",
"definition": "http://hl7.org/fhir/us/carin-rtpbc/MessageDefinition/rtpbc-request"
}
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "forbidden",
"details": {
"coding": [
{
"system": "https://haau3.com/fhir/CodeSystem/api-error",
"code": "live-key-in-sandbox",
"display": "Live key in the Sandbox"
}
],
"text": "This is a live key, which does not work in the Sandbox. Send this request with a test key; create one in the dashboard. See https://docs.haau3.com/authentication#test-and-live-keys"
}
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}The Sandbox's capability statement
FHIR [base]/metadata at the Sandbox’s FHIR base, /v1/sandbox/fhir/r4. Returns the Sandbox’s own CapabilityStatement, which says what the Sandbox serves: today the pharmacy benefit check, $process-message, as CARIN’s responder (STU2 ballot, 2.0.0-ballot), receiving a member’s request. It takes no parameters.
curl "https://api.haau3.com/v1/sandbox/fhir/r4/metadata" \
-H "Authorization: Bearer $HAAU3_API_KEY"import { Haau3 } from "@haau3/sdk";
const haau3 = new Haau3(); // reads HAAU3_API_KEY
const capabilityStatement = await haau3.sandboxMetadata();
console.log(capabilityStatement.resourceType);
from haau3 import Haau3
client = Haau3() # reads HAAU3_API_KEY
capability_statement = client.sandbox_metadata()
print(capability_statement["resourceType"])
package main
import (
"context"
"fmt"
"log"
"github.com/haau3/haau3-go"
)
func main() {
ctx := context.Background()
client, err := haau3.NewClient() // reads HAAU3_API_KEY
if err != nil {
log.Fatal(err)
}
capabilityStatement, err := client.SandboxMetadata(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Println(capabilityStatement.ResourceType())
}
{
"resourceType": "CapabilityStatement",
"status": "active",
"date": "2026-10-27",
"publisher": "haau3",
"kind": "instance",
"instantiates": [
"http://hl7.org/fhir/us/carin-rtpbc/CapabilityStatement/rtpbc-responder|2.0.0-ballot"
],
"software": {
"name": "haau3 Sandbox"
},
"implementation": {
"description": "haau3's Sandbox: the platform FHIR base's non-production twin, the same paths answered with synthetic data. It serves the CARIN Consumer Real-Time Pharmacy Benefit Check (STU2 ballot), answered by Example Health Plan, haau3's test insurer, for its test members only, each outcome fixed by the medication. Send test members only, never a real person.",
"url": "https://api.haau3.com/v1/sandbox/fhir/r4"
},
"fhirVersion": "4.0.1",
"format": [
"application/fhir+json",
"json"
],
"rest": [
{
"mode": "server",
"documentation": "haau3's Sandbox: the platform FHIR base's non-production twin, the same paths answered with synthetic data. It serves the CARIN Consumer Real-Time Pharmacy Benefit Check (STU2 ballot), answered by Example Health Plan, haau3's test insurer, for its test members only, each outcome fixed by the medication. Send test members only, never a real person.",
"operation": [
{
"name": "process-message",
"definition": "http://hl7.org/fhir/OperationDefinition/MessageHeader-process-message",
"documentation": "A member's pharmacy benefit check, answered by a test insurer: a CARIN request message in, a CARIN response message out. Test members only; any other member gets the error no-test-member."
}
]
}
],
"messaging": [
{
"documentation": "haau3's Sandbox: the platform FHIR base's non-production twin, the same paths answered with synthetic data. It serves the CARIN Consumer Real-Time Pharmacy Benefit Check (STU2 ballot), answered by Example Health Plan, haau3's test insurer, for its test members only, each outcome fixed by the medication. Send test members only, never a real person.",
"supportedMessage": [
{
"mode": "receiver",
"definition": "http://hl7.org/fhir/us/carin-rtpbc/MessageDefinition/rtpbc-request"
}
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "forbidden",
"details": {
"coding": [
{
"system": "https://haau3.com/fhir/CodeSystem/api-error",
"code": "live-key-in-sandbox",
"display": "Live key in the Sandbox"
}
],
"text": "This is a live key, which does not work in the Sandbox. Send this request with a test key; create one in the dashboard. See https://docs.haau3.com/authentication#test-and-live-keys"
}
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "<string>",
"details": {
"text": "<string>"
},
"diagnostics": "<string>",
"expression": [
"<string>"
]
}
]
}Authorizations
Your platform API key, sent as Authorization: Bearer <key>: a live key (haau3_sk_live_…) for every service, or a test key (haau3_sk_test_…) for the Sandbox, the one place a test key works and a live key does not.
Headers
An id of your own for this request, as a UUID. It comes back in the X-Correlation-Id header and is kept with haau3's record of the request. Any value that is not a UUID is ignored. See https://docs.haau3.com/errors#request-ids.
Response
The Sandbox's FHIR CapabilityStatement.
A FHIR R4 CapabilityStatement.
"CapabilityStatement"