# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Optimizely Warehouses API version: 1.0.0 extends: openapi/optimizely-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: 17 - target: $.paths['/api/v1/admin/Warehouses'].get update: x-apievangelist-phrasing: intent: List warehouses in commerce admin effect: read questions: - Which warehouses are configured in my commerce admin? - Can I filter the admin warehouse list by city or state with an OData query? instructions: - text: List all warehouses in the admin console. - text: List admin warehouses matching {filter}. slots: filter: query.$filter - text: Show the first {top} warehouses ordered by {orderby}. slots: top: query.$top orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Warehouses'].post update: x-apievangelist-phrasing: intent: Create a warehouse effect: write questions: - How do I add a new warehouse with its address, phone and opening hours? - Can a new warehouse be set up to allow customer pickup? instructions: - text: Create a warehouse named {name} at {address1}, {city}, {state} {postalCode}. slots: name: requestBody.name address1: requestBody.address1 city: requestBody.city state: requestBody.state postalCode: requestBody.postalCode - text: Add pickup warehouse {name} open {hours} with contact {contactName}. slots: name: requestBody.name hours: requestBody.hours contactName: requestBody.contactName method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Warehouses({id})'].get update: x-apievangelist-phrasing: intent: Get a warehouse's admin record effect: read questions: - What address and contact details are stored for one warehouse? - Can I expand related data when fetching a single admin warehouse? instructions: - text: Show admin details for warehouse {id}. slots: id: path.id - text: Fetch warehouse {id} expanding {expand}. slots: id: path.id expand: query.$expand method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Warehouses({id})'].put update: x-apievangelist-phrasing: intent: Replace a warehouse record effect: write questions: - How do I overwrite an existing warehouse's entire record, address included? - Can I resend every field of a warehouse to replace it in one go? instructions: - text: Replace warehouse {id} with name {name} located at {address1}, {city}. slots: id: path.id name: requestBody.name address1: requestBody.address1 city: requestBody.city - text: Overwrite the full record of warehouse {id}, contact now {contactName}. slots: id: path.id contactName: requestBody.contactName method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Warehouses({id})'].delete update: x-apievangelist-phrasing: intent: Delete one warehouse effect: destructive questions: - How do I remove a single warehouse by its id? - Does deleting a warehouse honor an If-Match ETag check? instructions: - text: Delete warehouse {id}. slots: id: path.id - text: Delete warehouse {id} only if its ETag still equals {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Warehouses({id})'].patch update: x-apievangelist-phrasing: intent: Update selected fields on a warehouse effect: write questions: - Can I change just the phone number of a warehouse without resending everything? - How do I schedule a warehouse to deactivate on a date? instructions: - text: Change the phone on warehouse {id} to {phone}. slots: id: path.id phone: requestBody.phone - text: Deactivate warehouse {id} on {deactivateOn}. slots: id: path.id deactivateOn: requestBody.deactivateOn - text: Patch warehouse {id} so pickup is set to {allowPickup}. slots: id: path.id allowPickup: requestBody.allowPickup method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Warehouses/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get default values for a new warehouse effect: read questions: - What default values does a brand-new warehouse start with? - Is there a blank warehouse object I can use to pre-fill a create form? instructions: - text: Get the default template for a new warehouse. - text: Fetch a blank warehouse with its default field values. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Warehouses/Default.archive'].post update: x-apievangelist-phrasing: intent: Archive warehouses via the archive action effect: write questions: - Can I archive several warehouses at once instead of deleting them? - Which POST action archives warehouses from a list of ids? instructions: - text: Archive warehouses {ids} using the POST archive action. slots: ids: query.ids - text: Run the Default.archive operation on warehouses {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/warehouses/archive'].delete update: x-apievangelist-phrasing: intent: Archive warehouses via the DELETE archive route effect: destructive questions: - Is there a DELETE-verb route that archives a batch of warehouses? - How can I archive warehouses through the lowercase warehouses/archive endpoint? instructions: - text: Call the DELETE archive route for warehouses {ids}. slots: ids: query.ids - text: Archive warehouses {ids} through the warehouses/archive route. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/warehouses/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete warehouses by id effect: destructive questions: - Can I permanently delete many warehouses in one request? - How do I bulk-remove warehouses given a list of ids? instructions: - text: Bulk delete warehouses {ids}. slots: ids: query.ids - text: Permanently remove every warehouse in {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/warehouses({key})/alternateofwarehouses({warehouseKey})'].get update: x-apievangelist-phrasing: intent: Get a warehouse this one backs up effect: read questions: - Which warehouse relies on this warehouse as its alternate? - Can I check that a warehouse is registered as an alternate of another one? instructions: - text: Get warehouse {warehouseKey} that warehouse {key} is an alternate of. slots: key: path.key warehouseKey: path.warehouseKey - text: Confirm warehouse {key} serves as backup for warehouse {warehouseKey}. slots: key: path.key warehouseKey: path.warehouseKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/warehouses({key})/alternatewarehouses({warehouseKey})'].get update: x-apievangelist-phrasing: intent: Get an alternate warehouse of a warehouse effect: read questions: - Which backup warehouse is configured as an alternate for my warehouse? - Can I read one specific alternate warehouse assigned to a warehouse? instructions: - text: Get alternate warehouse {warehouseKey} assigned to warehouse {key}. slots: key: path.key warehouseKey: path.warehouseKey - text: Show fallback warehouse {warehouseKey} for primary warehouse {key}. slots: key: path.key warehouseKey: path.warehouseKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/warehouses({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a warehouse effect: read questions: - What custom property values have been added to a warehouse? - Can I read a single custom property attached to a warehouse? instructions: - text: Get custom property {custompropertyKey} on warehouse {key}. slots: key: path.key custompropertyKey: path.custompropertyKey - text: Read extra attribute {custompropertyKey} stored on warehouse {key}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/warehouses({key})/productwarehouses({productwarehouseKey})'].get update: x-apievangelist-phrasing: intent: Get a product stocking record for a warehouse effect: read questions: - How do I see a product's stocking record at a particular warehouse? - Can I fetch one product-warehouse entry under a warehouse? instructions: - text: Get product warehouse record {productwarehouseKey} for warehouse {key}. slots: key: path.key productwarehouseKey: path.productwarehouseKey - text: Show product stocking entry {productwarehouseKey} at warehouse {key}. slots: key: path.key productwarehouseKey: path.productwarehouseKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/warehouses({key})/websites({websiteKey})'].get update: x-apievangelist-phrasing: intent: Get a website a warehouse serves effect: read questions: - Which storefront websites is a warehouse assigned to? - Can I check one website linked to a warehouse? instructions: - text: Get website {websiteKey} linked to warehouse {key}. slots: key: path.key websiteKey: path.websiteKey - text: Show the storefront site {websiteKey} that warehouse {key} fulfils for. slots: key: path.key websiteKey: path.websiteKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/warehouses'].get update: x-apievangelist-phrasing: intent: Find storefront pickup warehouses near a location effect: read questions: - Which pickup warehouses are within a radius of my customer's location? - Can the storefront warehouse list leave out the customer's current pickup warehouse? - What warehouses does the storefront API show shoppers, page by page? instructions: - text: Find pickup warehouses within {radius} of {latitude}, {longitude}. slots: radius: query.parameter.radius latitude: query.parameter.latitude longitude: query.parameter.longitude - text: List storefront warehouses, page {page} with {pageSize} per page. slots: page: query.parameter.page pageSize: query.parameter.pageSize - text: Show nearby pickup locations excluding current pickup warehouse {current}. slots: current: query.parameter.currentPickupWarehouseId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/warehouses/{warehouseId}'].get update: x-apievangelist-phrasing: intent: Get a warehouse from the storefront API effect: read questions: - What does the storefront show a shopper about one warehouse? - Can I load a pickup location's details for my storefront by warehouseId? instructions: - text: Get storefront warehouse {warehouseId}. slots: warehouseId: path.warehouseId - text: Load pickup location {warehouseId} for the shopper-facing site. slots: warehouseId: path.warehouseId method: generated generated: '2026-09-26'