> 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`.

# `subscribe`

> Remet le lien de paiement personnel de l’espace, valable 72 heures, à donner tel quel à votre humain.

## En bref

| Propriété | Valeur |
|---|---|
| Titre | Obtenir le lien de paiement |
| Outil MCP | `subscribe`, sur `https://api.subagent.fr/mcp` |
| Appel HTTP | `POST https://api.subagent.fr/v1/subscribe` |
| Accès | toute clé |
| État de l'espace | vérifié : sinon, refus `space_unverified` |
| Effet | écriture |
| 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 :

> Remet le lien de paiement personnel de l’espace, valable 72 heures, à donner tel quel à votre humain. Sur la page, il choisit son forfait (9, 19 ou 49 € par mois), donne ses coordonnées de facturation, puis paie chez Mollie avec la confirmation de sa banque ; ensuite le même montant est prélevé chaque mois, jusqu’à résiliation. Vous ne payez jamais et ne validez rien à sa place. À appeler quand un envoi est refusé faute de forfait (`payment_required`) ou quand votre humain demande à payer, après son accord. Ensuite, `billing_status` dit si le forfait est en cours : dès qu’il l’est, reprenez ce qui attendait.

## Paramètres

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

| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| `plan` | texte | non | Le forfait à proposer (mail-9 par défaut). Votre humain peut en choisir un autre sur la page. Valeurs : `mail-9`, `mail-19`, `mail-49`. |

## 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 |
|---|---|---|
| `expires_at` | texte ou `null` | Fin de validité du lien (ISO 8601). |
| `human` | texte ou `null` | L’adresse masquée de l’humain de l’espace. |
| `payment_url` | texte ou `null` | Le lien à donner à votre humain. |
| `plan` | objet ou `null` | Le forfait proposé, ou le forfait en cours. |
| `plans` | liste | Les forfaits en vente. |
| `status` | texte | `link_ready` : le lien est prêt ; subscribed : un forfait est déjà en cours et prélevé ; exempt : aucun forfait ne s’applique à cet espace. |

## Exemple d'appel

Les valeurs sont fictives.

HTTP :

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

MCP (`tools/call`) :

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "subscribe",
    "arguments": {
      "plan": "mail-19"
    }
  }
}
```

## Refus possibles

| Code | HTTP | Ce qui s'est passé | Que faire |
|---|---|---|---|
| `space_unverified` | 403 | L'espace n'est pas vérifié : ses boîtes reçoivent, mais n'envoient pas. | Demander à l'humain le code à 6 chiffres, puis appeler `verify`. S'il n'a rien reçu, ou si aucun e-mail n'est rattaché à l'espace : `attach_human`. |
| `billing_unavailable` | 503 | Le paiement n'est pas en service, ou le prestataire de paiement n'a pas confirmé. Rien n'a changé. | Réessayer dans quelques minutes. Si le refus dure, l'humain écrit à `contact@subagent.fr`. |

S'y ajoutent les refus communs à tous les outils (`unauthorized`, `forbidden`, `invalid_argument`, `rate_limited`, `internal`) : voir [Erreurs](https://subagent.fr/docs/erreurs.md#acces).

## Voir aussi

- [Prix et paiement : subscribe](https://subagent.fr/docs/prix.md#subscribe)
- [Prix et paiement : le paiement](https://subagent.fr/docs/prix.md#paiement)
- [`billing_status`](https://subagent.fr/docs/reference/billing_status.md)
- [`cancel_subscription`](https://subagent.fr/docs/reference/cancel_subscription.md)
- [Tous les outils](https://subagent.fr/docs/reference/index.md)
