---
title: "Update a project by ID"
method: PATCH
path: "/projects/{id}"
tags: ["Projects"]
---

# Update a project by ID

`PATCH /projects/{id}`

Partially updates a project and its member list. Only provided fields are updated.

## Path parameters

- `id` integer, required

## Request body

- UpdateProjectRequest
  - `project_title` string
  - `owner` integer
  - `start_date` string, date-time
  - `geography` integer
  - `ai_risk_classification` 'Prohibited' | 'High risk' | 'Limited risk' | 'Minimal risk' — EU AI Act risk classification level
  - `type_of_high_risk_role` 'Deployer' | 'Provider' | 'Distributor' | 'Importer' | 'Product manufacturer' | 'Authorized representative' — Role of the organization under the EU AI Act for high-risk systems
  - `goal` string, nullable
  - `target_industry` string, nullable
  - `description` string, nullable
  - `status` 'Not started' | 'In progress' | 'Under review' | 'Completed' | 'Closed' | 'On hold' | 'Rejected' — Current lifecycle status of the project
  - `last_updated` string, date-time
  - `last_updated_by` integer
  - `members` integer[]

## Response `202`

Project updated successfully

- object
  - `message` string
  - `data` ProjectWithMembers
    - `id` integer
    - `uc_id` string
    - `project_title` string
    - `owner` integer
    - `start_date` string, date-time
    - `geography` integer
    - `ai_risk_classification` 'Prohibited' | 'High risk' | 'Limited risk' | 'Minimal risk' — EU AI Act risk classification level
    - `type_of_high_risk_role` 'Deployer' | 'Provider' | 'Distributor' | 'Importer' | 'Product manufacturer' | 'Authorized representative' — Role of the organization under the EU AI Act for high-risk systems
    - `goal` string, nullable
    - `target_industry` string, nullable
    - `description` string, nullable
    - `status` 'Not started' | 'In progress' | 'Under review' | 'Completed' | 'Closed' | 'On hold' | 'Rejected' — Current lifecycle status of the project
    - `last_updated` string, date-time
    - `last_updated_by` integer
    - `created_at` string, date-time
    - `is_organizational` boolean
    - `is_demo` boolean
    - `approval_workflow_id` integer, nullable
    - `pending_frameworks` string, nullable
    - `enable_ai_data_insertion` boolean
    - `organization_id` integer
    - `framework` ProjectFramework[]
      - `project_framework_id` integer
      - `framework_id` integer
      - `name` string
    - `members` integer[]

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `403` — Business logic error
- `404` — Project 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)
