Talon.One · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Talon One Campaigns API
13 actions
13 updates
phrasing
extends
openapi/talon-one-campaigns-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 13
$.info
$.paths['/v1/integration/campaigns'].get
$.paths['/v1/applications/{applicationId}/campaigns'].get
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}'].get
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}'].put
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}'].delete
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/copy'].post
$.paths['/v1/applications/{applicationId}/campaigns_search'].post
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets'].get
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId}'].get
$.paths['/v2/applications/{applicationId}/campaigns/{campaignId}/rulesets/{rulesetId}'].get
$.paths['/v1/applications/{applicationId}/campaigns/{campaignId}/analytics'].get
$.paths['/v1/applications/{applicationId}/campaign_analytics/export'].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 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'