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

# Gérer les sièges

Comprenez comment modifier le nombre de sièges sur un abonnement, surveiller le solde actif et consulter l'historique des modifications.

## Modifier le nombre de sièges

Une fois qu'un contrat est créé, vous pouvez modifier le nombre de sièges sur l'abonnement à l'aide du [point de terminaison edit contract](/fr/api-reference/contracts/edit-a-contract). Le mécanisme pour modifier le nombre de sièges dépend de si vous utilisez le champ `quantity` pour ajuster le nombre ou la `seat_config`.

### Changement de quantité​ pour les abonnements standards et les pools de crédits

Planifiez un changement de la quantité d'un abonnement à l'aide de l'action `update_subscription` sur le [point de terminaison edit contract](/fr/api-reference/contracts/edit-a-contract). Passez soit le nouveau total via `quantity`, soit la différence par rapport au nombre précédent via `quantity_delta`. Les mises à jour planifiées avec le même `starting_at` sont appliquées dans l'ordre où elles sont soumises. Les changements de quantité sont facturés selon les paramètres de proratisation dans la configuration de l'abonnement sur le contrat.

Pour les abonnements liés à des crédits récurrents, le changement de `quantity` libérera également un nouveau solde de crédits. Le montant du solde dépend des paramètres de proratisation et du `access_amount` sur la configuration du crédit récurrent.

Cet appel montre un exemple d'utilisation de `/contracts/edit` pour modifier le nombre de sièges d'un abonnement :

```json theme={null}
{
    "customer_id": "68cd7fb2-235a-4d4d-9ee3-15c49e866884",
    "contract_id": "7f865c1b-1c08-40e8-9c09-b3238fd3b50d",
    "update_subscriptions": [
        {
            "subscription_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
            "quantity_updates": [
                {
                    "quantity": 3,
                    "starting_at": "2025-04-29T00:00:00.000Z"
                }
            ]
        }
    ]
}
```

### Changement de quantité​ pour les abonnements à crédits basés sur les sièges

Au lieu de simplement modifier la `quantity`, spécifiez les `seat_ids` qui sont ajoutés ou supprimés de l'abonnement. Ajoutez ou supprimez éventuellement des sièges non attribués. Les factures sont facturées et les crédits sont libérés selon les paramètres des configurations d'abonnement et de crédits récurrents.

Voici un exemple de modification du nombre de sièges pour les abonnements à crédits basés sur les sièges :

```json theme={null}
{
    "customer_id": "1f79c5c6-400a-4be4-9573-30c667454e4c",
    "contract_id": "2159a5c1-7436-43eb-a46c-7a2e5f030afa",
    "update_subscriptions": [
        {
            "subscription_id": "16de7fa0-b387-44e9-b521-0945db3b8af8",
            "seat_updates": {
                "add_seat_ids": [
                    {
                        "seat_ids": ["customer4@metronome.com"],
                        "starting_at": "2025-12-01T00:00:00Z"
                    }
                ],
                "remove_seat_ids": [
                     {
                         "seat_ids": ["customer2@metronome.com"],
                         "starting_at": "2025-11-15T00:00:00Z"
                     }
                 ],
                 "add_unassigned_seats": [
                     {
                         "quantity": 2,
                         "starting_at": "2025-10-01T00:00:00Z"
                     }
                 ]
            }
        }
    ]
}
```

### Supprimer un ID de siège tout en maintenant la quantité totale

Dans certains cas, vos clients peuvent changer qui a accès à un siège. À mesure que des personnes changent de rôle ou quittent leur entreprise, ils peuvent vouloir libérer le siège pour que quelqu'un d'autre l'utilise. Pour ce faire dans Metronome, supprimez l'ID du siège et ajoutez un siège non attribué. Cela garantit que la quantité totale pour l'abonnement reste la même, mais qu'un siège est désormais disponible pour quelqu'un d'autre.

Cet exemple supprime un ID de siège et ajoute un siège non attribué dans le même appel :

```json theme={null}
{
    "customer_id": "1f79c5c6-400a-4be4-9573-30c667454e4c",
    "contract_id": "2159a5c1-7436-43eb-a46c-7a2e5f030afa",
    "update_subscriptions": [
        {
            "subscription_id": "16de7fa0-b387-44e9-b521-0945db3b8af8",
            "seat_updates": {
                "remove_seat_ids": [
                     {
                         "seat_ids": ["customer1@metronome.com"],
                         "starting_at": "2025-11-15T00:00:00Z"
                     }
                 ],
                 "add_unassigned_seats": [
                     {
                         "quantity": 1,
                         "starting_at": "2025-11-15T00:00:00Z"
                     }
                 ]
            }
        }
    ]
}
```

## Surveiller le solde de crédits

Vous pouvez configurer des [notifications de seuil](/fr/guides/customers-billing/set-up-notifications/create-and-manage-notifications) sur le solde de crédits pour recevoir des webhooks lorsque le solde du client atteint un certain niveau. Lors de la réception de ces webhooks, vous pouvez restreindre l'accès du client jusqu'à ce qu'il achète un pack de crédits supplémentaires ou que la prochaine période de facturation commence. Cette alerte n'évalue que les crédits au niveau du client ou du contrat — les crédits scopés au siège ne sont pas inclus dans le calcul.

Cet appel API montre comment créer une notification de seuil lorsque le client a 10 crédits IA restants à l'aide du point de terminaison [/alerts/create](/fr/api-reference/alerts/create-a-threshold-notification).

```json theme={null}
{  
    "alert_type": "low_remaining_contract_credit_and_commit_balance_reached",  
    "credit_type_id": "d3cb2827-dcb5-44af-9354-947a7197b9a6",  
    "threshold": 10,  
    "name": "10 AI credits remaining reached",  
    "customer_id": "d8319d6f-8ee0-43a7-b76f-d7587c0a811c"  
}
```

Pour configurer une notification de seuil pour les crédits et engagements scopés au siège, créez une notification `low_remaining_seat_balance_reached` à l'aide du point de terminaison [/alerts/create](/fr/api-reference/alerts/create-a-threshold-notification).

Le paramètre `seat_filter`, requis dans le corps de la requête lors de la création de cette notification, fournit un champ `seat_group_key` qui est utilisé pour limiter la portée de la notification aux soldes de sièges associés à des abonnements basés sur les sièges avec un `seat_group_key` spécifique dans leur configuration `seat_config`.

Cet appel API montre comment créer une notification de seuil lorsqu'un client a 15 crédits IA restants pour n'importe quel siège sur un abonnement avec un `seat_group_key` de `seat_id`.

```bash theme={null}
curl https://api.metronome.com/v1/alerts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_type": "low_remaining_seat_balance_reached",
    "threshold": 15,
    "name": "15 AI credits remaining reached",
    "credit_type_id": "d3cb2827-dcb5-44af-9354-947a7197b9a6",
    "customer_id": "d8319d6f-8ee0-43a7-b76f-d7587c0a811c",
    "seat_filter": { "seat_group_key": "seat_id" }
  }'
```

Pour récupérer l'état de l'alerte pour un siège spécifique, utilisez le point de terminaison [/customer-alerts/get](/fr/api-reference/alerts/get-an-alert).

Voici un exemple de récupération de l'état de l'alerte pour un siège spécifique :

```bash theme={null}
curl https://api.metronome.com/v1/customer-alerts/get \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
        "customer_id": "5cceec38-51fe-4399-8bed-fcb2a8ad1fb7",
        "alert_id": "e9c0d89d-040e-4ffc-91f6-001c6954d7a7"
        "seat_filter": {"seat_group_key": "seat_id", "seat_group_value": "seat123"}
    }'
```

Utilisez éventuellement le paramètre `seat_filter.seat_group_value` pour limiter la portée de la notification à un siège spécifique.

Voici un exemple de création d'une notification de seuil lorsqu'un client a 5 crédits IA restants pour un siège spécifique sur un abonnement avec un `seat_group_key` de `seat_id` et un `seat_group_value` de `seat123`.

```bash theme={null}
curl https://api.metronome.com/v1/alerts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_type": "low_remaining_seat_balance_reached",
    "threshold": 5,
    "name": "5 AI credits remaining reached",
    "credit_type_id": "d3cb2827-dcb5-44af-9354-947a7197b9a6",
    "customer_id": "d8319d6f-8ee0-43a7-b76f-d7587c0a811c",
    "seat_filter": {"seat_group_key": "seat_id", "seat_group_value": "seat123"}
  }'
```

## Visualiser l'historique des sièges

Dans le cadre de votre expérience produit, vous pouvez vouloir présenter le changement de quantité de sièges au fil du temps pour offrir de la transparence à votre client :

* **Historique de quantité :** pour interroger les modifications de la quantité d'abonnement, utilisez le point de terminaison [/getSubscriptionQuantityHistory](/fr/api-reference/contracts/get-subscription-quantity-history).
* **Historique des ID de sièges :** si vous gérez les sièges à l'aide de la `seat_config`, vous pouvez interroger l'historique de chaque `seat_id` à l'aide du point de terminaison [/get-subscription-seats-history](/fr/api-reference/contracts/get-subscription-seats-history).

## Visualiser le solde des sièges

Si vous construisez un modèle de facturation d'abonnement scopé au siège, vous voudrez probablement afficher le solde actif par siège et le solde du siège au fil du temps. Pour interroger ces informations, utilisez le point de terminaison [/contracts/seatBalances/list](/fr/api-reference/credits-and-commits/list-seat-balances) :

* **Solde actuel des sièges :** passer le `customer_id` et le `contract_id` renverra le `balance` actuel pour tous les sièges. Passer un `seat_id` dans le corps de la requête limitera les résultats à un siège individuel.
* **Historique du grand livre des sièges :** pour créer une vue qui affiche l'historique des attributions de crédit et de leur consommation associée, passez `include_ledgers: true` dans le corps de la requête. Passez éventuellement les dates `starting_at` et `ending_before` pour filtrer la réponse à une période spécifiée.
