Elation Health Histories API

The Histories API from Elation Health — 4 operation(s) for histories.

Operations 8

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /histories/ Add a history entry (legacy endpoint) · Create History #
Ask an LLM
“How do I record a patient's surgical or social history through the legacy endpoint?”
“What's needed to add a history entry the old way?”
Tell an agent
Via the legacy endpoint, add a {type} history for patient {patient}: {text}.
Record old-path history text {text} of type {type} on patient {patient}.
GET /histories/ Find a patient's histories (legacy endpoint) · Find Histories #
Ask an LLM
“Can I see a patient's social and family history entries via the legacy lookup?”
“What history is recorded for this patient on the older histories path?”
Tell an agent
Using the legacy lookup, find histories for patient {patient}.
Show all old-path history entries on file.
GET /histories/{id}/ Get a history entry (legacy endpoint) · Get History #
Ask an LLM
“Can I read one history entry on the legacy histories path?”
“Does the older get-history call return the entry's type?”
Tell an agent
Open history entry {id} using the legacy endpoint.
Show the text of old-path history {id}.
DELETE /histories/{id}/ Delete a history entry (legacy endpoint) · Delete History #
Ask an LLM
“Is there a legacy call to remove an incorrect history entry?”
“Can I delete a patient history item on the original path?”
Tell an agent destructive · confirm first
Delete history entry {id} with the legacy endpoint.
Remove the incorrect old-path history {id}.
GET /api/2.0/histories/ List patient histories in API 2.0 · List Histories #
Ask an LLM
“How do I list patient histories for a practice in the 2.0 API?”
“Can API 2.0 return one patient's history entries in a set order?”
Tell an agent
List 2.0 histories for patient {patient} ordered by {order_by}.
List API 2.0 histories for practice {practice}, {limit} per page.
POST /api/2.0/histories/ Create a patient history in API 2.0 · Create History #
Ask an LLM
“How do I add a family or social history entry with the 2.0 API?”
“Can I set a display rank on a new history entry?”
Tell an agent
In API 2.0, create a {type} history for patient {patient} reading {text}.
Add a 2.0 history entry {text} of type {type} for patient {patient} at rank {rank}.
DELETE /api/2.0/histories/{id}/ Delete a patient history in API 2.0 · Delete History #
Ask an LLM
“How do I delete a patient history entry in the 2.0 API?”
“Can I remove a duplicated history item by its ID in API 2.0?”
Tell an agent destructive · confirm first
Delete API 2.0 history {id}.
Remove duplicated 2.0 history item {id}.
GET /api/2.0/histories/{id}/ Retrieve a patient history in API 2.0 · Retrieve History #
Ask an LLM
“How do I retrieve a single patient history by ID in API 2.0?”
“Does a 2.0 history entry show when it was created?”
Tell an agent
Retrieve API 2.0 history {id}.
Get the type and text of 2.0 history {id}.

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/elation-health:elation-health-histories-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

elation-health-histories-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elation Health Histories API
  version: '1.0'
  description: 'Operations tagged Histories across 2 of this provider''s published API definitions: elation-api-settings.json, elation-health-api-full-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://sandbox.elationemr.com/api/2.0
- description: Sandbox Server
  url: https://sandbox.elationemr.com
- description: Production Server
  url: https://api.app.elationemr.com
tags:
- name: Histories
paths:
  /histories/:
    post:
      summary: Create History
      description: ''
      operationId: create-history
      parameters:
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - type
              - text
              - patient
              properties:
                type:
                  type: string
                text:
                  type: string
                patient:
                  type: string
                  description: Patient ID
      responses:
        '201':
          description: '201'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"id\": 83792571234,\n  // See Object Definition\n}"
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\n# sending only required data\ndata = {\n  \"type\": \"Diet\",\n  \"text\": \"Yogurt daily\",\n  \"patient\": 64901939201\n}\n\nresp = requests.post(\"https://sandbox.elationemr.com/api/2.0/histories/\",\n                     data=json.dumps(data),\n                     headers={'Authorization': auth_header,\n                              'Content-type': 'application/json'})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
        samples-languages:
        - python
      tags:
      - Histories
      security:
      - sec0: []
    get:
      summary: Find Histories
      description: ''
      operationId: find-histories
      parameters:
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: patient
        in: query
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"count\": 123,\n  \"next\": \"https://sandbox.elationemr.com/api/2.0/histories/?limit=10&offset=10\",\n  \"previous\": \"https://sandbox.elationemr.com/api/2.0/histories/?limit=10\",\n  \"results\": [  // list of objects\n    { // See Object Definition },\n    // ...\n    { // See Object Definition },\n  ]\n}"
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"VFroUHsmrErlVI6nJ08Alwhri5RGCW\"\nauth_header = \"Bearer %s\" % (access_token)\n\nresp = requests.get(\"https://sandbox.elationemr.com/api/2.0/histories/\",\n                    headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
        samples-languages:
        - python
      tags:
      - Histories
      security:
      - sec0: []
    servers:
    - url: https://sandbox.elationemr.com/api/2.0
  /histories/{id}/:
    get:
      summary: Get History
      description: ''
      operationId: get-history
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"id\": 83792571234,\n  // See Object Definition\n}"
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\nresp = requests.get(\"https://sandbox.elationemr.com/api/2.0/histories/64184451073/\",\n                    headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
        samples-languages:
        - python
      tags:
      - Histories
      security:
      - sec0: []
    delete:
      summary: Delete History
      description: ''
      operationId: delete-history
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      responses:
        '204':
          description: '204'
          content:
            application/json:
              examples:
                Result:
                  value: ''
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\nresp = requests.delete(\"https://sandbox.elationemr.com/api/2.0/histories/54233202689/\",\n                       headers={'Authorization': auth_header})\n\nprint resp.status_code"
        samples-languages:
        - python
      tags:
      - Histories
      security:
      - sec0: []
    servers:
    - url: https://sandbox.elationemr.com/api/2.0
  /api/2.0/histories/:
    get:
      description: Returns a list of patient histories
      operationId: histories_list
      parameters:
      - description: Number of results to return per page.
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - description: The initial index from which to return the results.
        in: query
        name: offset
        required: false
        schema:
          type: integer
      - description: Which field to use when ordering the results.
        in: query
        name: order_by
        required: false
        schema:
          type: string
      - description: Multiple values may be separated by commas.
        explode: false
        in: query
        name: patient
        schema:
          items:
            format: int64
            type: integer
          type: array
        style: form
      - description: Multiple values may be separated by commas.
        explode: false
        in: query
        name: practice
        schema:
          items:
            type: integer
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPatientHistoryList'
          description: ''
      security:
      - oauth2: []
      summary: List Histories
      tags:
      - Histories
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    post:
      description: Create a new history.
      operationId: histories_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientHistory'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientHistory'
          description: ''
      security:
      - oauth2: []
      summary: Create History
      tags:
      - Histories
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    servers:
    - description: Sandbox Server
      url: https://sandbox.elationemr.com
    - description: Production Server
      url: https://api.app.elationemr.com
  /api/2.0/histories/{id}/:
    delete:
      description: Delete an existing history.
      operationId: histories_destroy
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '204':
          description: No response body
      security:
      - oauth2: []
      summary: Delete History
      tags:
      - Histories
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    get:
      description: Retrieve a single patient history
      operationId: histories_retrieve
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientHistory'
          description: ''
      security:
      - oauth2: []
      summary: Retrieve History
      tags:
      - Histories
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    servers:
    - description: Sandbox Server
      url: https://sandbox.elationemr.com
    - description: Production Server
      url: https://api.app.elationemr.com
components:
  schemas:
    PatientHistory:
      properties:
        created_date:
          description: The date the history was created.
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        deleted_date:
          description: The date the history was deleted.
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        id:
          readOnly: true
          type: integer
        patient:
          description: The id of the patient.
          format: int64
          type: integer
        rank:
          description: The rank (or sequence) of the history.
          maximum: 65535
          minimum: 0
          type: integer
        text:
          description: The value (or text) of the history.
          type: string
        type:
          allOf:
          - $ref: '#/components/schemas/PatientHistoryTypeEnum'
          description: The type of the history.
      required:
      - patient
      - text
      - type
      type: object
    PatientHistoryTypeEnum:
      enum:
      - Cognitive Status
      - Consultation
      - Diet
      - Exercise
      - Family
      - Functional Status
      - Habits
      - Health Maintenance
      - Immunization
      - Legal
      - Past
      - Past Surgical
      - Psychological
      - Social
      type: string
    PaginatedPatientHistoryList:
      properties:
        count:
          example: 123
          type: integer
        next:
          example: http://api.example.org/accounts/?offset=400&limit=100
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?offset=200&limit=100
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/PatientHistory'
          type: array
      required:
      - results
      type: object
  securitySchemes:
    sec0:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://example.com/oauth2/token
          scopes: {}
    oauth2:
      flows:
        clientCredentials:
          scopes:
            act_as_user: Impersonate a provider via X-On-Behalf-Of (combinable with apiv2 or system scopes)
            apiv2: Full access to the API
            system/{resource_name}.read: Read access to a specific resource
            system/{resource_name}.write: Write access to a specific resource
          tokenUrl: /api/2.0/oauth2/token/
      type: oauth2
x-refined-from:
- elation-api-settings.json
- elation-health-api-full-openapi.yaml
x-readme:
  headers: []
x-readme-fauxas: true