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.
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
# 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'