ChartHero Developer Docs
API ReferenceOpenAPI JSON

Core Concepts

Guide

Fetch documents

Read supported clinical documents after selecting an encounter document.

When to use this

Use GET /external/v1/encounters/{encounter_id}/documents/{document_id} after selecting a document from an encounter response or an approved webhook follow-up.

This route returns one supported clinical document for the same caller organization as the encounter. A schema_type of document returns clinical markdown content; a schema_type of ambient_transcript returns transcript metadata only.

Required scopes

Route Required scopes
GET /external/v1/encounters/{encounter_id}/documents/{document_id} encounters:read, documents:read

The caller organization must also be enabled for document routes.

Request

cURL
curl "https://api.example.test/external/v1/encounters/enc_9YpJvK2/documents/doc_Note1" \
  -H "Authorization: Bearer ch_sk_example_123"

Document detail does not accept query parameters. Authorized callers receive unsupported_filter for any query key on this route.

Response

JSON
{
  "document": {
    "document_id": "doc_Note1",
    "encounter_id": "enc_9YpJvK2",
    "schema_type": "document",
    "title": "Progress note",
    "status": null,
    "workflow_variant": null,
    "created_at": "2026-05-25T14:30:00Z",
    "updated_at": "2026-05-25T15:00:00Z",
    "content": {
      "format": "markdown",
      "text": "Assessment and plan text."
    }
  }
}

For an ambient transcript document, this route returns metadata. Use the transcript route for speaker turns and timing, and the audio route for a short-lived audio URL when available.

Common errors

HTTP status Reason code What it means
400 unsupported_filter The request includes a query parameter that this route does not support.
400 unsupported_document_type The selected document type is not supported for document detail.
401 missing_bearer, api_keys_disabled, test_prefix_not_allowed, malformed_token, invalid_key, disabled_key, revoked_key, or expired_key API-key authentication failed. Branch on the exact reason_code.
403 org_scope_only_required Organization-scoped API keys are required.
403 missing_scope The API key does not include every required scope.
403 route_not_allowed or organization_not_allowlisted The route is not enabled for the caller organization.
403 cross_organization_denied or demo_training_denied The encounter is not available to this API key.
404 encounter_not_found or document_not_found The encounter or document was not found for the caller organization.
503 digest_key_unavailable API-key verification is temporarily unavailable.

Path IDs are opaque ChartHero IDs. Treat example IDs as illustrative strings only.

Next step

For ambient transcript documents, continue to Fetch transcript and audio. See GET /external/v1/encounters/{encounter_id}/documents/{document_id} in the API Reference for the generated endpoint contract.

Next steps