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.
View Overlay File View on GitHub Overlay Specification

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

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