Operations 9
Documentation
Documentation
https://docs.elationhealth.com/reference/api-overview
Authentication
https://docs.elationhealth.com/reference/oauth
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/elation-practices-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Elation Health Practices API
version: '1.0'
description: 'Operations tagged Practices across 4 of this provider''s published API definitions: elation-api-settings.json, elation-health-api-full-openapi.yaml, elation-health-practices-api-openapi.yml, elation-practice-api.json. 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: Practices
paths:
/practices/:
get:
summary: Find Practices
description: ''
operationId: find-practices
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'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/practices/\",\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Practices
security:
- sec0: []
servers:
- url: https://sandbox.elationemr.com/api/2.0
/practices/{id}/:
patch:
summary: Update Practice
description: ''
operationId: update-practice-wip-1
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
- name: id
in: path
description: the practice ID
schema:
type: integer
format: int32
required: true
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
address_line1:
type: string
address_line2:
type: string
city:
type: string
state:
type: string
zip:
type: string
metadata:
type: object
description: nullable
properties:
object_id:
type: integer
description: for updating object must provide 'object_id' or 'data'
format: int32
data:
type: string
description: for updating object must provide 'object_id' or 'data'
object_web_link:
type: string
description: for updating object must provide 'object_id' or 'data'
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"id\": 140758831005700,\n \"name\": \"Riley, Love and Chavez1\",\n \"address_line1\": \"47615 Johnson Route1\",\n \"address_line2\": \"Suite 0012\",\n \"city\": \"North Paulberg1\",\n \"state\": \"No\",\n \"zip\": \"616511\",\n \"timezone\": \"Asia/Jerusalem\",\n \"employers\": [],\n \"physicians\": [\n 140758834544642\n ],\n \"service_locations\": [\n {\n \"address_line1\": \"47615 Johnson Route1\",\n \"address_line2\": \"Suite 0012\",\n \"city\": \"North Paulberg1\",\n \"created_date\": \"2022-06-20T08:15:27Z\",\n \"deleted_date\": null,\n \"email\": null,\n \"fax\": \"58-039-1261x38850\",\n \"id\": 140758831071479,\n \"is_primary\": true,\n \"name\": \"Riley, Love and Chavez\",\n \"phone\": \"884-860-7317x09091\",\n \"place_of_service\": null,\n \"practice\": 140758831005700,\n \"state\": \"No\",\n \"zip\": \"616511\"\n }\n ],\n \"elation_root_oid\": \"2.16.840.1.113883.3.8294\",\n \"metadata\": {\n \"object_id\": \"345\",\n \"data\": \"text\",\n \"object_web_link\": \"link\"\n }\n}"
schema:
type: object
properties:
id:
type: integer
example: 140758831005700
default: 0
name:
type: string
example: Riley, Love and Chavez1
address_line1:
type: string
example: 47615 Johnson Route1
address_line2:
type: string
example: Suite 0012
city:
type: string
example: North Paulberg1
state:
type: string
example: 'No'
zip:
type: string
example: '616511'
timezone:
type: string
example: Asia/Jerusalem
employers:
type: array
physicians:
type: array
items:
type: integer
example: 140758834544642
default: 0
service_locations:
type: array
items:
type: object
properties:
address_line1:
type: string
example: 47615 Johnson Route1
address_line2:
type: string
example: Suite 0012
city:
type: string
example: North Paulberg1
created_date:
type: string
example: '2022-06-20T08:15:27Z'
deleted_date: {}
email: {}
fax:
type: string
example: 58-039-1261x38850
id:
type: integer
example: 140758831071479
default: 0
is_primary:
type: boolean
example: true
default: true
name:
type: string
example: Riley, Love and Chavez
phone:
type: string
example: 884-860-7317x09091
place_of_service: {}
practice:
type: integer
example: 140758831005700
default: 0
state:
type: string
example: 'No'
zip:
type: string
example: '616511'
elation_root_oid:
type: string
example: 2.16.840.1.113883.3.8294
metadata:
type: object
properties:
object_id:
type: string
example: '345'
data:
type: string
example: text
object_web_link:
type: string
example: link
'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\ndata = {\n \"name\": \"Riley, Love and Chavez1\",\n \"address_line1\": \"47615 Johnson Route1\",\n \"address_line2\": \"Suite 0012\",\n \"city\": \"North Paulberg1\",\n \"state\": \"No\",\n \"zip\": \"616511\",\n \"metadata\": {\n \"object_id\": 345,\n \"data\": \"text\",\n \"object_web_link\": \"link\"\n }\n}\n\nresp = requests.patch(\"https://sandbox.elationemr.com/api/2.0/practices/123/\",\n json=data,\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Practices
security:
- sec0: []
put:
summary: Update Practice
description: ''
operationId: update-practice-wip
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
- name: id
in: path
description: the practice ID
schema:
type: integer
format: int32
required: true
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- address_line1
properties:
name:
type: string
address_line1:
type: string
address_line2:
type: string
city:
type: string
state:
type: string
zip:
type: string
metadata:
type: object
description: nullable
properties:
object_id:
type: integer
description: for updating object must provide 'object_id' or 'data'
format: int32
data:
type: string
description: for updating object must provide 'object_id' or 'data'
object_web_link:
type: string
description: for updating object must provide 'object_id' or 'data'
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"id\": 140758831005700,\n \"name\": \"Riley, Love and Chavez1\",\n \"address_line1\": \"47615 Johnson Route1\",\n \"address_line2\": \"Suite 0012\",\n \"city\": \"North Paulberg1\",\n \"state\": \"No\",\n \"zip\": \"616511\",\n \"timezone\": \"Asia/Jerusalem\",\n \"employers\": [],\n \"physicians\": [\n 140758834544642\n ],\n \"service_locations\": [\n {\n \"address_line1\": \"47615 Johnson Route1\",\n \"address_line2\": \"Suite 0012\",\n \"city\": \"North Paulberg1\",\n \"created_date\": \"2022-06-20T08:15:27Z\",\n \"deleted_date\": null,\n \"email\": null,\n \"fax\": \"58-039-1261x38850\",\n \"id\": 140758831071479,\n \"is_primary\": true,\n \"name\": \"Riley, Love and Chavez\",\n \"phone\": \"884-860-7317x09091\",\n \"place_of_service\": null,\n \"practice\": 140758831005700,\n \"state\": \"No\",\n \"zip\": \"616511\"\n }\n ],\n \"elation_root_oid\": \"2.16.840.1.113883.3.8294\",\n \"metadata\": {\n \"object_id\": \"345\",\n \"data\": \"text\",\n \"object_web_link\": \"link\"\n }\n}"
schema:
type: object
properties:
id:
type: integer
example: 140758831005700
default: 0
name:
type: string
example: Riley, Love and Chavez1
address_line1:
type: string
example: 47615 Johnson Route1
address_line2:
type: string
example: Suite 0012
city:
type: string
example: North Paulberg1
state:
type: string
example: 'No'
zip:
type: string
example: '616511'
timezone:
type: string
example: Asia/Jerusalem
employers:
type: array
physicians:
type: array
items:
type: integer
example: 140758834544642
default: 0
service_locations:
type: array
items:
type: object
properties:
address_line1:
type: string
example: 47615 Johnson Route1
address_line2:
type: string
example: Suite 0012
city:
type: string
example: North Paulberg1
created_date:
type: string
example: '2022-06-20T08:15:27Z'
deleted_date: {}
email: {}
fax:
type: string
example: 58-039-1261x38850
id:
type: integer
example: 140758831071479
default: 0
is_primary:
type: boolean
example: true
default: true
name:
type: string
example: Riley, Love and Chavez
phone:
type: string
example: 884-860-7317x09091
place_of_service: {}
practice:
type: integer
example: 140758831005700
default: 0
state:
type: string
example: 'No'
zip:
type: string
example: '616511'
elation_root_oid:
type: string
example: 2.16.840.1.113883.3.8294
metadata:
type: object
properties:
object_id:
type: string
example: '345'
data:
type: string
example: text
object_web_link:
type: string
example: link
'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\ndata = {\n \"name\": \"Riley, Love and Chavez1\",\n \"address_line1\": \"47615 Johnson Route1\",\n \"address_line2\": \"Suite 0012\",\n \"city\": \"North Paulberg1\",\n \"state\": \"No\",\n \"zip\": \"616511\",\n \"metadata\": {\n \"object_id\": 345,\n \"data\": \"text\",\n \"object_web_link\": \"link\"\n }\n}\n\nresp = requests.put(\"https://sandbox.elationemr.com/api/2.0/practices/123/\",\n json=data,\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Practices
security:
- sec0: []
get:
summary: Get Practice
description: ''
operationId: get-practice
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
- name: id
in: path
description: the practice ID
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n // see Practice object\n}"
schema:
type: object
properties: {}
'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/practices/123/\",\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Practices
security:
- sec0: []
servers:
- url: https://sandbox.elationemr.com/api/2.0
/practices/{id}/eligibility_usage:
get:
summary: Find Insurance Eligibility Usage
description: ''
operationId: get-insurance-eligibility-usage
parameters:
- name: id
in: path
description: The id of the practice
required: true
schema:
type: integer
format: int64
- name: start_date
in: query
description: Must be earlier than end_date. If not provided, defaults to first of the current month.
schema:
type: string
format: date
default: None
- name: end_date
in: query
description: Must be later than start_date. If not provided, defaults to today's date.
schema:
type: string
format: date
default: None
- name: Authorization
in: header
description: Bearer token
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"practice_id\": 123456,\n \"eligibility_usage_counter\": 4,\n \"start_date\": \"2022-07-01\",\n \"end_date\": \"2022-07-28\"\n}"
schema:
type: object
properties:
practice_id:
type: integer
example: 123456
default: 0
eligibility_usage_counter:
type: integer
example: 4
default: 0
start_date:
type: string
example: '2022-07-01'
end_date:
type: string
example: '2022-07-28'
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"detail\": \"start_date cannot be after end_date\"\n}"
schema:
type: object
properties:
detail:
type: string
example: start_date cannot be after end_date
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/practices/123/eligibility_usage\",\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Practices
security:
- sec0: []
servers:
- url: https://sandbox.elationemr.com/api/2.0
/api/2.0/practices/:
get:
operationId: practices_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
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPracticeList'
description: ''
security:
- oauth2: []
summary: List Practices
tags:
- Practices
x-el8-docs-category: Practice 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/practices/{id}/:
get:
operationId: practices_retrieve
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Practice'
description: ''
security:
- oauth2: []
summary: Retrieve Practice
tags:
- Practices
x-el8-docs-category: Practice API
x-el8-docs-versions:
- '2.1'
- '2.0'
patch:
description: Update an existing practice.
operationId: practices_partial_update
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedPractice'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Practice'
description: ''
security:
- oauth2: []
summary: Partially Update Practice
tags:
- Practices
x-el8-docs-category: Practice API
x-el8-docs-versions:
- '2.1'
- '2.0'
put:
description: Replace an existing practice.
operationId: practices_update
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Practice'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Practice'
description: ''
security:
- oauth2: []
summary: Update Practice
tags:
- Practices
x-el8-docs-category: Practice 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:
PatchedPractice:
properties:
address_line1:
maxLength: 200
type: string
address_line2:
maxLength: 200
type: string
city:
maxLength: 50
type: string
elation_root_oid:
readOnly: true
type: string
employers:
items:
$ref: '#/components/schemas/Employer'
readOnly: true
type:
- array
- 'null'
id:
readOnly: true
type: integer
metadata:
properties:
data:
type: object
object_id:
type: string
object_web_link:
type: string
type:
- object
- 'null'
name:
maxLength: 200
type: string
physicians:
items:
format: int64
type: integer
readOnly: true
type: array
service_locations:
items:
$ref: '#/components/schemas/ServiceLocation'
readOnly: true
type:
- array
- 'null'
state:
maxLength: 2
type: string
status:
default: active
readOnly: true
type: string
timezone:
readOnly: true
type: string
zip:
maxLength: 10
type: string
type: object
ServiceLocationStatusEnum:
enum:
- active
- inactive
- suspended
type: string
Practice:
properties:
address_line1:
maxLength: 200
type: string
address_line2:
maxLength: 200
type: string
city:
maxLength: 50
type: string
elation_root_oid:
readOnly: true
type: string
employers:
items:
$ref: '#/components/schemas/Employer'
readOnly: true
type:
- array
- 'null'
id:
readOnly: true
type: integer
metadata:
properties:
data:
type: object
object_id:
type: string
object_web_link:
type: string
type:
- object
- 'null'
name:
maxLength: 200
type: string
physicians:
items:
format: int64
type: integer
readOnly: true
type: array
service_locations:
items:
$ref: '#/components/schemas/ServiceLocation'
readOnly: true
type:
- array
- 'null'
state:
maxLength: 2
type: string
status:
default: active
readOnly: true
type: string
timezone:
readOnly: true
type: string
zip:
maxLength: 10
type: string
required:
- address_line1
- address_line2
- name
type: object
ServiceLocation:
properties:
address_line1:
description: The service location address.
type: string
address_line2:
description: The service location suite.
type: string
city:
default: ''
maxLength: 50
type: string
created_date:
format: date-time
readOnly: true
type:
- string
- 'null'
deleted_date:
format: date-time
readOnly: true
type:
- string
- 'null'
email:
format: email
maxLength: 254
type:
- string
- 'null'
fax:
maxLength: 20
type:
- string
- 'null'
id:
readOnly: true
type: integer
is_primary:
default: false
type: boolean
name:
maxLength: 200
type: string
phone:
maxLength: 20
type:
- string
- 'null'
place_of_service:
$ref: '#/components/schemas/ServiceLocationPlaceOfServiceEnum'
place_of_service_code:
type: integer
practice:
description: The id of the practice that the service location belongs to.
format: int64
type: integer
state:
type: string
status:
allOf:
- $ref: '#/components/schemas/ServiceLocationStatusEnum'
default: active
readOnly: true
timezone:
oneOf:
- $ref: '#/components/schemas/TimezoneEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
zip:
default: ''
maxLength: 10
type: string
required:
- address_line1
- name
- practice
- state
type: object
Employer:
properties:
code:
maxLength: 50
type: string
description:
readOnly: true
type:
- string
- 'null'
name:
readOnly: true
type:
- string
- 'null'
required:
- code
type: object
NullEnum:
type: 'null'
ServiceLocationPlaceOfServiceEnum:
enum:
- Ambulance - Air or Water
- Ambulance - Land
- Ambulatory Surgical Center
- Assisted Living Facility
- Birthing Center
- Community Mental Health Center
- Comprehensive Inpatient Rehabilitation Facility
- Comprehensive Outpatient Rehabilitation Facility
- Custodial Care Facility
- Emergency Room - Hospital
- End-Stage Renal Disease Treatment Facility
- Federally Qualified Health Center
- Group Home
- Home
- Homeless Shelter
- Hospice
- Independent Clinic
- Independent Laboratory
- Indian Health ServiceFree-standing Facility
- Indian Health ServiceProvider-based Facility
- Inpatient Hospital
- Inpatient Psychiatric Facility
- Intermediate Care Facility/Individuals with Intellectual Disabilities
- Mass Immunization Center
- Military Treatment Facility
- Mobile Unit
- Non-residential Substance Abuse Treatment Facility
- Nursing Facility
- Off Campus Outpatient-Hospital
- Office
- On Campus-Outpatient Hospital
- Other Place of Service
- Outreach Site/Street
- Pharmacy
- Place of Employment-Worksite
- Prison/Correctional Facility
- Programs of All-Inclusive Care for the Elderly (PACE) Center
- Psychiatric Facility-Partial Hospitalization
- Psychiatric Residential Treatment Center
- Public Health Clinic
- Residential Substance Abuse Treatment Facility
- Rural Health Clinic
- School
- Skilled Nursing Facility
- Telehealth Provided Other than in Patient’s Home
- Telehealth Provided in Patient’s Home
- Temporary Lodging
- Tr
# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elation-health/refs/heads/main/openapi/elation-health-practices-api-openapi.yml