> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Accès aux modèles par utilisateur

> Autoriser ou bloquer des modèles individuels pour un seul utilisateur — administrateur de la plateforme uniquement

La disponibilité des modèles d'IA est décidée **exclusivement par l'administrateur de la plateforme**, via le catalogue de modèles (`models.enabled` sur `/admin/models`). Il n'existe aucune dérogation au niveau de l'espace de travail.

Au-delà de ce commutateur global, l'administrateur de la plateforme peut autoriser ou bloquer des **modèles individuels pour un seul utilisateur** — utile pour les essais commerciaux, les accès bêta ou les restrictions ciblées.

## Fonctionnement

Ouvrez la fiche d'un utilisateur sur `/admin/users/[id]` et utilisez la section **Accès aux modèles**. Chaque modèle du catalogue possède trois états :

| État      | Signification                                                             |
| --------- | ------------------------------------------------------------------------- |
| `Default` | Suit le commutateur global du catalogue (`models.enabled`)                |
| `Allow`   | Activé de force pour cet utilisateur, même s'il est désactivé globalement |
| `Block`   | Désactivé de force pour cet utilisateur, même s'il est activé globalement |

La disponibilité effective pour un utilisateur est déterminée ainsi : **la dérogation propre à l'utilisateur si elle existe, sinon le commutateur global du catalogue.** Les listes déroulantes de l'éditeur d'assistant d'un utilisateur (`GET /api/models`) et la validation côté serveur à l'enregistrement respectent toutes deux les dérogations du propriétaire de l'assistant.

<Note>
  Cette fonctionnalité est réservée à l'administrateur de la plateforme. Elle n'est exposée ni sur l'API publique v1 ni sur le MCP — seuls les endpoints d'administration ci-dessous permettent de la consulter ou de la modifier.
</Note>

## API d'administration

Les deux endpoints exigent un administrateur de plateforme (`requirePlatformAdmin`) ; l'usurpation d'identité est ignorée.

**`GET /api/admin/users/{id}/models`** — renvoie le catalogue complet, regroupé par type (`llm`/`stt`/`tts`/`realtime`). Chaque modèle expose :

* `global_enabled` — le commutateur du catalogue
* `override` — `null` (suit le réglage global), `true` (autorisé) ou `false` (bloqué)
* `effective` — la disponibilité résultante pour cet utilisateur

**`PUT /api/admin/users/{id}/models`** avec un corps contenant les dérogations :

```json theme={null}
{ "overrides": [ { "model_id": "<uuid>", "enabled": false } ] }
```

Définissez `enabled` sur `true`/`false` pour forcer l'autorisation ou le blocage, ou sur `null` pour supprimer la dérogation et faire à nouveau suivre à l'utilisateur le catalogue global. Chaque modification est consignée dans le journal d'audit d'administration.
