---
title: "Edit project"
method: GET
path: "/api/v1/projects/{id}/edit"
tags: ["projects"]
---

# Edit project

`GET /api/v1/projects/{id}/edit`

## Request

- Base URL: `https://demo.invoiceninja.com`
- URL: `https://demo.invoiceninja.com/api/v1/projects/{id}/edit`
- Auth: none declared. Required headers: `X-API-TOKEN`, `X-Requested-With`
- TypeScript: <https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/docs/api/v1/projects/:id/edit/get.ts> (a function with typed inputs; its response is checked against the schema)

Displays a project by id

## Path parameters

- `id` string, string, required

## Query parameters

- `include` string

## Headers

- `X-API-TOKEN` string, required
- `X-Requested-With` string, required

## Response `200`

Returns the project object

- Project
  - `id` string, required: The project hashed id
  - `user_id` string, required: The user hashed id
  - `assigned_user_id` string: The assigned user identifier associated with the project
  - `client_id` string: The client identifier associated with the project
  - `name` string, required: The name of the project
  - `task_rate` number, float, required: The default rate per task for the project
  - `due_date` string, date: The due date for the project
  - `private_notes` string: Private notes associated with the project
  - `budgeted_hours` number, float, required: The number of budgeted hours for the project
  - `custom_value1` string: Custom value field 1
  - `custom_value2` string: Custom value field 2
  - `custom_value3` string: Custom value field 3
  - `custom_value4` string: Custom value field 4
  - `created_at` number: The timestamp of the project creation
  - `updated_at` number: The timestamp of the last project update
  - `archived_at` number: The timestamp of the project deletion
  - `public_notes` string: Public notes associated with the project
  - `is_deleted` boolean, required: A flag indicating if the project is deleted
  - `number` string: The project number
  - `color` string, required: The color associated with the project
  - `tags` TagAssignment[]: Tags assigned to the project
    - `id` string, required: The hashed tag id
    - `name` string, required: The tag name
    - `color` string, nullable: The tag color as a hex value, or null when unset

## Other responses

- `401`: Authentication error
- `403`: Authorization error
- `422`: Validation error
- `429`: Rate Limit Exceeded
- `5XX`: Server error
- `default`: Unexpected Error

## Changes

- **2026-05-31** `28befcbfadda`: 1 breaking
  - the response property `tags/items/color` became optional for the status `200`
- **2026-05-31** `edde330209e2`: 1 info
  - added the optional property `tags` to the response with the `200` status
- **2026-04-20** `69a36036d334`: 1 info
  - the response required property `id` became read-only for the status `200`
- **2024-06-06** `8e82a2bd77e0`: 2 breaking, 22 info
  - the response's body type changed from no type to `object` for status `200`
  - the response's body type changed from no type to `object` for status `default`
  - added the optional property `archived_at` to the response with the `200` status
  - added the optional property `assigned_user_id` to the response with the `200` status
  - …20 more
- **2024-06-05** `e61df65649e2`: 9 breaking, 15 warning
  - the response's body type changed from `object` to no type for status `200`
  - the response's body type changed from `object` to no type for status `default`
  - removed the required property `budgeted_hours` from the response with the `200` status
  - removed the required property `color` from the response with the `200` status
  - …20 more

[Operation history](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/changes/api/v1/projects/:id/edit/get.md)

---

[API](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference.md) - [All operations](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/revisions/bcda1f823746?raw)
