Skip to main content
PUT
Update User

Mettre à jour l’utilisateur

Mettez à jour un compte utilisateur existant avec de nouvelles informations.

Point de terminaison

Description

Ce point de terminaison permet aux administrateurs de mettre à jour un compte utilisateur existant. Vous pouvez modifier les détails de l’utilisateur tels que le nom, l’adresse e-mail, le rôle, le niveau de licence et d’autres paramètres de compte.

Authentification

Obligatoire : clé API avec privilèges d’administrateur

Paramètres du chemin

Corps de la demande

Exemple de demande

Réponse réussie

Code d’état : 200 OK

Champs de réponse

Exemple d’utilisation

###JavaScript
###Python

boucle

Réponses d’erreur

400 Requête incorrecte

401 Non autorisé

403 Interdit

404 Introuvable

409 Conflit

Validations et règles métier

  • Valeur de la licence : doit figurer dans les licences autorisées (Essential, Growth, Ultra, Early Access). Les valeurs non valides renvoient 400.
  • Capacité de la licence : appliquée via checkLicenseCapacity ; renvoie 400 lorsque le niveau sélectionné est plein.
  • Garde de rétrogradation de licence : si le passage à un niveau inférieur réduit le quota d’index personnel, le changement est bloqué lorsque le nombre actuel d’index personnels dépasse INDEX_QUOTAS[new_license] ; renvoie 400 avec des conseils explicites.
  • Normalisation des emails : Minuscules et tronqués avant validation et stockage.
  • Normalisation du nom d’utilisateur : Minuscules et tronqués avant validation et stockage.
  • Format d’e-mail : validation regex simple ; les e-mails invalides renvoient 400.
  • Format du nom d’utilisateur : doit correspondre à ^[a-z0-9.-]{3,30}$ ; les noms d’utilisateur invalides renvoient 400.
  • Unicité : email, username et name doivent rester uniques ; les conflits reviennent 409.

Normalisation et stockage

  • email et username sont toujours stockés en minuscules et tronqués.

Formes d’erreur typiques

400 Licence invalide

400 Licence indisponible

### 400 La rétrogradation de la licence dépasse le quota

400 E-mail invalide

400 Nom d’utilisateur invalide

409 Conflit (unicité)

Rôles des utilisateurs

## Niveaux de licence

État du compte

Cas d’utilisation

  • Gestion des rôles : mise à jour des rôles d’utilisateur pour le contrôle d’accès
  • Mises à niveau de licence : modification des niveaux de licence utilisateur
  • Maintenance du compte : mise à jour des informations utilisateur et des métadonnées
  • Gestion des statuts : activation ou suspension des comptes d’utilisateurs
  • Mises à jour du profil : modification des noms d’utilisateur, des adresses e-mail ou d’autres détails

Limites de taux

  • Par défaut : 100 requêtes par minute
  • Quotidien : 10 000 requêtes par jour
  • Mensuel : 300 000 demandes par mois

Remarques

  • Seuls les administrateurs peuvent mettre à jour les comptes d’utilisateurs
  • Les adresses e-mail doivent être uniques pour tous les utilisateurs
  • Les mises à jour des mots de passe sont facultatives et ne seront appliquées que si elles sont fournies
  • Les mises à jour des métadonnées sont fusionnées avec les métadonnées existantes
  • L’horodatage updatedAt est automatiquement mis à jour en cas d’opérations réussies

Autorisations

Authorization
string
header
requis

API key authentication using Bearer token format. Example: Authorization: Bearer sk-your-api-key-here

Paramètres de chemin

userId
string
requis

User ID to update

Corps

application/json
name
string

User's full name

Exemple:

"John Doe Updated"

username
string

Unique username

Exemple:

"johndoe_updated"

email
string<email>

User's email address

Exemple:

"john.updated@example.com"

password
string

User's new password (optional)

Exemple:

"newsecurepassword123"

role
enum<string>

User's role

Options disponibles:
admin,
user,
globalReader
Exemple:

"user"

license
enum<string>

User's license tier

Options disponibles:
Essential,
Growth,
Ultra,
Early Access
Exemple:

"Growth"

status
enum<integer>

User status (0=inactive, 1=active)

Options disponibles:
0,
1
Exemple:

1

roleId
string

Custom role ID (MongoDB ObjectId)

Exemple:

"60a7c8f5e8b4f5001f7a8c24"

setupCompleted
boolean

Whether user setup is completed

Exemple:

true

isVerified
boolean

Whether user is verified

Exemple:

true

Réponse

User updated successfully

success
boolean
Exemple:

true

message
string
Exemple:

"User updated successfully"

user
object