---
title: "Updates a Project"
method: PUT
path: "/api/2026-10-01/resources/project_management/projects/{id}"
tags: ["ProjectManagement > Project"]
---

# Updates a Project

`PUT /api/2026-10-01/resources/project_management/projects/{id}`

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/project_management/projects/{id}`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.factorialhr.com/oauth/authorize`
    - Token URL: `https://id.factorialhr.com/api/oauth/token` scopes: `project_management_projects`
  - API key in header `x-api-key`

###### **What does it do?**
This updates a project with the given params.
###### **Who can use it?**
Only companies who have enabled the `projects_management` feature and users with a role in the project.

## Path parameters

- `id` string, required

## Request body

- object
  - `id` string, required: Id project.
  - `name` string, required: Name of the project.
  - `code` string: Code for the project to be identifiable and searchable.
  - `description` string: Description of the project.
  - `start_date` string: Start date for the project. If given must be in iso-8601 format (YYYY-MM-DD).
  - `due_date` string: Due date for the project. If given must be in iso-8601 format (YYYY-MM-DD).
  - `client_id` string: Client associated to the project, refers to finance/contacts.
  - `legal_entity_id` string: Id of the legal entity for the currency of the project

## Response `200`

OK

- ProjectManagementProject
  - `id` string, required: The id of the project
  - `name` string, required: The name of the project
  - `code` string: The code of the project
  - `description` string: The description of the project
  - `start_date` string: The start date of the project
  - `due_date` string: The end date of the project
  - `status` 'active' | 'closed' | 'draft' | 'processing', required: The lifecycle status of the project (whether it is still running and can take new charges)
  - `employees_assignment` 'manual' | 'company', required: How employees get access to the project — `manual` (hand-picked members) or `company` (everyone in the company)
  - `inputed_minutes` integer: The total minutes tracked in the project (if requested)
  - `is_billable` boolean, required: Whether the project's costs can be billed (recharged) to a client
  - `fixed_cost_cents` integer: Total fixed costs in cents
  - `labor_cost_cents` integer: Total labor costs in cents
  - `legal_entity_id` string, required: The legal entity id of the project
  - `spending_cost_cents` integer: Total spending costs in cents
  - `client_id` string: The client of the project, refers to finance/contacts.
  - `total_cost_cents` integer: Total Cost in cents

## Changes

- **2026-11-03** `83ac9aa1de50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/factorialhr/apis/factorial-api/changes/api/2026-10-01/resources/project_management/projects/:id/put.md)

---

[API](https://skmtc.dev/factorialhr/apis/factorial-api.md) - [All operations](https://skmtc.dev/factorialhr/apis/factorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/factorialhr/apis/factorial-api/revisions/83ac9aa1de50?raw)
