Elation Health · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Elation Health Contacts API
15 actions
15 updates
phrasing
extends
openapi/elation-health-contacts-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Elation Health's API. It is a proposal applied on top of the contract, not a document Elation Health publishes.
What the actions change
x-apievangelist-phrasing
Targets 15
$.info
$.paths['/contacts/search/'].get
$.paths['/contacts/'].get
$.paths['/contacts/'].post
$.paths['/contacts/{id}/'].put
$.paths['/contacts/{id}/'].patch
$.paths['/contacts/:id/'].delete
$.paths['/contacts/{contact_id}/'].get
$.paths['/api/2.0/contacts/'].get
$.paths['/api/2.0/contacts/'].post
$.paths['/api/2.0/contacts/search/'].get
$.paths['/api/2.0/contacts/{id}/'].get
$.paths['/api/2.0/contacts/{id}/'].put
$.paths['/api/2.0/contacts/{id}/'].delete
$.paths['/api/2.0/contacts/{id}/'].patch
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Elation Health Contacts API
version: 1.0.0
extends: openapi/elation-health-contacts-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 14
- target: $.paths['/contacts/search/'].get
update:
x-apievangelist-phrasing:
intent: Search referral contacts (legacy endpoint)
effect: read
questions:
- Can I search my referral contacts by specialty and state with the older contacts search endpoint?
- Is there a legacy way to look up outside providers by name and city?
instructions:
- text: Using the legacy contacts search, find contacts matching {q} in {city}.
slots:
q: query.q
city: query.city
- text: Run the older contact search for {specialties} specialists in state {state}.
slots:
specialties: query.specialties
state: query.state
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/'].get
update:
x-apievangelist-phrasing:
intent: List contacts by NPI (legacy endpoint)
effect: read
questions:
- How do I look up a contact by NPI number on the legacy contacts list?
- Can the original contacts listing filter on a provider's NPI?
instructions:
- text: On the legacy contacts list, find the contact with NPI {npi}.
slots:
npi: query.npi
- text: Pull the old-style contacts listing for my practice.
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/'].post
update:
x-apievangelist-phrasing:
intent: Add a referral contact (legacy endpoint)
effect: write
questions:
- How do I add an outside physician to my contacts through the legacy create endpoint?
- Can I record a specialist's fax and Direct address when creating a contact the old way?
instructions:
- text: Through the legacy endpoint, add contact {first_name} {last_name} with specialty {specialty}.
slots:
first_name: requestBody.first_name
last_name: requestBody.last_name
specialty: requestBody.specialty
- text: Create an old-style contact for {first_name} {last_name} with fax {fax} and Direct address {direct_address}.
slots:
first_name: requestBody.first_name
last_name: requestBody.last_name
fax: requestBody.fax
direct_address: requestBody.direct_address
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/'].put
update:
x-apievangelist-phrasing:
intent: Replace a contact's details (legacy PUT)
effect: write
questions:
- How do I overwrite every field on a contact with the legacy PUT endpoint?
- Can I mark an existing contact as accepting new patients through the older full update?
instructions:
- text: With the legacy PUT, replace contact {id} so its phone is {phone} and email is {email}.
slots:
id: path.id
phone: requestBody.phone
email: requestBody.email
- text: Fully rewrite legacy contact {id} with address {address}, {city}, {state} {zip}.
slots:
id: path.id
address: requestBody.address
city: requestBody.city
state: requestBody.state
zip: requestBody.zip
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/'].patch
update:
x-apievangelist-phrasing:
intent: Patch a contact's details (legacy PATCH)
effect: write
questions:
- Can I change just one field on a contact using the legacy PATCH endpoint?
- What's the older way to fix a contact's fax number without resending everything?
instructions:
- text: Using the legacy PATCH, change the fax on contact {id} to {fax}.
slots:
id: path.id
fax: requestBody.fax
- text: Patch legacy contact {id} to set accepting new patients to {accepting_new_patients}.
slots:
id: path.id
accepting_new_patients: requestBody.accepting_new_patients
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/:id/'].delete
update:
x-apievangelist-phrasing:
intent: Delete a contact (legacy endpoint)
effect: destructive
questions:
- Is there a legacy endpoint for removing a contact from my address book?
- Can the older contacts API delete an outdated referral contact?
instructions:
- text: Remove the outdated contact through the legacy delete endpoint.
- text: Delete that old referral contact with the original contacts API.
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{contact_id}/'].get
update:
x-apievangelist-phrasing:
intent: Fetch one contact (legacy endpoint)
effect: read
questions:
- How do I fetch a single contact by its contact ID on the legacy path?
- What details does the older fetch-contact endpoint return for one provider?
instructions:
- text: Fetch contact {contact_id} from the legacy contacts endpoint.
slots:
contact_id: path.contact_id
- text: Show me the old-style record for contact {contact_id}.
slots:
contact_id: path.contact_id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/2.0/contacts/'].get
update:
x-apievangelist-phrasing:
intent: List contacts in API 2.0
effect: read
questions:
- How do I page through all my practice's contacts in the 2.0 API?
- Can the API 2.0 contacts list be narrowed to one NPI?
- What's the page size limit when listing contacts?
instructions:
- text: List my contacts in API 2.0, {limit} at a time starting at offset {offset}.
slots:
limit: query.limit
offset: query.offset
- text: In the 2.0 contacts list, find whoever has NPI {npi}.
slots:
npi: query.npi
method: generated
generated: '2026-09-26'
- target: $.paths['/api/2.0/contacts/'].post
update:
x-apievangelist-phrasing:
intent: Create a contact in API 2.0
effect: write
questions:
- How do I create a new referral contact with the 2.0 API?
- Which fields are required to add a contact, like credentials and contact type?
instructions:
- text: In API 2.0, create a {contact_type} contact {first_name} {middle_name} {last_name}, {credentials}, for practice {practice}.
slots:
contact_type: requestBody.contact_type
first_name: requestBody.first_name
middle_name: requestBody.middle_name
last_name: requestBody.last_name
credentials: requestBody.credentials
practice: requestBody.practice
- text: Add organization {org_name} as a 2.0 contact with NPI {npi} and phone {phone}.
slots:
org_name: requestBody.org_name
npi: requestBody.npi
phone: requestBody.phone
method: generated
generated: '2026-09-26'
- target: $.paths['/api/2.0/contacts/search/'].get
update:
x-apievangelist-phrasing:
intent: Search contacts in API 2.0
effect: read
questions:
- Can I search the 2.0 contacts directory for cardiologists in a given city?
- How do I find a referral contact by name with the current search endpoint?
instructions:
- text: Search API 2.0 contacts for {q}, returning {limit} results.
slots:
q: query.q
limit: query.limit
- text: Find 2.0 contacts specializing in {specialties} located in {city}, {state}.
slots:
specialties: query.specialties
city: query.city
state: query.state
method: generated
generated: '2026-09-26'
- target: $.paths['/api/2.0/contacts/{id}/'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a contact in API 2.0
effect: read
questions:
- How do I get one contact's full details by ID in the 2.0 API?
- Does retrieving a contact show whether they accept insurance?
instructions:
- text: Retrieve API 2.0 contact {id}.
slots:
id: path.id
- text: Get the specialty and fax for 2.0 contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/2.0/contacts/{id}/'].put
update:
x-apievangelist-phrasing:
intent: Replace a contact in API 2.0
effect: write
questions:
- How do I replace an entire contact record in the 2.0 API?
- Which fields must I resend when doing a full contact replacement?
instructions:
- text: Replace 2.0 contact {id} as {contact_type} {first_name} {middle_name} {last_name}, {credentials}, at practice {practice}.
slots:
id: path.id
contact_type: requestBody.contact_type
first_name: requestBody.first_name
middle_name: requestBody.middle_name
last_name: requestBody.last_name
credentials: requestBody.credentials
practice: requestBody.practice
- text: Overwrite API 2.0 contact {id} with the corrected NPI {npi}.
slots:
id: path.id
npi: requestBody.npi
method: generated
generated: '2026-09-26'
- target: $.paths['/api/2.0/contacts/{id}/'].delete
update:
x-apievangelist-phrasing:
intent: Delete a contact in API 2.0
effect: destructive
questions:
- How do I permanently delete a contact with the 2.0 API?
- Can I remove a duplicate referral contact by its ID?
instructions:
- text: Delete API 2.0 contact {id}.
slots:
id: path.id
- text: Remove duplicate contact {id} from the 2.0 directory.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/2.0/contacts/{id}/'].patch
update:
x-apievangelist-phrasing:
intent: Partially update a contact in API 2.0
effect: write
questions:
- Can I update only a contact's email in the 2.0 API without replacing the whole record?
- How do I flag a contact as verified with a partial update?
instructions:
- text: In API 2.0, change only the email on contact {id} to {email}.
slots:
id: path.id
email: requestBody.email
- text: Partially update 2.0 contact {id} to set is_verified to {is_verified}.
slots:
id: path.id
is_verified: requestBody.is_verified
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/elation-health-contacts-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.