API
API modèles
Lister les modèles de ton espace et lire leur contenu, leurs variables et leur expéditeur par défaut, pour les envoyer depuis ton code.
Un modèle est un e-mail réutilisable, avec ses variables comme {{entreprise}}. Tu le crées dans l’application, puis tu l’envoies depuis ton code avec template (voir API e-mails). L’API lit les modèles, elle ne les crée pas.
GET /templates
Renvoie les 100 modèles les plus récents de ton espace, sans leur contenu HTML ni texte.
curl https://api.mail.hgdc.ch/templates \ -H "Authorization: Bearer $AGENTMAIL_API_KEY"const response = await fetch("https://api.mail.hgdc.ch/templates", { headers: { Authorization: `Bearer ${process.env.AGENTMAIL_API_KEY}` },})const { data } = await response.json()import { Agentmail } from "./agentmail"
const mail = new Agentmail()const { data } = await mail.templates.list()Réponse
Statut 200.
{ "object": "list", "data": [ { "object": "template", "id": "k57w8c2n5d9f1h6j3m0p4q7r", "name": "Facture", "subject": "Ta facture {{numero}}", "preview_text": null, "from": "Factures <factures@envoi.atelier.ch>", "reply_to": null, "variables": [ { "key": "numero", "type": "string", "fallback_value": null }, { "key": "entreprise", "type": "string", "fallback_value": "ton entreprise" } ], "created_at": "2026-10-01T09:00:00.000Z", "updated_at": "2026-10-05T14:30:00.000Z" } ]}GET /templates/:id
Renvoie un modèle avec son contenu HTML et texte.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
id | string | Oui, dans le chemin | Identifiant du modèle. |
curl https://api.mail.hgdc.ch/templates/k57w8c2n5d9f1h6j3m0p4q7r \ -H "Authorization: Bearer $AGENTMAIL_API_KEY"const response = await fetch( "https://api.mail.hgdc.ch/templates/k57w8c2n5d9f1h6j3m0p4q7r", { headers: { Authorization: `Bearer ${process.env.AGENTMAIL_API_KEY}` } },)const template = await response.json()import { Agentmail } from "./agentmail"
const mail = new Agentmail()const template = await mail.templates.get("k57w8c2n5d9f1h6j3m0p4q7r")Réponse
Statut 200, avec les mêmes champs que la liste, plus html et text.
{ "object": "template", "id": "k57w8c2n5d9f1h6j3m0p4q7r", "name": "Facture", "subject": "Ta facture {{numero}}", "preview_text": null, "from": "Factures <factures@envoi.atelier.ch>", "reply_to": null, "variables": [ { "key": "numero", "type": "string", "fallback_value": null }, { "key": "entreprise", "type": "string", "fallback_value": "ton entreprise" } ], "created_at": "2026-10-01T09:00:00.000Z", "updated_at": "2026-10-05T14:30:00.000Z", "html": "<p>Bonjour {{entreprise}}, voici ta facture {{numero}}.</p>", "text": "Bonjour {{entreprise}}, voici ta facture {{numero}}."}Chaque variable de variables a un key, toujours de type string, et son fallback_value, ou null s’il n’y en a pas. from vaut null quand le modèle n’a pas d’expéditeur par défaut : il faut alors le donner à l’envoi. Un modèle inconnu de ton espace renvoie 404 avec name: "not_found".
Cette page t'a aidé ?
Merci, c'est noté.