# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Impact Catalogs API version: 1.0.0 extends: openapi/impact-catalogs-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: 9 - target: $.paths['/Advertisers/{AccountSID}/Catalogs'].get update: x-apievangelist-phrasing: intent: List a brand's product catalogs effect: read questions: - Which product catalogs does my brand have on impact.com? - Can I filter my own catalogs by campaign or status? instructions: - text: List every product catalog in brand account {sid}. slots: sid: path.AccountSID - text: Show my brand catalogs with status {status}. slots: status: query.Status method: generated generated: '2026-09-26' - target: $.paths['/Advertisers/{AccountSID}/Catalogs/{CatalogId}'].get update: x-apievangelist-phrasing: intent: Get a brand catalog's details effect: read questions: - What settings does one of my brand's catalogs have? - Can I look up a catalog I own by its ID? instructions: - text: Get details of brand catalog {cat} in account {sid}. slots: sid: path.AccountSID cat: path.CatalogId - text: Show the setup of my advertiser catalog {cat}. slots: cat: path.CatalogId method: generated generated: '2026-09-26' - target: $.paths['/Advertisers/{AccountSID}/Catalogs/{CatalogId}'].put update: x-apievangelist-phrasing: intent: Update a catalog's pull-from-URL settings effect: write questions: - How do I make a catalog sync automatically from a remote file URL? - Can I change where a catalog pulls its data from? instructions: - text: Set catalog {cat} in account {sid} to upload type {type} with pull settings {settings}. slots: sid: path.AccountSID cat: path.CatalogId type: requestBody.uploadType settings: requestBody.pullFromUrlSettings - text: Switch catalog {cat}'s pull-from-URL configuration to {settings}. slots: cat: path.CatalogId settings: requestBody.pullFromUrlSettings method: generated generated: '2026-09-26' - target: $.paths['/Advertisers/{AccountSID}/Catalogs/{CatalogId}/Upload'].post update: x-apievangelist-phrasing: intent: Upload a full catalog file effect: write questions: - Can I replace an entire product catalog by uploading one file? - How do I avoid updating catalog items one record at a time? instructions: - text: Upload file {file} to overwrite catalog {cat} in account {sid}. slots: sid: path.AccountSID cat: path.CatalogId file: requestBody.data - text: Replace all items in catalog {cat} with a new catalog file. slots: cat: path.CatalogId method: generated generated: '2026-09-26' - target: $.paths['/Mediapartners/{AccountSID}/Catalogs'].get update: x-apievangelist-phrasing: intent: List catalogs available to a partner effect: read questions: - What product catalogs can I access as a partner? - Can a partner see only the catalogs for one campaign? instructions: - text: List catalogs available to partner account {sid}. slots: sid: path.AccountSID - text: Show partner-accessible catalogs for campaign {campaign}. slots: campaign: query.CampaignId method: generated generated: '2026-09-26' - target: $.paths['/Mediapartners/{AccountSID}/Catalogs/{Id}'].get update: x-apievangelist-phrasing: intent: Retrieve a catalog as a partner effect: read questions: - What details can a partner see about a brand's catalog? - Where do I look up a single catalog I have access to? instructions: - text: Retrieve catalog {id} for partner account {sid}. slots: sid: path.AccountSID id: path.Id - text: Show me the partner view of catalog {id}. slots: id: path.Id method: generated generated: '2026-09-26' - target: $.paths['/Mediapartners/{AccountSID}/Catalogs/{CatalogId}/Items'].get update: x-apievangelist-phrasing: intent: List the items in one catalog effect: read questions: - What products are in a particular catalog? - Can I query the items inside one catalog? instructions: - text: List items in catalog {cat} for account {sid}. slots: sid: path.AccountSID cat: path.CatalogId - text: Show catalog {cat} items matching query {q}. slots: cat: path.CatalogId q: query.Query method: generated generated: '2026-09-26' - target: $.paths['/Mediapartners/{AccountSID}/Catalogs/{CatalogId}/Items/{Id}'].get update: x-apievangelist-phrasing: intent: Retrieve a single catalog item effect: read questions: - How do I get the details of one product in a catalog? - What information is available for a specific catalog item? instructions: - text: Retrieve item {id} from catalog {cat} in account {sid}. slots: sid: path.AccountSID cat: path.CatalogId id: path.Id - text: Show product {id} in catalog {cat}. slots: cat: path.CatalogId id: path.Id method: generated generated: '2026-09-26' - target: $.paths['/Mediapartners/{AccountSID}/Catalogs/ItemSearch'].get update: x-apievangelist-phrasing: intent: Search items across all catalogs effect: read questions: - Can I search every catalog at once for a product keyword? - Which products across all my available catalogs mention a given term? instructions: - text: Search all catalogs in account {sid} for {keyword}. slots: sid: path.AccountSID keyword: query.Keyword - text: Find catalog products matching {keyword}, {size} per page. slots: keyword: query.Keyword size: query.PageSize method: generated generated: '2026-09-26'