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

# Lister les modèles et les tarifs de Devin Desktop

> Listez les modèles Devin Desktop disponibles pour votre compte, avec leurs UID de modèle, leurs noms et les tarifs par token ou par message facturés à votre équipe.

<div id="overview">
  ## Vue d'ensemble
</div>

Renvoie les modèles disponibles pour le compte appelant, avec les tarifs réellement facturés à ce compte. Utilisez-le comme source de vérité programmatique pour la tarification des modèles, plutôt que de recopier les tarifs affichés sur la [page des modèles](/fr/desktop/models).

Les tarifs dépendent du plan et du modèle de facturation de l'appelant : deux équipes peuvent donc obtenir des valeurs différentes pour un même modèle.

<Note>Cet endpoint est en version alpha (`v2alpha`). La structure de la réponse est susceptible d'évoluer.</Note>

<div id="authentication">
  ## Authentification
</div>

Transmettez une clé d'API dans l'en-tête `Authorization` :

```
Authorization: Bearer <api-key>
```

Utilisez une [API key d’utilisateur de service](/fr/api-reference/authentication) Devin (`cog_...`). Le rôle de l’utilisateur de service doit inclure l’autorisation **Use Devin Desktop**, et l’accès à Devin Desktop doit être activé pour le compte.

<div id="request">
  ## Requête
</div>

<ParamField query="filter" type="string">
  Laissez ce paramètre non défini pour lister tous les modèles autorisés par votre plan et votre modèle de facturation, sans tenir compte des restrictions au niveau de la Team.

  Définissez-le sur `allowlist` pour appliquer également la liste d’autorisation de modèles de votre Team, les contrôles de l’organisation et les restrictions de groupe : la liste correspondra alors à ce que les utilisateurs voient dans le sélecteur de modèles de Devin Desktop.
</ParamField>

<div id="example-request">
  ### Exemple de requête
</div>

```bash theme={null}
curl https://server.codeium.com/api/v2alpha/models \
  -H "Authorization: Bearer $DEVIN_API_KEY"
```

Uniquement les modèles que vos utilisateurs peuvent sélectionner :

```bash theme={null}
curl "https://server.codeium.com/api/v2alpha/models?filter=allowlist" \
  -H "Authorization: Bearer $DEVIN_API_KEY"
```

<div id="response">
  ## Réponse
</div>

<ResponseField name="models" type="object[]">
  Modèles disponibles pour l'appelant. Les modèles désactivés ne sont pas inclus.

  <Expandable title="propriétés">
    <ResponseField name="uid" type="string">
      Identifiant stable du modèle, par exemple `claude-sonnet-4-5`.
    </ResponseField>

    <ResponseField name="name" type="string">
      Nom affiché dans le sélecteur de modèles.
    </ResponseField>

    <ResponseField name="pricing_dimensions" type="object[]">
      Tarifs facturés à l'appelant pour ce modèle. Vide pour les modèles sans frais.

      <Expandable title="propriétés">
        <ResponseField name="label" type="string">
          Ce qui est facturé, en snake\_case : `input`, `output`, `cached_input`, `cache_read` ou `cache_write` pour la tarification par token ; pour les prix exprimés dans une unité non monétaire, la quantité facturée, par exemple `message` pour une tarification au message. Les modèles Fusion indiquent également les prix de leur sidekick avec le préfixe `sidekick_`, par exemple `sidekick_input` ou `sidekick_message`.
        </ResponseField>

        <ResponseField name="unit" type="string">
          L'unité dans laquelle `value` est exprimée, en snake\_case, par exemple `usd`, `acus` ou `credits`.
        </ResponseField>

        <ResponseField name="value" type="number">
          Le prix en `unit`, par `denominator`.
        </ResponseField>

        <ResponseField name="denominator" type="string">
          La quantité à laquelle le prix s'applique, par exemple `1M tokens` ou `message`.
        </ResponseField>

        <ResponseField name="info" type="string">
          Note facultative sur le prix, par exemple `Higher effort consumes more tokens`.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="example-response">
  ### Exemple de réponse
</div>

Les modèles et les tarifs ci-dessous servent uniquement à illustrer la structure de la réponse. Appelez l'endpoint pour obtenir vos tarifs réels.

```json theme={null}
{
  "models": [
    {
      "uid": "claude-sonnet-4-5",
      "name": "Claude Sonnet 4.5",
      "pricing_dimensions": [
        { "label": "input", "unit": "usd", "value": 3, "denominator": "1M tokens" },
        { "label": "cached_input", "unit": "usd", "value": 0.3, "denominator": "1M tokens" },
        { "label": "output", "unit": "usd", "value": 15, "denominator": "1M tokens" }
      ]
    },
    {
      "uid": "example-model",
      "name": "Example Model",
      "pricing_dimensions": [
        { "label": "message", "unit": "acus", "value": 0.5, "denominator": "message" }
      ]
    }
  ]
}
```

<div id="error-responses">
  ## Réponses d'erreur
</div>

Les erreurs sont renvoyées sous la forme `{"error": "<message>"}`.

| Statut | Cause                                                                                                |
| ------ | ---------------------------------------------------------------------------------------------------- |
| `400`  | `filter` a une valeur autre que `allowlist`                                                          |
| `401`  | Clé d'API manquante ou invalide                                                                      |
| `403`  | L'utilisateur associé à la clé n'a pas accès à Devin Desktop                                         |
| `429`  | Limite de débit dépassée ; attendez la durée indiquée par l'en-tête `Retry-After` avant de réessayer |
