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

# Update user

`PUT /auth/users/{userId}`

Replace the editable representation of a user identified by its positive database ID; a PAM password change synchronizes Unix and Sylve credentials and Samba intent is explicit

## Path parameters

- `userId` integer, required

## Request body

- InternalHandlersAuthEditUserRequest
  - `admin` boolean, required
  - `auxGroupIds` integer[]
  - `disablePassword` boolean
  - `doasEnabled` boolean
  - `email` string
  - `fullName` string
  - `homeDirPerms` integer
  - `homeDirectory` string
  - `locked` boolean
  - `newPrimaryGroup` boolean
  - `password` string
  - `primaryGroupId` integer
  - `sambaAction` 'keep' | 'upsert' | 'remove'
  - `shell` string
  - `sshPublicKey` string
  - `uid` integer
  - `username` string

## Response `200`

User Updated

- GithubComAlchemillahqSylveInternalAPIResponseInternalHandlersAuthUserMutationResult
  - `data` InternalHandlersAuthUserMutationResult
    - `id` integer
    - `username` string
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `413` — Request Entity Too Large
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/alchemillahq/apis/sylve-api.md) · [All operations](https://skmtc.net/alchemillahq/apis/sylve-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alchemillahq/sylve-api/revisions/9822c41c8ac0/schema)
