---
title: "Reset user's password"
method: POST
path: "/users/{userId}/reset-password"
tags: ["users"]
---

# Reset user's password

`POST /users/{userId}/reset-password`

Resets a locally authenticated builtin user's password to a new value. Requires admin role. Externally authenticated users do not have Dagu passwords.

## Path parameters

- `userId` string, required

## Request body

- ResetPasswordRequest — Request body for admin password reset
  - `newPassword` string, required — New password to set for the user

## Response `200`

Password reset successfully

- SuccessResponse — Generic success response
  - `message` string, required — Success message

## Other responses

- `400` — Invalid request (e.g., weak password)
- `401` — Not authenticated
- `403` — Forbidden - requires admin role, or the target user uses an external authentication provider
- `404` — User not found
- `default` — Unexpected error

## Changes

> 70 revisions in range; 4 could not be searched.

- **2026-07-23** (v1) `75b8e91aaf57` — 15 warning
  - added the new `conflict` enum value to the `code` response property for the response status `400`
  - added the new `conflict` enum value to the `code` response property for the response status `401`
  - added the new `conflict` enum value to the `code` response property for the response status `403`
  - added the new `conflict` enum value to the `code` response property for the response status `404`
  - …11 more
- **2026-05-24** (v1) `8a2d5d3e9608` — 5 warning
  - added the new `rate_limited` enum value to the `code` response property for the response status `400`
  - added the new `rate_limited` enum value to the `code` response property for the response status `401`
  - added the new `rate_limited` enum value to the `code` response property for the response status `403`
  - added the new `rate_limited` enum value to the `code` response property for the response status `404`
  - …1 more
- **2026-04-30** (v1) `50e1d517afc1` — 5 info
  - removed the `rate_limited` enum value from the `code` response property for the response status `400`
  - removed the `rate_limited` enum value from the `code` response property for the response status `401`
  - removed the `rate_limited` enum value from the `code` response property for the response status `403`
  - removed the `rate_limited` enum value from the `code` response property for the response status `404`
  - …1 more

[Change history](https://skmtc.dev/dagucloud/apis/dagu/changes/users/:userId/reset-password/post.md)

---

[API](https://skmtc.dev/dagucloud/apis/dagu.md) · [All operations](https://skmtc.dev/dagucloud/apis/dagu/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dagucloud/dagu/revisions/9fcb8e054188/schema)
