> Ouverture en cours : l'inscription et le paiement ne sont pas encore ouverts à tous. L'état du jour : https://subagent.fr/docs/etat.md
>
> 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_drafts`

> Liste les brouillons qui attendent une validation humaine, avec leur texte complet, les plus récents d’abord.

## En bref

| Propriété | Valeur |
|---|---|
| Titre | Brouillons à valider |
| Outil MCP | `list_drafts`, sur `https://api.subagent.fr/mcp` |
| Appel HTTP | `POST https://api.subagent.fr/v1/list_drafts` |
| Accès | permission `read` ou `approve` |
| É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 :

> Liste les brouillons qui attendent une validation humaine, avec leur texte complet, les plus récents d’abord. Un humain les relit ici, puis les valide (`approve_message`), les corrige (`update_draft`) ou les annule (`cancel_message`).

## Paramètres

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

| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| `inbox_id` | identifiant `inb_…` | non | Une seule boîte (inb_…). |
| `cursor` | texte | non | Curseur de la page suivante : la valeur `next_cursor` de l’appel précédent. |
| `limit` | entier | non | Nombre d’éléments rendus (20 par défaut). De 1 à 100. |

## 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 |
|---|---|---|
| `items` | liste | Une liste : des messages. Voir [les champs d'un message](https://subagent.fr/docs/messages.md#champs). |
| `key` | objet | La clé qui lit : name, permissions. approve ouvre la validation (`approve_message`) ; send ou approve, l’annulation (`cancel_message`). |
| `next_cursor` | texte ou `null` | À repasser en cursor pour la page suivante ; `null` à la dernière page. |

## Exemple d'appel

Les valeurs sont fictives.

HTTP :

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

MCP (`tools/call`) :

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

## 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

- [Brouillons et validation : list_drafts](https://subagent.fr/docs/brouillons.md#list_drafts)
- [Guide : valider les envois d'un agent](https://subagent.fr/docs/guide-validation.md)
- [`update_draft`](https://subagent.fr/docs/reference/update_draft.md)
- [`approve_message`](https://subagent.fr/docs/reference/approve_message.md)
- [`cancel_message`](https://subagent.fr/docs/reference/cancel_message.md)
- [Tous les outils](https://subagent.fr/docs/reference/index.md)
