Documentation › Outils › add_domain
add_domain
Enregistre le domaine d’où votre espace veut envoyer (le vôtre, ou un sous-domaine comme agents.exemple.fr) et rend la liste exacte des enregistrements DNS à publier chez l’hébergeur du domaine : preuve de propriété, deux clés DKIM, SPF, MX, et DMARC conseillé.
En bref
| Propriété | Valeur |
|---|---|
| Titre | Enregistrer son domaine |
| Outil MCP | add_domain, sur https://api.subagent.fr/mcp |
| Appel HTTP | POST https://api.subagent.fr/v1/add_domain |
| Accès | permission manage_inboxes |
| État de l’espace | vérifié : sinon, refus space_unverified |
| Effet | écriture |
| Vue dans l’assistant | oui : voir Vues |
Ce que fait l’outil
Le serveur décrit l’outil ainsi à l’agent qui se branche :
Enregistre le domaine d’où votre espace veut envoyer (le vôtre, ou un sous-domaine comme agents.exemple.fr) et rend la liste exacte des enregistrements DNS à publier chez l’hébergeur du domaine : preuve de propriété, deux clés DKIM, SPF, MX, et DMARC conseillé. Rien ne change tant que
verify_domainne les a pas trouvés. Une fois le domaine vérifié, vous y créez des boîtes qui ne sont plus soumises aux limites du domaine commun. Enregistrer un domaine ne le réserve pas : il revient au premier espace qui publie sa preuve de propriété. Une messagerie publique (gmail.com…) ou un domaine dont un autre espace a déjà prouvé la propriété sont refusés.
Paramètres
add_domain accepte ces paramètres. Un paramètre inconnu est refusé avec le code invalid_argument.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
domain | texte | oui | Le nom de domaine, par exemple exemple.fr ou agents.exemple.fr. |
Résultat
L’outil rend un domaine. L’objet structuré déclare les champs ci-dessous ; la page de concept les décrit tous : voir les champs d’un domaine.
| Champ | Type | Contenu |
|---|---|---|
domain | texte | Nom de domaine. |
id | texte | Identifiant du domaine (dom_…). |
last_checked_at | texte ou null | La date du dernier contrôle DNS (ISO 8601), sinon null. |
records | liste | Les enregistrements DNS à publier, et leur état au dernier contrôle. Chaque élément porte label, name, note, required, role, seen, state, type, value. |
status | texte | pending : DNS à publier ; verified : on peut y créer des boîtes ; suspended : le DNS a disparu, ses boîtes n’envoient plus. |
status_reason | texte ou null | La raison d’une suspension, sinon null. |
verified_at | texte ou null | La date de la vérification (ISO 8601), sinon null. |
Exemple d’appel
Les valeurs sont fictives.
HTTP
curl -X POST https://api.subagent.fr/v1/add_domain \
-H "Authorization: Bearer $SUBAGENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "agents.exemple.fr"
}'MCP · tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "add_domain",
"arguments": {
"domain": "agents.exemple.fr"
}
}
}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. |
payment_required | 402 | L’espace n’a pas de forfait en cours : sa boîte reçoit, prépare des brouillons et n’écrit qu’à son humain. Le refus vaut pour un envoi à un tiers, la validation d’un brouillon, une seconde boîte et add_domain. | Appeler subscribe, après l’accord de l’humain, et lui remettre le lien de paiement. Ensuite, billing_status dit si le forfait est en cours. |
public_mail_domain | 422 | Une messagerie publique (gmail.com…) ne se bloque pas en entier, et ne s’enregistre pas comme domaine. | Bloquer les adresses une à une. Enregistrer un domaine dont vous gérez le DNS. |
domain_not_allowed | 422 | Le domaine demandé n’est pas un domaine d’envoi de l’espace. Ou, pour add_domain, c’est un domaine de Subagent. | Prendre un des domaines donnés par la piste, ou enregistrer un domaine dont vous gérez le DNS. |
domain_taken | 409 | Un autre espace a déjà prouvé la propriété de ce domaine. | Enregistrer un sous-domaine, ou demander à un administrateur de Subagent de le libérer. |
domain_limit | 409 | Le plafond de cinq domaines par espace est atteint. | Retirer un domaine inutile avec remove_domain. |
domain_exists | 409 | Le domaine est déjà enregistré pour cet espace. | Appeler list_domains : il donne ses enregistrements DNS et son état. |
S’y ajoutent les refus communs à tous les outils (unauthorized, forbidden, invalid_argument, rate_limited, internal) : voir Erreurs.