---
title: "Delete users by ids: disable Keycloak + mark deleted in DB"
method: POST
path: "/api/patients/delete-by-user-ids"
tags: ["patients"]
---

# Delete users by ids: disable Keycloak + mark deleted in DB

`POST /api/patients/delete-by-user-ids`

Admin only. For each user UUID: disables the account in Keycloak (if present), disables the user and stamps users.deleted_at. This is a reversible deactivation (see /patients/restore-by-user-ids)At most 50 IDs per request. Operator users are rejected. Works for any patient user, including when deletion_requested_at is null (admin-initiated deletion).

## Request body

- PatientDeleteByUserIdsBody — Keycloak user UUIDs (users.id): remove from IdP and anonymize PII in DB.
  - `user_ids` string[], required

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/corabea/apis/corabea-api.md) · [All operations](https://skmtc.dev/corabea/apis/corabea-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/corabea/corabea-api/revisions/13c1bce1bdc4/schema)
