---
title: "Create a new model inventory"
method: POST
path: "/modelInventory"
tags: ["Model Inventory"]
---

# Create a new model inventory

`POST /modelInventory`

Creates a model inventory record, links it to the supplied project and framework IDs, records a change-history entry, fires any "model_added" automations, and notifies the approver (if set).

## Request body

- ModelInventoryCreateRequest — Request body for creating a new model inventory record
  - `provider_model` string — Legacy combined provider+model field (optional, backward compatibility)
  - `provider` string, required — Model provider name
  - `model` string, required — Model name
  - `version` string, required — Model version identifier
  - `approver` integer, nullable — User ID of the assigned approver
  - `capabilities` union, required — Accepted as either a comma-separated string or an array of strings. Arrays are joined with ", " before storage.
    - string — Comma-separated capabilities
    - string[] — Array of capability strings
  - `security_assessment` boolean — Whether a security assessment has been completed
  - `status` 'Approved' | 'Restricted' | 'Pending' | 'Blocked' | 'Rejected', required — Current approval/review status of the model
  - `status_date` string, date-time, required — ISO 8601 timestamp for the status
  - `reference_link` string, required — URL to external model documentation or model card
  - `biases` string, required — Known biases of the model
  - `limitations` string, required — Known limitations of the model
  - `hosting_provider` string, required — 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 with this model
  - `frameworks` integer[] — Framework IDs to associate with this model

## Response `201`

Model inventory created

- 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
- `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/revisions/c764f0a64a5e/schema)
