---
title: "Update user by ID"
method: PUT
path: "/auth/users/{userId}"
tags: ["auth"]
---

# Update user by ID

`PUT /auth/users/{userId}`

Update a specific user by ID (superadmin only)

## Path parameters

- `userId` string, required

## Request body

- UserUpdateRequest
  - `firstName` string
  - `lastName` string
  - `password` string, password — Current password for verification
  - `newPassword` string, password — New password (if changing)
  - `profileImage` string, binary — New profile image file
  - `deleteProfileImage` boolean — Flag to delete current profile image

## Response `200`

Operation successful

- SuccessResponse
  - `success` boolean, required
  - `msg` string, required
  - `data` object — Response payload (varies by endpoint)

## Other responses

- `403` — Insufficient permissions
- `404` — Resource not found
- `422` — Validation failed
- `500` — Internal server error

## Changes

- **2025-08-11** `db719f9e3d34` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/bluewave-labs/apis/checkmate-api/changes/auth/users/:userId/put.md)

---

[API](https://skmtc.dev/bluewave-labs/apis/checkmate-api.md) · [All operations](https://skmtc.dev/bluewave-labs/apis/checkmate-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bluewave-labs/checkmate-api/revisions/8e4e53495dc9/schema)
