Virto Commerce Inventory API

Simplify inventory management functionality

OpenAPI Specification

virto-commerce-inventory-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: VirtoCommerce.Cart Catalog Inventory API
  version: v1
  description: Easily manage your products, categories, variations, and properties
tags:
- name: Inventory
  description: Simplify inventory management functionality
paths:
  /api/inventory/search:
    post:
      tags:
      - Inventory
      summary: Search inventories by given criteria
      operationId: InventoryModule_SearchInventories
      requestBody:
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InventorySearchCriteria'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InventorySearchCriteria'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InventorySearchCriteria'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/InventoryInfoSearchResult'
            application/json:
              schema:
                $ref: '#/components/schemas/InventoryInfoSearchResult'
            text/json:
              schema:
                $ref: '#/components/schemas/InventoryInfoSearchResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:read
      - api_key:
        - inventory:read
      - api_key_header:
        - inventory:read
      - http-signature:
        - inventory:read
      - basic:
        - inventory:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/product/search:
    post:
      tags:
      - Inventory
      summary: Search inventories by given criteria
      operationId: InventoryModule_SearchProductInventories
      requestBody:
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProductInventorySearchCriteria'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProductInventorySearchCriteria'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProductInventorySearchCriteria'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/InventoryInfoSearchResult'
            application/json:
              schema:
                $ref: '#/components/schemas/InventoryInfoSearchResult'
            text/json:
              schema:
                $ref: '#/components/schemas/InventoryInfoSearchResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:read
      - api_key:
        - inventory:read
      - api_key_header:
        - inventory:read
      - http-signature:
        - inventory:read
      - basic:
        - inventory:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/fulfillmentcenters/search:
    post:
      tags:
      - Inventory
      summary: Search fulfillment centers registered in the system
      operationId: InventoryModule_SearchFulfillmentCenters
      requestBody:
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/FulfillmentCenterSearchCriteria'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/FulfillmentCenterSearchCriteria'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/FulfillmentCenterSearchCriteria'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/FulfillmentCenterSearchResult'
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentCenterSearchResult'
            text/json:
              schema:
                $ref: '#/components/schemas/FulfillmentCenterSearchResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:fulfillment:read
      - api_key:
        - inventory:fulfillment:read
      - api_key_header:
        - inventory:fulfillment:read
      - http-signature:
        - inventory:fulfillment:read
      - basic:
        - inventory:fulfillment:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/fulfillmentcenters/{id}:
    get:
      tags:
      - Inventory
      summary: Get fulfillment center by id
      operationId: InventoryModule_GetFulfillmentCenter
      parameters:
      - name: id
        in: path
        description: fulfillment center id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
            text/json:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:fulfillment:read
      - api_key:
        - inventory:fulfillment:read
      - api_key_header:
        - inventory:fulfillment:read
      - http-signature:
        - inventory:fulfillment:read
      - basic:
        - inventory:fulfillment:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
    patch:
      tags:
      - Inventory
      summary: Partial update for the specified FulfillmentCenter by id
      operationId: InventoryModule_PatchFulfillmentCenter
      parameters:
      - name: id
        in: path
        description: FulfillmentCenter id
        required: true
        schema:
          type: string
      requestBody:
        description: JsonPatchDocument object with fields to update
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:fulfillment:edit
      - api_key:
        - inventory:fulfillment:edit
      - api_key_header:
        - inventory:fulfillment:edit
      - http-signature:
        - inventory:fulfillment:edit
      - basic:
        - inventory:fulfillment:edit
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/fulfillmentcenters/outer/{outerId}:
    get:
      tags:
      - Inventory
      summary: Get fulfillment center by outer id
      operationId: InventoryModule_GetFulfillmentCenterByOuterId
      parameters:
      - name: outerId
        in: path
        description: fulfillment center outer id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
            text/json:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:fulfillment:read
      - api_key:
        - inventory:fulfillment:read
      - api_key_header:
        - inventory:fulfillment:read
      - http-signature:
        - inventory:fulfillment:read
      - basic:
        - inventory:fulfillment:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/fulfillmentcenters/plenty:
    post:
      tags:
      - Inventory
      summary: Get fulfillment centers by ids
      operationId: InventoryModule_GetFulfillmentCenters
      requestBody:
        description: fulfillment center ids
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                type: string
          application/json:
            schema:
              type: array
              items:
                type: string
          text/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FulfillmentCenter'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FulfillmentCenter'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FulfillmentCenter'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:fulfillment:read
      - api_key:
        - inventory:fulfillment:read
      - api_key_header:
        - inventory:fulfillment:read
      - http-signature:
        - inventory:fulfillment:read
      - basic:
        - inventory:fulfillment:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/fulfillmentcenters:
    put:
      tags:
      - Inventory
      summary: Save fulfillment center
      operationId: InventoryModule_SaveFulfillmentCenter
      requestBody:
        description: fulfillment center
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/FulfillmentCenter'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/FulfillmentCenter'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/FulfillmentCenter'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
            text/json:
              schema:
                $ref: '#/components/schemas/FulfillmentCenter'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:fulfillment:edit
      - api_key:
        - inventory:fulfillment:edit
      - api_key_header:
        - inventory:fulfillment:edit
      - http-signature:
        - inventory:fulfillment:edit
      - basic:
        - inventory:fulfillment:edit
      x-virtocommerce-module-id: VirtoCommerce.Inventory
    delete:
      tags:
      - Inventory
      summary: Delete fulfillment centers registered in the system
      operationId: InventoryModule_DeleteFulfillmentCenters
      parameters:
      - name: ids
        in: query
        schema:
          type: array
          items:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:fulfillment:delete
      - api_key:
        - inventory:fulfillment:delete
      - api_key_header:
        - inventory:fulfillment:delete
      - http-signature:
        - inventory:fulfillment:delete
      - basic:
        - inventory:fulfillment:delete
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/fulfillmentcenters/batch:
    post:
      tags:
      - Inventory
      summary: Save fulfillment centers
      operationId: InventoryModule_SaveFulfillmentCenters
      requestBody:
        description: fulfillment centers
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FulfillmentCenter'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FulfillmentCenter'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FulfillmentCenter'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FulfillmentCenter'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FulfillmentCenter'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FulfillmentCenter'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:fulfillment:edit
      - api_key:
        - inventory:fulfillment:edit
      - api_key_header:
        - inventory:fulfillment:edit
      - http-signature:
        - inventory:fulfillment:edit
      - basic:
        - inventory:fulfillment:edit
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/products/{productId}:
    get:
      tags:
      - Inventory
      summary: Get inventories of product
      description: Get inventories of product for each fulfillment center.
      operationId: InventoryModule_GetProductInventories
      parameters:
      - name: productId
        in: path
        description: Product id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:read
      - api_key:
        - inventory:read
      - api_key_header:
        - inventory:read
      - http-signature:
        - inventory:read
      - basic:
        - inventory:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
    put:
      tags:
      - Inventory
      summary: Update inventory
      description: Update given inventory of product.
      operationId: InventoryModule_UpdateProductInventory
      parameters:
      - name: productId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: Inventory to update
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InventoryInfo'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InventoryInfo'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InventoryInfo'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/InventoryInfo'
            application/json:
              schema:
                $ref: '#/components/schemas/InventoryInfo'
            text/json:
              schema:
                $ref: '#/components/schemas/InventoryInfo'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:update
      - api_key:
        - inventory:update
      - api_key_header:
        - inventory:update
      - http-signature:
        - inventory:update
      - basic:
        - inventory:update
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/products:
    get:
      tags:
      - Inventory
      summary: Get inventories of products
      description: Get inventory of products for each fulfillment center.
      operationId: InventoryModule_GetProductInventories
      parameters:
      - name: ids
        in: query
        description: Products ids
        schema:
          type: array
          items:
            type: string
      - name: fulfillmentCenterIds
        in: query
        description: The fulfillment centers that will be used to filter product inventories
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:read
      - api_key:
        - inventory:read
      - api_key_header:
        - inventory:read
      - http-signature:
        - inventory:read
      - basic:
        - inventory:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/products/plenty:
    post:
      tags:
      - Inventory
      summary: Get inventories of products
      description: Get inventory of products for each fulfillment center.
      operationId: InventoryModule_GetProductsInventoriesByPlentyIds
      parameters:
      - name: fulfillmentCenterIds
        in: query
        description: The fulfillment centers that will be used to filter product inventories
        schema:
          type: array
          items:
            type: string
      requestBody:
        description: Products ids
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                type: string
          application/json:
            schema:
              type: array
              items:
                type: string
          text/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InventoryInfo'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:read
      - api_key:
        - inventory:read
      - api_key_header:
        - inventory:read
      - http-signature:
        - inventory:read
      - basic:
        - inventory:read
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/plenty:
    put:
      tags:
      - Inventory
      summary: Upsert inventories
      description: Upsert (add or update) given inventories.
      operationId: InventoryModule_UpsertProductInventories
      requestBody:
        description: Inventories to upsert
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/InventoryInfo'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/InventoryInfo'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/InventoryInfo'
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:update
      - api_key:
        - inventory:update
      - api_key_header:
        - inventory:update
      - http-signature:
        - inventory:update
      - basic:
        - inventory:update
      x-virtocommerce-module-id: VirtoCommerce.Inventory
  /api/inventory/{id}:
    patch:
      tags:
      - Inventory
      summary: Partial update for the specified inventory of product by id
      operationId: InventoryModule_PatchProductInventory
      parameters:
      - name: id
        in: path
        description: Inventory id
        required: true
        schema:
          type: string
      requestBody:
        description: JsonPatchDocument object with fields to update
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Operation'
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - inventory:update
      - api_key:
        - inventory:update
      - api_key_header:
        - inventory:update
      - http-signature:
        - inventory:update
      - basic:
        - inventory:update
      x-virtocommerce-module-id: VirtoCommerce.Inventory
components:
  schemas:
    DynamicObjectProperty:
      type: object
      properties:
        objectId:
          type: string
          nullable: true
        values:
          type: array
          items:
            $ref: '#/components/schemas/DynamicPropertyObjectValue'
          nullable: true
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        objectType:
          type: string
          nullable: true
        isArray:
          type: boolean
        isDictionary:
          type: boolean
        isMultilingual:
          type: boolean
        isRequired:
          type: boolean
        displayOrder:
          type: integer
          format: int32
          nullable: true
        valueType:
          allOf:
          - $ref: '#/components/schemas/DynamicPropertyValueType'
        displayNames:
          type: array
          items:
            $ref: '#/components/schemas/DynamicPropertyName'
          nullable: true
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type: string
          format: date-time
          nullable: true
        createdBy:
          maxLength: 64
          minLength: 0
          type: string
          nullable: true
        modifiedBy:
          maxLength: 64
          minLength: 0
          type: string
          nullable: true
        id:
          type: string
          nullable: true
      additionalProperties: false
    Operation:
      type: object
      properties:
        value:
          type: object
          nullable: true
        path:
          type: string
          nullable: true
        op:
          type: string
          nullable: true
        from:
          type: string
          nullable: true
      additionalProperties: false
    SortInfo:
      type: object
      properties:
        sortColumn:
          type: string
          nullable: true
        sortDirection:
          allOf:
          - $ref: '#/components/schemas/SortDirection'
      additionalProperties: false
    InventorySearchCriteria:
      type: object
      properties:
        fulfillmentCenterIds:
          type: array
          items:
            type: string
          nullable: true
        productIds:
          type: array
          items:
            type: string
          nullable: true
        responseGroup:
          type: string
          nullable: true
        objectType:
          type: string
          nullable: true
        objectTypes:
          type: array
          items:
            type: string
          nullable: true
        objectIds:
          type: array
          items:
            type: string
          nullable: true
        keyword:
          type: string
          nullable: true
        searchPhrase:
          type: string
          nullable: true
        languageCode:
          type: string
          nullable: true
        sort:
          type: string
          nullable: true
        sortInfos:
          type: array
          items:
            $ref: '#/components/schemas/SortInfo'
          nullable: true
          readOnly: true
        skip:
          type: integer
          format: int32
        take:
          type: integer
          format: int32
      additionalProperties: false
    FulfillmentCenterSearchCriteria:
      type: object
      properties:
        outerId:
          type: string
          nullable: true
        organizationId:
          type: string
          nullable: true
        responseGroup:
          type: string
          nullable: true
        objectType:
          type: string
          nullable: true
        objectTypes:
          type: array
          items:
            type: string
          nullable: true
        objectIds:
          type: array
          items:
            type: string
          nullable: true
        keyword:
          type: string
          nullable: true
        searchPhrase:
          type: string
          nullable: true
        languageCode:
          type: string
          nullable: true
        sort:
          type: string
          nullable: true
        sortInfos:
          type: array
          items:
            $ref: '#/components/schemas/SortInfo'
          nullable: true
          readOnly: true
        skip:
          type: integer
          format: int32
        take:
          type: integer
          format: int32
      additionalProperties: false
    AddressType:
      enum:
      - Undefined
      - Billing
      - Shipping
      - BillingAndShipping
      - Pickup
      type: string
    InventoryInfo:
      type: object
      properties:
        fulfillmentCenterId:
          type: string
          nullable: true
        fulfillmentCenterName:
          type: string
          nullable: true
        fulfillmentCenter:
          allOf:
          - $ref: '#/components/schemas/FulfillmentCenter'
          nullable: true
        productId:
          type: string
          nullable: true
        inStockQuantity:
          type: integer
          format: int64
        reservedQuantity:
          type: integer
          format: int64
        reorderMinQuantity:
          type: integer
          format: int64
        preorderQuantity:
          type: integer
          format: int64
        backorderQuantity:
          type: integer
          format: int64
        allowBackorder:
          type: boolean
        allowPreorder:
          type: boolean
        inTransit:
          type: integer
          format: int64
        preorderAvailabilityDate:
          type: string
          format: date-time
          nullable: true
        backorderAvailabilityDate:
          type: string
          format: date-time
          nullable: true
        status:
          allOf:
          - $ref: '#/components/schemas/InventoryStatus'
        outerId:
          type: string
          nullable: true
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type: string
          format: date-time
          nullable: true
        createdBy:
          maxLength: 64
          minLength: 0
          type: string
          nullable: true
        modifiedBy:
          maxLength: 64
          minLength: 0
          type: string
          nullable: true
        id:
          type: string
          nullable: true
      additionalProperties: false
    FulfillmentCenterSearchResult:
      type: object
      properties:
        totalCount:
          type: integer
          format: int32
        results:
          type: array
          items:
            $ref: '#/components/schemas/FulfillmentCenter'
          nullable: true
      additionalProperties: false
    InventoryInfoSearchResult:
      type: object
      properties:
        totalCount:
          type: integer
          format: int32
        results:
          type: array
          items:
            $ref: '#/components/schemas/InventoryInfo'
          nullable: true
      additionalProperties: false
    InventoryStatus:
      enum:
      - Disabled
      - Enabled
      - Ignored
      type: string
    DynamicPropertyValueType:
      enum:
      - Undefined
      - ShortText
      - LongText
      - Integer
      - Decimal
      - DateTime
      - Boolean
      - Html
      - Image
      type: string
    InventoryAddress:
      type: object
      properties:
        addressType:
          allOf:
          - $ref: '#/components/schemas/AddressType'
        key:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        organization:
          type: string
          nullable: true
        countryCode:
          type: string
          nullable: true
        countryName:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        postalCode:
          type: string
          nullable: true
        zip:
          type: string
          nullable: true
        line1:
          type: string
          nullable: true
        line2:
          type: string
          nullable: true
        regionId:
          type: string
          nullable: true
        regionName:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        outerId:
          type: string
          nullable: true
        isDefault:
          type: boolean
        description:
          type: string
          nullable: true
      additionalProperties: false
    ProductInventorySearchCriteria:
      type: object
      properties:
        productId:
          type: string
          nullable: true
        productIds:
          type: array
          items:
            type: string
          nullable: true
        withInventoryOnly:
          type: boolean
        responseGroup:
          type: string
          nullable: true
        objectType:
          type: string
          nullable: true
        objectTypes:
          type: array
          items:
            type: string
          nullable: true
   

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/virto-commerce/refs/heads/main/openapi/virto-commerce-inventory-api-openapi.yml