# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Mapp Engage public User API version: 1.0.0 extends: openapi/mapp-user-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: 18 - target: $.paths['/user/create'].post update: x-apievangelist-phrasing: intent: Create a user by email or mobile number effect: write questions: - How do I add a new user to Mapp Engage? - Can I create a user with only a mobile number and no email address? - What attributes like last name or date of birth can I set when creating a user? instructions: - text: Create a new user with email {email}. slots: email: query.email - text: Add a new user identified by mobile number {mobileNumber}. slots: mobileNumber: query.mobileNumber method: generated generated: '2026-09-26' - target: $.paths['/user/deleteByEmail'].delete update: x-apievangelist-phrasing: intent: Delete a user by email address effect: destructive questions: - Can I delete a user if I only know their email address? - What happens when I remove a user record keyed by email? instructions: - text: Delete the user whose email is {email}. slots: email: query.email - text: Remove {email} from our users entirely. slots: email: query.email method: generated generated: '2026-09-26' - target: $.paths['/user/deleteByMobileNumber'].delete update: x-apievangelist-phrasing: intent: Delete a user by mobile number effect: destructive questions: - Is there a way to delete a user using just their phone number? - Can I remove an SMS-only user who has no email on file? instructions: - text: Delete the user with mobile number {mobileNumber}. slots: mobileNumber: query.mobileNumber - text: Remove the SMS user {mobileNumber} from the system. slots: mobileNumber: query.mobileNumber method: generated generated: '2026-09-26' - target: $.paths['/user/delete'].delete update: x-apievangelist-phrasing: intent: Delete a user by user ID effect: destructive questions: - How do I delete a user when I have their internal user ID? - Can I delete a user record by its numeric ID? instructions: - text: Delete user ID {userId}. slots: userId: query.userId - text: Permanently remove the user whose ID is {userId}. slots: userId: query.userId method: generated generated: '2026-09-26' - target: $.paths['/user/getByEmail'].get update: x-apievangelist-phrasing: intent: Look up a user by email effect: read questions: - How can I find a user's ID from their email address? - What does the user record show when I look someone up by email? instructions: - text: Look up the user with email {email} and give me their user ID. slots: email: query.email - text: Find the user record for {email}. slots: email: query.email method: generated generated: '2026-09-26' - target: $.paths['/user/getByIdentifier'].get update: x-apievangelist-phrasing: intent: Look up a user by profile identifier effect: read questions: - Can I find a user by our own custom identifier instead of email? - Which user is returned when several share the same identifier? instructions: - text: Find the user assigned identifier {identifier}. slots: identifier: query.identifier - text: Look up who has the profile identifier {identifier}. slots: identifier: query.identifier method: generated generated: '2026-09-26' - target: $.paths['/user/getByMobileNumber'].get update: x-apievangelist-phrasing: intent: Look up a user by mobile number effect: read questions: - How do I find a user record from a phone number? - Can I get a user's ID when all I have is their mobile number? instructions: - text: Find the user with mobile number {mobileNumber}. slots: mobileNumber: query.mobileNumber - text: Get the user ID for phone number {mobileNumber}. slots: mobileNumber: query.mobileNumber method: generated generated: '2026-09-26' - target: $.paths['/user/getMessageHistory'].get update: x-apievangelist-phrasing: intent: Get the messages sent to a user effect: read questions: - Which messages did a particular recipient receive last month? - What is the longest time window I can pull a user's message history for? - Is there a cap on how many messages the history returns? instructions: - text: Show the messages sent to user {userId} between {fromDate} and {toDate}. slots: userId: query.userId fromDate: query.fromDate toDate: query.toDate - text: Get the message history for user {userId}. slots: userId: query.userId method: generated generated: '2026-09-26' - target: $.paths['/user/getProfileByEmail'].get update: x-apievangelist-phrasing: intent: Get a user's profile attributes by email effect: read questions: - How do I see all the profile attributes stored for an email address? - Can I read someone's first name and preferences using their email? instructions: - text: Show the full profile attributes for {email}. slots: email: query.email - text: Pull the profile data stored against email {email}. slots: email: query.email method: generated generated: '2026-09-26' - target: $.paths['/user/getProfileByMobileNumber'].get update: x-apievangelist-phrasing: intent: Get a user's profile attributes by mobile number effect: read questions: - Can I read a user's profile attributes using their phone number? - What profile data do we hold for a given mobile number? instructions: - text: Show the profile attributes for mobile number {mobileNumber}. slots: mobileNumber: query.mobileNumber - text: Pull the profile data stored for phone {mobileNumber}. slots: mobileNumber: query.mobileNumber method: generated generated: '2026-09-26' - target: $.paths['/user/getProfile'].get update: x-apievangelist-phrasing: intent: Get a user's profile attributes by user ID effect: read questions: - Which profile attributes have values for a given user ID? - Does the profile read skip attributes that are empty? instructions: - text: Show the profile attributes for user ID {userId}. slots: userId: query.userId - text: Get all filled-in profile fields for user {userId}. slots: userId: query.userId method: generated generated: '2026-09-26' - target: $.paths['/user/get'].get update: x-apievangelist-phrasing: intent: Get a user by user ID effect: read questions: - How do I fetch a user's email and mobile number from their user ID? - What basic identity details come back for a user ID? instructions: - text: Get the user record for user ID {userId}. slots: userId: query.userId - text: Tell me the email and mobile number of user {userId}. slots: userId: query.userId method: generated generated: '2026-09-26' - target: $.paths['/user/replaceProfileByEmail'].post update: x-apievangelist-phrasing: intent: Replace a user's whole profile by email effect: destructive questions: - Can I overwrite every profile attribute for an email and clear the ones I leave out? - Which attributes survive when I replace a profile keyed by email? instructions: - text: Replace the entire profile of {email} with these attributes, wiping any not listed. slots: email: query.email - text: Overwrite all profile values for email {email}. slots: email: query.email method: generated generated: '2026-09-26' - target: $.paths['/user/replaceProfileByMobileNumber'].post update: x-apievangelist-phrasing: intent: Replace a user's whole profile by mobile number effect: destructive questions: - Can I reset a profile identified by phone number so only the values I send remain? - Will replacing a profile by mobile number delete attributes I don't include? instructions: - text: Replace the whole profile for mobile number {mobileNumber}, clearing unlisted attributes. slots: mobileNumber: query.mobileNumber - text: Overwrite all profile values for phone {mobileNumber}. slots: mobileNumber: query.mobileNumber method: generated generated: '2026-09-26' - target: $.paths['/user/replaceProfile'].post update: x-apievangelist-phrasing: intent: Replace a user's whole profile by user ID effect: destructive questions: - How do I replace every profile attribute for a user ID in one call? - Are member attributes kept when a user's profile is replaced by ID? instructions: - text: Replace the entire profile of user {userId}, deleting attributes I don't send. slots: userId: query.userId - text: Overwrite all profile values for user ID {userId}. slots: userId: query.userId method: generated generated: '2026-09-26' - target: $.paths['/user/updateProfileByEmail'].post update: x-apievangelist-phrasing: intent: Update selected profile attributes by email effect: write questions: - Can I change just one attribute on a profile using the email address? - Does a partial profile update by email leave other attributes alone? instructions: - text: Update only the attributes I give you on the profile for {email}. slots: email: query.email - text: Set a new city on the profile of {email} without touching other fields. slots: email: query.email method: generated generated: '2026-09-26' - target: $.paths['/user/updateProfileByMobileNumber'].post update: x-apievangelist-phrasing: intent: Update selected profile attributes by mobile number effect: write questions: - How do I patch a couple of profile fields for a user known only by phone number? - Can I update an SMS subscriber's preferences without resending their whole profile? instructions: - text: Update just these attributes on the profile for mobile {mobileNumber}. slots: mobileNumber: query.mobileNumber - text: Change the language preference for phone {mobileNumber}, leaving the rest as is. slots: mobileNumber: query.mobileNumber method: generated generated: '2026-09-26' - target: $.paths['/user/updateProfile'].post update: x-apievangelist-phrasing: intent: Update selected profile attributes by user ID effect: write questions: - Can I update a few attributes for a user ID without affecting unmentioned ones? - Will a profile update by user ID keep the attributes I leave out? instructions: - text: Update only the listed attributes on user {userId}'s profile. slots: userId: query.userId - text: Set a new date of birth for user ID {userId}. slots: userId: query.userId method: generated generated: '2026-09-26'