---
title: "Get Note By Id"
method: GET
path: "/notes/{note_id}"
tags: ["Notes"]
---

# Get Note By Id

`GET /notes/{note_id}`

Get a specific note. Returns a sections-based response for layout notes,
or a legacy Note for notes created before the sections schema.

This endpoint fetches a note without creating a snapshot. The snapshot is used for conflict
resolution when multiple sources are concurrently updating the note.

To fetch a note for editing that requires conflict resolution, use the `/notes/{note_id}/edit`
endpoint instead.

## Path parameters

- `note_id` integer, required

## Response `200`

Successful Response

- union
  - ElationNote — Full representation of a sections-based note returned by the API. `content` holds the sections-based structure: layout (structural description) and content_map (typed section content). This replaces the DocumentNode tree used by the legacy Note model. `layout_name` is inherited from ElationNoteCreate. It is not populated on reads — the canonical layout is embedded in `content.layout`.
    - `attachments` Attachment[]
      - `attached_at` string, required
      - `content_type` string, required
      - `display_name` string, required
      - `download_url` string, nullable
      - `id` integer, required
      - `preview_url` string, nullable
    - `bill` integer, nullable — The ID of the bill associated with the note.
    - `category` integer, required — Practice-created identifier for note category (Visit Note Type).
    - `confidential` boolean
    - `content` SectionsContent, required — The sections-based note content: layout description + typed section content.
      - `content_map` ContentMapOutput, required — Typed map from section type to its content. All sections are optional. Keys match section ``type`` wire values (``NodeType``): lowercase single words (e.g. ``narrative``, ``vitals``) or camelCase for multi-word nodes (e.g. ``followUp``).
        - `followUp` FollowupSectionOutput
          - `content` union[]
            - union
              - …
          - `type` 'followUp'
        - `instructions` InstructionsSectionOutput
          - `content` union[]
            - union
              - …
          - `type` 'instructions'
        - `narrative` NarrativeSectionOutput
          - `content` union[]
            - union
              - …
          - `type` 'narrative'
        - `orders` OrdersSectionOutput
          - `content` union[]
            - union
              - …
          - `type` 'orders'
        - `procedures` ProcedureSectionOutput
          - `content` union[]
            - union
              - …
          - `type` 'procedures'
        - `referencedDocuments` ReferencedDocumentsSectionOutput
          - `content` ReferencedDocumentOutput[]
            - `attrs` ReferencedDocumentAttrs, required
              - …
            - `type` 'referencedDocument'
          - `type` 'referencedDocuments'
        - `vitals` VitalsSectionOutput — Tier-1 vitals section; attrs mirror VN2 ``VitalsNode``.
          - `attrs` VitalsSectionAttrsOutput
            - `ref_id` string
            - `vitals` El8NoteModelsNoteSectionsVitalsSectionVitals
              - …
            - `vitals_collection_id` integer, nullable
          - `type` 'vitals'
      - `layout` Layout, required — Structural description of a note. `name` identifies the template (e.g. "simple_note", "soap"). `content` lists columns (1 for single-column, 2 for two-column). Each column's `content` list defines both which section blocks are permitted and their display order. Headers are decorative dividers.
        - `content` NoteLayoutColumn[]
          - `content` union[]
            - union
              - …
          - `type` 'column'
        - `name` string, required
    - `doctags` Doctag[]
      - `code` string, nullable
      - `code_type` 'CPT' | 'SNOMED' | 'HL7' | 'ICD9' | 'LOINC' | 'CVX' | 'RXNORM' | 'ICD10' | 'CPTII' | 'HCPCS' | 'EL8'
      - `concept_name` string, nullable
      - `description` string, nullable
      - `id` integer, required
      - `is_cpc_plus` boolean, required
      - `is_mips` boolean, required
      - `practice` integer, nullable
      - `shared` boolean, required
      - `snomed_result_code` string, nullable
      - `value` string, required
    - `exam_reason` string, nullable
    - `id` integer, required
    - `is_draft` boolean, required
    - `is_outdated` boolean
    - `layout_name` string, required — Name of the pre-defined layout, e.g. 'simple_note'.
    - `metadata` object, nullable
    - `patient` integer, required — The ID of the patient for whom the note was created.
    - `practice` integer, required — Authoring practice ID.
    - `provider` integer, required — The ID of the assigned provider.
    - `serviced_at` string, date-time, required
    - `signatures` DocumentSignature[]
      - `amendment_id` integer, nullable — ID of the note amendment this signature applies to, if any; null for signatures on the base note or legacy records.
      - `on_behalf_of_user_id` integer, nullable
      - `on_behalf_of_user_name` string, nullable
      - `signature_comments` string, required
      - `signature_role` 'amender' | 'cosigner' | 'rendering_provider' | 'staff_autofiler', required — The role the user is performing when adding a signature to a visit note
      - `signed_at` string, date-time, required — When the associated document was signed with this signature.
      - `user_id` integer, required — The ID of the user who authored the signature.
      - `user_name` string, required — The name of the user who authored the signature.
    - `snapshot_id` integer, nullable
    - `summary` string, nullable
  - Note — A full representation of a note. Do not use this for endpoints that return notes in bulk. Use `NoteMetadata` for that instead.
    - `bill` integer, nullable — The ID of the bill associated with the note
    - `category` integer, required — Practice-created identifiers for note category. A category is a Visit Note Type object. See https://docs.elationhealth.com/reference/visit_note_types_list for API to list all available categories.
    - `confidential` boolean — Whether the note is marked as confidential.
    - `content` DocumentNodeOutput
      - `attrs` El8NoteModelsNoteContentBaseNodeNodeNodeAttrs
        - `ai_generation_info` AiGenerationInfo
          - `is_finalized` boolean
          - `transcript_source_text` string, nullable
        - `creation_type` 'ai' | 'template', nullable
        - `is_new` boolean, nullable
        - `ref_id` string, nullable
      - `content` DocumentNodeChildOutput[]
        - union
          - TwoColumnLayoutNodeOutput
            - `attrs` El8NoteModelsNoteContentBaseNodeNodeNodeAttrs
              - …
            - `content` ColumnLayoutNodeOutput[]
              - …
            - `type` 'twoColumnLayout'
          - ColumnLayoutNodeOutput
            - `attrs` El8NoteModelsNoteContentBaseNodeNodeNodeAttrs
              - …
            - `content` AnyNodeContent[]
              - …
            - `type` 'columnLayout'
      - `type` 'document'
    - `doctags` Doctag[]
      - `code` string, nullable
      - `code_type` 'CPT' | 'SNOMED' | 'HL7' | 'ICD9' | 'LOINC' | 'CVX' | 'RXNORM' | 'ICD10' | 'CPTII' | 'HCPCS' | 'EL8'
      - `concept_name` string, nullable
      - `description` string, nullable
      - `id` integer, required
      - `is_cpc_plus` boolean, required
      - `is_mips` boolean, required
      - `practice` integer, nullable
      - `shared` boolean, required
      - `snomed_result_code` string, nullable
      - `value` string, required
    - `exam_reason` string, nullable
    - `id` integer, required
    - `is_draft` boolean, required
    - `is_outdated` boolean
    - `metadata` object, nullable — Unstructured data for storing related metadata.
    - `patient` integer, required — The ID of the patient for whom the note was created.
    - `practice` integer, required — Authoring practice ID.
    - `provider` integer, required — The ID of the assigned provider.
    - `serviced_at` string, nullable, required
    - `signatures` DocumentSignature[]
      - `amendment_id` integer, nullable — ID of the note amendment this signature applies to, if any; null for signatures on the base note or legacy records.
      - `on_behalf_of_user_id` integer, nullable
      - `on_behalf_of_user_name` string, nullable
      - `signature_comments` string, required
      - `signature_role` 'amender' | 'cosigner' | 'rendering_provider' | 'staff_autofiler', required — The role the user is performing when adding a signature to a visit note
      - `signed_at` string, date-time, required — When the associated document was signed with this signature.
      - `user_id` integer, required — The ID of the user who authored the signature.
      - `user_name` string, required — The name of the user who authored the signature.
    - `snapshot_id` integer, nullable
    - `summary` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/elationhealth/apis/api-authentication.md) · [All operations](https://skmtc.net/elationhealth/apis/api-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elationhealth/api-authentication/revisions/c060f89d4de7/schema)
