Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Product Warehouses API

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

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/api/v1/admin/ProductWarehouses'].get
$.paths['/api/v1/admin/ProductWarehouses'].post
$.paths['/api/v1/admin/ProductWarehouses({id})'].get
$.paths['/api/v1/admin/ProductWarehouses({id})'].put
$.paths['/api/v1/admin/ProductWarehouses({id})'].delete
$.paths['/api/v1/admin/ProductWarehouses({id})'].patch
$.paths['/api/v1/admin/ProductWarehouses/Default.Default()'].get
$.paths['/api/v1/admin/productwarehouses/delete'].delete
$.paths['/api/v1/admin/productwarehouses({key})/customproperties({custompropertyKey})'].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 Admin API V1 Product Warehouses API
  version: 1.0.0
extends: openapi/optimizely-product-warehouses-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['/api/v1/admin/ProductWarehouses'].get
  update:
    x-apievangelist-phrasing:
      intent: List product stock by warehouse
      effect: read
      questions:
      - How do I see product inventory across all warehouses?
      - Where can I list every product-warehouse stock record?
      instructions:
      - text: List all product warehouse records.
      - text: Show stock levels for every product in every warehouse.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ProductWarehouses'].post
  update:
    x-apievangelist-phrasing:
      intent: Stock a product in a warehouse
      effect: write
      questions:
      - How do I add a product to a warehouse with its available quantity?
      - Can I set safety stock and unit cost when stocking a product in a warehouse?
      instructions:
      - text: Stock product {productId} in warehouse {warehouseId} with {erpQtyAvailable} available.
        slots:
          productId: requestBody.productId
          warehouseId: requestBody.warehouseId
          erpQtyAvailable: requestBody.erpQtyAvailable
      - text: Add product {productId} to warehouse {warehouseId} with safety stock {safetyStock}.
        slots:
          productId: requestBody.productId
          warehouseId: requestBody.warehouseId
          safetyStock: requestBody.safetyStock
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ProductWarehouses({id})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one product warehouse record
      effect: read
      questions:
      - How do I check the stock record for one product-warehouse pairing?
      - What quantity on order does a specific product warehouse record show?
      instructions:
      - text: Get product warehouse record {id}.
        slots:
          id: path.id
      - text: Show available and on-order quantities for record {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ProductWarehouses({id})'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a product warehouse record
      effect: write
      questions:
      - What's the call to overwrite a product warehouse stock record entirely?
      - Do I resend product and warehouse when replacing a stock record?
      instructions:
      - text: Replace product warehouse record {id} for product {productId} in warehouse {warehouseId}.
        slots:
          id: path.id
          productId: requestBody.productId
          warehouseId: requestBody.warehouseId
      - text: Overwrite stock record {id} in full with unit cost {unitCost}.
        slots:
          id: path.id
          unitCost: requestBody.unitCost
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ProductWarehouses({id})'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a product from a warehouse
      effect: destructive
      questions:
      - How do I delete a product's stock record from a warehouse?
      - Can I delete a product warehouse record with an ETag check?
      instructions:
      - text: Delete product warehouse record {id}.
        slots:
          id: path.id
      - text: Delete stock record {id} if its ETag is {etag}.
        slots:
          id: path.id
          etag: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ProductWarehouses({id})'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update warehouse stock for a product
      effect: write
      questions:
      - How do I update the available quantity of a product in a warehouse?
      - Can I mark a product as discontinued at one warehouse?
      instructions:
      - text: Set available quantity on stock record {id} to {erpQtyAvailable}.
        slots:
          id: path.id
          erpQtyAvailable: requestBody.erpQtyAvailable
      - text: Mark stock record {id} discontinued ({isDiscontinued}).
        slots:
          id: path.id
          isDiscontinued: requestBody.isDiscontinued
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ProductWarehouses/Default.Default()'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the default product warehouse record
      effect: read
      questions:
      - What does a blank product warehouse stock record contain?
      - Where do I get default values for a new warehouse stock entry?
      instructions:
      - text: Get the default product warehouse template.
      - text: Show default fields for a new warehouse stock entry.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/productwarehouses/delete'].delete
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete product warehouse records
      effect: destructive
      questions:
      - Can I remove many product warehouse records in one go?
      - Can I bulk delete stock records by ID?
      instructions:
      - text: Bulk delete product warehouse records {ids}.
        slots:
          ids: query.ids
      - text: 'Remove all of these warehouse stock records: {ids}.'
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/productwarehouses({key})/customproperties({custompropertyKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom property on a product warehouse record
      effect: read
      questions:
      - Where would I read a custom property on a product warehouse record?
      - Can I fetch an extra attribute stored on a warehouse stock entry?
      instructions:
      - text: Get custom property {prop} on product warehouse record {key}.
        slots:
          key: path.key
          prop: path.custompropertyKey
      - text: Show custom field {prop} for product warehouse record {key}.
        slots:
          key: path.key
          prop: path.custompropertyKey
      method: generated
      generated: '2026-09-26'