---
title: "Partially update project"
method: PATCH
path: "/v1/project/{project_id}"
tags: ["Projects"]
---

# Partially update project

`PATCH /v1/project/{project_id}`

Partially update a project object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null.

## Path parameters

- `project_id` string, uuid, required — Project id

## Request body

- PatchProject
  - `name` string, nullable — Name of the project
  - `settings` object, nullable — Project settings. Patch operations replace all settings, so make sure you include all settings you want to keep.
    - `comparison_key` string, nullable — The key used to join two experiments (defaults to `input`).

## Response `200`

Returns the project object

- Project
  - `id` string, uuid, required — Unique identifier for the project
  - `org_id` string, uuid, required — Unique id for the organization that the project belongs under
  - `name` string, required — Name of the project
  - `created` string, date-time, nullable — Date of project creation
  - `deleted_at` string, date-time, nullable — Date of project deletion, or null if the project is still active
  - `user_id` string, uuid, nullable — Identifies the user who created the project
  - `settings` ProjectSettings, nullable
    - `comparison_key` string, nullable — The key used to join two experiments (defaults to `input`).

## Other responses

- `400` — The request was unacceptable, often due to missing a required parameter
- `401` — No valid API key provided
- `403` — The API key doesn’t have permissions to perform the request
- `429` — Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
- `500` — Something went wrong on Braintrust's end. (These are rare.)

## Changes

- **2024-09-30** `ac2727014d93` — 5 breaking
  - the response's body became nullable
  - the response's body became nullable
  - the response's body became nullable
  - the response's body became nullable
  - …1 more
- **2024-09-25** `68955d9009ff` — 3 breaking, 1 warning
  - added `#/components/schemas/ProjectSettings, subschema #2` to the `settings` request property `allOf` list
  - the request property `settings` became not nullable
  - the `settings` request property type/format changed from `object`/`` to ``/``
  - removed the request property `settings/comparison_key`
- **2024-07-23** `9eeeeb30b963` — 2 info
  - added the new optional request property `settings`
  - added the optional property `settings` to the response with the `200` status
- **2024-05-06** `44b51ad3239a` — 3 breaking, 6 info
  - the response property `created` became nullable for the status `200`
  - the response property `deleted_at` became nullable for the status `200`
  - the response property `user_id` became nullable for the status `200`
  - the request property `name` became nullable
  - …5 more

[Change history](https://skmtc.dev/braintrustdata/apis/braintrust-api/changes/v1/project/:project_id/patch.md)

---

[API](https://skmtc.dev/braintrustdata/apis/braintrust-api.md) · [All operations](https://skmtc.dev/braintrustdata/apis/braintrust-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/braintrustdata/braintrust-api/revisions/9d216c8243fe/schema)
