For the complete documentation index, see llms.txt. This page is also available as Markdown.

Scribe

Access provider-owned clinical documentation sessions, retrieve transcripts, generate notes and summaries, and review visit checklists and coding suggestions.

The Scribe API provides session-centric access to clinical documentation for authenticated providers. Each provider can list sessions they own, retrieve transcripts and coding suggestions, generate notes and summaries, and review the checklist supplied by the session's visit type.

Scribe has its own public OpenAPI schema and provider access boundary. Use the Scribe HTTP Reference for canonical operation contracts and Capture to Finalized Note for the complete workflow. Use the Scribe deployment base assigned to your integration, separately from Platform text sessions.

TypeScript SDK

Use @concurrence-hq/scribe-typescript-sdk 1.4.0 or later for Scribe REST helpers, streaming, and browser recording. Versions before 1.0.0 do not send the required session timezone, so their session creates fail with 422. Version 1.5.0 also types the carried value on carry_forward_available entries and the clinician-edit field dispositions that the service returns. The package is ESM-only and supports Node.js 20+ and browsers with the required capture APIs. Its integration guide explains the exported ScribeRecorder, separately provisioned provider access, and the backend route that obtains browser attach tickets. Keep provider credentials on your backend and enforce application access to the requested appointment or session.

npm i @concurrence-hq/scribe-typescript-sdk
import { ScribeClient, ScribeServerClient, ScribeStreamClient, ScribeRecorder } from '@concurrence-hq/scribe-typescript-sdk'

Authentication

Read operations require a valid provider token with scribe:sessions:read_own. Session creation, updates, lifecycle transitions, and Zoom controls require scribe:sessions:write. Artifact generation and finalization use their documented note-write scopes. Check the owning route rather than treating one scope as sufficient for every operation. The token must belong to a provider principal, and the provider's workspace must match the workspace in the request path. Send the token as a Bearer credential in the Authorization header.

Base Path

All Scribe endpoints are scoped under /v1/{workspace_id} and require the workspace identifier as a path parameter. Use the Scribe API base URL supplied for your deployment.

Resources

Resource
Description

Create, inspect, and manage provider-owned clinical sessions, including Zoom capture

Retrieve transcripts and codes, follow note and summary generation, review checklist items, and finalize notes

Error Handling

The Scribe API returns structured error responses with a consistent envelope:

Field
Type
Description

code

string

Machine-readable error code (e.g., not_found, validation_error, unauthorized)

message

string

Human-readable error description

correlation_id

string (uuid)

Unique identifier for the request, useful for support inquiries

details

array

Optional list of field-level validation errors

Each detail object contains:

Field
Type
Description

field

string or null

The request field that caused the error

message

string

Description of the validation failure

Common Error Codes

HTTP Status
Code
Description

401

unauthorized

Bearer token is absent or invalid

403

forbidden

The principal lacks a required Scribe scope, provider binding, or workspace access

404

not_found

No provider-owned resource exists at this URL

409

Route-specific, such as conflict, version_conflict, or invalid_session_state

An empty transcript, a stale note version, or the session lifecycle prevents the requested operation

422

validation_error

Request validation failed

503

service_unavailable

The requested Scribe operation is temporarily unavailable

Temporary Maintenance and Reconnection

During maintenance, ordinary Scribe HTTP requests can return 503 with Retry-After. Honor the returned delay. Newly attaching streams can close with WebSocket code 1013 (try again later); an already attached stream is not terminated by this maintenance gate. Do not assume the installed SDK automatically retries every close code. Preserve the session ID, surface the interrupted state, and retry connection setup through the supported allocation and ticket flow after recovery.

Before repeating a note edit or finalization after an uncertain response, read the current note and version. A maintenance or transport error is not evidence that capture, generation, or a previous write completed.

Correlation IDs

Every response includes an X-Correlation-ID header. You can also send your own X-Correlation-ID header on requests - if valid, the API echoes it back; otherwise a new one is generated. Include the correlation ID when contacting support about a specific request.

OpenAPI Schema

The Scribe API publishes its OpenAPI schema at the /v1/openapi.json endpoint. This schema describes all available endpoints, request and response models, and validation constraints.

Last updated

Was this helpful?