Talon.One · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Management Customer data API
15 actions
15 updates
phrasing
extends
openapi/talon-one-customer-data-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Talon.One's API. It is a proposal applied on top of the contract, not a document Talon.One publishes.
What the actions change
x-apievangelist-phrasing
Targets 15
$.info
$.paths['/v1/applications/{applicationId}/customers'].get
$.paths['/v1/applications/{applicationId}/customer_search'].post
$.paths['/v1/customer_search/no_total'].post
$.paths['/v1/customers/{customerId}'].get
$.paths['/v1/customers/no_total'].get
$.paths['/v1/applications/{applicationId}/customers/{customerId}'].get
$.paths['/v1/applications/{applicationId}/customer_activity_reports/no_total'].get
$.paths['/v1/applications/{applicationId}/customer_activity_reports/{customerId}'].get
$.paths['/v1/applications/{applicationId}/customers/{customerId}/analytics'].get
$.paths['/v1/applications/{applicationId}/sessions'].get
$.paths['/v1/applications/{applicationId}/sessions_search'].post
$.paths['/v1/applications/{applicationId}/sessions/{sessionId}'].get
$.paths['/v1/applications/{applicationId}/events/no_total'].get
$.paths['/v1/applications/{applicationId}/event_types'].get
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 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'