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-immunizations-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 Immunizations API
version: '1.0'
description: 'Operations tagged Immunizations across 3 of this provider''s published API definitions: elation-api-settings.json, elation-health-api-full-openapi.yaml, elation-patient-profile-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: Immunizations
paths:
/immunizations/{id}/:
delete:
summary: Delete Immunization
description: ''
operationId: delete-immunization
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/immunizations/54233202689/\",\n headers={'Authorization': auth_header})\n\nprint resp.status_code"
samples-languages:
- python
tags:
- Immunizations
security:
- sec0: []
get:
summary: Get Immunization
description: ''
operationId: get-immunization
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/immunizations/64184451073/\",\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Immunizations
security:
- sec0: []
servers:
- url: https://sandbox.elationemr.com/api/2.0
/immunizations/:
get:
summary: Find Immunizations
description: ''
operationId: find-immunizations
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/immunizations/?limit=10&offset=10\",\n \"previous\": \"https://sandbox.elationemr.com/api/2.0/immunizations/?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/immunizations/\",\n headers={'Authorization': auth_header})\n\nprint resp.status_code\nprint json.dumps(json.loads(resp.content), indent=2)"
samples-languages:
- python
tags:
- Immunizations
security:
- sec0: []
post:
summary: Create Immunization
description: ''
operationId: create-immunization
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- patient
- vaccine
- administered_date
- administering_physician
- ordering_physician
- qty
properties:
patient:
type: integer
description: patient id
format: int32
vaccine:
type: object
required:
- cvx
properties:
cvx:
type: integer
format: int32
administered_date:
type: string
format: date
administering_physician:
type: integer
format: int32
ordering_physician:
type: integer
format: int32
qty:
type: string
description:
type: string
reason:
type: string
qty_units:
type: string
lot_number:
type: string
manufacturer_name:
type: string
manufacturer_code:
type: string
expiration_date:
type: string
format: date
vis:
type: string
method:
type: string
site:
type: string
notes:
type: string
publicity_code:
type: string
enum:
- ("01"
- '"No reminder/recall")'
- ("02"
- '"Reminder/recall - any method")'
- ("03"
- '"Reminder/recall - no calls")'
- ("04"
- '"Reminder only - any method")'
- ("05"
- '"Reminder only - no calls")'
- ("06"
- '"Recall only - any method")'
- ("07"
- '"Recall only - no calls")'
- ("08"
- '"Reminder/recall - to provider")'
- ("09"
- '"Reminder to provider")'
- ("10"
- '"Only reminder to provider'
- no recall")
- ("11"
- '"Recall to provider")'
- ("12"
- '"Only recall to provider'
- no reminder")
vfc_eligibility:
type: string
enum:
- ("V01"
- '"Not VFC eligible")'
- ("V02"
- '"VFC eligible - Medicaid/Medicaid Managed Care")'
- ("V03"
- '"VFC eligible - Uninsured")'
- ("V04"
- '"VFC eligible - American Indian/Alaskan Native")'
- ("V05"
- '"VFC eligible - Under-insured)")'
- ("V07"
- '"Local-specific eligibility")'
- ("V22"
- '"CHIP")'
- ("V23"
- '"317")'
- ("V24"
- '"Medicare")'
- ("V25"
- '"State program eligibility")'
- ("CAA01"
- '"CA State General Fund Vaccines")'
- ("ORA01"
- '"OR Special Projects")'
- ("ORA02"
- '"OR Locally Owned")'
- ("HI02"
- '"HI Birthing Hospital Hepatitis B")'
- ("HI03"
- '"HI Adult Insured")'
- ("HI04"
- '"HI Adult Not Insured")'
funding_source:
type: string
enum:
- ("PHC70"
- '"Privately funded vaccine stock")'
- ("VXC50"
- '"Publicly funded vaccine stock")'
- ("VXC51"
- '"Publicly funded vaccine stock - VFC")'
- ("VXC52"
- '"Publicly funded vaccine stock - Non-VFC")'
info_source:
type: string
enum:
- ("00"
- '"New immunization record")'
- ("01"
- '"Historical information - source unspecified")'
- ("02"
- '"Historical information - from other provider")'
- ("03"
- '"Historical information - from parent''s written record")'
- ("04"
- '"Historical information - from parent''s recall")'
- ("05"
- '"Historical information - from other registry")'
- ("06"
- '"Historical information - from birth certificate")'
- ("07"
- '"Historical information - from school record")'
- ("08"
- '"Historical information - from public agency")'
allowed_sharing:
type: boolean
dose_in_series:
type: integer
format: int32
priority_population:
type: string
description: For Immunization Registry Integrations (less than 9 symbols)
ndc:
type: string
description: Should be 10-11 digits, 2 dashes, but field have no validation
patient_consent:
type: boolean
responses:
'201':
description: '201'
content:
application/json:
examples:
Result:
value: "{\n \"id\": 140758870130858,\n \"administered_date\": \"2021-09-22T17:01:00Z\",\n \"administering_physician\": 720898,\n \"ordering_physician\": 720898,\n \"description\": null,\n \"reason\": null,\n \"vaccine\": {\n \"name\": \"pertussis\",\n \"cvx\": 11,\n \"cdc_name\": null,\n \"cdc_type\": null\n },\n \"qty\": \"25\",\n \"qty_units\": null,\n \"lot_number\": null,\n \"manufacturer_name\": null,\n \"manufacturer_code\": null,\n \"expiration_date\": null,\n \"vis\": null,\n \"method\": null,\n \"site\": null,\n \"notes\": null,\n \"publicity_code\": null,\n \"vfc_eligibility\": null,\n \"funding_source\": null,\n \"info_source\": null,\n \"allowed_sharing\": null,\n \"practice\": 140758835265540,\n \"patient\": 140758844637185,\n \"created_date\": \"2022-06-29T13:00:59Z\",\n \"deleted_date\": null,\n \"dose_in_series\": null,\n \"priority_population\": null,\n \"ndc\": null,\n \"patient_consent\": null\n}"
schema:
type: object
properties:
id:
type: integer
example: 140758870130858
default: 0
administered_date:
type: string
example: '2021-09-22T17:01:00Z'
administering_physician:
type: integer
example: 720898
default: 0
ordering_physician:
type: integer
example: 720898
default: 0
description: {}
reason: {}
vaccine:
type: object
properties:
name:
type: string
example: pertussis
cvx:
type: integer
example: 11
default: 0
cdc_name: {}
cdc_type: {}
qty:
type: string
example: '25'
qty_units: {}
lot_number: {}
manufacturer_name: {}
manufacturer_code: {}
expiration_date: {}
vis: {}
method: {}
site: {}
notes: {}
publicity_code: {}
vfc_eligibility: {}
funding_source: {}
info_source: {}
allowed_sharing: {}
practice:
type: integer
example: 140758835265540
default: 0
patient:
type: integer
example: 140758844637185
default: 0
created_date:
type: string
example: '2022-06-29T13:00:59Z'
deleted_date: {}
dose_in_series: {}
priority_population: {}
ndc: {}
patient_consent: {}
'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 \"patient\": 140758844637185,\n \"administered_date\": \"2021-09-22T17:01:00Z\",\n \"administering_physician\": 720898,\n \"ordering_physician\": 720898,\n \"vaccine\": {\n \"cvx\": 11\n },\n \"qty\": 25\n}\n\nresp = requests.post(\"https://sandbox.elationemr.com/api/2.0/immunizations/\",\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:
- Immunizations
security:
- sec0: []
servers:
- url: https://sandbox.elationemr.com/api/2.0
/api/2.0/immunizations/:
get:
description: Returns a list of immunizations
operationId: immunizations_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/PaginatedPatientImmunizationList'
description: ''
security:
- oauth2: []
summary: List Immunizations
tags:
- Immunizations
x-el8-docs-category: Patient Profile API
x-el8-docs-versions:
- '2.1'
- '2.0'
post:
description: Create a new immunization.
operationId: immunizations_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatientImmunization'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/PatientImmunization'
description: ''
security:
- oauth2: []
summary: Create Immunization
tags:
- Immunizations
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/immunizations/{id}/:
delete:
description: Delete an existing immunization.
operationId: immunizations_destroy
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
responses:
'204':
description: No response body
security:
- oauth2: []
summary: Delete Immunization
tags:
- Immunizations
x-el8-docs-category: Patient Profile API
x-el8-docs-versions:
- '2.1'
- '2.0'
get:
description: Retrieve a single immunization
operationId: immunizations_retrieve
parameters:
- in: path
name: id
required: true
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PatientImmunization'
description: ''
security:
- oauth2: []
summary: Retrieve Immunization
tags:
- Immunizations
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:
FundingSourceEnum:
enum:
- Privately funded vaccine stock
- Publicly funded vaccine stock
- Publicly funded vaccine stock - Non-VFC
- Publicly funded vaccine stock - VFC
type: string
ImmunizationVaccine:
properties:
cdc_name:
readOnly: true
type:
- string
- 'null'
cdc_type:
readOnly: true
type:
- string
- 'null'
cvx:
maximum: 2147483647
minimum: -2147483648
type:
- integer
- 'null'
name:
readOnly: true
type: string
type: object
InfoSourceEnum:
enum:
- Historical information - from birth certificate
- Historical information - from other provider
- Historical information - from other registry
- Historical information - from parent's recall
- Historical information - from parent's written record
- Historical information - from public agency
- Historical information - from school record
- Historical information - source unspecified
- New immunization record
type: string
VfcEligibilityEnum:
enum:
- '317'
- CA State General Fund Vaccines
- CHIP
- HI Adult Insured
- HI Adult Not Insured
- HI Birthing Hospital Hepatitis B
- Local-specific eligibility
- ME State Eligible - Insured - Under 19
- Medicare
- Not VFC eligible
- OR Locally Owned
- OR Special Projects
- State program eligibility
- VFC eligible - American Indian/Alaskan Native
- VFC eligible - Medicaid/Medicaid Managed Care
- VFC eligible - Under-insured
- VFC eligible - Uninsured
type: string
PatientImmunization:
properties:
administered_date:
format: date-time
type: string
administering_physician:
format: int64
type:
- integer
- 'null'
allowed_sharing:
description: Whether this immunization should be sent to Immunization Registry (true/false/null)
type:
- boolean
- 'null'
created_date:
format: date-time
readOnly: true
type:
- string
- 'null'
deleted_date:
format: date-time
readOnly: true
type:
- string
- 'null'
description:
maxLength: 255
type:
- string
- 'null'
dose_in_series:
maximum: 2147483647
minimum: -2147483648
type:
- integer
- 'null'
expiration_date:
format: date
type:
- string
- 'null'
funding_source:
oneOf:
- $ref: '#/components/schemas/FundingSourceEnum'
- $ref: '#/components/schemas/NullEnum'
id:
readOnly: true
type: integer
info_source:
oneOf:
- $ref: '#/components/schemas/InfoSourceEnum'
- $ref: '#/components/schemas/NullEnum'
lot_number:
maxLength: 255
type:
- string
- 'null'
manufacturer_code:
maxLength: 255
type:
- string
- 'null'
manufacturer_name:
maxLength: 255
type:
- string
- 'null'
method:
maxLength: 255
type:
- string
- 'null'
ndc:
description: Should be 10-11 digits, 2 dashes.
maxLength: 31
type:
- string
- 'null'
notes:
type:
- string
- 'null'
ordering_physician:
format: int64
type:
- integer
- 'null'
patient:
format: int64
type: integer
patient_consent:
type:
- boolean
- 'null'
practice:
format: int64
type:
- integer
- 'null'
priority_population:
description: For Immunization Registry Integrations (less than 9 symbols).
maxLength: 8
type:
- string
- 'null'
publicity_code:
oneOf:
- $ref: '#/components/schemas/PublicityCodeEnum'
- $ref: '#/components/schemas/NullEnum'
qty:
type:
- string
- 'null'
qty_units:
maxLength: 100
type:
- string
- 'null'
reason:
type:
- string
- 'null'
service_location_id:
format: int64
type:
- integer
- 'null'
site:
maxLength: 255
type:
- string
- 'null'
vaccine:
$ref: '#/components/schemas/ImmunizationVaccine'
vfc_eligibility:
oneOf:
- $ref: '#/components/schemas/VfcEligibilityEnum'
- $ref: '#/components/schemas/NullEnum'
vis:
type:
- string
- 'null'
vis_given_date:
format: date
type:
- string
- 'null'
required:
- administered_date
- administering_physician
- ordering_physician
- patient
- qty
- vaccine
type: object
NullEnum:
type: 'null'
PublicityCodeEnum:
enum:
- No reminder/recall
- Only recall to provider, no reminder
- Only reminder to provider, no recall
- Recall only - any method
- Recall only - no calls
- Recall to provider
- Reminder only - any method
- Reminder only - no calls
- Reminder to provider
- Reminder/recall - any method
- Reminder/recall - no calls
- Reminder/recall - to provider
type: string
PaginatedPatientImmunizationList:
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/PatientImmunization'
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-patient-profile-api.json
x-readme:
headers: []
x-readme-fauxas: true