# 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 Users API version: 1.0.0 extends: openapi/elation-health-users-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 6 - target: $.paths['/users'].post update: x-apievangelist-phrasing: intent: Create a user (legacy) effect: write questions: - What does the older unversioned endpoint need to add a new user to a practice? - Can the legacy create call grant chart access to a new user? instructions: - text: Create legacy {user_type} user {first_name} {last_name} ({email}) at practice {practice}, active {is_active}. slots: user_type: requestBody.user_type first_name: requestBody.first_name last_name: requestBody.last_name email: requestBody.email practice: requestBody.practice is_active: requestBody.is_active - text: Add old-route user {email} with chart access {has_chart_access}. slots: email: requestBody.email has_chart_access: requestBody.has_chart_access method: generated generated: '2026-09-26' - target: $.paths['/users/{user_id}/'].patch update: x-apievangelist-phrasing: intent: Update a user (legacy) effect: write questions: - Can I deactivate a user through the legacy update call? - Which old endpoint changes a user's email or name? instructions: - text: Set legacy user {user_id}'s active flag to {is_active}. slots: user_id: path.user_id is_active: requestBody.is_active - text: Change the email on the old-route user to {email}. slots: email: requestBody.email method: generated generated: '2026-10-01' - target: $.paths['/api/2.0/users/'].get update: x-apievangelist-phrasing: intent: List users effect: read questions: - How do I list everyone with a login at my practices? - Can I page and sort the v2.0 user list? instructions: - text: List v2.0 users ordered by {order_by}. slots: order_by: query.order_by - text: Show the next {limit} users from offset {offset}. slots: limit: query.limit offset: query.offset method: generated generated: '2026-09-26' - target: $.paths['/api/2.0/users/'].post update: x-apievangelist-phrasing: intent: Create a user effect: write questions: - Can I make a new user a practice admin or read-only in API v2.0? - What's required to add a user in the current API? instructions: - text: Create v2.0 {user_type} user {first_name} {last_name}, email {email}, practice {practice}, active {is_active}. slots: user_type: requestBody.user_type first_name: requestBody.first_name last_name: requestBody.last_name email: requestBody.email practice: requestBody.practice is_active: requestBody.is_active - text: Add a read-only user {email} where read-only is {is_read_only}. slots: email: requestBody.email is_read_only: requestBody.is_read_only method: generated generated: '2026-09-26' - target: $.paths['/api/2.0/users/{id}/'].get update: x-apievangelist-phrasing: intent: Get one user's details effect: read questions: - What does a single v2.0 user record show? - Can I check whether a user is credentialed or a practice admin? instructions: - text: Retrieve v2.0 user {id}. slots: id: path.id - text: Show the role and admin status of user {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/2.0/users/{id}/'].patch update: x-apievangelist-phrasing: intent: Edit a user's settings effect: write questions: - Can I promote a user to practice admin in v2.0? - Is there a partial update to mark a user as credentialed? instructions: - text: Make user {id} a practice admin by setting {is_practice_admin}. slots: id: path.id is_practice_admin: requestBody.is_practice_admin - text: Set credentialed to {credentialed} on v2.0 user {id}. slots: credentialed: requestBody.credentialed id: path.id method: generated generated: '2026-09-26'