Health CompaniesGuide
Health Company quickstart
From a Health Company workspace to a validated Sandbox Partner API integration.
On this page
Workspace setup
- Create or access a Health Company workspace (sign up with intent for health companies).
- Complete the three-step organization setup: company, intended Program, and how you will start.
- Discover supply through Solia On Demand, or nominate a laboratory you already work with.
- Establish or receive an approved Diagnostic Program — a real Program exists only once canonical authority returns a Program ID.
- Confirm Program access: an active API client with an active Sandbox Program grant.
Important
Creating an account does not provision API clients, credentials or Program access.
Sandbox integration
- Select the approved Sandbox client and issue a Sandbox credential; copy the one-time secret.
- Read Programs, then the Program Catalog.
- Check requirements and serviceability for the item, region and collection method.
- Upsert a synthetic subject with an opaque external reference.
- Create an order with an Idempotency-Key.
- Replay the identical request with the same key — the same order is returned.
- Reuse the key with a different body — the API returns 409 conflict.
- Read the order and its lifecycle.
- Run a canonical Sandbox scenario where one is available.
- Read the released result, then reconcile event evidence.
- Verify webhook delivery where a subscription is configured.
- Progress toward Production only when genuine readiness evidence exists.
bash
export SOLIA_API_BASE="https://app.soliadirect.com/api/public/partner/v1"
export SOLIA_API_KEY="<one-time Sandbox secret>"bash
# Authenticate (expects a Sandbox environment in data)
curl -s "$SOLIA_API_BASE/health" \
-H "Authorization: Bearer $SOLIA_API_KEY"bash
# Programs, then the Program Catalog and requirements
curl -s "$SOLIA_API_BASE/programs" -H "Authorization: Bearer $SOLIA_API_KEY"
curl -s "$SOLIA_API_BASE/programs/$PROGRAM_ID/catalog" -H "Authorization: Bearer $SOLIA_API_KEY"
curl -s "$SOLIA_API_BASE/programs/$PROGRAM_ID/requirements" -H "Authorization: Bearer $SOLIA_API_KEY"bash
# Serviceability (program_id and item_id required; region and collection optional)
curl -s -X POST "$SOLIA_API_BASE/serviceability" \
-H "Authorization: Bearer $SOLIA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"program_id":"'"$PROGRAM_ID"'","item_id":"'"$ITEM_ID"'","region":"CA","collection":"'"$COLLECTION"'"}'bash
# Opaque synthetic subject (never send names, dates of birth or clinical detail)
curl -s -X PUT "$SOLIA_API_BASE/subjects/SANDBOX-subject-1001" \
-H "Authorization: Bearer $SOLIA_API_KEY"bash
# Idempotent order — run twice unchanged to see the same order; change the body to see 409
curl -s -X POST "$SOLIA_API_BASE/orders" \
-H "Authorization: Bearer $SOLIA_API_KEY" \
-H "Idempotency-Key: SANDBOX-order-1001" \
-H "Content-Type: application/json" \
-d '{"external_order_id":"SANDBOX-order-1001","program_id":"'"$PROGRAM_ID"'","item_id":"'"$ITEM_ID"'","external_subject_id":"SANDBOX-subject-1001","collection":"'"$COLLECTION"'"}'bash
# Order, Sandbox scenario, results and events
curl -s "$SOLIA_API_BASE/orders/$ORDER_ID" -H "Authorization: Bearer $SOLIA_API_KEY"
curl -s "$SOLIA_API_BASE/sandbox/scenarios" -H "Authorization: Bearer $SOLIA_API_KEY"
curl -s -X POST "$SOLIA_API_BASE/sandbox/orders/$ORDER_ID/simulate" \
-H "Authorization: Bearer $SOLIA_API_KEY" -H "Content-Type: application/json" \
-d '{"scenario":"happy_path"}'
curl -s "$SOLIA_API_BASE/orders/$ORDER_ID/results" -H "Authorization: Bearer $SOLIA_API_KEY"
curl -s "$SOLIA_API_BASE/events" -H "Authorization: Bearer $SOLIA_API_KEY"Important
PROGRAM_ID is the canonical id returned by GET /programs; an opportunity or draft has no Program id. ITEM_ID and COLLECTION come from the Program Catalog. Sandbox keys only work against Sandbox data.