---
title: "Update a user"
description: "Use POST /users/{user} to partially update a user by numeric ID. The current public operation is User.update.users_user."
canonical: https://docs.ordering.co/api-reference/guides/update-user/
---

# Update a user

> **API operation:** [Open the endpoint in Scalar](https://docs.ordering.co/api-reference/#tag/users/POST/users/{user})

Use `POST /users/{user}` to partially update a user by numeric ID. The current public operation is `User.update.users_user`.

The final path parameter `{user}` identifies the user being updated. This API intentionally uses `POST`, not `PUT` or `PATCH`, for this update route.

An authenticated user can update their permitted profile fields. Administrator, business-manager, call-center-agent, and driver-manager flows have additional role-specific scope, but a user cannot change their own `level`; non-administrator updates do not apply `level` or `driver_zone_restriction`.

Changing a verified cellphone may require `verification_code`, depending on the request.

## Legacy SDK example

```javascript
const response = await ordering.users(userId).save()
```

Confirm the SDK package and version before using this helper.

## OpenAPI reference

**Operation:** `POST /users/{user}`

**Path parameters**

| Name   | Type    | Required | Description |
| ------ | ------- | -------- | ----------- |
| `user` | integer | Yes      | —           |

**Header parameters**

| Name         | Type   | Required | Description |
| ------------ | ------ | -------- | ----------- |
| `User-Agent` | string | No       | —           |

**Request body fields**

| Name                 | Type    | Required |
| -------------------- | ------- | -------- |
| `cellphone`          | string  | No       |
| `city_id`            | integer | No       |
| `country_code`       | string  | No       |
| `country_phone_code` | string  | No       |
| `email`              | string  | No       |
| `lastname`           | string  | No       |
| `level`              | integer | No       |
| `location`           | object  | No       |
| `name`               | string  | No       |
| `password`           | string  | No       |
| `schedule`           | object  | No       |
| `settings`           | object  | No       |

**Responses**

| Code | Description                           |
| ---- | ------------------------------------- |
| 200  | OK (UserResponse)                     |
| 400  | Bad Request (ErrorResponse)           |
| 401  | Unauthorized                          |
| 404  | Not Found                             |
| 429  | Too Many Requests (ErrorResponse)     |
| 500  | Internal Server Error (ErrorResponse) |
| 503  | Service Unavailable (ErrorResponse)   |

[Open this operation in the API reference](https://docs.ordering.co/api-reference/#tag/users/POST/users/{user})
