---
title: "Update Project"
method: PUT
path: "/api/projects/{project_id}"
tags: ["projects"]
---

# Update Project

`PUT /api/projects/{project_id}`

## Request

- Base URL: `https://api.pcbgenerator.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pcbgenerator.com/api/projects/{project_id}`
- Auth: HTTP bearer

Update an existing project.

## Path parameters

- `project_id` string, required

## Request body

- ProjectUpdate: Request model for updating a project.
  - `name` string, nullable
  - `current_phase` integer, nullable
  - `completed_phases` integer[], nullable
  - `phase_data` object, nullable
  - `progress` integer, nullable
  - `updated_at_local` string, nullable: Local timestamp without timezone
  - `timezone` string, nullable: IANA timezone string (e.g., 'America/New_York')

## Response `200`

Successful Response

- ProjectResponse: Response model for project metadata (excludes phase_data for list views).
  - `id` string, required
  - `name` string, required
  - `current_phase` integer, required
  - `completed_phases` integer[], required
  - `progress` integer, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pcbgenerator/apis/pcb-stackup-generator-api.md) · [All operations](https://skmtc.dev/pcbgenerator/apis/pcb-stackup-generator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pcbgenerator/apis/pcb-stackup-generator-api/revisions/b6084b3ace32?raw)
