Référence de l’API

E-mails et fils de discussion

Envoyez, récupérez et recherchez des e-mails, répondez-y et consultez leurs événements de livraison.

POST/emails
Clé API

Envoyer un e-mail

Envoie du contenu transactionnel HTML, texte ou issu d’un modèle hébergé depuis un domaine vérifié de l’espace de travail. Les envois directs peuvent définir message_class sur marketing lorsque cette option est activée pour le domaine d’expéditeur vérifié. Le mode marketing ajoute des en-têtes de désinscription gérés, sauf si une intégration first-party configurée fournit sa propre URL HTTPS visible de désinscription en un clic.

En-têtes facultatifsIdempotency-Key
Requête
curl https://sendhq.cc/api/v1/emails \
  -X POST \
  -H "Authorization: Bearer $SENDHQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from":"Acme <hello@example.com>","to":["customer@example.net"],"subject":"Welcome aboard","html":"<h1>Welcome</h1><p>Your workspace is ready.</p>","text":"Welcome. Your workspace is ready."}'
Réponse 201
{
  "id": "em_…",
  "providerMessageId": "provider-id",
  "threadId": "em_…"
}
POST/emails/batch
Clé API

Envoyer jusqu’à 100 messages personnalisés

Envoyer jusqu’à 100 messages personnalisés

En-têtes facultatifsIdempotency-Key
Requête
curl https://sendhq.cc/api/v1/emails/batch \
  -X POST \
  -H "Authorization: Bearer $SENDHQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"emails":[{"from":"Acme <hello@example.com>","to":["customer@example.net"],"subject":"Welcome aboard","html":"<h1>Welcome</h1><p>Your workspace is ready.</p>","text":"Welcome. Your workspace is ready."}]}'
Réponse 201
{
  "data": [
    {
      "index": 0,
      "ok": true,
      "id": "em_…"
    }
  ],
  "count": 1,
  "successful": 1,
  "failed": 0
}
GET/emails
Clé API

Lister les e-mails envoyés et reçus

Liste triée du plus récent au plus ancien, avec filtres. `query` recherche dans les objets, les corps, les participants et les noms des pièces jointes. `label`, `domain` et `category` acceptent une valeur ou une liste séparée par des virgules (correspondance avec n’importe laquelle) ; les libellés peuvent être des identifiants ou des noms. `archived=false` renvoie la vue Boîte de réception pour le courrier reçu. Le courrier reçu est classé en `primary`, `updates` (newsletters, envois en masse et e-mails automatisés) ou `spam`, et marqué `important` ; le spam est exclu, sauf avec `category=spam` ou `include_spam=true`.

Paramètres de requêtedirectionstatusdomaininbox_idlabelarchivedcategoryimportantinclude_spamfromtounreadafterbeforequerylimitoffset
Requête
curl https://sendhq.cc/api/v1/emails \
  -X GET \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
Réponse 200
{
  "data": [],
  "count": 0
}
GET/emails/:id
Clé API

Récupérer un e-mail et ses pièces jointes

Récupérer un e-mail et ses pièces jointes

Requête
curl https://sendhq.cc/api/v1/emails/id_value \
  -X GET \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
Réponse 200
{
  "id": "em_…",
  "direction": "out",
  "status": "sent",
  "attachments": []
}
PATCH/emails/:id
Clé API

Modifier l’état lu, l’archivage, le spam, la catégorie ou l’importance

Définissez `read`, `archived`, `category` (`primary`, `updates` ou `spam`, courrier reçu uniquement) et `important`. Modifier `category` ou `important` renseigne SendHQ sur l’expéditeur : signaler un spam envoie les futurs e-mails de cet expéditeur dans le spam, `Not spam` désactive pour lui les contrôles automatiques de spam, et l’importance reste attachée à l’expéditeur. Passez `learn: false` pour ne modifier que ce message.

Requête
curl https://sendhq.cc/api/v1/emails/id_value \
  -X PATCH \
  -H "Authorization: Bearer $SENDHQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"spam"}'
Réponse 200
{
  "id": "em_…",
  "readAt": "2026-08-23T12:00:00.000Z",
  "archivedAt": null,
  "category": "spam",
  "important": false,
  "classification": "you moved it here"
}
DELETE/emails/:id
Clé API

Supprimer un e-mail conservé

Supprimer un e-mail conservé

Requête
curl https://sendhq.cc/api/v1/emails/id_value \
  -X DELETE \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
Réponse 200
{
  "ok": true
}
GET/emails/:id/events
Clé API

Lister les événements de livraison d’un e-mail

Lister les événements de livraison d’un e-mail

Requête
curl https://sendhq.cc/api/v1/emails/id_value/events \
  -X GET \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
Réponse 200
{
  "data": [],
  "count": 0
}
GET/threads/:id
Clé API

Récupérer une conversation dans l’ordre chronologique

Récupérer une conversation dans l’ordre chronologique

Requête
curl https://sendhq.cc/api/v1/threads/id_value \
  -X GET \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
Réponse 200
{
  "id": "em_…",
  "data": [],
  "count": 0
}