# 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'