Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Optimizely Warehouses API
18 actions
18 updates
phrasing
extends
openapi/optimizely-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.
What the actions change
x-apievangelist-phrasing
Targets 18 · first 16 shown; the file carries all of them
$.info
$.paths['/api/v1/admin/Warehouses'].get
$.paths['/api/v1/admin/Warehouses'].post
$.paths['/api/v1/admin/Warehouses({id})'].get
$.paths['/api/v1/admin/Warehouses({id})'].put
$.paths['/api/v1/admin/Warehouses({id})'].delete
$.paths['/api/v1/admin/Warehouses({id})'].patch
$.paths['/api/v1/admin/Warehouses/Default.Default()'].get
$.paths['/api/v1/admin/Warehouses/Default.archive'].post
$.paths['/api/v1/admin/warehouses/archive'].delete
$.paths['/api/v1/admin/warehouses/delete'].delete
$.paths['/api/v1/admin/warehouses({key})/alternateofwarehouses({warehouseKey})'].get
$.paths['/api/v1/admin/warehouses({key})/alternatewarehouses({warehouseKey})'].get
$.paths['/api/v1/admin/warehouses({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/warehouses({key})/productwarehouses({productwarehouseKey})'].get
$.paths['/api/v1/admin/warehouses({key})/websites({websiteKey})'].get
OpenAPI Overlay
# 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'