---
title: "Update user"
method: PATCH
path: "/v1/users/{id}"
tags: ["User"]
---

# Update user

`PATCH /v1/users/{id}`

Update the given user.

## Request body

- object
  - `username` string — The unique username of the user.
  - `first_name` string — First name of the user.
  - `last_name` string — Last name of the user.
  - `email` string, email — Email address of the user.
  - `password` string, password — Password of the user. Required together with the new_password field.
  - `new_password` string, password — New password of the user.
  - `picture` string, uri, nullable — Profile picture of the user.
  - `title` string, nullable — Work title of the user.
  - `bio` string, nullable — Self description of the user.
  - `address` string, nullable — Working address of the user.
  - `phone` string, nullable — Phone number of the user.
  - `links` string[] — Links to show on profile page.
  - `languages` Language[] — Languages of the user.
  - `status` 'active' | 'pending' | 'inactive' | 'deleted' — Status of the user.

## Response `200`

OK

- User — A user in the system.
  - `id` string, required — Unique identifier of the user.
  - `username` string, required — The unique username of the user.
  - `first_name` string, required — First name of the user.
  - `last_name` string, required — Last name of the user.
  - `email` string, email, required — Email address of the user.
  - `picture` string, uri, nullable, required — Profile picture of the user.
  - `title` string, nullable, required — Work title of the user.
  - `bio` string, nullable, required — Self description of the user.
  - `address` string, nullable, required — Working address of the user.
  - `phone` string, nullable, required — Phone number of the user.
  - `links` string[], nullable, required — Links to show on profile page.
  - `languages` Language[], required — Languages of the user.
  - `status` 'active' | 'pending' | 'inactive' | 'deleted', required — Status of the user.
  - `created_at` string, date-time, required — Date when the user was created.
  - `updated_at` string, date-time, nullable, required — Date when the user was updated.

## Other responses

- `400` — Bad request
- `401` — Unauthorized request
- `403` — Forbidden
- `404` — The requested resource not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/opcotech/apis/elemo-api.md) · [All operations](https://skmtc.net/opcotech/apis/elemo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/opcotech/elemo-api/revisions/6ff580b1e226/schema)
