Skip to main content
POST /api/v1/notes Generate a structured clinical note. Two input modes:
  • Audio — multipart with a file. Transcribes then generates.
  • Transcript — JSON with a transcript. Generates from text.

Request — audio (multipart/form-data)

FieldRequiredNotes
fileyesAudio file.
languagenoOutput language. Default sv.
templateSectionsnoJSON template structure (string).
templatenoRegistered template id.
sideNotenoExtra context appended before generation.
primaryProfessionnoProfession context.
customTemplatenoFree-form custom template body.

Request — transcript (application/json)

{
  "transcript": "Patienten söker för...",
  "language": "sv",
  "templateSections": "[{\"sectionName\":\"Anamnes\",\"aiRules\":{\"autoFill\":true}}]",
  "primaryProfession": "physician"
}

Response

{
  "transcript": "...",
  "note": {
    "cause": "Reason for visit",
    "subjective": "...",
    "objective": "...",
    "assessment": "...",
    "plan": "...",
    "diagnoses": ["**I10** Hypertoni [[ICD-10]]"],
    "coding_codes": [
      { "code": "I10", "system": "ICD-10", "description": "Hypertoni" }
    ],
    "tasks": {
      "0": { "title": "...", "category": "...", "priority": "high", "description": "..." }
    },
    "sections": [
      { "sectionName": "Anamnes", "content": "..." }
    ],
    "combined": "Full note rendered as text"
  }
}
Field set varies with the template used. When you pass templateSections, the sections array mirrors your structure. The combined field is always a full text rendering you can drop straight into an EHR text area.

Errors

StatusReason
400Neither a file nor a transcript was provided.
401Invalid API key.
502Upstream generation failed.