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.
# 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'
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.