# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Management Customer data API version: 1.0.0 extends: openapi/talon-one-customer-data-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['/v1/applications/{applicationId}/customers'].get update: x-apievangelist-phrasing: intent: List an Application's customers effect: read questions: - Who are the customers that have interacted with one of my Applications? - Can I find a customer in an Application by their integration ID? instructions: - text: List the customers of Application {applicationId}. slots: applicationId: path.applicationId - text: Find the customer with integration ID {integrationId} in Application {applicationId}. slots: integrationId: query.integrationId applicationId: path.applicationId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/customer_search'].post update: x-apievangelist-phrasing: intent: Search an Application's customers by attributes effect: read questions: - Which customers in one Application have a given attribute value, like a certain city? - Can I search an Application's customers by several attributes at once? instructions: - text: Search Application {applicationId} for customers matching attributes {attributes}. slots: applicationId: path.applicationId attributes: requestBody.attributes - text: Find customers in Application {applicationId} with integration IDs {integrationIDs}. slots: applicationId: path.applicationId integrationIDs: requestBody.integrationIDs method: generated generated: '2026-09-26' - target: $.paths['/v1/customer_search/no_total'].post update: x-apievangelist-phrasing: intent: Search all customer profiles by attributes effect: read questions: - Which customer profiles across my whole account match a set of attributes? - Can I search sandbox customer profiles by attribute instead of live ones? instructions: - text: Search all customer profiles in the account matching attributes {attributes}. slots: attributes: requestBody.attributes - text: Find account-wide profiles with profile IDs {profileIDs}, in sandbox mode {sandbox}. slots: profileIDs: requestBody.profileIDs sandbox: query.sandbox method: generated generated: '2026-09-26' - target: $.paths['/v1/customers/{customerId}'].get update: x-apievangelist-phrasing: intent: Get a customer profile effect: read questions: - What attributes and loyalty data are stored on a specific customer profile? - Can I fetch a customer profile by its internal ID from an admin tool? instructions: - text: Get customer profile {customerId}. slots: customerId: path.customerId - text: Show me everything stored on customer {customerId}'s profile. slots: customerId: path.customerId method: generated generated: '2026-09-26' - target: $.paths['/v1/customers/no_total'].get update: x-apievangelist-phrasing: intent: List all customer profiles effect: read questions: - How many customer profiles exist across my account, page by page? - Can I list only sandbox customer profiles? instructions: - text: List all customer profiles in my account. - text: 'List {pageSize} customer profiles, sandbox only: {sandbox}.' slots: pageSize: query.pageSize sandbox: query.sandbox method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/customers/{customerId}'].get update: x-apievangelist-phrasing: intent: Get a customer within an Application effect: read questions: - What does a specific customer look like in the context of one Application? - Can I retrieve one Application customer by their ID? instructions: - text: Get customer {customerId} in Application {applicationId}. slots: customerId: path.customerId applicationId: path.applicationId - text: Show Application {applicationId}'s record for customer {customerId}. slots: applicationId: path.applicationId customerId: path.customerId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/customer_activity_reports/no_total'].get update: x-apievangelist-phrasing: intent: List activity reports for an Application's customers effect: read questions: - What did all my customers do in an Application over the last quarter? - Can I filter customer activity summaries by campaign name or advocate? instructions: - text: Get activity reports for all customers of Application {applicationId} from {rangeStart} to {rangeEnd}. slots: applicationId: path.applicationId rangeStart: query.rangeStart rangeEnd: query.rangeEnd - text: Show customer activity in Application {applicationId} for campaign {campaignName} between {rangeStart} and {rangeEnd}. slots: applicationId: path.applicationId campaignName: query.campaignName rangeStart: query.rangeStart rangeEnd: query.rangeEnd method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/customer_activity_reports/{customerId}'].get update: x-apievangelist-phrasing: intent: Get one customer's activity report effect: read questions: - What has one particular customer done in my Application during a date range? - Can I get a single shopper's activity summary for last month? instructions: - text: Get the activity report of customer {customerId} in Application {applicationId} from {rangeStart} to {rangeEnd}. slots: customerId: path.customerId applicationId: path.applicationId rangeStart: query.rangeStart rangeEnd: query.rangeEnd - text: Summarize customer {customerId}'s activity in Application {applicationId} between {rangeStart} and {rangeEnd}. slots: customerId: path.customerId applicationId: path.applicationId rangeStart: query.rangeStart rangeEnd: query.rangeEnd method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/customers/{customerId}/analytics'].get update: x-apievangelist-phrasing: intent: Get a customer's analytics report effect: read questions: - What are the purchase and session analytics for one customer? - Can I see analytics for a single shopper without picking a date range? instructions: - text: Get the analytics report for customer {customerId} in Application {applicationId}. slots: customerId: path.customerId applicationId: path.applicationId - text: Show customer {customerId}'s analytics in Application {applicationId}. slots: customerId: path.customerId applicationId: path.applicationId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/sessions'].get update: x-apievangelist-phrasing: intent: List an Application's customer sessions effect: read questions: - Which carts or sessions were opened in my Application yesterday? - Can I find sessions where a particular coupon or referral code was used? - Is there a way to list only closed or cancelled sessions for one store? instructions: - text: List the sessions of Application {applicationId}. slots: applicationId: path.applicationId - text: Show sessions in Application {applicationId} that used coupon {coupon}. slots: applicationId: path.applicationId coupon: query.coupon - text: List {state} sessions in Application {applicationId} created after {createdAfter}. slots: state: query.state applicationId: path.applicationId createdAfter: query.createdAfter method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/sessions_search'].post update: x-apievangelist-phrasing: intent: Search sessions by customer attributes effect: read questions: - Which sessions belong to customers with a given profile attribute, like loyalty members in Berlin? - Can I pull the sessions for a list of customer integration IDs at once? instructions: - text: Find sessions in Application {applicationId} whose customers match attributes {attributes}. slots: applicationId: path.applicationId attributes: requestBody.attributes - text: Search Application {applicationId} sessions for customers {integrationIDs}. slots: applicationId: path.applicationId integrationIDs: requestBody.integrationIDs method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/sessions/{sessionId}'].get update: x-apievangelist-phrasing: intent: Get a customer session effect: read questions: - What was in a specific customer session, and what effects did it get? - Can I look up one session's details by its ID? instructions: - text: Get session {sessionId} in Application {applicationId}. slots: sessionId: path.sessionId applicationId: path.applicationId - text: Show the details of customer session {sessionId} from Application {applicationId}. slots: sessionId: path.sessionId applicationId: path.applicationId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/events/no_total'].get update: x-apievangelist-phrasing: intent: List events recorded in an Application effect: read questions: - What events have been recorded in my Application recently? - Can I find the events triggered by a specific customer email or coupon code? - Which events produced a particular effect type, like a discount? instructions: - text: List the events recorded in Application {applicationId}. slots: applicationId: path.applicationId - text: Show events of type {type} in Application {applicationId} for customer email {customerEmail}. slots: type: query.type applicationId: path.applicationId customerEmail: query.customerEmail method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/event_types'].get update: x-apievangelist-phrasing: intent: List the event types seen in an Application effect: read questions: - What distinct event types have actually been recorded in one Application? - Which kinds of events has my integration been sending to this Application? instructions: - text: List the distinct event types recorded in Application {applicationId}. slots: applicationId: path.applicationId - text: Show which event types Application {applicationId} has received. slots: applicationId: path.applicationId method: generated generated: '2026-09-26'