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

# Réglages de l'espace

> L'humain d'un espace le règle depuis son assistant, sans écrire à personne : le créneau d'envoi, la validation obligatoire, ses accès, son webhook, sa clôture. Ces gestes demandent la permission `approve`. Un agent lit les réglages ; il ne les change pas. Ce qui dure ou ne se rattrape pas est signalé à l'humain par e-mail.

## Ce qui se règle

| Réglage | Par défaut | Bornes |
|---|---|---|
| Créneau d'envoi | Du lundi au vendredi, de 9 h à 18 h, heure de Paris. | Des plages d'heures entre 6 h et 22 h, jour par jour. |
| Jours fériés | Fermés. | Les onze jours fériés français. |
| Jours sans envoi | Aucun. | 60 dates au plus. |
| Validation humaine | À la demande. | Obligatoire pour tout l'espace, ou à la demande. |
| Étalement | 10 minutes entre deux envois d'une boîte. | De 10 à 240 minutes. |
| Doublons | 30 jours. | De 30 à 365 jours. |
| Nom de l'espace, adresse postale | | L'adresse postale est écrite en pied des premiers messages. |

Ce qui ne se règle pas : le quota du jour d'une boîte et sa montée progressive. Voir [Règles d'envoi](https://subagent.fr/docs/regles-envoi.md).

Les accès se gèrent avec `list_keys`, `create_key` et `revoke_key` : voir [Clés et permissions](https://subagent.fr/docs/cles.md). Le webhook de l'espace se déclare avec `set_webhook` : voir [Webhooks](https://subagent.fr/docs/webhooks.md).

## `get_settings`

Lit les réglages de l'espace. Toute clé peut l'appeler. Sans paramètre.

- `send_window` porte le créneau en clair (`text`), les plages du lundi au vendredi (`weekdays`), du samedi et du dimanche, les sept jours un par un (`days`, lundi d'abord), `skip_holidays` et `no_send_days`.
- `webhook` porte l'adresse déclarée. Un accès sans `approve` n'en lit que l'hôte.
- `closure` porte la date de l'effacement (`closes_at`) quand la clôture de l'espace est confirmée ; `null` sinon.

## `update_settings`

Change les réglages de l'espace. Seuls ceux qui sont donnés changent. Permission : `approve`.

| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| `name` | texte | non | Le nom de l'espace, 2 à 80 caractères. |
| `postal_address` | texte | non | L'adresse postale de l'expéditeur, sur une ligne, 200 caractères au plus. |
| `weekdays` | texte | non | Les plages du lundi au vendredi : `9-18`, ou `8-12,14-18`. |
| `saturday` | texte | non | Les plages du samedi, ou `closed`. |
| `sunday` | texte | non | Les plages du dimanche, ou `closed`. |
| `skip_holidays` | booléen | non | `true` : rien ne part les jours fériés français. |
| `no_send_days` | liste | non | Des jours sans envoi, au format `AAAA-MM-JJ`. La liste remplace la précédente. |
| `require_approval` | booléen | non | `true` : tout envoi de l'espace reste brouillon jusqu'à sa validation. |
| `spacing_minutes` | entier | non | Les minutes au moins entre deux envois d'une boîte. |
| `dedup_days` | entier | non | Les jours pendant lesquels une boîte n'écrit pas deux premiers messages au même destinataire. |

- **Ce qui est en file part selon le nouveau créneau.** Un message déjà parti ne change pas.
- L'étalement et la règle des doublons se durcissent ; ils ne descendent pas sous le réglage du service.
- Un créneau sans aucune heure ouverte est refusé : rien ne partirait.
- Chaque changement est écrit au journal de l'espace, avec son auteur.
- **Lever la validation obligatoire prévient l'humain par e-mail** : les envois des agents repartent sans relecture.
- Le nom et l'adresse postale partent en pied des messages : ils ne portent pas de clé (code `secret_in_message`).
- Un espace ouvert par un administrateur de Subagent garde les réglages qu'il lui a posés : code `space_managed`.

## `close_space`

Clôt l'espace et efface ses données : boîtes, fils, messages, domaines, accès, liste de blocage. Le prélèvement du forfait s'arrête. Les factures restent conservées. Permission : `approve`.

| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| `confirmation_code` | texte | non | Le code à 6 chiffres que l'humain de l'espace a reçu par e-mail. |
| `cancel` | booléen | non | `true` : annule la clôture confirmée, et tout code en attente. |

La clôture se fait en trois temps.

1. **Sans code** : l'outil dit ce qui sera effacé, et envoie un code à 6 chiffres à l'humain de l'espace. Rien n'est confirmé.
2. **Avec `confirmation_code`** : la clôture est confirmée. L'espace sera effacé 48 heures plus tard ; d'ici là, tout fonctionne comme avant. L'humain reçoit un e-mail qui donne la date, et dit comment annuler.
3. **À la date dite**, le service efface l'espace : les accès cessent de répondre, les boîtes sont supprimées du serveur de messagerie, les données sont effacées. L'humain reçoit un dernier e-mail.

- **Avec `cancel` = `true`, la clôture est annulée** tant que sa date n'est pas passée. Rien n'a changé dans l'espace.
- Le code vaut 15 minutes, pour cinq essais. Cinq codes au plus en 24 heures.
- **Le code est donné par l'humain de l'espace.** Un assistant ne le cherche pas lui-même, pas même dans une boîte qu'il sait lire, et ne le devine pas. Le délai de 48 heures est là pour le cas où il le ferait.
- Les adresses de l'espace sur le domaine commun ne sont pas réattribuées.
- Un espace ouvert par un administrateur de Subagent ne se clôt pas par ici : code `space_managed`.
- Refus possibles : `no_pending_code`, `invalid_code`, `code_expired`, `too_many_attempts`, `code_too_soon`, `code_limit`, `code_not_sent`, `no_human`, `billing_unavailable`, `space_managed`. Voir [Erreurs](https://subagent.fr/docs/erreurs.md#espace).
