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.
View Overlay File View on GitHub Overlay Specification

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

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