Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Vmi Locations API

36 actions 36 updates phrasing extends openapi/optimizely-vmi-locations-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 36 · first 16 shown; the file carries all of them

$.info
$.paths['/api/v1/admin/VmiLocations'].get
$.paths['/api/v1/admin/VmiLocations'].post
$.paths['/api/v1/admin/VmiLocations({id})'].get
$.paths['/api/v1/admin/VmiLocations({id})'].put
$.paths['/api/v1/admin/VmiLocations({id})'].delete
$.paths['/api/v1/admin/VmiLocations({id})'].patch
$.paths['/api/v1/admin/VmiLocations/Default.Default()'].get
$.paths['/api/v1/admin/VmiLocations/Default.archive'].post
$.paths['/api/v1/admin/vmilocations/archive'].delete
$.paths['/api/v1/admin/vmilocations/delete'].delete
$.paths['/api/v1/admin/vmilocations({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/vmilocations({key})/vmibins({vmibinKey})'].get
$.paths['/api/v1/vmiLocations/{vmiLocationId}/bins'].get
$.paths['/api/v1/vmiLocations/{vmiLocationId}/bins'].post
$.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}'].delete

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 Vmi Locations API
  version: 1.0.0
extends: openapi/optimizely-vmi-locations-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: 35
- target: $.paths['/api/v1/admin/VmiLocations'].get
  update:
    x-apievangelist-phrasing:
      intent: List vendor-managed inventory locations
      effect: read
      questions:
      - Which VMI locations are set up in my Optimizely Configured Commerce admin?
      - Can I filter vendor-managed inventory locations to only active ones for a customer?
      - How many VMI locations exist in total?
      instructions:
      - text: List all VMI locations.
      - text: Find VMI locations matching {filter}, sorted by {orderby}.
        slots:
          filter: query.$filter
          orderby: query.$orderby
      - text: Show the first {top} VMI locations with a total count.
        slots:
          top: query.$top
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiLocations'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a VMI location
      effect: write
      questions:
      - How do I add a new vendor-managed inventory location for a customer?
      - Can a new VMI location be marked as the customer's primary location and use bins?
      instructions:
      - text: Create a VMI location named {name} for customer {customerId} with note {note}.
        slots:
          name: requestBody.name
          customerId: requestBody.customerId
          note: requestBody.note
      - text: Add a new primary VMI location {name} that uses bins, note {note}.
        slots:
          name: requestBody.name
          note: requestBody.note
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiLocations({id})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one VMI location
      effect: read
      questions:
      - What are the settings of a specific VMI location?
      - Is a given vendor-managed inventory location active and enforcing max quantities?
      instructions:
      - text: Get VMI location {id}.
        slots:
          id: path.id
      - text: Show VMI location {id} with its related {expand} expanded.
        slots:
          id: path.id
          expand: query.$expand
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiLocations({id})'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a VMI location record
      effect: write
      questions:
      - How do I overwrite every field of an existing VMI location in one call?
      - Can I replace a VMI location record wholesale instead of patching it?
      instructions:
      - text: Replace VMI location {id} with name {name} and note {note}.
        slots:
          id: path.id
          name: requestBody.name
          note: requestBody.note
      - text: Overwrite the full record of VMI location {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiLocations({id})'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a VMI location
      effect: destructive
      questions:
      - How do I delete a single VMI location by its ID?
      - Can I guard a VMI location delete with an ETag so I do not remove a changed record?
      instructions:
      - text: Delete VMI location {id}.
        slots:
          id: path.id
      - text: Delete VMI location {id} only if its ETag still matches {ifMatch}.
        slots:
          id: path.id
          ifMatch: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiLocations({id})'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update a VMI location
      effect: write
      questions:
      - Can I change just one setting of a VMI location, like deactivating it?
      - How do I turn on max-quantity enforcement for an existing VMI location?
      instructions:
      - text: Deactivate VMI location {id} by setting active to {isActive}.
        slots:
          id: path.id
          isActive: requestBody.isActive
      - text: Patch VMI location {id} to update its note to {note}.
        slots:
          id: path.id
          note: requestBody.note
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiLocations/Default.Default()'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the default VMI location template
      effect: read
      questions:
      - What does a blank VMI location look like with its default values?
      - Is there a default VMI location record I can start from?
      instructions:
      - text: Fetch the default VMI location template.
      - text: Get default values for a new VMI location.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiLocations/Default.archive'].post
  update:
    x-apievangelist-phrasing:
      intent: Archive VMI locations via the archive action
      effect: destructive
      questions:
      - How do I archive several VMI locations at once with the archive action?
      - Can I archive VMI locations instead of deleting them outright?
      instructions:
      - text: Run the archive action on VMI locations {ids}.
        slots:
          ids: query.ids
      - text: Archive VMI locations {ids} using the POST archive action.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmilocations/archive'].delete
  update:
    x-apievangelist-phrasing:
      intent: Archive VMI locations via the archive route
      effect: destructive
      questions:
      - Is there a DELETE archive route for retiring a batch of VMI locations?
      - Can I send a list of IDs to the VMI location archive endpoint?
      instructions:
      - text: Archive VMI locations {ids} through the archive route.
        slots:
          ids: query.ids
      - text: Send VMI location IDs {ids} to the DELETE archive endpoint.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmilocations/delete'].delete
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete VMI locations
      effect: destructive
      questions:
      - How do I delete many VMI locations in one request?
      - Can I pass a list of IDs to remove multiple vendor-managed inventory locations?
      instructions:
      - text: Bulk delete VMI locations {ids}.
        slots:
          ids: query.ids
      - text: 'Delete all of these VMI locations in one call: {ids}.'
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmilocations({key})/customproperties({custompropertyKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom property of a VMI location
      effect: read
      questions:
      - How do I read a custom property value attached to a VMI location?
      - Can I look up one specific custom field on a vendor-managed inventory location?
      instructions:
      - text: Get custom property {custompropertyKey} of VMI location {key}.
        slots:
          custompropertyKey: path.custompropertyKey
          key: path.key
      - text: Show custom field {custompropertyKey} on VMI location {key}.
        slots:
          custompropertyKey: path.custompropertyKey
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmilocations({key})/vmibins({vmibinKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a bin within a VMI location
      effect: read
      questions:
      - How do I look up a specific bin inside a VMI location?
      - What details are stored for one VMI bin at a location?
      instructions:
      - text: Get bin {vmibinKey} in VMI location {key}.
        slots:
          vmibinKey: path.vmibinKey
          key: path.key
      - text: Show VMI bin {vmibinKey} at location {key}.
        slots:
          vmibinKey: path.vmibinKey
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins'].get
  update:
    x-apievangelist-phrasing:
      intent: List the bins at a VMI location
      effect: read
      questions:
      - How do I see every bin at one of my vendor-managed inventory locations?
      - Can I find only the bins that are below their minimum quantity?
      - Which VMI bins fall within a bin number range, and when were they last counted?
      instructions:
      - text: List all bins at VMI location {vmiLocationId}.
        slots:
          vmiLocationId: path.vmiLocationId
      - text: Show bins at VMI location {vmiLocationId} that are below minimum = {isBelowMinimum}.
        slots:
          vmiLocationId: path.vmiLocationId
          isBelowMinimum: query.parameter.isBelowMinimum
      - text: Find bins numbered {binNumberFrom} to {binNumberTo} at VMI location {vmiLocationId}.
        slots:
          binNumberFrom: query.parameter.binNumberFrom
          binNumberTo: query.parameter.binNumberTo
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a bin to a VMI location
      effect: write
      questions:
      - How do I add a new stocking bin to a vendor-managed inventory location?
      - Can I set minimum and maximum quantities when I create a VMI bin?
      instructions:
      - text: Create bin {binNumber} for product {productId} at VMI location {vmiLocationId}.
        slots:
          binNumber: requestBody.binNumber
          productId: requestBody.productId
          vmiLocationId: path.vmiLocationId
      - text: Add a new bin at VMI location {vmiLocationId} with minimum {minimumQty} and maximum {maximumQty}.
        slots:
          vmiLocationId: path.vmiLocationId
          minimumQty: requestBody.minimumQty
          maximumQty: requestBody.maximumQty
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one bin from a VMI location
      effect: destructive
      questions:
      - Can I remove a single bin from a vendor-managed inventory location?
      - What happens when I delete one VMI bin I no longer stock?
      instructions:
      - text: Delete bin {vmiBinId} from VMI location {vmiLocationId}.
        slots:
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      - text: Remove the single VMI bin {vmiBinId} at location {vmiLocationId}.
        slots:
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update an existing VMI bin
      effect: write
      questions:
      - How do I change the min and max quantities on an existing VMI bin?
      - Can I reassign the product or unit of measure on a bin I already created?
      instructions:
      - text: Set the minimum quantity of bin {vmiBinId} at VMI location {vmiLocationId} to {minimumQty}.
        slots:
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
          minimumQty: requestBody.minimumQty
      - text: Change the maximum quantity on existing bin {vmiBinId} at location {vmiLocationId} to {maximumQty}.
        slots:
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
          maximumQty: requestBody.maximumQty
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Create many VMI bins in one batch
      effect: write
      questions:
      - Is there a way to create a whole set of bins at a VMI location in one request?
      - Can I bulk load bins into a vendor-managed inventory location?
      instructions:
      - text: Batch create bins at VMI location {vmiLocationId}.
        slots:
          vmiLocationId: path.vmiLocationId
      - text: Bulk load this set of new bins into VMI location {vmiLocationId}.
        slots:
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/batch'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete several VMI bins at once
      effect: destructive
      questions:
      - Can I delete multiple bins from a VMI location in a single call?
      - What do I pass to bulk remove bins by their IDs?
      instructions:
      - text: Batch delete bins {ids} from VMI location {vmiLocationId}.
        slots:
          ids: query.ids
          vmiLocationId: path.vmiLocationId
      - text: 'Remove all of these bins at location {vmiLocationId} in one request: {ids}.'
        slots:
          vmiLocationId: path.vmiLocationId
          ids: query.ids
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/send-pdf'].post
  update:
    x-apievangelist-phrasing:
      intent: Email a PDF of bin labels for a VMI location
      effect: write
      questions:
      - How do I send a printable PDF of bin labels with barcodes for a VMI location?
      - Can I choose the barcode format and layout on the bin label PDF?
      instructions:
      - text: Send a bin label PDF for VMI location {vmiLocationId}.
        slots:
          vmiLocationId: path.vmiLocationId
      - text: Email the bin PDF for location {vmiLocationId} using barcode format {barcodeFormat} and layout {layout}.
        slots:
          vmiLocationId: path.vmiLocationId
          barcodeFormat: requestBody.barcodeFormat
          layout: requestBody.layout
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations'].get
  update:
    x-apievangelist-phrasing:
      intent: List VMI locations through the storefront API
      effect: read
      questions:
      - Which VMI locations can a signed-in storefront user see?
      - Can I page through vendor-managed inventory locations from the website API, 20 at a time?
      instructions:
      - text: Page through storefront VMI locations, {pageSize} per page.
        slots:
          pageSize: query.parameter.pageSize
      - text: Show the VMI locations available to storefront user {userId}.
        slots:
          userId: query.parameter.userId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a VMI location from the storefront API
      effect: write
      questions:
      - How do I set up a vendor-managed inventory location tied to a bill-to and ship-to address?
      - Can a storefront user add a VMI location for one of their ship-to addresses?
      instructions:
      - text: Create a storefront VMI location named {name} for bill-to {billToId}.
        slots:
          name: requestBody.name
          billToId: requestBody.billToId
      - text: Add VMI location {name} delivering to ship-to {shipToId} with bins enabled.
        slots:
          name: requestBody.name
          shipToId: requestBody.shipToId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{VmiLocationId}/notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List notes for a VMI location
      effect: read
      questions:
      - Where can I read the notes left on a VMI location's bins?
      - Can I narrow VMI notes down to a single bin?
      instructions:
      - text: Show the notes for VMI location {VmiLocationId}.
        slots:
          VmiLocationId: path.VmiLocationId
      - text: List notes on bin {vmiBinId} at VMI location {VmiLocationId}.
        slots:
          vmiBinId: query.parameter.vmiBinId
          VmiLocationId: path.VmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Create many VMI locations in one batch
      effect: write
      questions:
      - Can I import a list of vendor-managed inventory locations in bulk?
      - Is there a validation-only mode to check a batch of VMI locations before saving?
      instructions:
      - text: 'Batch create these VMI locations: {vmiLocations}.'
        slots:
          vmiLocations: requestBody.vmiLocations
      - text: Validate this batch of VMI locations without saving, validationOnly {validationOnly}.
        slots:
          validationOnly: requestBody.validationOnly
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/batch'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete several VMI locations at once
      effect: destructive
      questions:
      - How do I bulk remove VMI locations by ID?
      - Can several vendor-managed inventory locations be deleted in one request?
      instructions:
      - text: Batch delete VMI locations {ids}.
        slots:
          ids: query.ids
      - text: 'Remove these VMI locations in one call: {ids}.'
        slots:
          ids: query.ids
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a VMI location through the storefront API
      effect: read
      questions:
      - What bill-to and ship-to does a given vendor-managed inventory location use on the storefront?
      - Can the website API tell me whether a VMI location uses bins?
      instructions:
      - text: Fetch storefront VMI location {vmiLocationId} with its bill-to and ship-to.
        slots:
          vmiLocationId: path.vmiLocationId
      - text: Look up VMI location {vmiLocationId} through the website API.
        slots:
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a VMI location through the storefront API
      effect: destructive
      questions:
      - Can a storefront user remove a vendor-managed inventory location they no longer use?
      - What happens when a VMI location is removed through the website API rather than the admin console?
      instructions:
      - text: Remove storefront VMI location {vmiLocationId}.
        slots:
          vmiLocationId: path.vmiLocationId
      - text: Use the website API to delete the vendor-managed inventory location {vmiLocationId}.
        slots:
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a VMI location
      effect: write
      questions:
      - How do I rename an existing VMI location or change its ship-to?
      - Can I turn on max quantity enforcement for a location I already set up?
      instructions:
      - text: Rename VMI location {vmiLocationId} to {name}.
        slots:
          vmiLocationId: path.vmiLocationId
          name: requestBody.name
      - text: Change the ship-to of existing VMI location {vmiLocationId} to {shipToId}.
        slots:
          vmiLocationId: path.vmiLocationId
          shipToId: requestBody.shipToId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}/notes'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a note to a VMI bin
      effect: write
      questions:
      - How do I leave a note on a VMI bin?
      - Can a bin note be included on the replenishment order?
      instructions:
      - text: Add the note {note} to bin {vmiBinId} at VMI location {vmiLocationId}.
        slots:
          note: requestBody.note
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      - text: Post a note on bin {vmiBinId} at location {vmiLocationId} and include it on the order.
        slots:
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}/notes/{vmiNoteId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a note from a VMI bin
      effect: destructive
      questions:
      - Can I remove a note I left on a VMI bin?
      - What does it take to delete one bin note by ID?
      instructions:
      - text: Delete note {vmiNoteId} from bin {vmiBinId} at VMI location {vmiLocationId}.
        slots:
          vmiNoteId: path.vmiNoteId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      - text: Remove bin note {vmiNoteId} on bin {vmiBinId}, location {vmiLocationId}.
        slots:
          vmiNoteId: path.vmiNoteId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}/notes/{vmiNoteId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit a note on a VMI bin
      effect: write
      questions:
      - How do I edit the text of an existing note on a VMI bin?
      - Can I stop an existing bin note from appearing on orders?
      instructions:
      - text: Change note {vmiNoteId} on bin {vmiBinId} at location {vmiLocationId} to read {note}.
        slots:
          vmiNoteId: path.vmiNoteId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
          note: requestBody.note
      - text: Set includeOnOrder to {includeOnOrder} on bin note {vmiNoteId} (bin {vmiBinId}, location {vmiLocationId}).
        slots:
          includeOnOrder: requestBody.includeOnOrder
          vmiNoteId: path.vmiNoteId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}/binCounts'].post
  update:
    x-apievangelist-phrasing:
      intent: Record a stock count for a VMI bin
      effect: write
      questions:
      - How do I record a new on-hand count for a VMI bin?
      - Can I log who performed a bin count and when?
      instructions:
      - text: Record a count of {count} for bin {vmiBinId} at VMI location {vmiLocationId}.
        slots:
          count: requestBody.count
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      - text: Log a new bin count of {count} by {createdBy} on bin {vmiBinId}, location {vmiLocationId}.
        slots:
          count: requestBody.count
          createdBy: requestBody.createdBy
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}/binCounts/{vmiCountId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one stock count for a VMI bin
      effect: read
      questions:
      - What quantity was recorded in a specific bin count?
      - Can I look up one past count on a VMI bin by its ID?
      instructions:
      - text: Get bin count {vmiCountId} for bin {vmiBinId} at VMI location {vmiLocationId}.
        slots:
          vmiCountId: path.vmiCountId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      - text: Show the recorded quantity of count {vmiCountId} on bin {vmiBinId}, location {vmiLocationId}.
        slots:
          vmiCountId: path.vmiCountId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}/binCounts/{vmiCountId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a stock count from a VMI bin
      effect: destructive
      questions:
      - Can I delete a bin count that was entered by mistake?
      - Is removing a VMI bin count permanent?
      instructions:
      - text: Delete count {vmiCountId} from bin {vmiBinId} at VMI location {vmiLocationId}.
        slots:
          vmiCountId: path.vmiCountId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      - text: Remove the mistaken bin count {vmiCountId} on bin {vmiBinId}, location {vmiLocationId}.
        slots:
          vmiCountId: path.vmiCountId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}/binCounts/{vmiCountId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Correct an existing VMI bin count
      effect: write
      questions:
      - How do I fix the quantity on a bin count I already recorded?
      - Can I change the product on an existing VMI count?
      instructions:
      - text: Correct count {vmiCountId} on bin {vmiBinId} at location {vmiLocationId} to {count}.
        slots:
          vmiCountId: path.vmiCountId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
          count: requestBody.count
      - text: Update existing bin count {vmiCountId} (bin {vmiBinId}, location {vmiLocationId}) to product {productId}.
        slots:
          vmiCountId: path.vmiCountId
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
          productId: requestBody.productId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v1/vmiLocations/{vmiLocationId}/bins/{vmiBinId}/binCounts/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Record many counts for a VMI bin in one batch
      effect: write
      questions:
      - Can I submit several stock counts for a bin in one request?
      - Is there a bulk upload for VMI bin counts?
      instructions:
      - text: Batch record these counts on bin {vmiBinId} at VMI location {vmiLocationId}.
        slots:
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      - text: Bulk upload bin counts for bin {vmiBinId}, location {vmiLocationId}.
        slots:
          vmiBinId: path.vmiBinId
          vmiLocationId: path.vmiLocationId
      method: generated
      generated: '2026-10-01'