Talon.One · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Talon One Achievements API
16 actions
16 updates
phrasing
extends
openapi/talon-one-achievements-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 16
$.info
$.paths['/v1/customer_profiles/{integrationId}/achievements'].get
$.paths['/v1/customer_profiles/{integrationId}/achievements/{achievementId}'].get
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements'].get
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements'].post
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}'].get
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}'].put
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}'].delete
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}/export'].get
$.paths['/v2/achievements'].get
$.paths['/v2/achievements'].post
$.paths['/v2/achievements/{achievementId}'].get
$.paths['/v2/achievements/{achievementId}'].put
$.paths['/v2/achievements/{achievementId}'].delete
$.paths['/v2/achievements/{achievementId}/export'].get
$.paths['/v1/applications/{applicationId}/achievement_progress/{integrationId}'].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 Talon One Achievements API
version: 1.0.0
extends: openapi/talon-one-achievements-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: 15
- target: $.paths['/v1/customer_profiles/{integrationId}/achievements'].get
update:
x-apievangelist-phrasing:
intent: List achievements available to a customer
effect: read
questions:
- Which achievements can a given customer work toward, and how far along are they?
- Can I show a shopper only the achievements they are still in progress on?
instructions:
- text: List the achievements available to customer {integrationId} with their progress.
slots:
integrationId: path.integrationId
- text: Show customer {integrationId}'s achievements whose current progress status is {currentProgressStatus}.
slots:
integrationId: path.integrationId
currentProgressStatus: query.currentProgressStatus
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/customer_profiles/{integrationId}/achievements/{achievementId}'].get
update:
x-apievangelist-phrasing:
intent: Get a customer's progress history in one achievement
effect: read
questions:
- How has a customer progressed through one achievement over time?
- Can I see a customer's completed attempts at a recurring achievement between two dates?
instructions:
- text: Show customer {integrationId}'s progress history for achievement {achievementId}.
slots:
integrationId: path.integrationId
achievementId: path.achievementId
- text: List customer {integrationId}'s history in achievement {achievementId} from {startDate} to {endDate}.
slots:
integrationId: path.integrationId
achievementId: path.achievementId
startDate: query.startDate
endDate: query.endDate
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements'].get
update:
x-apievangelist-phrasing:
intent: List a campaign's achievements
effect: read
questions:
- Which achievements are set up inside a specific campaign?
- Can I filter a campaign's achievements by title?
instructions:
- text: List the achievements in campaign {campaignId} of application {applicationId}.
slots:
campaignId: path.campaignId
applicationId: path.applicationId
- text: Find campaign achievements titled {title} in campaign {campaignId}, application {applicationId}.
slots:
title: query.title
campaignId: path.campaignId
applicationId: path.applicationId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements'].post
update:
x-apievangelist-phrasing:
intent: Create an achievement inside a campaign
effect: write
questions:
- How do I add a campaign-level achievement like spend 100 in 30 days?
- Can a campaign achievement recur after the customer completes it?
instructions:
- text: Create achievement {title} with target {target} in campaign {campaignId} of application {applicationId}.
slots:
title: requestBody.title
target: requestBody.target
campaignId: path.campaignId
applicationId: path.applicationId
- text: Add a campaign achievement {name} over period {period} to campaign {campaignId}, application {applicationId}.
slots:
name: requestBody.name
period: requestBody.period
campaignId: path.campaignId
applicationId: path.applicationId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}'].get
update:
x-apievangelist-phrasing:
intent: Get one achievement in a campaign
effect: read
questions:
- What target and period does a particular campaign achievement use?
- Where can I see the settings of an achievement that lives in a campaign?
instructions:
- text: Get achievement {achievementId} from campaign {campaignId} in application {applicationId}.
slots:
achievementId: path.achievementId
campaignId: path.campaignId
applicationId: path.applicationId
- text: Show the settings of campaign achievement {achievementId} (campaign {campaignId}, application {applicationId}).
slots:
achievementId: path.achievementId
campaignId: path.campaignId
applicationId: path.applicationId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}'].put
update:
x-apievangelist-phrasing:
intent: Update an achievement inside a campaign
effect: write
questions:
- Can I change the target of an achievement that belongs to a campaign?
- Is it possible to move the end date of a campaign achievement?
instructions:
- text: Change the target of campaign achievement {achievementId} in campaign {campaignId}, application {applicationId}, to {target}.
slots:
achievementId: path.achievementId
campaignId: path.campaignId
applicationId: path.applicationId
target: requestBody.target
- text: Set the end date of achievement {achievementId} in campaign {campaignId} of application {applicationId} to {endDate}.
slots:
achievementId: path.achievementId
campaignId: path.campaignId
applicationId: path.applicationId
endDate: requestBody.endDate
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an achievement from a campaign
effect: destructive
questions:
- How do I remove an achievement from a campaign?
- Can I delete a campaign achievement customers are already progressing in?
instructions:
- text: Delete achievement {achievementId} from campaign {campaignId} in application {applicationId}.
slots:
achievementId: path.achievementId
campaignId: path.campaignId
applicationId: path.applicationId
- text: Remove campaign achievement {achievementId} (campaign {campaignId}, application {applicationId}).
slots:
achievementId: path.achievementId
campaignId: path.campaignId
applicationId: path.applicationId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/achievements/{achievementId}/export'].get
update:
x-apievangelist-phrasing:
intent: Export participants of a campaign achievement to CSV
effect: read
questions:
- Can I download a CSV of every customer participating in a campaign's achievement?
- What columns are in the campaign achievement participant export?
instructions:
- text: Export customer data for achievement {achievementId} in campaign {campaignId}, application {applicationId}.
slots:
achievementId: path.achievementId
campaignId: path.campaignId
applicationId: path.applicationId
- text: Download the participant CSV of campaign achievement {achievementId} (campaign {campaignId}, application {applicationId}).
slots:
achievementId: path.achievementId
campaignId: path.campaignId
applicationId: path.applicationId
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/achievements'].get
update:
x-apievangelist-phrasing:
intent: List account-level achievements
effect: read
questions:
- What achievements exist across my whole account?
- Can I narrow account-level achievements to those subscribed by one Application?
instructions:
- text: List all account-level achievements.
- text: Show account achievements used by application {applicationId}.
slots:
applicationId: query.applicationId
- text: Find account-level achievements titled {title}.
slots:
title: query.title
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/achievements'].post
update:
x-apievangelist-phrasing:
intent: Create an account-level achievement
effect: write
questions:
- How do I create an achievement shared by several Applications?
- Which time zone and sandbox settings does an account-level achievement need?
instructions:
- text: Create an account-level achievement {title} in time zone {timezone} with sandbox {sandbox}.
slots:
title: requestBody.title
timezone: requestBody.timezone
sandbox: requestBody.sandbox
- text: Create account achievement {name} for applications {subscribedApplications}, time zone {timezone}, sandbox {sandbox}.
slots:
name: requestBody.name
subscribedApplications: requestBody.subscribedApplications
timezone: requestBody.timezone
sandbox: requestBody.sandbox
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/achievements/{achievementId}'].get
update:
x-apievangelist-phrasing:
intent: Get an account-level achievement
effect: read
questions:
- Which Applications subscribe to an account-level achievement?
- Where do I read the details of an achievement by its ID alone?
instructions:
- text: Get account-level achievement {achievementId}.
slots:
achievementId: path.achievementId
- text: Show which applications subscribe to achievement {achievementId}.
slots:
achievementId: path.achievementId
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/achievements/{achievementId}'].put
update:
x-apievangelist-phrasing:
intent: Update an account-level achievement
effect: write
questions:
- Can I subscribe more Applications to an existing account-level achievement?
- Is it possible to change the target of an account-wide achievement?
instructions:
- text: Subscribe applications {subscribedApplications} to account achievement {achievementId}.
slots:
subscribedApplications: requestBody.subscribedApplications
achievementId: path.achievementId
- text: Update the target of account-level achievement {achievementId} to {target}.
slots:
achievementId: path.achievementId
target: requestBody.target
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/achievements/{achievementId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an account-level achievement
effect: destructive
questions:
- How do I delete an achievement that isn't tied to a single campaign?
- Can I remove an account-wide achievement by ID?
instructions:
- text: Delete account-level achievement {achievementId}.
slots:
achievementId: path.achievementId
- text: Remove the account-wide achievement {achievementId}.
slots:
achievementId: path.achievementId
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/achievements/{achievementId}/export'].get
update:
x-apievangelist-phrasing:
intent: Export participants of an account achievement to CSV
effect: read
questions:
- Can I download everyone taking part in an account-level achievement?
- Is there a CSV export for account-wide achievement participants?
instructions:
- text: Export the participant CSV for account-level achievement {achievementId}.
slots:
achievementId: path.achievementId
- text: Download customer progress data for account achievement {achievementId}.
slots:
achievementId: path.achievementId
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/applications/{applicationId}/achievement_progress/{integrationId}'].get
update:
x-apievangelist-phrasing:
intent: List a customer's achievement progress in an Application
effect: read
questions:
- What achievements has a customer made progress on within one Application?
- Can I check a customer's progress for a single achievement from the management side?
instructions:
- text: List achievement progress for customer {integrationId} in application {applicationId}.
slots:
integrationId: path.integrationId
applicationId: path.applicationId
- text: Show customer {integrationId}'s progress on achievement {achievementId} in application {applicationId}.
slots:
integrationId: path.integrationId
achievementId: query.achievementId
applicationId: path.applicationId
method: generated
generated: '2026-09-26'