Omnisend · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Products API

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

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/products'].get
$.paths['/products'].post
$.paths['/products/{productID}'].get
$.paths['/products/{productID}'].put
$.paths['/products/{productID}'].delete

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 Products API
  version: 1.0.0
extends: openapi/omnisend-products-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-02'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 5
- target: $.paths['/products'].get
  update:
    x-apievangelist-phrasing:
      intent: List products in the catalog
      effect: read
      questions:
      - Which products are in my synced catalog?
      - Can I sort and page through my product list?
      instructions:
      - text: List products sorted by {sort}.
        slots:
          sort: query.sort
      - text: List {limit} products starting at offset {offset}.
        slots:
          limit: query.limit
          offset: query.offset
      method: generated
      generated: '2026-10-02'
- target: $.paths['/products'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a product
      effect: write
      questions:
      - How do I add a new product with its variants and images?
      - 'What fields are required to create a product: ID, title, URL, currency, status?'
      instructions:
      - text: Create product {id} titled {title} at {url} in {currency} with status {status}.
        slots:
          id: requestBody.id
          title: requestBody.title
          url: requestBody.url
          currency: requestBody.currency
          status: requestBody.status
      - text: Add new product {id} called {title} with variants {variants}.
        slots:
          id: requestBody.id
          title: requestBody.title
          variants: requestBody.variants
      method: generated
      generated: '2026-10-02'
- target: $.paths['/products/{productID}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one product
      effect: read
      questions:
      - Can I fetch a single product by its ID?
      - What variants and images does a specific product have?
      instructions:
      - text: Get product {productID}.
        slots:
          productID: path.productID
      - text: Show the details and variants of product {productID}.
        slots:
          productID: path.productID
      method: generated
      generated: '2026-10-02'
- target: $.paths['/products/{productID}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a product
      effect: write
      questions:
      - Can I overwrite an existing product record with an updated title and variants?
      - Which fields must I resend when replacing a product that's already synced?
      instructions:
      - text: Replace product {productID} with new variants {variants}.
        slots:
          productID: path.productID
          variants: requestBody.variants
      - text: Overwrite existing product {productID} with title {title} and status {status}.
        slots:
          productID: path.productID
          title: requestBody.title
          status: requestBody.status
      method: generated
      generated: '2026-10-02'
- target: $.paths['/products/{productID}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a product
      effect: destructive
      questions:
      - Can I delete a product I no longer sell?
      - Is there a way to remove a product from my synced catalog?
      instructions:
      - text: Delete product {productID}.
        slots:
          productID: path.productID
      - text: Remove product {productID} from the catalog.
        slots:
          productID: path.productID
      method: generated
      generated: '2026-10-02'