Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Vmi Bins API

15 actions 15 updates phrasing extends openapi/optimizely-vmi-bins-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 15

$.info
$.paths['/api/v1/admin/VmiBins'].get
$.paths['/api/v1/admin/VmiBins'].post
$.paths['/api/v1/admin/VmiBins({id})'].get
$.paths['/api/v1/admin/VmiBins({id})'].put
$.paths['/api/v1/admin/VmiBins({id})'].delete
$.paths['/api/v1/admin/VmiBins({id})'].patch
$.paths['/api/v1/admin/VmiBins/Default.Default()'].get
$.paths['/api/v1/admin/VmiBins/Default.archive'].post
$.paths['/api/v1/admin/vmibins/archive'].delete
$.paths['/api/v1/admin/vmibins/delete'].delete
$.paths['/api/v1/admin/vmibins({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/vmibins({key})/vmicounts({vmicountKey})'].get
$.paths['/api/v1/admin/vmibins({key})/vminotes({vminoteKey})'].get
$.paths['/api/v1/vmiBins/count'].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 Vmi Bins API
  version: 1.0.0
extends: openapi/optimizely-vmi-bins-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: 14
- target: $.paths['/api/v1/admin/VmiBins'].get
  update:
    x-apievangelist-phrasing:
      intent: List VMI bins
      effect: read
      questions:
      - Which vendor-managed inventory bins are set up?
      - Can I filter VMI bins by location or product?
      - How many VMI bins are there in total?
      instructions:
      - text: List all VMI bins.
      - text: Find VMI bins matching {filter}.
        slots:
          filter: query.$filter
      - text: Show the first {top} VMI bins.
        slots:
          top: query.$top
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiBins'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a VMI bin
      effect: write
      questions:
      - How do I add a new vendor-managed inventory bin at a location?
      - Can I set minimum and maximum quantities when creating a bin?
      instructions:
      - text: Create VMI bin {binNumber} at location {vmiLocationId} for product {productId}.
        slots:
          binNumber: requestBody.binNumber
          vmiLocationId: requestBody.vmiLocationId
          productId: requestBody.productId
      - text: Add bin {binNumber} with a minimum of {minimumQty} and maximum of {maximumQty}.
        slots:
          binNumber: requestBody.binNumber
          minimumQty: requestBody.minimumQty
          maximumQty: requestBody.maximumQty
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiBins({id})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a VMI bin
      effect: read
      questions:
      - Can I see one VMI bin's last count and quantities?
      - What's stored on a specific vendor-managed inventory bin?
      instructions:
      - text: Show VMI bin {id}.
        slots:
          id: path.id
      - text: Get bin {id} and its last count details.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiBins({id})'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a VMI bin
      effect: write
      questions:
      - How do I overwrite a VMI bin record in full?
      - Does replacing a bin require resending the bin number and count user names?
      instructions:
      - text: Replace VMI bin {id} with a full record for bin number {binNumber}.
        slots:
          id: path.id
          binNumber: requestBody.binNumber
      - text: Overwrite all fields on bin {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiBins({id})'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a VMI bin
      effect: destructive
      questions:
      - How do I permanently delete a single VMI bin?
      - Can I guard a bin delete with an ETag?
      instructions:
      - text: Delete VMI bin {id}.
        slots:
          id: path.id
      - text: Delete bin {id} only if its ETag matches {etag}.
        slots:
          id: path.id
          etag: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiBins({id})'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update fields on a VMI bin
      effect: write
      questions:
      - Can I change just the reorder thresholds on a VMI bin?
      - How do I record a new count quantity on a bin?
      instructions:
      - text: Set the minimum quantity on VMI bin {id} to {minimumQty}.
        slots:
          id: path.id
          minimumQty: requestBody.minimumQty
      - text: Record a last count of {lastCountQty} on bin {id}.
        slots:
          id: path.id
          lastCountQty: requestBody.lastCountQty
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiBins/Default.Default()'].get
  update:
    x-apievangelist-phrasing:
      intent: Get default values for a new VMI bin
      effect: read
      questions:
      - What defaults does a new VMI bin start with?
      - Is there an empty VMI bin template?
      instructions:
      - text: Get the default VMI bin template.
      - text: Show prefilled defaults for a new bin.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/VmiBins/Default.archive'].post
  update:
    x-apievangelist-phrasing:
      intent: Archive VMI bins via OData action
      effect: write
      questions:
      - Can I archive VMI bins using the OData archive action?
      - How do I retire bins with a POST instead of deleting them?
      instructions:
      - text: Archive VMI bins {ids} using the Default.archive action.
        slots:
          ids: query.ids
      - text: Run the archive action for bins {ids}.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmibins/archive'].delete
  update:
    x-apievangelist-phrasing:
      intent: Archive VMI bins via route
      effect: destructive
      questions:
      - Which endpoint archives bins with a DELETE to the archive path?
      - Can I archive several VMI bins through the archive route?
      instructions:
      - text: Archive VMI bins {ids} through the /archive route.
        slots:
          ids: query.ids
      - text: Send bins {ids} to archive using the DELETE archive endpoint.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmibins/delete'].delete
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete VMI bins
      effect: destructive
      questions:
      - Can I permanently delete many VMI bins at once?
      - How do I bulk remove bins by ID?
      instructions:
      - text: Bulk delete VMI bins {ids}.
        slots:
          ids: query.ids
      - text: Permanently remove the bins with IDs {ids}.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmibins({key})/customproperties({custompropertyKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom property on a VMI bin
      effect: read
      questions:
      - Can I read a custom property stored on a VMI bin?
      - Where are extra custom fields on a bin kept?
      instructions:
      - text: Show custom property {property} on VMI bin {key}.
        slots:
          property: path.custompropertyKey
          key: path.key
      - text: Get bin {key}'s custom field {property}.
        slots:
          property: path.custompropertyKey
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmibins({key})/vmicounts({vmicountKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an inventory count for a VMI bin
      effect: read
      questions:
      - Can I look up one recorded inventory count for a bin?
      - What quantity was counted in a bin on a specific count?
      instructions:
      - text: Show count {count} recorded for VMI bin {key}.
        slots:
          count: path.vmicountKey
          key: path.key
      - text: Get inventory count record {count} of bin {key}.
        slots:
          count: path.vmicountKey
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/vmibins({key})/vminotes({vminoteKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a note on a VMI bin
      effect: read
      questions:
      - Can I read a note someone left on a VMI bin?
      - Where are comments about a bin stored?
      instructions:
      - text: Show note {note} on VMI bin {key}.
        slots:
          note: path.vminoteKey
          key: path.key
      - text: Get bin {key}'s note {note}.
        slots:
          note: path.vminoteKey
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/vmiBins/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count VMI bins matching conditions
      effect: read
      questions:
      - How many vendor-managed inventory bins are below their minimum quantity?
      - Can I count the VMI bins at one location?
      instructions:
      - text: Count VMI bins at location {vmiLocationId}.
        slots:
          vmiLocationId: query.parameter.vmiLocationId
      - text: Count VMI bins where below-minimum is {isBelowMinimum}.
        slots:
          isBelowMinimum: query.parameter.isBelowMinimum
      method: generated
      generated: '2026-10-01'