# 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'