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

# Update a project

`PATCH /projects/{project}`

## Request

- Base URL: `https://api.spectate.net/v1`
- URL: `https://api.spectate.net/v1/projects/{project}`
- Auth: HTTP bearer

Changes only the fields you send. `escalation_path_ids` replaces the project's paths;
send `[]` to remove them all.

## Path parameters

- `project` string, uuid, required

## Request body

- UpdateProject: Changes to a project; fields left out keep their value.
  - `name` string: Project name
  - `escalation_path_ids` string[]: Escalation paths for alerts of the project's monitors and hosts; replaces the current list. Send `[]` for none

## Response `200`

The updated project.

- Project: A project: a group of monitors and hosts that share escalation paths. Every team has one default project, which can't be deleted.
  - `id` string, uuid, required: Project ID
  - `name` string, required: Project name
  - `is_default` boolean, required: Whether this is the team's default project, which new monitors and hosts join when no project is given. It can't be deleted
  - `escalation_paths` EscalationPathReference[], required: Escalation paths that alerts of this project's monitors and hosts follow, unless a monitor or host sets its own
    - `id` string, uuid, required: Escalation path ID
    - `name` string, required: Escalation path name
  - `created_at` string, date-time, required: When the project was created

## Other responses

- `401`: `UNAUTHENTICATED`: no token was sent. `INVALID_TOKEN`: the token is unknown or revoked. `TOKEN_EXPIRED`: the token has expired.
- `403`: `FORBIDDEN`: the token lacks an ability this endpoint requires (listed in `details.required_abilities`). `TEAM_PENDING_DELETION`: the team is scheduled for deletion. `TEAM_SUSPENDED`: Spectate suspended the team.
- `404`: `RESOURCE_NOT_FOUND`: there is no such resource in this team.
- `422`: `VALIDATION_FAILED`: the request is invalid; `details.errors` lists the fields.
- `429`: `RATE_LIMITED`: too many requests for this token. Wait for the number of seconds in `Retry-After`.

---

[API](https://skmtc.dev/spectate/apis/spectate-api.md) - [All operations](https://skmtc.dev/spectate/apis/spectate-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spectate/apis/spectate-api/revisions/9b1a233997de?raw)
