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

# Alertes — instances & exécutions

> Le cycle de vie de l'instance d'alerte, ce qu'une instance enregistre, le modèle d'exécution d'évaluation, et un exemple.

## Instances d'alerte

Chaque fois qu'une alerte correspond, une **instance** est levée. Son cycle de vie orienté utilisateur est suivi
séparément de l'enregistrement immuable levé :

| Statut         | Signification                                            |
| -------------- | -------------------------------------------------------- |
| `pending`      | Nouvellement levée ; aucune action encore.               |
| `acknowledged` | Un utilisateur l'a vue (enregistre qui/quand).           |
| `resolved`     | Gérée (enregistre qui/quand + un commentaire optionnel). |
| `archived`     | Cachée de la liste active.                               |

Une instance enregistre ce qui a correspondu — par exemple :

```json theme={null}
{
  "alert_id": "<uuid>",
  "alert_value": 85.5,
  "trigger_type": "THRESHOLD_APPROACHING",
  "approach_percentage": 92,
  "tags": ["low-stock", "critical"],
  "perimeter_results": {
    "shop_ids": [
      { "id": "<shop>", "productIds": [ { "id": "<product>", "variants": [ { "id": "<variant>", "value": 2 } ] } ] }
    ],
    "brandIds": ["<brand>"]
  }
}
```

* `alert_value` — la valeur correspondante.
* `trigger_type` — voir [types de déclenchement](/fr/developers/alerts/rules-and-perimeter#types-de-déclenchement).
* `approach_percentage` — à quel point proche du seuil (pour `THRESHOLD_APPROACHING`).
* `perimeter_results` — les entités correspondantes, par niveau de périmètre. La casse des
  clés reflète la forme stockée telle quelle (par ex. `shop_ids` à côté de `brandIds`).

## Exécutions d'évaluation

Les alertes sont évaluées par une **exécution d'évaluation d'alerte** — manuelle, planifiée ou via API. Une exécution
évalue les alertes actives (ou un sous-ensemble spécifié), **crée** des instances pour les nouvelles correspondances, et
**résout** les instances qui ne correspondent plus.

| Champ         | Signification                                                                         |
| ------------- | ------------------------------------------------------------------------------------- |
| `status`      | `PENDING → RUNNING → SUCCESS / FAILED`.                                               |
| `triggerType` | `MANUAL`, `SCHEDULED`, ou `API`.                                                      |
| `alertIds`    | Alertes spécifiques à évaluer (null = toutes les alertes actives).                    |
| `stats`       | `{ alertsEvaluated, instancesCreated, instancesResolved, durationMs }`.               |
| `logs`        | Entrées structurées (`DEBUG`/`INFO`/`WARN`/`ERROR`), plafonnées à 5000 par exécution. |

```json theme={null}
{
  "status": "SUCCESS",
  "triggerType": "MANUAL",
  "stats": { "alertsEvaluated": 2, "instancesCreated": 3, "instancesResolved": 1, "durationMs": 4523 }
}
```

Parce qu'une exécution crée et résout, la liste des instances actives reste synchronisée — un problème qui s'efface
est résolu automatiquement à la prochaine exécution.

<Note>
  Les exécutions partagent la même forme observable (statut, type de déclenchement, journaux structurés, statistiques) que
  les exécutions [d'ingestion](/fr/developers/ingestion) et
  [d'évaluation d'étiquette](/fr/developers/tagging-rules/runs-and-examples).
</Note>
