Iterable · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Iterable Catalogs API

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

What the actions change

x-apievangelist-phrasing

Targets 18 · first 16 shown; the file carries all of them

$.info
$.paths['/api/catalogs'].get
$.paths['/api/catalogs/{catalogName}'].post
$.paths['/api/catalogs/{catalogName}'].delete
$.paths['/api/catalogs/{catalogName}/fieldMappings'].get
$.paths['/api/catalogs/{catalogName}/fieldMappings'].put
$.paths['/api/catalogs/{catalogName}/items'].get
$.paths['/api/catalogs/{catalogName}/items'].post
$.paths['/api/catalogs/{catalogName}/items'].delete
$.paths['/api/catalogs/{catalogName}/items/{itemId}'].get
$.paths['/api/catalogs/{catalogName}/items/{itemId}'].put
$.paths['/api/catalogs/{catalogName}/items/{itemId}'].delete
$.paths['/api/catalogs/{catalogName}/items/{itemId}'].patch
$.paths['/catalogs/{catalogName}'].get
$.paths['/catalogs/{catalogName}'].delete
$.paths['/catalogs/{catalogName}/items'].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 Iterable Catalogs API
  version: 1.0.0
extends: openapi/iterable-catalogs-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 17
- target: $.paths['/api/catalogs'].get
  update:
    x-apievangelist-phrasing:
      intent: List catalog names
      effect: read
      questions:
      - What catalogs exist in my Iterable project?
      - Can I page through catalog names if I have a lot of them?
      instructions:
      - text: List my catalog names.
      - text: Show catalog names, page {page} with {pageSize} per page.
        slots:
          page: query.page
          pageSize: query.pageSize
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new catalog
      effect: write
      questions:
      - How do I create a catalog for product data?
      - What naming rules apply to a new catalog's name?
      instructions:
      - text: Create a catalog named {catalogName}.
        slots:
          catalogName: path.catalogName
      - text: Set up a new empty catalog called {catalogName}.
        slots:
          catalogName: path.catalogName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a catalog and its collections
      effect: destructive
      questions:
      - Does deleting a catalog also remove the collections that reference it?
      - Can I remove a catalog through the /api/catalogs endpoint?
      instructions:
      - text: Delete catalog {catalogName} and every collection that references it.
        slots:
          catalogName: path.catalogName
      - text: Remove catalog {catalogName} via /api/catalogs.
        slots:
          catalogName: path.catalogName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/fieldMappings'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a catalog's field data types
      effect: read
      questions:
      - Which data types are mapped to the fields in my catalog?
      - Can I find catalog fields that don't have a type defined yet?
      instructions:
      - text: Show the field mappings for catalog {catalogName}.
        slots:
          catalogName: path.catalogName
      - text: List undefined fields in catalog {catalogName}.
        slots:
          catalogName: path.catalogName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/fieldMappings'].put
  update:
    x-apievangelist-phrasing:
      intent: Set data types for catalog fields
      effect: write
      questions:
      - Can I change a catalog field's data type after it has been set?
      - Which types can I assign to catalog fields, like date or geo_location?
      instructions:
      - text: Set field mappings {mappingsUpdates} on catalog {catalogName}.
        slots:
          mappingsUpdates: requestBody.mappingsUpdates
          catalogName: path.catalogName
      - text: Define data types for catalog {catalogName} fields as {mappingsUpdates}.
        slots:
          catalogName: path.catalogName
          mappingsUpdates: requestBody.mappingsUpdates
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/items'].get
  update:
    x-apievangelist-phrasing:
      intent: List catalog items with sorting
      effect: read
      questions:
      - Can I sort the items in a catalog by a field, ascending or descending?
      - What's the rate limit on listing catalog items under /api/catalogs?
      instructions:
      - text: List items in catalog {catalogName} ordered by {orderBy}.
        slots:
          catalogName: path.catalogName
          orderBy: query.orderBy
      - text: Show catalog {catalogName} items page {page}, sorted ascending {sortAscending}.
        slots:
          catalogName: path.catalogName
          page: query.page
          sortAscending: query.sortAscending
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/items'].post
  update:
    x-apievangelist-phrasing:
      intent: Bulk create catalog items
      effect: write
      questions:
      - How many catalog items can I create in one request?
      - Can I bulk upload items and replace only the fields I send?
      instructions:
      - text: Bulk create items {documents} in catalog {catalogName}.
        slots:
          documents: requestBody.documents
          catalogName: path.catalogName
      - text: Upload items {documents} to catalog {catalogName} with replace-uploaded-fields-only set to {replaceUploadedFieldsOnly}.
        slots:
          documents: requestBody.documents
          catalogName: path.catalogName
          replaceUploadedFieldsOnly: requestBody.replaceUploadedFieldsOnly
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/items'].delete
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete catalog items
      effect: destructive
      questions:
      - Can I delete many catalog items at once by their IDs?
      - Is bulk deletion of catalog items processed asynchronously?
      instructions:
      - text: Delete items {itemIds} from catalog {catalogName}.
        slots:
          itemIds: requestBody.itemIds
          catalogName: path.catalogName
      - text: Bulk remove catalog {catalogName} items {itemIds}.
        slots:
          catalogName: path.catalogName
          itemIds: requestBody.itemIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/items/{itemId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a single catalog item
      effect: read
      questions:
      - How do I look up one product in a catalog by its item ID?
      - What fields does a single catalog item return?
      instructions:
      - text: Get item {itemId} from catalog {catalogName}.
        slots:
          itemId: path.itemId
          catalogName: path.catalogName
      - text: Show catalog {catalogName} item {itemId}.
        slots:
          catalogName: path.catalogName
          itemId: path.itemId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/items/{itemId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace a catalog item
      effect: write
      questions:
      - Can I fully overwrite a catalog item rather than merging fields under /api/catalogs?
      - What characters are allowed in a catalog item ID when replacing it?
      instructions:
      - text: Replace item {itemId} in catalog {catalogName} with {value}.
        slots:
          itemId: path.itemId
          catalogName: path.catalogName
          value: requestBody.value
      - text: Overwrite /api catalog {catalogName} item {itemId} entirely using {value}.
        slots:
          catalogName: path.catalogName
          itemId: path.itemId
          value: requestBody.value
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/items/{itemId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one catalog item asynchronously
      effect: destructive
      questions:
      - Is a deleted catalog item removed immediately or eventually?
      - Can I delete a single item through the /api/catalogs items path?
      instructions:
      - text: Delete item {itemId} from catalog {catalogName} via /api/catalogs.
        slots:
          itemId: path.itemId
          catalogName: path.catalogName
      - text: Asynchronously remove item {itemId} in catalog {catalogName}.
        slots:
          itemId: path.itemId
          catalogName: path.catalogName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/catalogs/{catalogName}/items/{itemId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Create or partially update a catalog item
      effect: write
      questions:
      - Can I update just a few fields of a catalog item without replacing it?
      - Will a partial update create the catalog item if it doesn't exist?
      instructions:
      - text: Update fields {update} on item {itemId} in catalog {catalogName}.
        slots:
          update: requestBody.update
          itemId: path.itemId
          catalogName: path.catalogName
      - text: Merge {update} into catalog {catalogName} item {itemId}, creating it if missing.
        slots:
          update: requestBody.update
          catalogName: path.catalogName
          itemId: path.itemId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/catalogs/{catalogName}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a catalog's definition
      effect: read
      questions:
      - Can I fetch a catalog by name with its field definitions and metadata?
      - What metadata is stored on a catalog itself?
      instructions:
      - text: Get catalog {catalogName} with its field definitions.
        slots:
          catalogName: path.catalogName
      - text: Show the metadata for catalog {catalogName}.
        slots:
          catalogName: path.catalogName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/catalogs/{catalogName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a catalog and all its items
      effect: destructive
      questions:
      - Does deleting a catalog through the plain /catalogs path remove all of its items?
      - What gets wiped when I delete a catalog using the simple endpoint?
      instructions:
      - text: Delete catalog {catalogName} and all its items using /catalogs.
        slots:
          catalogName: path.catalogName
      - text: Wipe catalog {catalogName} with the simple delete endpoint.
        slots:
          catalogName: path.catalogName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/catalogs/{catalogName}/items'].get
  update:
    x-apievangelist-phrasing:
      intent: List catalog items via the simple endpoint
      effect: read
      questions:
      - Can I page through catalog items with the plain /catalogs path?
      - Which basic endpoint just lists catalog items without sorting options?
      instructions:
      - text: List items in catalog {catalogName} via /catalogs.
        slots:
          catalogName: path.catalogName
      - text: Page {page} of catalog {catalogName} items from the simple endpoint.
        slots:
          page: query.page
          catalogName: path.catalogName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/catalogs/{catalogName}/items/{itemId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace a catalog item (simple)
      effect: write
      questions:
      - Is there a plain /catalogs endpoint to create or replace an item by ID?
      - Can I upsert a whole catalog item with field values via the basic path?
      instructions:
      - text: Using /catalogs, create or replace item {itemId} in catalog {catalogName} with {value}.
        slots:
          itemId: path.itemId
          catalogName: path.catalogName
          value: requestBody.value
      - text: Put item {itemId} into catalog {catalogName} via the simple endpoint.
        slots:
          itemId: path.itemId
          catalogName: path.catalogName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/catalogs/{catalogName}/items/{itemId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a catalog item (simple)
      effect: destructive
      questions:
      - Can I delete a catalog item by ID through the plain /catalogs path?
      - Which basic endpoint removes one item from a catalog?
      instructions:
      - text: Delete item {itemId} from catalog {catalogName} using /catalogs.
        slots:
          itemId: path.itemId
          catalogName: path.catalogName
      - text: Remove catalog {catalogName} item {itemId} with the simple endpoint.
        slots:
          catalogName: path.catalogName
          itemId: path.itemId
      method: generated
      generated: '2026-10-01'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/iterable-catalogs-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

A second provider on the same verified email joins the account you already have.