# 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 Campaigns API version: 1.0.0 extends: openapi/talon-one-campaigns-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: 12 - target: $.paths['/v1/integration/campaigns'].get update: x-apievangelist-phrasing: intent: List running campaigns for an integration effect: read questions: - Which promotions are live right now that my storefront should know about? - Can my integration list running campaigns for a specific store or audience? instructions: - text: List the campaigns currently running for my integration. - text: Show running campaigns for store {storeId} that start after {startAfter}. slots: storeId: query.storeId startAfter: query.startAfter method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns'].get update: x-apievangelist-phrasing: intent: List campaigns in an Application effect: read questions: - What campaigns does my Application have, including disabled and expired ones? - Can I filter campaigns by tag, state, or the template they came from? - Which campaigns in an Application end before a certain date? instructions: - text: List the campaigns in Application {applicationId}. slots: applicationId: path.applicationId - text: Show {campaignState} campaigns in Application {applicationId} tagged {tags}. slots: campaignState: query.campaignState applicationId: path.applicationId tags: query.tags - text: List campaigns in Application {applicationId} created from template {templateId}. slots: applicationId: path.applicationId templateId: query.templateId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}'].get update: x-apievangelist-phrasing: intent: Get a campaign effect: read questions: - What are the settings, dates and limits of a particular campaign? - Can I fetch one campaign's configuration by its ID? instructions: - text: Get campaign {campaignId} in Application {applicationId}. slots: campaignId: path.campaignId applicationId: path.applicationId - text: Show the configuration of campaign {campaignId} from Application {applicationId}. slots: campaignId: path.campaignId applicationId: path.applicationId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}'].put update: x-apievangelist-phrasing: intent: Update a campaign effect: write questions: - How do I change a campaign's end date or disable it? - Can I edit a campaign when campaign staging and revisions is turned on? instructions: - text: Set campaign {campaignId} in Application {applicationId} to state {state}. slots: campaignId: path.campaignId applicationId: path.applicationId state: requestBody.state - text: Change the end time of campaign {campaignId} in Application {applicationId} to {endTime}. slots: campaignId: path.campaignId applicationId: path.applicationId endTime: requestBody.endTime method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}'].delete update: x-apievangelist-phrasing: intent: Delete a campaign effect: destructive questions: - How do I permanently delete a campaign I no longer need? - Can I remove a test campaign from an Application? instructions: - text: Delete campaign {campaignId} from Application {applicationId}. slots: campaignId: path.campaignId applicationId: path.applicationId - text: Permanently remove campaign {campaignId} in Application {applicationId}. slots: campaignId: path.campaignId applicationId: path.applicationId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/copy'].post update: x-apievangelist-phrasing: intent: Copy a campaign into other Applications effect: write questions: - How do I reuse the same campaign in another Application or region? - Can I rename a campaign or change its dates when copying it? instructions: - text: Copy campaign {campaignId} from Application {applicationId} into Applications {applicationIds}. slots: campaignId: path.campaignId applicationId: path.applicationId applicationIds: requestBody.applicationIds - text: Duplicate campaign {campaignId} of Application {applicationId} into {applicationIds} under the name {name}. slots: campaignId: path.campaignId applicationId: path.applicationId applicationIds: requestBody.applicationIds name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns_search'].post update: x-apievangelist-phrasing: intent: Search campaigns by custom attributes effect: read questions: - Which campaigns have a specific custom attribute value, like a region or budget owner? - Can I search only enabled campaigns by their attributes? instructions: - text: Find campaigns in Application {applicationId} matching attributes {attributes}. slots: applicationId: path.applicationId attributes: requestBody.attributes - text: Search {campaignState} campaigns in Application {applicationId} with attributes {attributes}. slots: campaignState: query.campaignState applicationId: path.applicationId attributes: requestBody.attributes method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets'].get update: x-apievangelist-phrasing: intent: List a campaign's ruleset revisions effect: read questions: - What revisions have a campaign's rules gone through? - Why does the rulesets list include deleted rules? instructions: - text: List all ruleset revisions of campaign {campaignId} in Application {applicationId}. slots: campaignId: path.campaignId applicationId: path.applicationId - text: Show the rule history for campaign {campaignId}, Application {applicationId}. slots: campaignId: path.campaignId applicationId: path.applicationId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId}'].get update: x-apievangelist-phrasing: intent: Get a campaign ruleset (v1) effect: read questions: - What rules does one specific ruleset revision contain, using the original v1 endpoint? - Can I fetch a single ruleset by ID through the older version of the API? instructions: - text: Get ruleset {rulesetId} of campaign {campaignId} in Application {applicationId} using the v1 endpoint. slots: rulesetId: path.rulesetId campaignId: path.campaignId applicationId: path.applicationId - text: Show v1 ruleset {rulesetId} for campaign {campaignId}, Application {applicationId}. slots: rulesetId: path.rulesetId campaignId: path.campaignId applicationId: path.applicationId method: generated generated: '2026-09-26' - target: $.paths['/v2/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId}'].get update: x-apievangelist-phrasing: intent: Get a campaign ruleset as JSON (v2) effect: read questions: - Can I get a campaign's ruleset as a plain JSON object from the v2 endpoint? - Which ruleset endpoint returns the rules in the newer v2 JSON format? instructions: - text: Get ruleset {rulesetId} of campaign {campaignId} in Application {applicationId} as v2 JSON. slots: rulesetId: path.rulesetId campaignId: path.campaignId applicationId: path.applicationId - text: Fetch the v2 JSON of ruleset {rulesetId} for campaign {campaignId}, Application {applicationId}. slots: rulesetId: path.rulesetId campaignId: path.campaignId applicationId: path.applicationId method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/analytics'].get update: x-apievangelist-phrasing: intent: Get a campaign's performance analytics effect: read questions: - How did one campaign perform last month in revenue and discounts given? - Can I see a campaign's analytics broken down by day? instructions: - text: Get analytics for campaign {campaignId} in Application {applicationId} from {rangeStart} to {rangeEnd}. slots: campaignId: path.campaignId applicationId: path.applicationId rangeStart: query.rangeStart rangeEnd: query.rangeEnd - text: Show campaign {campaignId}'s performance in Application {applicationId} between {rangeStart} and {rangeEnd} at {granularity} granularity. slots: campaignId: path.campaignId applicationId: path.applicationId rangeStart: query.rangeStart rangeEnd: query.rangeEnd granularity: query.granularity method: generated generated: '2026-09-26' - target: $.paths['/v1/applications/{applicationId}/campaign_analytics/export'].get update: x-apievangelist-phrasing: intent: Export campaign analytics for an Application to CSV effect: read questions: - Can I download a spreadsheet comparing all campaigns' results in an Application? - How do I export analytics for only a few selected campaigns? instructions: - text: Export per-campaign analytics for Application {applicationId} from {rangeStart} to {rangeEnd}. slots: applicationId: path.applicationId rangeStart: query.rangeStart rangeEnd: query.rangeEnd - text: Download a CSV of analytics for campaigns {campaignIds} in Application {applicationId} between {rangeStart} and {rangeEnd}. slots: campaignIds: query.campaignIds applicationId: path.applicationId rangeStart: query.rangeStart rangeEnd: query.rangeEnd method: generated generated: '2026-09-26'