---
title: "Suggested NVS products for every active item not yet linked under this vendor. Links nothing."
method: POST
path: "/integrations/nvs/match-suggestions"
tags: ["NvsIntegration"]
---

# Suggested NVS products for every active item not yet linked under this vendor. Links nothing.

`POST /integrations/nvs/match-suggestions`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/integrations/nvs/match-suggestions`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/integrations/nvs/match-suggestions/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- NvsMatchSuggestionsRequest
  - `vendorId` string

## Response `200`

OK

- NvsMatchSuggestionsResponse
  - `suggestions` NvsMatchSuggestionDto[]
    - `inventoryItemId` string
    - `itemName` string
    - `itemUnitsPerContainer` union
      - number, double
      - string, double
    - `candidates` NvsMatchCandidateDto[]: Best candidates first.
      - `product` NvsProductDto: An NVS catalogue product, as offered to a user picking one.
        - `code` string
        - `description` string
        - `packSize` string
        - `packCount` union: Pieces per NVS pack, when the pack text could be read ("PK 100" → 100, "100ML" → 1).
          - integer
          - string, int32
        - `measureAmount` union: Contents of each piece when measured ("100ML" → 100 ml).
          - number, double
          - string, double
        - `measureUnit` string, nullable
        - `packCostExVat` union
          - number, double
          - string, double
        - `vatCode` string, nullable
        - `controlledDrug` boolean
        - `inStock` boolean, nullable
      - `score` union: 0..1. 1 means the item's vendor item number is this NVS code.
        - number, double
        - string, double
      - `reason` string: "vendorItemNumber" or "name".
      - `suggestedUnitsPerPack` union: Units per pack to prefill, when it can be inferred; null means the user must enter it.
        - number, double
        - string, double
  - `unmatchedCount` union: Active items with no NVS link that got no candidate at all.
    - integer
    - string, int32
  - `alreadyLinkedCount` union
    - integer
    - string, int32

## Changes

- **2026-10-28** `099cf36186e0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/integrations/nvs/match-suggestions/post.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
