Lister les voies d’envoi
Les deux voies qu’emprunte le courrier, avec leurs chiffres de rejets et de plaintes.
Exécute l'un des 2 appels sur votre espace de travail.
GET /sending/streams
Les deux voies qu’emprunte le courrier, avec leurs chiffres de rejets et de plaintes.
Exemple
Nécessite emails:read. Le courrier emprunte deux voies qui ont leurs propres files d’attente et leur propre réputation : transactional pour le courrier applicatif comme les réinitialisations de mot de passe et les reçus, et broadcast pour les newsletters. Chaque voie vient avec ses chiffres des 7 derniers jours et les limits auxquelles la voie des diffusions est tenue.
curl "$OE/sending/streams" -H "$AUTH"{ "object": "list", "data": [{ "object": "sending_stream", "stream": "broadcast", "status": "active", "pausedAt": null, "pausedReason": null, "resumedAt": null, "window": { "since": "2026-10-04T09:41:00.000Z", "until": "2026-10-11T09:41:00.000Z", "recipients": 18240, "bounced": 212, "complained": 9, "bounceRate": 0.0116, "complaintRate": 0.0005 }, "limits": { "bounceRate": 0.04, "complaintRate": 0.002, "minimumRecipients": 500, "windowDays": 7 }}] }La voie des diffusions se met en pause d’elle-même quand son taux de rejet dépasse 4% ou son taux de plainte 0,2% sur ces 7 jours, une fois minimumRecipients atteint. pausedReason dit lequel, le propriétaire de l’espace de travail reçoit un e-mail, et le courrier applicatif continue de partir.
Tant qu’elle est en pause, un message envoyé avec stream à broadcast et une nouvelle diffusion donnent un 409 stream_paused, et les diffusions déjà en cours sont retenues.
Choisir une voie
Nécessite emails:send. stream sur POST /emails, sur chaque message de POST /emails/batch et sur POST /templates/{id}/send choisit la voie. C’est transactional sauf indication contraire, et chaque copie d’une diffusion passe par broadcast.
curl -X POST "$OE/emails" -H "$AUTH" -H "Content-Type: application/json" \ -d '{ "from": "[email protected]", "to": "[email protected]", "subject": "What is new in October", "text": "Three things shipped this month.", "stream": "broadcast" }'{ "object": "email", "id": "msg_5f1c9a0e7b2d4c6a8e3f1b7d", "status": "queued", "stream": "broadcast" }En SMTP, l’en-tête X-OpenEmail-Stream: broadcast fait la même chose, et il est retiré avant le départ du message.
Reprendre une voie en pause
Nécessite domains:write et le propriétaire de l’espace de travail. POST /sending/streams/broadcast/resume reprend la voie : les messages retenus partent aussitôt et le décompte sur 7 jours repart de maintenant, nettoyez donc l’audience d’abord.
curl -X POST "$OE/sending/streams/broadcast/resume" -H "$AUTH"{ "object": "sending_stream", "stream": "broadcast", "status": "active", "pausedAt": null, "pausedReason": null, "resumedAt": null, "window": { "since": "2026-10-04T09:41:00.000Z", "until": "2026-10-11T09:41:00.000Z", "recipients": 18240, "bounced": 212, "complained": 9, "bounceRate": 0.0116, "complaintRate": 0.0005 }, "limits": { "bounceRate": 0.04, "complaintRate": 0.002, "minimumRecipients": 500, "windowDays": 7 }}Une voie qui n’est pas en pause donne un 409 stream_not_paused.
Un jeton d'accès OAuth a besoin d'un code de vérification pour cet appel. Tant que l'application n'en a pas vérifié un dans les 60 dernières minutes, l'appel répond 403 step_up_required et ne change rien. On ne le demande jamais à une clé API. La page Authentification montre comment demander un code et le vérifier.