---
title: "Update a model inventory by ID"
method: PATCH
path: "/modelInventory/{id}"
tags: ["Model Inventory"]
---

# Update a model inventory by ID

`PATCH /modelInventory/{id}`

Partially updates a model inventory record. All body fields are optional; only provided fields are changed. Project and framework associations can be replaced or cleared. Fires "model_updated" automations and notifies a new approver if changed.

## Path parameters

- `id` integer, required

## Request body

- ModelInventoryUpdateRequest — Request body for updating a model inventory record. All fields are optional; only provided fields are modified.
  - `provider_model` string — Legacy combined provider+model field
  - `provider` string — Model provider name
  - `model` string — Model name
  - `version` string — Model version identifier
  - `approver` integer, nullable — User ID of the assigned approver
  - `capabilities` union — Capabilities (string or array)
    - string
    - string[]
  - `security_assessment` boolean — Whether a security assessment has been completed
  - `status` 'Approved' | 'Restricted' | 'Pending' | 'Blocked' | 'Rejected' — Current approval/review status of the model
  - `status_date` string, date-time — ISO 8601 timestamp for the status
  - `reference_link` string — URL to external model documentation
  - `biases` string — Known biases of the model
  - `limitations` string — Known limitations of the model
  - `hosting_provider` string — Where the model is hosted
  - `security_assessment_data` Filedata[] — Uploaded security assessment file metadata
    - `id` integer, required — File record ID
    - `filename` string, required — Original file name
    - `size` integer, required — File size in bytes
    - `mimetype` string, required — MIME type (e.g. application/pdf)
    - `upload_date` string, date-time, required — ISO 8601 upload timestamp
    - `uploaded_by` integer, required — User ID who uploaded the file
  - `is_demo` boolean — Whether this is a demo/sample record
  - `projects` integer[] — Project IDs to associate. When provided (even empty), replaces all existing project associations.
  - `frameworks` integer[] — Framework IDs to associate. When provided (even empty), replaces all existing framework associations.
  - `deleteProjects` boolean — When true, clears all project associations even if projects array is empty. Used to force-delete associations without providing replacements.
  - `deleteFrameworks` boolean — When true, clears all framework associations even if frameworks array is empty. Used to force-delete associations without providing replacements.

## Response `200`

Model inventory updated

- object
  - `message` string
  - `data` ModelInventoryResponse — Model inventory record as returned by the API
    - `id` integer — Auto-generated primary key
    - `provider_model` string, nullable — Legacy combined provider+model field (backward compatibility)
    - `provider` string — Model provider name
    - `model` string — Model name
    - `version` string — Model version identifier
    - `approver` integer, nullable — User ID of the assigned approver
    - `capabilities` string[] — List of capability strings. Stored as comma-separated text in the DB, returned as an array.
    - `security_assessment` boolean — Whether a security assessment has been completed
    - `status` 'Approved' | 'Restricted' | 'Pending' | 'Blocked' | 'Rejected' — Current approval/review status of the model
    - `status_date` string, date-time — ISO 8601 timestamp of the last status change
    - `reference_link` string, nullable — URL to external model documentation or model card
    - `biases` string — Known biases of the model
    - `limitations` string — Known limitations of the model
    - `hosting_provider` string — Where the model is hosted
    - `security_assessment_data` Filedata[] — Uploaded security assessment file metadata
      - `id` integer, required — File record ID
      - `filename` string, required — Original file name
      - `size` integer, required — File size in bytes
      - `mimetype` string, required — MIME type (e.g. application/pdf)
      - `upload_date` string, date-time, required — ISO 8601 upload timestamp
      - `uploaded_by` integer, required — User ID who uploaded the file
    - `is_demo` boolean — Whether this is a demo/sample record
    - `created_at` string, date-time — ISO 8601 creation timestamp
    - `updated_at` string, date-time — ISO 8601 last-updated timestamp
    - `projects` integer[] — IDs of projects this model is associated with
    - `frameworks` integer[] — IDs of frameworks this model is associated with

## Other responses

- `401` — Missing or invalid JWT
- `404` — Model inventory not found
- `500` — Internal server error

---

[API](https://skmtc.net/verifywise-ai/apis/verifywise-api.md) · [All operations](https://skmtc.net/verifywise-ai/apis/verifywise-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/verifywise-ai/verifywise-api/versions/c764f0a64a5e/schema)
