---
title: "Actualizar un usuario | Documentación de Ordering.co"
description: "Usa POST /users/{user} para actualizar parcialmente un usuario por ID numérico."
canonical: https://docs.ordering.co/es/api-reference/guides/update-user/
---

# Actualizar un usuario

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

Usa `POST /users/{user}` para actualizar parcialmente un usuario por ID numérico. La operación pública actual es `User.update.users_user`.

El parámetro final `{user}` identifica al usuario que se actualiza. Esta API usa intencionalmente `POST`, no `PUT` ni `PATCH`, para esta ruta de actualización.

Un usuario autenticado puede actualizar los campos de perfil que tenga permitidos. Los flujos de administrador, administrador de negocio, agente de centro de llamadas y administrador de repartidores tienen un alcance adicional específico para cada rol, pero un usuario no puede cambiar su propio `level`; cuando quien actualiza no es administrador, el controlador no aplica `level` ni `driver_zone_restriction`.

Cambiar un cellphone verificado puede requerir `verification_code`, según la solicitud.

## Ejemplo de SDK heredado

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

Confirma el paquete y la versión del SDK antes de usar este helper.

## Referencia de OpenAPI

**Operación:** `POST /users/{user}`

**Parámetros de ruta**

| Nombre | Tipo    | Obligatorio | Descripción |
| ------ | ------- | ----------- | ----------- |
| `user` | integer | Sí          | —           |

**Parámetros de encabezado**

| Nombre       | Tipo   | Obligatorio | Descripción |
| ------------ | ------ | ----------- | ----------- |
| `User-Agent` | string | No          | —           |

**Campos del cuerpo de la solicitud**

| Nombre               | Tipo    | Obligatorio |
| -------------------- | ------- | ----------- |
| `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          |

**Respuestas**

| Código | Descripción                                                                                                                                                                                                                                                                             |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200    | Respuesta exitosa. `result` usa la proyección pública conservadora de User.                                                                                                                                                                                                             |
| 400    | Respuesta de error (error=true). Los errores de validación y de negocio comparten este código.                                                                                                                                                                                          |
| 401    | Envelope de error: sesión ausente, inválida, o nivel de usuario fuera de los permitidos. Respuesta de error para el código declarado por la operación. Consulta `result` para ver los detalles disponibles. Envelope de error: el proyecto no existe o no tiene una suscripción activa. |
| 404    | Respuesta vacía: la versión de API solicitada no está admitida.                                                                                                                                                                                                                         |
| 429    | Envelope de error: se excedió un límite de consumo del proyecto (o el sujeto está baneado). Lleva Retry-After y X-RateLimit-Limit/Remaining/Reset/Scope/Key.                                                                                                                            |
| 500    | Respuesta de error: falló la búsqueda o inicialización del proyecto.                                                                                                                                                                                                                    |
| 503    | Envelope de error: la aplicación está temporalmente en mantenimiento. Envelope de error: el proyecto está temporalmente en mantenimiento, o los límites de consumo no se pudieron evaluar y el límite aplicable está configurado con on\_error = closed (cabecera Retry-After: 1).      |

[Abrir esta operación en la Referencia de la API](https://docs.ordering.co/es/api-reference/#tag/users/POST/users/{user})
