Elation Health Allergies API

Allergy and drug intolerance tracking

Business capability
Clinical Documentation Management BC-2830

Operations 12

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

PUT /allergies/{id}/ Replace an allergy (legacy PUT) · Update Allergy #
Ask an LLM
“Can I overwrite a patient's allergy record through the legacy PUT?”
“Which legacy call fully replaces an allergy's name, reaction and severity?”
Tell an agent
Replace legacy allergy {id} for patient {patient} with allergen name {name}.
Overwrite old-endpoint allergy {id} with severity {severity}.
GET /allergies/{id}/ Get an allergy (legacy endpoint) · Get Allergy #
Ask an LLM
“How do I read one allergy entry by id on the legacy allergies path?”
“What reaction and severity does the original endpoint return for an allergy?”
Tell an agent
Get legacy allergy {id}.
Show allergy {id} from the older allergies endpoint.
DELETE /allergies/{id}/ Delete an allergy (legacy endpoint) · Delete Allergy #
Ask an LLM
“How do I remove an allergy from a chart using the legacy endpoint?”
“Can I delete an allergy that was recorded in error through the original path?”
Tell an agent destructive · confirm first
Delete legacy allergy {id}.
Remove allergy {id} via the old allergies endpoint.
PATCH /allergies/{id}/ Update an allergy's status or notes (legacy PATCH) · Partially update an allergy #
Ask an LLM
“Can I mark an allergy inactive with the legacy PATCH call?”
“How do I add notes to an existing allergy on the unversioned path?”
Tell an agent
Patch legacy allergy {id} to status {status}.
Add notes {notes} to allergy {id} on the old endpoint.
GET /allergies/ Find a patient's allergies (legacy endpoint) · Find Allergies #
Ask an LLM
“How do I see all allergies recorded for a patient on the legacy path?”
“Can the original allergies search filter to one patient?”
Tell an agent
Find legacy allergies for patient {patient}.
Search the old allergies endpoint for everything on patient {patient}'s chart.
POST /allergies/ Record an allergy (legacy endpoint) · Create Allergy #
Ask an LLM
“How do I add a new allergy to a patient's chart through the legacy endpoint?”
“Can I record the reaction and start date when adding an allergy the old way?”
Tell an agent
Add legacy allergy {name} for patient {patient}.
Record on the old endpoint that patient {patient} is allergic to {name} with reaction {reaction}.
GET /api/2.0/allergies/ List allergies (v2.0) · List Allergies #
Ask an LLM
“What allergies does a patient have according to the 2.0 API?”
“Can I page and sort through allergy records in version 2.0?”
Tell an agent
List v2.0 allergies for patient {patient}.
List 2.0 allergies ordered by {order_by}, {limit} at a time.
POST /api/2.0/allergies/ Record an allergy (v2.0) · Create Allergy #
Ask an LLM
“How do I add an allergy with a Medi-Span id in the 2.0 API?”
“What is required to record a new allergy in version 2.0?”
Tell an agent
Create a v2.0 allergy {name} for patient {patient}.
Record 2.0 allergy {name} for patient {patient} with Medi-Span id {medispanid}.
DELETE /api/2.0/allergies/{id}/ Delete an allergy (v2.0) · Delete Allergy #
Ask an LLM
“How do I delete an allergy through the 2.0 API?”
“Can I remove a duplicate allergy entry in version 2.0?”
Tell an agent destructive · confirm first
Delete v2.0 allergy {id}.
Remove allergy {id} with the 2.0 allergies endpoint.
GET /api/2.0/allergies/{id}/ Get an allergy (v2.0) · Retrieve Allergy #
Ask an LLM
“How do I fetch a single allergy record in the 2.0 API?”
“Does the v2.0 allergy record include its Medi-Span identifiers?”
Tell an agent
Get v2.0 allergy {id}.
Retrieve allergy {id} from the 2.0 API.
PATCH /api/2.0/allergies/{id}/ Update some allergy fields (v2.0) · Partially Update Allergy #
Ask an LLM
“Can I change only an allergy's severity in the 2.0 API?”
“Which v2.0 call edits part of an allergy without resending it all?”
Tell an agent
Patch v2.0 allergy {id} to severity {severity}.
Update the reaction on 2.0 allergy {id} to {reaction}.
PUT /api/2.0/allergies/{id}/ Replace an allergy (v2.0 PUT) · Update Allergy #
Ask an LLM
“Can I fully replace an allergy record in version 2.0?”
“Which 2.0 call overwrites every field of an allergy?”
Tell an agent
Replace v2.0 allergy {id} with name {name} for patient {patient}.
Overwrite 2.0 allergy {id} in full, setting status {status}.

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-allergies-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-allergies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elation Health Allergies API
  version: '1.0'
  description: 'Operations tagged Allergies across 3 of this provider''s published API definitions: elation-api-settings.json, elation-health-api-full-openapi.yaml, elation-health-elation-health-api-openapi.yml. 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
- url: https://app.elationemr.com/api/2.0
  description: Production
tags:
- name: Allergies
paths:
  /allergies/{id}/:
    put:
      summary: Update Allergy
      description: ''
      operationId: update-allergy
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - patient
              - name
              properties:
                patient:
                  type: integer
                  description: Patient ID
                  format: int32
                name:
                  type: string
                  description: Allergen
                reaction:
                  type: string
                severity:
                  type: string
                start_date:
                  type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"id\": 83792571234,\n  // See Object Definition\n}"
      deprecated: false
      x-readme:
        code-samples:
        - language: python
          code: "import requests\nimport json\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\ndata = {\n  \"patient\": 64901939201,\n  \"name\": \"Erythromycin\",\n  \"status\": \"Inactive\"\n}\n\nresp = requests.put(\"https://sandbox.elationemr.com/api/2.0/allergies/67176497153/\",\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:
      - Allergies
      security:
      - sec0: []
    get:
      summary: Get Allergy
      description: ''
      operationId: get-allergy
      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\": 65097302057,\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/allergies/65097302057/\",\n                    headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
        samples-languages:
        - python
      tags:
      - Allergies
      security:
      - sec0: []
    delete:
      summary: Delete Allergy
      description: ''
      operationId: delete-allergy
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: Authorization
        in: header
        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/allergies/54233202689/\",\n                       headers={'Authorization': auth_header})\n\nprint resp.status_code"
        samples-languages:
        - python
      tags:
      - Allergies
      security:
      - sec0: []
    patch:
      operationId: allergies_partial_update
      summary: Partially update an allergy
      tags:
      - Allergies
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllergyCreate'
      responses:
        '200':
          description: Allergy updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Allergy'
      security:
      - sec0: []
    servers:
    - url: https://sandbox.elationemr.com/api/2.0
  /allergies/:
    get:
      summary: Find Allergies
      description: ''
      operationId: find-allergies
      parameters:
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      - name: patient
        in: query
        description: Find all allergies for a specific patient
        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/allergies/?limit=10&offset=10\",\n  \"previous\": \"https://sandbox.elationemr.com/api/2.0/allergies/?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/allergies/\",\n                    headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
        samples-languages:
        - python
      tags:
      - Allergies
      security:
      - sec0: []
    post:
      summary: Create Allergy
      description: ''
      operationId: create-allergy
      parameters:
      - name: Authorization
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - patient
              - name
              properties:
                patient:
                  type: string
                  description: The id of the patient
                name:
                  type: string
                  description: The name of the allergy drug
                start_date:
                  type: string
                  description: The date the allergy started
                  default: today
                  format: date
                reaction:
                  type: string
                  description: The reaction to the drug
                severity:
                  type: string
                  description: How severe the reaction is
      responses:
        '201':
          description: '201'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"id\": 65097302057,\n\t// 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  \"name\": \"Erythromycin\",\n  \"reaction\" : \"Vomitting\",\n  \"start_date\" : \"1980-01-01\",\n  \"patient\": 64901939201\n}\n\nresp = requests.post(\"https://sandbox.elationemr.com/api/2.0/allergies/\",\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:
      - Allergies
      security:
      - sec0: []
    servers:
    - url: https://sandbox.elationemr.com/api/2.0
  /api/2.0/allergies/:
    get:
      description: Returns a list of allergies
      operationId: allergies_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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPatientAllergyList'
          description: ''
      security:
      - oauth2: []
      summary: List Allergies
      tags:
      - Allergies
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    post:
      description: Create a new allergy.
      operationId: allergies_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientAllergy'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientAllergy'
          description: ''
      security:
      - oauth2: []
      summary: Create Allergy
      tags:
      - Allergies
      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/allergies/{id}/:
    delete:
      description: Delete an existing allergy.
      operationId: allergies_destroy
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '204':
          description: No response body
      security:
      - oauth2: []
      summary: Delete Allergy
      tags:
      - Allergies
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    get:
      description: Retrieve a single allergy
      operationId: allergies_retrieve
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientAllergy'
          description: ''
      security:
      - oauth2: []
      summary: Retrieve Allergy
      tags:
      - Allergies
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
    patch:
      description: Update an existing allergy.
      operationId: patchApi20AllergiesById
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPatientAllergy'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientAllergy'
          description: ''
      security:
      - oauth2: []
      summary: Partially Update Allergy
      tags:
      - Allergies
      x-el8-docs-category: Patient Profile API
      x-el8-docs-versions:
      - '2.1'
      - '2.0'
      x-operation-id-source: normalized
      x-operation-id-original: allergies_partial_update
    put:
      description: Replace an existing allergy.
      operationId: allergies_update
      parameters:
      - in: path
        name: id
        required: true
        schema:
          format: int64
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientAllergy'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientAllergy'
          description: ''
      security:
      - oauth2: []
      summary: Update Allergy
      tags:
      - Allergies
      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:
    PatientAllergySeverityEnum:
      enum:
      - mild
      - moderate
      - severe
      - unknown
      type: string
    PaginatedPatientAllergyList:
      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/PatientAllergy'
          type: array
      required:
      - results
      type: object
    PatchedPatientAllergy:
      properties:
        created_date:
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        deleted_date:
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        id:
          readOnly: true
          type: integer
        medispandnid:
          readOnly: true
          type: string
        medispanid:
          readOnly: true
          type: string
        name:
          description: The name of the allergy drug.
          type: string
        patient:
          description: The id of the patient.
          format: int64
          type: integer
        reaction:
          description: The reaction to the drug.
          maxLength: 200
          type:
          - string
          - 'null'
        severity:
          allOf:
          - $ref: '#/components/schemas/PatientAllergySeverityEnum'
          description: How severe the reaction is.
        start_date:
          description: The date the allergy started.
          format: date
          type:
          - string
          - 'null'
        status:
          $ref: '#/components/schemas/AllergyStatus'
      type: object
    AllergyStatus:
      enum:
      - Active
      - Inactive
      type: string
    PatientAllergy:
      properties:
        created_date:
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        deleted_date:
          format: date-time
          readOnly: true
          type:
          - string
          - 'null'
        id:
          readOnly: true
          type: integer
        medispandnid:
          readOnly: true
          type: string
        medispanid:
          readOnly: true
          type: string
        name:
          description: The name of the allergy drug.
          type: string
        patient:
          description: The id of the patient.
          format: int64
          type: integer
        reaction:
          description: The reaction to the drug.
          maxLength: 200
          type:
          - string
          - 'null'
        severity:
          allOf:
          - $ref: '#/components/schemas/PatientAllergySeverityEnum'
          description: How severe the reaction is.
        start_date:
          description: The date the allergy started.
          format: date
          type:
          - string
          - 'null'
        status:
          $ref: '#/components/schemas/AllergyStatus'
      required:
      - name
      - patient
      type: object
    PaginatedAllergyList:
      allOf:
      - $ref: '#/components/schemas/PaginationMeta'
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/Allergy'
    Allergy:
      allOf:
      - $ref: '#/components/schemas/AllergyCreate'
      - type: object
        properties:
          id:
            type: integer
            readOnly: true
          created_date:
            type: string
            format: date-time
            readOnly: true
          deleted_date:
            type:
            - string
            - 'null'
            format: date-time
            readOnly: true
    PaginationMeta:
      type: object
      properties:
        count:
          type: integer
          description: Total number of results
        next:
          type:
          - string
          - 'null'
          description: URL for next page
        previous:
          type:
          - string
          - 'null'
          description: URL for previous page
    AllergyCreate:
      type: object
      required:
      - patient
      - allergen
      - status
      properties:
        patient:
          type: integer
          description: Patient ID
        allergen:
          type: string
          description: Substance causing the allergy
        reaction:
          type: string
          description: Allergic reaction description
        severity:
          type: string
          enum:
          - Mild
          - Moderate
          - Severe
          - Unknown
        status:
          type: string
          enum:
          - Active
          - Inactive
        start_date:
          type: string
          format: date
        notes:
          type: string
  parameters:
    limit:
      name: limit
      in: query
      schema:
        type: integer
        default: 25
      description: Number of results to return
    id:
      name: id
      in: path
      required: true
      schema:
        type: integer
      description: Unique resource identifier
    offset:
      name: offset
      in: query
      schema:
        type: integer
        default: 0
      description: Pagination offset
  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
- elation-health-elation-health-api-openapi.yml
x-readme:
  headers: []
x-readme-fauxas: true