Skip to main content
Note generation turns a transcript into a clinical note in one synchronous request. Every request requires a caller-supplied inline template. Structured clinical context is optional. Use this API when the caller can wait for generation to complete and wants the note in the create response.
For legacy customers only: Note Generation v2 brings newer model capabilities while preserving backward compatibility with existing Note Generation v1 systems. Use Note Generation v3 (shown here) for new integrations.

Medical coding

A standalone Medical Coding API for ICD-10 and CPT is coming soon. It will bring even higher coding accuracy and suggestions for missing documentation. Until then, legacy customers who expect coding with their notes, as in Note Generation v1, should use Note Generation v2, a drop-in replacement for Note Generation v1.

SDK

Use the SDK’s authenticated request method. Include template in every request:

Generate a note

A successful response contains the finished note:
The note value is a rendered string. To extract discrete fields or map its sections into your own JSON structure, send that string and a JSON Schema to Text to JSON. The two-call example shows both requests. This is a separate request. usage is diagnostic and may be omitted. requestId is also returned in the x-request-id response header; retain it for support.

Provide a template

Include an inline template in every request to define the note’s sections and instructions. Choose how to set up your template: For example:
Omitting template returns 400 invalid_request. The required template field has this structure:
The field limits are listed below.

Request fields

The total text in the inline template and clinical context may not exceed 100,000 characters. Unknown fields are rejected so request mistakes fail visibly.

Errors and retries

Errors use a stable code and request ID:
Each POST is a new generation request. If the client disconnects after the request has completed on the server, the response can be lost and a retry can create another billable generation. Use the returned requestId to investigate ambiguous outcomes.