Talon.One · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Talon One Customer profiles API

7 actions 7 updates phrasing extends openapi/talon-one-customer-profiles-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 7

$.info
$.paths['/v2/customer_profiles/{integrationId}'].put
$.paths['/v2/customer_profiles'].put
$.paths['/v1/customer_data/{integrationId}'].delete
$.paths['/v1/customer_profiles/{integrationId}/inventory'].get
$.paths['/api/v1/customer'].get
$.paths['/api/v1/customer-profile'].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 Talon One Customer profiles API
  version: 1.0.0
extends: openapi/talon-one-customer-profiles-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: 6
- target: $.paths['/v2/customer_profiles/{integrationId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update or create a customer profile
      effect: write
      questions:
      - How do I set custom attributes on a customer profile and get the triggered effects back?
      - Can I test a profile update as a dry run without saving it?
      - Is it possible to add a single customer to an audience while updating their profile?
      instructions:
      - text: Update customer profile {integrationId} with attributes {attributes}.
        slots:
          integrationId: path.integrationId
          attributes: requestBody.attributes
      - text: Dry-run an update of profile {integrationId} with dry set to {dry}.
        slots:
          integrationId: path.integrationId
          dry: query.dry
      - text: Apply audience changes {audiencesChanges} to customer {integrationId}.
        slots:
          audiencesChanges: requestBody.audiencesChanges
          integrationId: path.integrationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/customer_profiles'].put
  update:
    x-apievangelist-phrasing:
      intent: Update or create up to 1000 customer profiles
      effect: write
      questions:
      - Can I sync a batch of customer profiles in one request?
      - What's the maximum number of profiles per bulk update?
      instructions:
      - text: 'Bulk update these customer profiles: {customerProfiles}.'
        slots:
          customerProfiles: requestBody.customerProfiles
      - text: Upsert profiles {customerProfiles} silently with silent set to {silent}.
        slots:
          customerProfiles: requestBody.customerProfiles
          silent: query.silent
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customer_data/{integrationId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Erase a customer's personal data
      effect: destructive
      questions:
      - How do I handle a GDPR erasure request for a customer?
      - Is a customer's data deleted from every Application in the environment?
      instructions:
      - text: Delete all personal data for customer {integrationId}.
        slots:
          integrationId: path.integrationId
      - text: Erase the attributes of profile {integrationId} and everything referencing it.
        slots:
          integrationId: path.integrationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customer_profiles/{integrationId}/inventory'].get
  update:
    x-apievangelist-phrasing:
      intent: Get everything tied to a customer profile
      effect: read
      questions:
      - What coupons, referrals and loyalty points does a customer have?
      - Can I include a customer's giveaways and achievements in their inventory?
      instructions:
      - text: Show the inventory for customer {integrationId}.
        slots:
          integrationId: path.integrationId
      - text: List the reserved coupons and loyalty data of customer {integrationId}, with coupons {coupons} and loyalty {loyalty}.
        slots:
          integrationId: path.integrationId
          coupons: query.coupons
          loyalty: query.loyalty
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/customer'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch a Shopify customer's profile for a headless store
      effect: read
      questions:
      - How does a headless Shopify storefront load the shopper's promotion profile?
      - Where is the headless store customer profile saved in Shopify?
      instructions:
      - text: Fetch the customer data for headless Shopify store {X-Shopify-Shop-Domain}.
        slots:
          X-Shopify-Shop-Domain: header.X-Shopify-Shop-Domain
      - text: Load the logged-in customer's profile for headless shop {X-Shopify-Shop-Domain}.
        slots:
          X-Shopify-Shop-Domain: header.X-Shopify-Shop-Domain
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/customer-profile'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch a Shopify customer's profile for a theme store
      effect: read
      questions:
      - How does a theme-based Shopify store read the customer's loyalty and coupon data?
      - Is the theme store customer profile the same shape as the customer data listing?
      instructions:
      - text: Fetch the customer profile for my theme-based Shopify store.
      - text: Load the current shopper's data in a Shopify theme storefront.
      method: generated
      generated: '2026-09-26'