---
title: "Get model inventories by project ID"
method: GET
path: "/modelInventory/by-projectId/{projectId}"
tags: ["Model Inventory"]
---

# Get model inventories by project ID

`GET /modelInventory/by-projectId/{projectId}`

Returns all model inventories associated with a project (via the model_inventories_projects_frameworks join table where framework_id IS NULL). Non-numeric project IDs (e.g. plugin-sourced) return an empty array.

## Path parameters

- `projectId` integer, required

## Response `200`

List of model inventories for the project (may be empty)

- object
  - `message` string
  - `data` ModelInventoryResponse[]
    - `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/versions/c764f0a64a5e/schema)
