Talon.One · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Talon One Loyalty cards API

20 actions 20 updates phrasing extends openapi/talon-one-loyalty-cards-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 20 · first 16 shown; the file carries all of them

$.info
$.paths['/v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/link_profile'].post
$.paths['/v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/unlink_profile'].post
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances'].get
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transactions'].get
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points'].get
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards'].get
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards'].post
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/import_cards'].post
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/batch'].post
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/export_card_balances'].get
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/export'].get
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}'].get
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}'].put
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}'].delete
$.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/add_points'].put

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 Loyalty cards API
  version: 1.0.0
extends: openapi/talon-one-loyalty-cards-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: 19
- target: $.paths['/v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/link_profile'].post
  update:
    x-apievangelist-phrasing:
      intent: Link a customer profile to a loyalty card
      effect: write
      questions:
      - How do I register a physical loyalty card to a customer's account?
      - Can a shopper attach an anonymous loyalty card to their profile after signing up?
      instructions:
      - text: Link customer {integrationId} to loyalty card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          integrationId: requestBody.integrationId
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Register card {loyaltyCardId} to profile {integrationId} in card-based program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          integrationId: requestBody.integrationId
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/unlink_profile'].post
  update:
    x-apievangelist-phrasing:
      intent: Unlink a customer profile from a loyalty card
      effect: write
      questions:
      - How do I detach a customer from a loyalty card they no longer use?
      - Can I remove one profile from a card that's shared by several customers?
      instructions:
      - text: Unlink customer {integrationId} from loyalty card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          integrationId: requestBody.integrationId
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Detach profile {integrationId} from card {loyaltyCardId} of program {loyaltyProgramId}.
        slots:
          integrationId: requestBody.integrationId
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a loyalty card's point balances
      effect: read
      questions:
      - How many points are on a customer's loyalty card right now?
      - Can I check a card's balance in one subledger as of a past date?
      instructions:
      - text: Get the points balance of loyalty card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Show card {loyaltyCardId}'s balance in subledger {subledgerId} of program {loyaltyProgramId} as of {endDate}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          subledgerId: query.subledgerId
          loyaltyProgramId: path.loyaltyProgramId
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transactions'].get
  update:
    x-apievangelist-phrasing:
      intent: List a loyalty card's transactions in real time
      effect: read
      questions:
      - Where can my checkout app show the latest points earned and spent on a card, via the Integration API?
      - Can I see only a card's redemption transactions within a date range?
      instructions:
      - text: List the real-time transactions on loyalty card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Show Integration API {loyaltyTransactionType} transactions for card {loyaltyCardId} in program {loyaltyProgramId} since {startDate}.
        slots:
          loyaltyTransactionType: query.loyaltyTransactionType
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
          startDate: query.startDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points'].get
  update:
    x-apievangelist-phrasing:
      intent: List a loyalty card's unused points
      effect: read
      questions:
      - Which point batches on a loyalty card are still unspent, and when do they expire?
      - Can I list only the pending points on a card?
      instructions:
      - text: List the unused points on loyalty card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Show card {loyaltyCardId}'s unspent points with status {status} in program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          status: query.status
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards'].get
  update:
    x-apievangelist-phrasing:
      intent: List loyalty cards in a program
      effect: read
      questions:
      - Which loyalty cards have been issued in my card-based program?
      - Can I find all cards belonging to one batch or linked to one customer profile?
      instructions:
      - text: List the loyalty cards in program {loyaltyProgramId}.
        slots:
          loyaltyProgramId: path.loyaltyProgramId
      - text: Find cards in program {loyaltyProgramId} from batch {batchId}.
        slots:
          loyaltyProgramId: path.loyaltyProgramId
          batchId: query.batchId
      - text: Search program {loyaltyProgramId} for a card whose identifier contains {identifier}.
        slots:
          loyaltyProgramId: path.loyaltyProgramId
          identifier: query.identifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a single loyalty card
      effect: write
      questions:
      - How do I issue one new loyalty card on demand when a customer signs up in store?
      - Can a newly generated card be linked to customer profiles right away?
      instructions:
      - text: Generate one new loyalty card in program {loyaltyProgramId}.
        slots:
          loyaltyProgramId: path.loyaltyProgramId
      - text: Generate a card in program {loyaltyProgramId} linked to customers {customerProfileIds}.
        slots:
          loyaltyProgramId: path.loyaltyProgramId
          customerProfileIds: requestBody.customerProfileIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/import_cards'].post
  update:
    x-apievangelist-phrasing:
      intent: Import loyalty cards from a CSV file
      effect: write
      questions:
      - How do I bring my existing physical card numbers into a card-based program?
      - What columns does the loyalty card import file need?
      instructions:
      - text: Import the loyalty cards in {upFile} into program {loyaltyProgramId}.
        slots:
          upFile: requestBody.upFile
          loyaltyProgramId: path.loyaltyProgramId
      - text: Upload card CSV {upFile} to card-based program {loyaltyProgramId}.
        slots:
          upFile: requestBody.upFile
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a batch of loyalty cards
      effect: write
      questions:
      - Can I mint thousands of loyalty card codes at once for a print run?
      - How do I control the code format when creating cards in bulk?
      instructions:
      - text: Create {numberOfCards} loyalty cards in program {loyaltyProgramId}.
        slots:
          numberOfCards: requestBody.numberOfCards
          loyaltyProgramId: path.loyaltyProgramId
      - text: Create a batch {batchId} of {numberOfCards} cards in program {loyaltyProgramId}.
        slots:
          batchId: requestBody.batchId
          numberOfCards: requestBody.numberOfCards
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/export_card_balances'].get
  update:
    x-apievangelist-phrasing:
      intent: Export balances of all loyalty cards to CSV
      effect: read
      questions:
      - How do I get a spreadsheet of every card's points balance in a program?
      - Can I export all card balances as of a specific end date?
      instructions:
      - text: Export the balances of every card in loyalty program {loyaltyProgramId}.
        slots:
          loyaltyProgramId: path.loyaltyProgramId
      - text: Download card balances for program {loyaltyProgramId} as of {endDate}.
        slots:
          loyaltyProgramId: path.loyaltyProgramId
          endDate: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/export'].get
  update:
    x-apievangelist-phrasing:
      intent: Export loyalty cards to CSV
      effect: read
      questions:
      - Can I download the list of cards issued in a program, including who they're linked to?
      - What cards were created in a given batch or date window?
      instructions:
      - text: Export the loyalty cards of program {loyaltyProgramId} to CSV.
        slots:
          loyaltyProgramId: path.loyaltyProgramId
      - text: Export cards from batch {batchId} in program {loyaltyProgramId} created after {createdAfter}.
        slots:
          batchId: query.batchId
          loyaltyProgramId: path.loyaltyProgramId
          createdAfter: query.createdAfter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a loyalty card
      effect: read
      questions:
      - What are the status and linked profiles of a specific loyalty card?
      - Can I look up one card by its ID to see its details?
      instructions:
      - text: Get loyalty card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Show the details of card {loyaltyCardId} from loyalty program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Activate or deactivate a loyalty card
      effect: write
      questions:
      - How do I deactivate a customer's loyalty card temporarily?
      - Can I switch an inactive card back to active?
      instructions:
      - text: Set loyalty card {loyaltyCardId} in program {loyaltyProgramId} to status {status}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
          status: requestBody.status
      - text: Deactivate card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a loyalty card
      effect: destructive
      questions:
      - How do I permanently remove a loyalty card from a program?
      - Can I delete a card that was issued by mistake?
      instructions:
      - text: Delete loyalty card {loyaltyCardId} from program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Permanently remove card {loyaltyCardId} in loyalty program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/add_points'].put
  update:
    x-apievangelist-phrasing:
      intent: Add loyalty points to a card
      effect: write
      questions:
      - How do I top up points on a loyalty card manually?
      - Can points I add to a card be set to expire on a certain date?
      instructions:
      - text: Add {points} points to loyalty card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          points: requestBody.points
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Credit card {loyaltyCardId} with {points} points in program {loyaltyProgramId}, valid until {validUntil}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          points: requestBody.points
          loyaltyProgramId: path.loyaltyProgramId
          validUntil: requestBody.validUntil
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/deduct_points'].put
  update:
    x-apievangelist-phrasing:
      intent: Deduct loyalty points from a card
      effect: write
      questions:
      - How do I remove points from a loyalty card after a refund?
      - Can I deduct card points from a specific subledger?
      instructions:
      - text: Deduct {points} points from loyalty card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          points: requestBody.points
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Take {points} points off card {loyaltyCardId} in subledger {subledgerId} of program {loyaltyProgramId}.
        slots:
          points: requestBody.points
          loyaltyCardId: path.loyaltyCardId
          subledgerId: requestBody.subledgerId
          loyaltyProgramId: path.loyaltyProgramId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/export_log'].get
  update:
    x-apievangelist-phrasing:
      intent: Export a loyalty card's ledger log to CSV
      effect: read
      questions:
      - Can I download one card's points history as a CSV for a date range?
      - What date format options are there when exporting a card's ledger?
      instructions:
      - text: Export the ledger of card {loyaltyCardId} in program {loyaltyProgramId} from {rangeStart} to {rangeEnd}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
          rangeStart: query.rangeStart
          rangeEnd: query.rangeEnd
      - text: Download card {loyaltyCardId}'s ledger CSV for program {loyaltyProgramId} between {rangeStart} and {rangeEnd} in {dateFormat} format.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
          rangeStart: query.rangeStart
          rangeEnd: query.rangeEnd
          dateFormat: query.dateFormat
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/logs'].get
  update:
    x-apievangelist-phrasing:
      intent: List a loyalty card's transactions for back-office use
      effect: read
      questions:
      - Is there a Management API way for support staff to review a card's transaction logs?
      - Can a back-office tool page through a card's transactions for specific sessions?
      instructions:
      - text: Using the Management API, list the transaction logs of card {loyaltyCardId} in program {loyaltyProgramId}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
      - text: Show back-office logs for card {loyaltyCardId} in program {loyaltyProgramId} for sessions {customerSessionIDs}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
          customerSessionIDs: query.customerSessionIDs
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transfer'].put
  update:
    x-apievangelist-phrasing:
      intent: Transfer a loyalty card's data to a new card
      effect: destructive
      questions:
      - A customer lost their card; how do I move their points and linked profiles onto a replacement?
      - Does transferring card data block the original card?
      instructions:
      - text: Transfer card {loyaltyCardId} in program {loyaltyProgramId} to new card {newCardIdentifier}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          loyaltyProgramId: path.loyaltyProgramId
          newCardIdentifier: requestBody.newCardIdentifier
      - text: Replace lost card {loyaltyCardId} with {newCardIdentifier} in program {loyaltyProgramId}, blocking it for reason {blockReason}.
        slots:
          loyaltyCardId: path.loyaltyCardId
          newCardIdentifier: requestBody.newCardIdentifier
          loyaltyProgramId: path.loyaltyProgramId
          blockReason: requestBody.blockReason
      method: generated
      generated: '2026-09-26'