Heidi Health Patient Profiles API

Longitudinal patient records.

Operations 6

POST /patient-profiles Create Patient Profile #
GET /patient-profiles List Patient Profiles #
GET /patient-profiles/{patient_profile_id} Get Patient Profile #
PATCH /patient-profiles/{patient_profile_id} Update Patient Profile #
POST /patient-profiles:batch-delete Batch Delete Patient Profiles #
POST /patient-profiles/{patient_profile_id}/sessions Link Session To Patient Profile #

Documentation

Specifications

Schemas & Data

Other Resources

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/heidi-health-patient-profiles-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

heidi-health-patient-profiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Heidi Health Ask Heidi Patient Profiles API
  version: v2
  summary: Public Heidi REST API for ambient AI medical scribe, transcription, consult notes, documents, clinical coding, and Ask Heidi.
  description: 'The Heidi API lets partner platforms (EHRs, telehealth apps, custom clinician

    tools) drive Heidi''s ambient documentation engine end-to-end:

    authentication via tenant API key + per-user JWT, patient profile

    management, session lifecycle (create, update, list, retrieve),

    contextual attachments and linked sessions, audio upload (single file or

    chunked live), transcript retrieval (final or live-chunked), template

    discovery, streamed consult-note and document generation against Heidi

    or custom templates, multi-standard clinical coding (ICD-10/SNOMED/CPT

    and others), and streamed Ask Heidi assistant responses.


    Documentation: https://www.heidihealth.com/developers/heidi-api/overview

    '
  contact:
    name: Heidi Health Support
    url: https://support.heidihealth.com
  license:
    name: Heidi Health Terms of Service
    url: https://www.heidihealth.com/legal/terms-of-service
servers:
- url: https://registrar.api.heidihealth.com/api/v2/ml-scribe/open-api
  description: Production
security:
- bearerAuth: []
tags:
- name: Patient Profiles
  description: Longitudinal patient records.
paths:
  /patient-profiles:
    post:
      tags:
      - Patient Profiles
      summary: Create Patient Profile
      operationId: createPatientProfile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientProfileCreate'
      responses:
        '200':
          description: Patient profile created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientProfile'
    get:
      tags:
      - Patient Profiles
      summary: List Patient Profiles
      operationId: listPatientProfiles
      parameters:
      - in: query
        name: ehr_patient_id
        schema:
          type: string
      - in: query
        name: provider
        schema:
          type: string
      responses:
        '200':
          description: Patient profiles returned.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientProfile'
  /patient-profiles/{patient_profile_id}:
    get:
      tags:
      - Patient Profiles
      summary: Get Patient Profile
      operationId: getPatientProfile
      parameters:
      - $ref: '#/components/parameters/PatientProfileId'
      responses:
        '200':
          description: Patient profile.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientProfile'
    patch:
      tags:
      - Patient Profiles
      summary: Update Patient Profile
      operationId: updatePatientProfile
      parameters:
      - $ref: '#/components/parameters/PatientProfileId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientProfileUpdate'
      responses:
        '200':
          description: Patient profile updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientProfile'
  /patient-profiles:batch-delete:
    post:
      tags:
      - Patient Profiles
      summary: Batch Delete Patient Profiles
      operationId: batchDeletePatientProfiles
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                patient_profile_ids:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Profiles deleted.
  /patient-profiles/{patient_profile_id}/sessions:
    post:
      tags:
      - Patient Profiles
      summary: Link Session To Patient Profile
      operationId: linkSessionToPatientProfile
      parameters:
      - $ref: '#/components/parameters/PatientProfileId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                session_id:
                  type: string
      responses:
        '200':
          description: Session linked.
components:
  schemas:
    PatientProfile:
      allOf:
      - $ref: '#/components/schemas/PatientProfileCreate'
      - type: object
        properties:
          id:
            type: string
          created_at:
            type: string
            format: date-time
          updated_at:
            type: string
            format: date-time
    PatientProfileUpdate:
      allOf:
      - $ref: '#/components/schemas/PatientProfileCreate'
    PatientProfileCreate:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        date_of_birth:
          type: string
          format: date
        gender:
          type: string
        ehr_patient_id:
          type: string
        provider:
          type: string
  parameters:
    PatientProfileId:
      in: path
      name: patient_profile_id
      required: true
      schema:
        type: string
  securitySchemes:
    heidiApiKey:
      type: apiKey
      in: header
      name: Heidi-Api-Key
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT