---
name: metabase_deactivate_user
kind: function
lang: go
domain: infra
version: "1.0.0"
purity: impure
signature: "func MetabaseDeactivateUser(client MetabaseClient, userID int) error"
description: "Desactiva (soft-delete) un usuario en Metabase. El usuario no se elimina permanentemente, solo se marca como inactivo. Para reactivar, usar PUT /api/user/:id/reactivate. Endpoint: DELETE /api/user/:id."
tags: [metabase, user, delete, deactivate, api]
uses_functions: []
uses_types: [MetabaseClient_go_infra]
returns: []
returns_optional: false
error_type: "error_go_core"
imports: [fmt]
params:
  - name: client
    desc: "cliente MetabaseClient autenticado con permisos admin"
  - name: userID
    desc: "ID del usuario a desactivar"
output: "nil si la desactivacion fue exitosa, error en caso contrario"
tested: false
tests: []
test_file_path: ""
file_path: "functions/infra/metabase_deactivate_user.go"
---

## Ejemplo

```go
err := MetabaseDeactivateUser(client, 5)
if err != nil {
    log.Fatal(err)
}
// Usuario 5 ahora esta inactivo
// Para ver desactivados: MetabaseListUsers(client, "deactivated", "", 0, 0)
```

## Notas

Es un soft-delete: el usuario se desactiva pero no se borra. Se puede reactivar con PUT /api/user/:id/reactivate.

Para listar usuarios desactivados, usar `MetabaseListUsers` con status "deactivated".

Requiere permisos de superusuario. Error 403 si no eres admin.
