Skip to content
CircusScale

For developers

Build anything.

If you can do it in the product, you can do it through the API. That is the rule we hold ourselves to, and the reason interoperability here never requires a sales call.

The contract

If you can do it in the product, you can do it through the API.

Our own clinician app, patient app, and marketplace listings are clients of the same public contract you get. There is no private, more-privileged interface behind it.

DocumentationAPI referenceSDKsFHIRHL7 v2WebhooksEventsAuthenticationSandboxChangelogStatusMarketplace publishing
Book an appointmentv2026-08-01
curl -X POST https://api.example-ehr.com/v1/appointments \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "patient_id": "pat_8f21c",
    "provider_id": "prv_4a17b",
    "location_id": "loc_northgate",
    "visit_type": "follow_up_20",
    "start": "2026-09-14T15:20:00-05:00",
    "notify_patient": true
  }'

Surfaces

Nine ways in — all documented, all on every plan.

REST

Predictable resources, cursor pagination, idempotency keys, and a versioning policy you can plan around.

GraphQL

Fetch exactly the chart shape your screen needs in one round trip.

FHIR R4B / R5

The clinical record itself, not a read-only projection — search, history, and provenance included.

HL7 v2

ADT, ORM, ORU, SIU, DFT with a mapping interface instead of an interface engineer.

SMART on FHIR

Launch your app inside the chart with scoped context and the user’s permissions.

Webhooks

Signed, retried, replayable, and inspectable from the developer portal.

Bulk APIs

Export the whole tenant, or a cohort, on a schedule you control.

Event streams

Subscribe to the firehose and build your own reactions to clinical events.

SDKs

TypeScript, Python, Go, and Java — generated from the same spec the product is built against.

Events

Subscribe to what happens.

Signed, retried, replayable, and inspectable — with the same permission model as everything else.

patient.created

A new patient record exists, from any surface.

appointment.scheduled

Including who booked it and through which channel.

encounter.completed

The visit is closed; documentation state included.

lab_result.received

With abnormal and critical flags already applied.

claim.submitted

And every status change that follows it.

document.signed

With the signer, the version, and the attestation.

…and every other resource in the platform, on the same pattern.

What you get

A developer experience that doesn’t need a partner manager.

Sandbox in two minutes

Self-serve, populated with realistic synthetic patients, no sales conversation and no waiting list.

Predictable versioning

Dated versions, a published deprecation policy, and a minimum twelve-month window on breaking changes.

OAuth and granular scopes

Machine clients, user-context apps, and scopes narrow enough to satisfy a security review.

Docs written by people who use them

Every endpoint with a runnable example, and a changelog that tells you what actually changed.

Audit logs for API activity

Your integration’s reads and writes appear in the same trail as everything else.

Publish to the marketplace

Take what you built to every other organization on the platform, with revenue share.

Sandbox, synthetic patients, no sales conversation.

Sign up, get keys, and call a real FHIR endpoint before anyone asks you what your budget is.

Get sandbox access