Impact · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Impact Catalogs API

10 actions 10 updates phrasing extends openapi/impact-catalogs-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Impact's API. It is a proposal applied on top of the contract, not a document Impact publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/Advertisers/{AccountSID}/Catalogs'].get
$.paths['/Advertisers/{AccountSID}/Catalogs/{CatalogId}'].get
$.paths['/Advertisers/{AccountSID}/Catalogs/{CatalogId}'].put
$.paths['/Advertisers/{AccountSID}/Catalogs/{CatalogId}/Upload'].post
$.paths['/Mediapartners/{AccountSID}/Catalogs'].get
$.paths['/Mediapartners/{AccountSID}/Catalogs/{Id}'].get
$.paths['/Mediapartners/{AccountSID}/Catalogs/{CatalogId}/Items'].get
$.paths['/Mediapartners/{AccountSID}/Catalogs/{CatalogId}/Items/{Id}'].get
$.paths['/Mediapartners/{AccountSID}/Catalogs/ItemSearch'].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 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'