---
title: "Update a user <-> project relation"
method: POST
path: "/projects/{projectID}/users/{userID}"
tags: ["sharing"]
---

# Update a user <-> project relation

`POST /projects/{projectID}/users/{userID}`

Update a user <-> project relation. Mostly used to update the permission that user has.

## Path parameters

- `projectID` integer, required
- `userID` integer, required

## Request body

- ModelsProjectUser
  - `created` string — A timestamp when this relation was created. You cannot change this value.
  - `id` integer — The unique, numeric id of this project <-> user relation.
  - `permission` 0 | 1 | 2
  - `updated` string — A timestamp when this relation was last updated. You cannot change this value.
  - `username` string — The username.

## Response `200`

The updated user <-> project relation.

- ModelsProjectUser
  - `created` string — A timestamp when this relation was created. You cannot change this value.
  - `id` integer — The unique, numeric id of this project <-> user relation.
  - `permission` 0 | 1 | 2
  - `updated` string — A timestamp when this relation was last updated. You cannot change this value.
  - `username` string — The username.

## Other responses

- `403` — The user does not have admin-access to the project
- `404` — User or project does not exist.
- `500` — Internal error

---

[API](https://skmtc.net/go-vikunja/apis/vikunja-api.md) · [All operations](https://skmtc.net/go-vikunja/apis/vikunja-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/go-vikunja/vikunja-api/versions/feb3f68bbdf1/schema)
