Elation Health Notes v1 API

The Notes v1 API from Elation Health — 2 operation(s) for notes v1.

Operations 5

GET /v1/notes List Notes V1 #
POST /v1/notes Create Note V1 #
DELETE /v1/notes/{note_id} Delete Note By Id V1 #
GET /v1/notes/{note_id} Get Note By Id V1 #
PATCH /v1/notes/{note_id} Update Note By Id V1 #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elation-health-notes-v1-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elation-health-notes-v1-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Visit Notes Notes v1 API
  description: This API supports the management of visit notes.
  version: 0.1.0
servers:
- url: https://sandbox.elationemr.com/api/2.0
  description: Sandbox Environment
tags:
- name: Notes v1
paths:
  /v1/notes:
    get:
      description: Returns a paginated list of note metadata.
      operationId: list_notes_v1
      parameters:
      - description: Limit for pagination
        in: query
        name: limit
        required: false
        schema:
          default: 20
          description: Limit for pagination
          maximum: 100
          minimum: 1
          title: Limit
          type: integer
      - description: Offset for pagination
        in: query
        name: offset
        required: false
        schema:
          default: 0
          description: Offset for pagination
          title: Offset
          type: integer
      - description: Filter by practice ID
        in: query
        name: practice_id
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Filter by practice ID
          title: Practice Id
      - description: True to filter to draft notes only. False to include only signed notes. Omit to include both.
        in: query
        name: is_draft
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: True to filter to draft notes only. False to include only signed notes. Omit to include both.
          title: Is Draft
      - description: Filter by patient ID
        in: query
        name: patient
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Filter by patient ID
          title: Patient
      - description: Comma separated list of provider IDs
        in: query
        name: providers
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Comma separated list of provider IDs
          title: Providers
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_NoteMetadata_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - RequireAuthentication: []
      - RequirePracticeAuthorization: []
      summary: List Notes V1
      tags:
      - Notes v1
    post:
      description: Create a legacy Note.
      operationId: create_note_v1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NoteCreate'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Note'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - RequireAuthentication: []
      - RequirePracticeAuthorization: []
      summary: Create Note V1
      tags:
      - Notes v1
  /v1/notes/{note_id}:
    delete:
      description: Delete a specific draft legacy Note.
      operationId: delete_note_by_id_v1
      parameters:
      - in: path
        name: note_id
        required: true
        schema:
          title: Note Id
          type: integer
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - RequireAuthentication: []
      - RequirePracticeAuthorization: []
      summary: Delete Note By Id V1
      tags:
      - Notes v1
    get:
      description: Get a specific legacy Note. Returns HTTP 400 if the note uses the EN2.1 schema.
      operationId: get_note_by_id_v1
      parameters:
      - in: path
        name: note_id
        required: true
        schema:
          title: Note Id
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Note'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - RequireAuthentication: []
      - RequirePracticeAuthorization: []
      summary: Get Note By Id V1
      tags:
      - Notes v1
    patch:
      description: 'Update a legacy Note. Returns HTTP 400 if the note uses the EN2.1 schema

        (pass ``content_map`` and use the /v2/ endpoint instead).'
      operationId: update_note_by_id_v1
      parameters:
      - in: path
        name: note_id
        required: true
        schema:
          title: Note Id
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NoteUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Note'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - RequireAuthentication: []
      - RequirePracticeAuthorization: []
      summary: Update Note By Id V1
      tags:
      - Notes v1
components:
  schemas:
    ColumnLayoutNode-Input:
      additionalProperties: true
      properties:
        attrs:
          anyOf:
          - $ref: '#/components/schemas/el8_note_models__note__content__base_node__Node__NodeAttrs'
          - type: 'null'
        content:
          default: []
          items:
            $ref: '#/components/schemas/AnyNodeContent'
          title: Content
          type: array
        type:
          const: columnLayout
          default: columnLayout
          title: Type
          type: string
      title: ColumnLayoutNode
      type: object
    DocumentSignature:
      description: A signature on a document.
      properties:
        amendment_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: ID of the note amendment this signature applies to, if any; null for signatures on the base note or legacy records.
          title: Amendment Id
        on_behalf_of_user_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: On Behalf Of User Id
        on_behalf_of_user_name:
          anyOf:
          - type: string
          - type: 'null'
          title: On Behalf Of User Name
        signature_comments:
          title: Signature Comments
          type: string
        signature_role:
          $ref: '#/components/schemas/DocumentSignatureRole'
        signed_at:
          description: When the associated document was signed with this signature.
          format: date-time
          title: Signed At
          type: string
        user_id:
          description: The ID of the user who authored the signature.
          title: User Id
          type: integer
        user_name:
          description: The name of the user who authored the signature.
          title: User Name
          type: string
      required:
      - user_id
      - user_name
      - signed_at
      - signature_role
      - signature_comments
      title: DocumentSignature
      type: object
    PaginatedResponse_NoteMetadata_:
      properties:
        count:
          title: Count
          type: integer
        limit:
          title: Limit
          type: integer
        next:
          anyOf:
          - type: string
          - type: 'null'
          title: Next
        offset:
          title: Offset
          type: integer
        previous:
          anyOf:
          - type: string
          - type: 'null'
          title: Previous
        results:
          items:
            $ref: '#/components/schemas/NoteMetadata'
          title: Results
          type: array
      required:
      - results
      - count
      - offset
      - limit
      title: PaginatedResponse[NoteMetadata]
      type: object
    el8_note_models__note__content__base_node__Node__NodeAttrs:
      properties:
        ai_generation_info:
          anyOf:
          - $ref: '#/components/schemas/AiGenerationInfo'
          - type: 'null'
        creation_type:
          anyOf:
          - enum:
            - ai
            - template
            type: string
          - type: 'null'
          title: Creation Type
        is_new:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is New
        ref_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Ref Id
      title: NodeAttrs
      type: object
    DocumentNode-Input:
      additionalProperties: true
      properties:
        attrs:
          anyOf:
          - $ref: '#/components/schemas/el8_note_models__note__content__base_node__Node__NodeAttrs'
          - type: 'null'
        content:
          items:
            $ref: '#/components/schemas/DocumentNodeChild-Input'
          title: Content
          type: array
        type:
          const: document
          default: document
          title: Type
          type: string
      title: DocumentNode
      type: object
    DocumentNodeChild-Output:
      discriminator:
        mapping:
          columnLayout: '#/components/schemas/ColumnLayoutNode-Output'
          twoColumnLayout: '#/components/schemas/TwoColumnLayoutNode-Output'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/TwoColumnLayoutNode-Output'
      - $ref: '#/components/schemas/ColumnLayoutNode-Output'
    DocumentSignatureRole:
      description: The role the user is performing when adding a signature to a visit note
      enum:
      - amender
      - cosigner
      - rendering_provider
      - staff_autofiler
      title: DocumentSignatureRole
      type: string
    NoteCreate:
      properties:
        bill:
          anyOf:
          - type: integer
          - type: 'null'
          description: The ID of the bill associated with the note
          title: Bill
        category:
          description: '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.'
          title: Category
          type: integer
        confidential:
          default: false
          description: Whether the note is marked as confidential.
          title: Confidential
          type: boolean
        content:
          anyOf:
          - $ref: '#/components/schemas/DocumentNode-Input'
          - type: 'null'
          description: An object representing the body of the note.
        exam_reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Exam Reason
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: {}
          description: Unstructured data for storing related metadata.
          title: Metadata
        patient:
          description: The ID of the patient for whom the note was created.
          title: Patient
          type: integer
        practice:
          description: Authoring practice ID.
          title: Practice
          type: integer
        provider:
          description: The ID of the assigned provider.
          title: Provider
          type: integer
        serviced_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Serviced At
      required:
      - provider
      - practice
      - patient
      - category
      title: NoteCreate
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
      - loc
      - msg
      - type
      title: ValidationError
      type: object
    CODE_TYPE:
      enum:
      - CPT
      - SNOMED
      - HL7
      - ICD9
      - LOINC
      - CVX
      - RXNORM
      - ICD10
      - CPTII
      - HCPCS
      - EL8
      title: CODE_TYPE
      type: string
    DocumentNode-Output:
      additionalProperties: true
      properties:
        attrs:
          anyOf:
          - $ref: '#/components/schemas/el8_note_models__note__content__base_node__Node__NodeAttrs'
          - type: 'null'
        content:
          items:
            $ref: '#/components/schemas/DocumentNodeChild-Output'
          title: Content
          type: array
        type:
          const: document
          default: document
          title: Type
          type: string
      title: DocumentNode
      type: object
    TwoColumnLayoutNode-Output:
      additionalProperties: true
      properties:
        attrs:
          anyOf:
          - $ref: '#/components/schemas/el8_note_models__note__content__base_node__Node__NodeAttrs'
          - type: 'null'
        content:
          items:
            $ref: '#/components/schemas/ColumnLayoutNode-Output'
          title: Content
          type: array
        type:
          const: twoColumnLayout
          default: twoColumnLayout
          title: Type
          type: string
      title: TwoColumnLayoutNode
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    AiGenerationInfo:
      properties:
        is_finalized:
          default: true
          title: Is Finalized
          type: boolean
        transcript_source_text:
          anyOf:
          - type: string
          - type: 'null'
          default: ''
          title: Transcript Source Text
      title: AiGenerationInfo
      type: object
    TwoColumnLayoutNode-Input:
      additionalProperties: true
      properties:
        attrs:
          anyOf:
          - $ref: '#/components/schemas/el8_note_models__note__content__base_node__Node__NodeAttrs'
          - type: 'null'
        content:
          items:
            $ref: '#/components/schemas/ColumnLayoutNode-Input'
          title: Content
          type: array
        type:
          const: twoColumnLayout
          default: twoColumnLayout
          title: Type
          type: string
      title: TwoColumnLayoutNode
      type: object
    Doctag:
      description: 'A doctag is an identifier that can be applied to a document.

        This implementation of doctag mirrors VN1''s coded document tag'
      properties:
        code:
          anyOf:
          - type: string
          - type: 'null'
          title: Code
        code_type:
          anyOf:
          - $ref: '#/components/schemas/CODE_TYPE'
          - type: 'null'
        concept_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Concept Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        id:
          title: Id
          type: integer
        is_cpc_plus:
          title: Is Cpc Plus
          type: boolean
        is_mips:
          title: Is Mips
          type: boolean
        practice:
          anyOf:
          - type: integer
          - type: 'null'
          title: Practice
        shared:
          title: Shared
          type: boolean
        snomed_result_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Snomed Result Code
        value:
          title: Value
          type: string
      required:
      - value
      - id
      - shared
      - is_mips
      - is_cpc_plus
      title: Doctag
      type: object
    NoteUpdate:
      properties:
        bill:
          anyOf:
          - type: integer
          - type: 'null'
          title: Bill
        category:
          anyOf:
          - type: integer
          - type: 'null'
          title: Category
        close_snapshot:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Close Snapshot
        confidential:
          default: false
          title: Confidential
          type: boolean
        content:
          anyOf:
          - $ref: '#/components/schemas/DocumentNode-Input'
          - type: 'null'
        exam_reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Exam Reason
        metadata:
          anyOf:
          - {}
          - type: 'null'
          title: Metadata
        provider:
          anyOf:
          - type: integer
          - type: 'null'
          title: Provider
        serviced_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Serviced At
        snapshot_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Snapshot Id
      title: NoteUpdate
      type: object
    ColumnLayoutNode-Output:
      additionalProperties: true
      properties:
        attrs:
          anyOf:
          - $ref: '#/components/schemas/el8_note_models__note__content__base_node__Node__NodeAttrs'
          - type: 'null'
        content:
          default: []
          items:
            $ref: '#/components/schemas/AnyNodeContent'
          title: Content
          type: array
        type:
          const: columnLayout
          default: columnLayout
          title: Type
          type: string
      title: ColumnLayoutNode
      type: object
    DocumentNodeChild-Input:
      discriminator:
        mapping:
          columnLayout: '#/components/schemas/ColumnLayoutNode-Input'
          twoColumnLayout: '#/components/schemas/TwoColumnLayoutNode-Input'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/TwoColumnLayoutNode-Input'
      - $ref: '#/components/schemas/ColumnLayoutNode-Input'
    Note:
      description: 'A full representation of a note.


        Do not use this for endpoints that return notes in bulk. Use `NoteMetadata`

        for that instead.'
      properties:
        bill:
          anyOf:
          - type: integer
          - type: 'null'
          description: The ID of the bill associated with the note
          title: Bill
        category:
          description: '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.'
          title: Category
          type: integer
        confidential:
          default: false
          description: Whether the note is marked as confidential.
          title: Confidential
          type: boolean
        content:
          anyOf:
          - $ref: '#/components/schemas/DocumentNode-Output'
          - type: 'null'
          description: An object representing the body of the note.
        doctags:
          default: []
          items:
            $ref: '#/components/schemas/Doctag'
          title: Doctags
          type: array
        exam_reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Exam Reason
        id:
          title: Id
          type: integer
        is_draft:
          title: Is Draft
          type: boolean
        is_outdated:
          default: false
          title: Is Outdated
          type: boolean
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          default: {}
          description: Unstructured data for storing related metadata.
          title: Metadata
        patient:
          description: The ID of the patient for whom the note was created.
          title: Patient
          type: integer
        practice:
          description: Authoring practice ID.
          title: Practice
          type: integer
        provider:
          description: The ID of the assigned provider.
          title: Provider
          type: integer
        serviced_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Serviced At
        signatures:
          default: []
          items:
            $ref: '#/components/schemas/DocumentSignature'
          title: Signatures
          type: array
        snapshot_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Snapshot Id
        summary:
          anyOf:
          - type: string
          - type: 'null'
          title: Summary
      required:
      - provider
      - practice
      - patient
      - category
      - serviced_at
      - id
      - is_draft
      title: Note
      type: object
    AnyNodeContent:
      additionalProperties: true
      description: 'Placeholder for node content, eliminating cycles in OpenAPI schema generation.

        This should be replaced with any node content type when calling the API'
      properties: {}
      title: AnyNodeContent
      type: object
    NoteMetadata:
      description: 'A lightweight version of `Note` that omits certain fields for performance reasons,

        specifically for use with endpoints that return notes in bulk.'
      properties:
        bill:
          anyOf:
          - type: integer
          - type: 'null'
          description: ID of the bill associated to the note
          title: Bill
        category:
          description: '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.'
          title: Category
          type: integer
        confidential:
          default: false
          description: Whether the note is marked as confidential.
          title: Confidential
          type: boolean
        doctags:
          default: []
          items:
            $ref: '#/components/schemas/Doctag'
          title: Doctags
          type: array
        id:
          title: Id
          type: integer
        is_draft:
          title: Is Draft
          type: boolean
        metadata:
          anyOf:
          - {}
          - type: 'null'
          description: An optional field to store any necessary metadata related to the note.
          title: Metadata
        note_v1_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Note V1 Id
        patient:
          description: The ID of the patient for whom the note was created.
          title: Patient
          type: integer
        practice:
          description: Authoring practice ID.
          title: Practice
          type: integer
        provider:
          description: The ID of the assigned provider.
          title: Provider
          type: integer
        serviced_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Serviced At
      required:
      - id
      - provider
      - practice
      - patient
      - category
      - serviced_at
      - is_draft
      title: NoteMetadata
      type: object
  securitySchemes:
    RequireAuthentication:
      type: http
      scheme: bearer
    RequirePracticeAuthorization:
      type: http
      scheme: bearer
    RequirePracticeAuthorizationOrHippoAdmin:
      type: http
      scheme: bearer