Invendor Items API

The Items API from Invendor — 25 operation(s) for items.

Operations 39

GET /v1/Items Get all items #
POST /v1/Items Create new item #
GET /v1/Items/{serviceId}/items Get all service items #
GET /v1/Items/{itemId} Get item details #
PUT /v1/Items/{itemId} Update existing item #
DELETE /v1/Items/{itemId} Delete item #
GET /v1/Items/{itemId}/conversions Get item unit conversions #
GET /v1/Items/{itemId}/altitems Get item alternative items #
POST /v1/Items/{itemId}/altitems Create item alternative item #
PUT /v1/Items/{itemId}/altitems Update item alternative item based on orig. itemId and account #
DELETE /v1/Items/{itemId}/altitems Delete item alternative item by itemId and account Id #
PUT /v1/Items/altitems/{altItemId} Update item alternative item based on alt item id #
DELETE /v1/Items/altitems/{altItemId} Delete item alternative item by alt item id #
POST /v1/Items/altitems/bulk Bulk upsert alternative items for multiple items #
GET /v1/Items/properties Get the list of all the properties added to items #
GET /v1/Items/definedProperties Get the defined properties for items #
POST /v1/Items/definedProperties Create new item property with parameters #
PUT /v1/Items/definedProperties/{id} Update existing item property with parameters #
DELETE /v1/Items/definedProperties/{id} Delete existing item property with parameters #
POST /v1/Items/definedProperties/bulk Bulk upsert/delete item properties with parameters #
POST /v1/Items/bulk Bulk upsert items masterdata. Accepts a JSON array of items. Items are matched by `code` — existing items are updated, new ones are created. Items missing `code` or `name` are sile #
GET /v1/Items/download/xlsx Get all items #
POST /v1/Items/sendToTenant Send item(s) to another tenant #
GET /v1/Items/{itemId}/barcodes Get item barcodes #
POST /v1/Items/{itemId}/barcodes Create item barcodes #
GET /v1/Items/{itemId}/barcodes/location Get item barcodes that are assigned to location #
GET /v1/Items/{itemId}/barcodes/{id} Get item barcode details #
PUT /v1/Items/{itemId}/barcodes/{id} Update item barcode #
DELETE /v1/Items/{itemId}/barcodes/{id} Delete item barcode #
POST /v1/Items/{itemId}/images/upload Upload item images #
POST /v1/Items/{itemId}/images/link Add linked image (external) #
PUT /v1/Items/{itemId}/images/default/{key} Set item default image #
DELETE /v1/Items/{itemId}/images/{key} Delete item image #
GET /v1/Items/validate Validates whether a single item code exists
POST /v1/Items/validate Validates multiple item codes. Returns only invalid codes.
POST /v1/Items/bulk-file Queue a bulk item import from a CSV or Excel file. Returns a job ID to poll for status. #
GET /v1/Items/{itemId}/flags Get the active flags raised on an item. Cleared flags excluded. Visibility-filtered: tenant-primary callers see all rows; others see global flags plus those scoped to their own acc #
POST /v1/Items/{itemId}/flags Manually raise a flag on an item under the caller's account scope. Idempotent: a duplicate raise of the same active flag is a no-op. #
DELETE /v1/Items/{itemId}/flags/{flagTypeId} Manually clear a flag on an item under the caller's account scope. Idempotent: clearing a non-active flag is a no-op (returns 204). #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/invendor-items-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

invendor-items-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: IO.Common Accounts Items API
  version: '1.0'
servers:
- url: https://api.invendor.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
security:
- OAuth2: []
tags:
- name: Items
paths:
  /v1/Items:
    get:
      tags:
      - Items
      summary: Get all items
      operationId: GetItems
      parameters:
      - name: Name
        in: query
        schema:
          type: string
      - name: Code
        in: query
        schema:
          type: string
      - name: Vendor
        in: query
        schema:
          type: string
      - name: Barcode
        in: query
        schema:
          type: string
      - name: flag
        in: query
        schema:
          type: array
          items:
            type: integer
            format: int32
      - name: Page
        in: query
        schema:
          type: integer
          format: int32
      - name: PageSize
        in: query
        schema:
          type: integer
          format: int32
      - name: SortColumn
        in: query
        schema:
          type: string
      - name: SortOrder
        in: query
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponsePagedResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    post:
      tags:
      - Items
      summary: Create new item
      operationId: CreateItem
      parameters:
      - name: serviceId
        in: query
        description: Service id of the item.
        schema:
          type: string
          format: uuid
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Create item request data
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateItemRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateItemRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateItemRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateItemRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: integer
                format: int32
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/{serviceId}/items:
    get:
      tags:
      - Items
      summary: Get all service items
      operationId: GetServiceItems
      parameters:
      - name: serviceId
        in: path
        description: Service id
        required: true
        schema:
          type: string
          format: uuid
      - name: Name
        in: query
        schema:
          type: string
      - name: Code
        in: query
        schema:
          type: string
      - name: Vendor
        in: query
        schema:
          type: string
      - name: Barcode
        in: query
        schema:
          type: string
      - name: flag
        in: query
        schema:
          type: array
          items:
            type: integer
            format: int32
      - name: Page
        in: query
        schema:
          type: integer
          format: int32
      - name: PageSize
        in: query
        schema:
          type: integer
          format: int32
      - name: SortColumn
        in: query
        schema:
          type: string
      - name: SortOrder
        in: query
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponsePagedResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/{itemId}:
    get:
      tags:
      - Items
      summary: Get item details
      operationId: GetItemDetails
      parameters:
      - name: itemId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemDetailsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    put:
      tags:
      - Items
      summary: Update existing item
      operationId: UpdateItem
      parameters:
      - name: itemId
        in: path
        description: Item to update
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Update DTO
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateItemRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateItemRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateItemRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateItemRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    delete:
      tags:
      - Items
      summary: Delete item
      operationId: DeleteItem
      parameters:
      - name: itemId
        in: path
        description: Item id to delete
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/{itemId}/conversions:
    get:
      tags:
      - Items
      summary: Get item unit conversions
      operationId: GetItemUnitConversions
      parameters:
      - name: itemId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Filter
        in: query
        schema:
          type: string
      - name: Page
        in: query
        schema:
          type: integer
          format: int32
      - name: PageSize
        in: query
        schema:
          type: integer
          format: int32
      - name: SortColumn
        in: query
        schema:
          type: string
      - name: SortOrder
        in: query
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnitConversionPagedResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/{itemId}/altitems:
    get:
      tags:
      - Items
      summary: Get item alternative items
      operationId: GetItemAltItems
      parameters:
      - name: itemId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Filter
        in: query
        schema:
          type: string
      - name: Page
        in: query
        schema:
          type: integer
          format: int32
      - name: PageSize
        in: query
        schema:
          type: integer
          format: int32
      - name: SortColumn
        in: query
        schema:
          type: string
      - name: SortOrder
        in: query
        schema:
          type: string
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AltItemResponsePagedResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    post:
      tags:
      - Items
      summary: Create item alternative item
      operationId: CreateItemAltItem
      parameters:
      - name: itemId
        in: path
        description: Item id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Create alternative item request
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateAltItemRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateAltItemRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateAltItemRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateAltItemRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: integer
                format: int32
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    put:
      tags:
      - Items
      summary: Update item alternative item based on orig. itemId and account
      operationId: UpdateItemAltItemByItemId
      parameters:
      - name: itemId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Update alternative item request
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateAltItemRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateAltItemRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateAltItemRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateAltItemRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    delete:
      tags:
      - Items
      summary: Delete item alternative item by itemId and account Id
      operationId: DeleteItemAltItemByItemId
      parameters:
      - name: itemId
        in: path
        description: Item id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/altitems/{altItemId}:
    put:
      tags:
      - Items
      summary: Update item alternative item based on alt item id
      operationId: UpdateItemAltItemById
      parameters:
      - name: altItemId
        in: path
        description: ID of the alt item record
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Update alternative item request
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateAltItemRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateAltItemRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateAltItemRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateAltItemRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    delete:
      tags:
      - Items
      summary: Delete item alternative item by alt item id
      operationId: DeleteItemAltItemById
      parameters:
      - name: altItemId
        in: path
        description: Alternative item id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/altitems/bulk:
    post:
      tags:
      - Items
      summary: Bulk upsert alternative items for multiple items
      operationId: BulkUpsertAltItems
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: List of alternative item requests
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BulkUpsertAltItemRequest'
          application/json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BulkUpsertAltItemRequest'
          text/json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BulkUpsertAltItemRequest'
          application/*+json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BulkUpsertAltItemRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkUpsertAltItemsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/properties:
    get:
      tags:
      - Items
      summary: Get the list of all the properties added to items
      operationId: GetAllUsedItemProperties
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/definedProperties:
    get:
      tags:
      - Items
      summary: Get the defined properties for items
      operationId: Get defined properties for items
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetDefinedPropertyParametersResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    post:
      tags:
      - Items
      summary: Create new item property with parameters
      operationId: Create item defined property with parameters
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: ''
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateDefinedPropertyParametersRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateDefinedPropertyParametersRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateDefinedPropertyParametersRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/CreateDefinedPropertyParametersRequest'
      responses:
        '201':
          description: Created
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/definedProperties/{id}:
    put:
      tags:
      - Items
      summary: Update existing item property with parameters
      operationId: Update item defined property with parameters
      parameters:
      - name: id
        in: path
        description: Property parameter Id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: ''
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateDefinedPropertyParametersRequest'
          application/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateDefinedPropertyParametersRequest'
          text/json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateDefinedPropertyParametersRequest'
          application/*+json; x-api-version=1.0:
            schema:
              $ref: '#/components/schemas/UpdateDefinedPropertyParametersRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
    delete:
      tags:
      - Items
      summary: Delete existing item property with parameters
      operationId: Delete item defined propety with parameters
      parameters:
      - name: id
        in: path
        description: Property parameter Id
        required: true
        schema:
          type: integer
          format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/definedProperties/bulk:
    post:
      tags:
      - Items
      summary: Bulk upsert/delete item properties with parameters
      operationId: Create or update item defined propeties with parameters
      parameters:
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: ''
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BulkUpsertDefinedPropertyParametersRequest'
          application/json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BulkUpsertDefinedPropertyParametersRequest'
          text/json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BulkUpsertDefinedPropertyParametersRequest'
          application/*+json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BulkUpsertDefinedPropertyParametersRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/bulk:
    post:
      tags:
      - Items
      summary: 'Bulk upsert items masterdata.

        Accepts a JSON array of items. Items are matched by `code` — existing items are updated, new ones are created.

        Items missing `code` or `name` are silently skipped; validate your payload before sending.

        Unit identifiers (`inventUnitId`, barcode `unit`) are normalised to lowercase and auto-created if they do not exist.

        The server processes large arrays in internal batches of 5 000 items. Endpoint timeout is 5 minutes.'
      description: 'NEVER call this endpoint concurrently for the same tenant.

        Concurrent calls will interfere with each other and produce incorrect results.

        All requests must be strictly sequential — wait for a 200 OK before sending the next batch.'
      operationId: BulkUpsertItem
      parameters:
      - name: serviceId
        in: query
        description: Optional service context. Omit if items are not scoped to a specific service.
        schema:
          type: string
          format: uuid
      - name: forceOverwriteOwner
        in: query
        schema:
          type: boolean
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      requestBody:
        description: Array of items to upsert. Send at most 5 000 items per request.
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CreateItemBulkRequest'
          application/json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CreateItemBulkRequest'
          text/json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CreateItemBulkRequest'
          application/*+json; x-api-version=1.0:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CreateItemBulkRequest'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/download/xlsx:
    get:
      tags:
      - Items
      summary: Get all items
      operationId: GetItemsExcel
      parameters:
      - name: serviceId
        in: query
        description: Service uuid
        schema:
          type: string
          format: uuid
      - name: Name
        in: query
        schema:
          type: string
      - name: Code
        in: query
        schema:
          type: string
      - name: Vendor
        in: query
        schema:
          type: string
      - name: Barcode
        in: query
        schema:
          type: string
      - name: flag
        in: query
        schema:
          type: array
          items:
            type: integer
            format: int32
      - name: Account
        in: query
        description: Account
        schema:
          title: Account
          type: int
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: binary
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkJobQueuedResponse'
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/sendToTenant:
    post:
      tags:
      - Items
      summary: Send item(s) to another tenant
      operationId: SendToTenant
      parameters:
      - name: tenantId
        in: query
        description: Receiver tenant id
        schema:
          type: string
          format: uuid
      - name: accountId
        in: query
        description: Receiver account id in sender tenant
        schema:
          type: integer
          format: int32
      requestBody:
        description: List of items
        content:
          application/json-patch+json; x-api-version=1.0:
            schema:
              type: array
              items:
                type: integer
                format: int32
          application/json; x-api-version=1.0:
            schema:
              type: array
              items:
                type: integer
                format: int32
          text/json; x-api-version=1.0:
            schema:
              type: array
              items:
                type: integer
                format: int32
          application/*+json; x-api-version=1.0:
            schema:
              type: array
              items:
                type: integer
                format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - OAuth2:
        - io.common
  /v1/Items/{itemId}/barcodes:
    get:
      tags:
      - Items
      summary: Get item barcodes
      operationId: GetItemBarcodes
      parameters:
      - name: itemId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: Filter
        in: query
        schema:
          type: string
      - name: Page
        in: query
        schema:
          type: integer
          format: int32
      - name: PageSize
        in: query
        schema:
          type: integer
          format: int32
      - name: So

# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/invendor/refs/heads/main/openapi/invendor-items-api-openapi.yml