---
title: "Change a project"
method: PATCH
path: "/api/v1/projects/{project}"
tags: ["projects"]
---

# Change a project

`PATCH /api/v1/projects/{project}`

## Request

- Base URL: `https://easeweb.host`
- URL: `https://easeweb.host/api/v1/projects/{project}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sessionid`

Change a project of yours: its title and description, which presentations are in it ("add" puts presentations of
yours at its end, "remove" makes them presentations on their own again) and their order ("order": the slugs of all
of its presentations). Links between presentations work only inside a project: a removed presentation's links
to the others stop leading anywhere. Access: "access" is the level of the project, which its presentations inherit
(the stricter of the project's and the presentation's own level counts); "grant" gives people access to all of it
({"user": name, "role": "view"|"edit"}), "revoke" takes it away (user names).

## Path parameters

- `project` string, required: The project's slug (its address: /project/<slug>/).

## Request body

- object
  - `access` 'open' | 'public' | 'private': Level of the project: "open", "public" or "private".
  - `grant` object[]: Give access to the whole project: [{"user": <user name>, "role": "view"|"edit"}].
  - `revoke` string[]: User names whose access is taken away.
  - `title` string: New title.
  - `description` string: New description.
  - `add` string[]: Slugs of presentations.
  - `remove` string[]: Slugs of presentations.
  - `order` string[]: Slugs of all the presentations of the project, in the new order.

## Response `200`

OK

- object

## Other responses

- `4XX`: Error

---

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