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-lab-vendors-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: 3.2.0
info:
title: Elation Health Lab Vendors API
version: '1.0'
description: 'Operations tagged Lab Vendors across 3 of this provider''s published API definitions: elation-api-settings.json, elation-health-api-full-openapi.yaml, elation-orders-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
tags:
- name: Lab Vendors
paths:
/lab_vendors/{id}:
get:
summary: Get Lab Vendor
description: ''
operationId: get-lab-vendor
parameters:
- name: id
in: path
schema:
type: integer
format: int64
required: true
- name: Authorization
in: header
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"id\": 140745672294843,\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/lab_vendors/63929778422/\",\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Lab Vendors
security:
- sec0: []
put:
summary: Update Lab Vendor
description: ''
operationId: update-lab-vendor
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
- name: id
in: path
schema:
type: integer
format: int64
required: true
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- display_name
- practice_created
- results_integration_available
- orders_integration_available
properties:
name:
type: string
description: Value must be Lab for laboratory reports
display_name:
type: string
practice_created:
type: integer
format: int64
has_test_compendium:
type: boolean
results_integration_available:
type: boolean
orders_integration_available:
type: boolean
default_compendium:
type: object
description: Not working. Need to change save method
required:
- code
- name
- lab_vendor
properties:
code:
type: string
name:
type: string
lab_vendor:
type: integer
description: The id of lab_vendor
format: int64
compendiums:
type: array
description: Not working. Need to change save method
items:
properties:
code:
type: string
name:
type: string
lab_vendor:
type: integer
description: The id of lab_vendor
format: int64
required:
- code
- name
- lab_vendor
type: object
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"id\": 140758848438518,\n \"practice_created\": null,\n \"name\": \"Sonora Quest\",\n \"display_name\": \"Sonora Quest\",\n \"has_order_compendium\": false,\n \"has_test_compendium\": false,\n \"results_integration_available\": false,\n \"orders_integration_available\": false,\n \"compendiums\": [],\n \"default_compendium\": null\n}"
schema:
type: object
properties:
id:
type: integer
example: 140758848438518
default: 0
practice_created: {}
name:
type: string
example: Sonora Quest
display_name:
type: string
example: Sonora Quest
has_order_compendium:
type: boolean
example: false
default: true
has_test_compendium:
type: boolean
example: false
default: true
results_integration_available:
type: boolean
example: false
default: true
orders_integration_available:
type: boolean
example: false
default: true
compendiums:
type: array
default_compendium: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-readme:
code-samples:
- language: python
code: "import requests\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\n\ndata = {\n \"practice_created\": null,\n \"name\": \"Sonora Quest\",\n \"display_name\": \"Sonora Quest\",\n \"has_order_compendium\": false,\n \"has_test_compendium\": false,\n \"results_integration_available\": false,\n \"orders_integration_available\": false\n}\n\nresp = requests.put(\"https://sandbox.elationemr.com/api/2.0/lab_order_compendiums/67192488182\",\n json=data,\n headers={'Authorization': auth_header,\n 'Content-type': 'application/json'})\n\nprint(resp.status_code)\nprint(resp.text)"
samples-languages:
- python
tags:
- Lab Vendors
security:
- sec0: []
patch:
summary: Update Lab Vendor
description: ''
operationId: update-lab-vendor-1
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
- name: id
in: path
schema:
type: integer
format: int64
required: true
requestBody:
content:
application/json:
schema:
type: object
required:
- results_integration_available
- orders_integration_available
properties:
name:
type: string
description: Value must be Lab for laboratory reports
display_name:
type: string
practice_created:
type: integer
format: int64
has_test_compendium:
type: boolean
results_integration_available:
type: boolean
orders_integration_available:
type: boolean
default_compendium:
type: object
description: Not working. Need to change save method
required:
- code
- name
- lab_vendor
properties:
code:
type: string
name:
type: string
lab_vendor:
type: integer
description: The id of lab_vendor
format: int64
compendiums:
type: array
description: Not working. Need to change save method
items:
properties:
code:
type: string
name:
type: string
lab_vendor:
type: integer
description: The id of lab_vendor
format: int64
required:
- code
- name
- lab_vendor
type: object
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"id\": 140758848438518,\n \"practice_created\": null,\n \"name\": \"Sonora Quest\",\n \"display_name\": \"Sonora Quest\",\n \"has_order_compendium\": false,\n \"has_test_compendium\": false,\n \"results_integration_available\": false,\n \"orders_integration_available\": false,\n \"compendiums\": [],\n \"default_compendium\": null\n}"
schema:
type: object
properties:
id:
type: integer
example: 140758848438518
default: 0
practice_created: {}
name:
type: string
example: Sonora Quest
display_name:
type: string
example: Sonora Quest
has_order_compendium:
type: boolean
example: false
default: true
has_test_compendium:
type: boolean
example: false
default: true
results_integration_available:
type: boolean
example: false
default: true
orders_integration_available:
type: boolean
example: false
default: true
compendiums:
type: array
default_compendium: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-readme:
code-samples:
- language: python
code: "import requests\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\n\ndata = {\n \"practice_created\": null,\n \"name\": \"Sonora Quest\",\n \"display_name\": \"Sonora Quest\",\n \"has_order_compendium\": false,\n \"has_test_compendium\": false,\n \"results_integration_available\": false,\n \"orders_integration_available\": false\n}\n\nresp = requests.put(\"https://sandbox.elationemr.com/api/2.0/lab_order_compendiums/67192488182\",\n json=data,\n headers={'Authorization': auth_header,\n 'Content-type': 'application/json'})\n\nprint(resp.status_code)\nprint(resp.text)"
samples-languages:
- python
tags:
- Lab Vendors
security:
- sec0: []
delete:
summary: Delete Lab Vendor
description: ''
operationId: delete-lab-vendor
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
- name: id
in: path
schema:
type: integer
format: int64
required: true
responses:
'204':
description: '204'
content:
application/json:
examples:
Result:
value: ''
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-readme:
code-samples:
- language: python
code: "import requests\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\nresp = requests.delete(\"https://sandbox.elationemr.com/api/2.0/lab_order_compendiums/67192488182\",\n json=data,\n headers={'Authorization': auth_header,\n 'Content-type': 'application/json'})\n\nprint(resp.status_code)\nprint(resp.text)"
samples-languages:
- python
tags:
- Lab Vendors
security:
- sec0: []
servers:
- url: https://sandbox.elationemr.com/api/2.0
/lab_vendors/:
get:
summary: Find Lab Vendor
description: ''
operationId: find-lab-vendor
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
- name: name
in: query
schema:
type: array
items:
type: string
- name: practice_created
in: query
description: The id's of practice.
schema:
type: array
items:
type: integer
format: int64
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"count\": 2,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"id\": 140745672294843,\n // See Object Definition\n },\n ...\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 = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\nresp = requests.get(\"https://sandbox.elationemr.com/api/2.0/lab_vendors/\",\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Lab Vendors
security:
- sec0: []
post:
summary: Create Lab Vendor
description: ''
operationId: create-lab-vendor
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- display_name
- practice_created
- results_integration_available
- orders_integration_available
properties:
name:
type: string
description: Value must be Lab for laboratory reports
display_name:
type: string
practice_created:
type: integer
format: int64
has_test_compendium:
type: boolean
results_integration_available:
type: boolean
orders_integration_available:
type: boolean
default_compendium:
type: object
description: Not working. Need to change save method
required:
- code
- name
- lab_vendor
properties:
code:
type: string
name:
type: string
lab_vendor:
type: integer
description: The id of lab_vendor
format: int64
compendiums:
type: array
description: Not working. Need to change save method
items:
properties:
code:
type: string
name:
type: string
lab_vendor:
type: integer
description: The id of lab_vendor
format: int64
required:
- code
- name
- lab_vendor
type: object
responses:
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"id\": 140758848438518,\n \"practice_created\": null,\n \"name\": \"Sonora Quest\",\n \"display_name\": \"Sonora Quest\",\n \"has_order_compendium\": false,\n \"has_test_compendium\": false,\n \"results_integration_available\": false,\n \"orders_integration_available\": false,\n \"compendiums\": [],\n \"default_compendium\": null\n}"
schema:
type: object
properties:
id:
type: integer
example: 140758848438518
default: 0
practice_created: {}
name:
type: string
example: Sonora Quest
display_name:
type: string
example: Sonora Quest
has_order_compendium:
type: boolean
example: false
default: true
has_test_compendium:
type: boolean
example: false
default: true
results_integration_available:
type: boolean
example: false
default: true
orders_integration_available:
type: boolean
example: false
default: true
compendiums:
type: array
default_compendium: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-readme:
code-samples:
- language: python
code: "import requests\n\naccess_token = \"TyEPKw8fVGRKpCBa81ygwjCLXDNIAm\"\nauth_header = \"Bearer %s\" % (access_token)\n\n\ndata = {\n \"practice_created\": null,\n \"name\": \"Sonora Quest\",\n \"display_name\": \"Sonora Quest\",\n \"has_order_compendium\": false,\n \"has_test_compendium\": false,\n \"results_integration_available\": false,\n \"orders_integration_available\": false\n}\n\nresp = requests.post(\"https://sandbox.elationemr.com/api/2.0/lab_order_compendiums/\",\n json=data,\n headers={'Authorization': auth_header,\n 'Content-type': 'application/json'})\n\nprint(resp.status_code)\nprint(resp.text)"
samples-languages:
- python
tags:
- Lab Vendors
security:
- sec0: []
servers:
- url: https://sandbox.elationemr.com/api/2.0
/api/2.0/lab_vendors/:
get:
description: Returns a list of lab vendors
operationId: lab_vendors_list
parameters:
- description: Number of results to return per page.
in: query
name: limit
required: false
schema:
type: integer
- description: Multiple values may be separated by commas.
explode: false
in: query
name: name
schema:
items:
type: string
type: array
style: form
- 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: practice_created
schema:
items:
format: int64
type: integer
type: array
style: form
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLabVendorList'
description: ''
security:
- oauth2: []
summary: List Lab Vendors
tags:
- Lab Vendors
x-el8-docs-category: Orders API
x-el8-docs-versions:
- '2.1'
- '2.0'
post:
description: Create a new lab vendor.
operationId: lab_vendors_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LabVendor'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LabVendor'
description: ''
security:
- oauth2: []
summary: Create Lab Vendor
tags:
- Lab Vendors
x-el8-docs-category: Orders 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/lab_vendors/{id}/:
delete:
description: Delete an existing lab vendor.
operationId: lab_vendors_destroy
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
responses:
'204':
description: No response body
security:
- oauth2: []
summary: Delete Lab Vendor
tags:
- Lab Vendors
x-el8-docs-category: Orders API
x-el8-docs-versions:
- '2.1'
- '2.0'
get:
description: Retrieve a single lab vendor
operationId: lab_vendors_retrieve
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LabVendor'
description: ''
security:
- oauth2: []
summary: Retrieve Lab Vendor
tags:
- Lab Vendors
x-el8-docs-category: Orders API
x-el8-docs-versions:
- '2.1'
- '2.0'
patch:
description: Update an existing lab vendor.
operationId: lab_vendors_partial_update
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLabVendor'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LabVendor'
description: ''
security:
- oauth2: []
summary: Partially Update Lab Vendor
tags:
- Lab Vendors
x-el8-docs-category: Orders API
x-el8-docs-versions:
- '2.1'
- '2.0'
put:
description: Replace an existing lab vendor.
operationId: lab_vendors_update
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LabVendor'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LabVendor'
description: ''
security:
- oauth2: []
summary: Update Lab Vendor
tags:
- Lab Vendors
x-el8-docs-category: Orders 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:
LabOrderTestCompendium:
description: The serializer for LabOrderTestCompendium
properties:
code:
maxLength: 200
type:
- string
- 'null'
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
lab_vendor:
format: int64
type: integer
last_updated:
format: date-time
readOnly: true
type: string
name:
maxLength: 200
type: string
required:
- lab_vendor
- name
type: object
LabVendor:
description: The serializer for LabVendor
properties:
bidi_connections:
items:
$ref: '#/components/schemas/BiDiLabConnection'
readOnly: true
type: array
compendiums:
items:
$ref: '#/components/schemas/LabOrderTestCompendium'
type:
- array
- 'null'
default_compendium:
oneOf:
- $ref: '#/components/schemas/LabOrderTestCompendium'
- type: 'null'
display_name:
maxLength: 100
type: string
has_order_compendium:
type: boolean
has_test_compendium:
type: boolean
id:
readOnly: true
type: integer
is_bidi:
type: boolean
is_in_house:
type: boolean
name:
maxLength: 50
type: string
orders_integration_available:
type: boolean
practice_created:
format: int64
type:
- integer
- 'null'
results_integration_available:
type: boolean
required:
- display_name
- name
type: object
PatchedLabVendor:
description: The serializer for LabVendor
properties:
bidi_connections:
items:
$ref: '#/components/schemas/BiDiLabConnection'
readOnly: true
type: array
compendiums:
items:
$ref: '#/components/schemas/LabOrderTestCompendium'
type:
- array
- 'null'
default_compendium:
oneOf:
- $ref: '#/components/schemas/LabOrderTestCompendium'
- type: 'null'
display_name:
maxLength: 100
type: string
has_order_compendium:
type: boolean
has_test_compendium:
type: boolean
id:
readOnly: true
type: integer
is_bidi:
type: boolean
is_in_house:
type: boolean
name:
maxLength: 50
type: string
orders_integration_available:
type: boolean
practice_created:
format: int64
type:
- integer
- 'null'
results_integration_available:
type: boolean
type: object
BiDiLabConnection:
properties:
alias:
description: Get the alias of the connection.
readOnly: true
type:
- string
- 'null'
enabled:
description: Get the enabled status of the connection.
readOnly: true
type: boolean
id:
readOnly: true
type: integer
priority:
maximum: 65535
minimum: 0
type: integer
protocol:
description: Get the protocol of the connection.
readOnly: true
type:
- string
- 'null'
type: object
PaginatedLabVendorList:
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/LabVendor'
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
- elation-orders-api.json
x-readme:
headers: []
x-readme-fauxas: true