Make your first request
List encounters and inspect the core response shape.
Public API v1
Build secure partner integrations with ChartHero's public API. In a few minutes, you can authenticate with a bearer token, call the v1 REST API, and inspect the same OpenAPI artifact used by the reference docs.
ChartHero exposes a public API for approved partners who need secure, server-side access to clinical workflow data. Use it to list encounters, fetch encounter details, read supported documents, retrieve finalized transcript data, and prepare for planned webhook notifications.
The API is designed for partner integrations such as syncing completed encounters into downstream systems, pulling clinical documents into an internal workflow, or preparing for transcript-ready notifications as they become available.
The current API version is v1. Public REST routes live under /external/v1.
Examples in these docs use api.example.test as a placeholder host. Replace it with the API host ChartHero provides for your integration.
| Item | Value |
|---|---|
| Example API host | https://api.example.test |
| Current version | v1 |
| Public REST prefix | /external/v1 |
| Example base URL | https://api.example.test/external/v1 |
| OpenAPI artifact | /openapi/v1/openapi.json |
The OpenAPI JSON artifact is published with these docs at /openapi/v1/openapi.json.
API requests use bearer-token authentication. Send the API key ChartHero gives you in the Authorization header.
Authorization: Bearer ch_sk_example_123
Keep production keys on your servers. Do not place them in browser code, mobile apps, logs, analytics events, screenshots, or support tickets.
Start by listing encounters available to your approved partner organization.
curl https://api.example.test/external/v1/encounters \
-H "Authorization: Bearer ch_sk_example_123"
Use query parameters such as limit, offset, sort_order, start_at, and end_at when you are ready to page or filter results.
The response below uses synthetic identifiers and contains no real patient data.
{
"items": [
{
"encounter_id": "enc_example_001",
"organization_id": "org_example_001",
"created_at": "2026-05-20T14:30:00Z",
"updated_at": "2026-05-20T15:05:00Z",
"date_of_service": "2026-05-20T14:30:00Z",
"encounter_type": "ambient",
"status": "completed",
"patient": {
"patient_id": "pat_example_001"
},
"documents": [
{
"document_id": "doc_example_001",
"schema_type": "ambient_transcript",
"status": "completed",
"title": "Ambient transcript",
"workflow_variant": "ambient",
"audio_duration_seconds": 842.4
}
]
}
],
"limit": 50,
"offset": 0,
"total": 1
}
List encounters and inspect the core response shape.
Confirm the least-privilege scopes your integration needs.
Prepare a receiver for transcript-ready notifications.