> Pour un agent : la carte du site est sur https://subagent.fr/llms.txt ; chaque page existe en Markdown, à la même adresse suffixée `.md`.

# `list_events`

> Lit la main courante de l’espace : qui a fait quoi, et quand (votre agent, vous depuis votre assistant, ou le service).

## En bref

| Propriété | Valeur |
|---|---|
| Titre | Main courante |
| Outil MCP | `list_events`, sur `https://api.subagent.fr/mcp` |
| Appel HTTP | `POST https://api.subagent.fr/v1/list_events` |
| Accès | permission `read` |
| État de l'espace | vérifié ou non |
| Effet | lecture seule |
| Vue dans l'assistant | oui : voir [Vues](https://subagent.fr/docs/vues.md) |

## Ce que fait l'outil

Le serveur décrit l'outil ainsi à l'agent qui se branche :

> Lit la main courante de l’espace : qui a fait quoi, et quand (votre agent, vous depuis votre assistant, ou le service). Sans objet, la journée demandée (aujourd’hui par défaut, heure de Paris). Avec un objet (une boîte, un fil, un message, une campagne, une audience, un contact ou un domaine), tout ce qui le touche, du plus récent au plus ancien. Chaque ligne a une phrase en français, son auteur (actor : kind agent, human ou service ; you vrai quand c’est l’accès qui lit) et les objets qu’elle touche. Lecture seule.

## Paramètres

`list_events` accepte ces paramètres. Un paramètre inconnu est refusé avec le code `invalid_argument`.

| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| `day` | date | non | Un jour de Paris, AAAA-MM-JJ. Absent : aujourd’hui, sauf si un objet est donné (alors tout son historique). |
| `inbox_id` | identifiant `inb_…` | non | Une boîte (inb_…). |
| `thread_id` | identifiant `thr_…` | non | Un fil (thr_…). |
| `message_id` | identifiant `msg_…` | non | Un message (msg_…). |
| `campaign_id` | identifiant `cmp_…` | non | Une campagne (cmp_…). |
| `audience_id` | identifiant `aud_…` | non | Une audience (aud_…). |
| `contact` | texte | non | Une adresse : ses fils, sa fiche, ses blocages. 254 caractères au plus. |
| `domain` | texte | non | Un domaine : ses vérifications et ses boîtes. 253 caractères au plus. |
| `cursor` | texte | non | Curseur de la page suivante : la valeur `next_cursor` de l’appel précédent. |
| `limit` | entier | non | De 1 à 200. |

## Résultat

L'outil rend un texte lisible en français et un objet structuré (`structuredContent`). En HTTP, la réponse est cet objet.

| Champ | Type | Contenu |
|---|---|---|
| `day` | texte ou `null` | Le jour lu (AAAA-MM-JJ), ou `null` pour l’historique d’un objet. |
| `events` | liste | Du plus récent au plus ancien : id, at, kind, text (phrase nominale en français, sans sujet), actor (kind agent, human ou service ; name ; you), et les objets touchés (`inbox_id`, `thread_id`, `message_id`, `campaign_id`, `audience_id`, contact, domain) quand il y en a. |
| `next_cursor` | texte ou `null` | Le curseur de la suite (lignes plus anciennes), ou `null`. |

## Exemple d'appel

Les valeurs sont fictives.

HTTP :

```sh
curl -X POST https://api.subagent.fr/v1/list_events \
  -H "Authorization: Bearer $SUBAGENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "thread_id": "thr_b81f4c6a2d9e47035c1a8e6f0b4d2c97"
}'
```

MCP (`tools/call`) :

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_events",
    "arguments": {
      "thread_id": "thr_b81f4c6a2d9e47035c1a8e6f0b4d2c97"
    }
  }
}
```

## Refus possibles

Aucun refus propre à cet outil. Restent les refus communs à tous les outils (`unauthorized`, `forbidden`, `invalid_argument`, `rate_limited`, `internal`) : voir [Erreurs](https://subagent.fr/docs/erreurs.md#acces).

## Voir aussi

- [La main courante : list_events](https://subagent.fr/docs/main-courante.md#list_events)
- [`get_message`](https://subagent.fr/docs/reference/get_message.md)
- [`get_thread`](https://subagent.fr/docs/reference/get_thread.md)
- [Tous les outils](https://subagent.fr/docs/reference/index.md)
