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