Aller à la documentation
API

Transférer une adresse

Où va le courrier d'une adresse en plus de sa boîte mail. Chaque destination confirme par e-mail avant de recevoir quoi que ce soit.

GET/domains/{id}/addresses/{addressId}/forwards

Exécute l'un des 5 appels sur votre espace de travail.

GET /domains/{id}/addresses/{addressId}/forwards

Où va le courrier d'une adresse en plus de sa boîte mail. Chaque destination confirme par e-mail avant de recevoir quoi que ce soit.

Lister les destinations

Nécessite domains:read. Chaque destination de l'adresse, de la plus ancienne à la plus récente. destination indique si l'adresse garde aussi une copie ici (mailbox) ou ne fait que transférer (forward), et max est le nombre de destinations qu'une adresse peut avoir.

curl
curl "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/addresses/5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18/forwards" -H "$AUTH"
Réponse
{  "object": "list",  "address": "[email protected]",  "destination": "mailbox",  "max": 10,  "data": [    {      "object": "address_forward",      "id": "9a4c1e7b-2d3f-4b5a-8c6d-0e1f2a3b4c5d",      "addressId": "5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18",      "email": "[email protected]",      "enabled": true,      "status": "live",      "confirmedAt": "2026-09-26T08:12:40.000Z",      "askedAt": "2026-09-26T08:02:11.000Z",      "lastRelayAt": "2026-09-30T16:45:03.000Z",      "lastError": null,      "failures": 0,      "createdAt": "2026-09-26T08:02:11.000Z"    }  ]}

status vaut live dès que la destination a confirmé qu'elle veut le courrier, pending tant qu'elle n'a pas répondu, refused quand elle a dit non et paused tant qu'elle est désactivée. Seule une destination live reçoit quoi que ce soit.

Ajouter des destinations

Nécessite domains:write. POST /domains/{id}/addresses/{addressId}/forwards avec { emails }, de 1 à 10 adresses. Chaque nouvelle destination reçoit un e-mail lui demandant de confirmer, elle commence donc à pending.

curl
curl -X POST "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/addresses/5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18/forwards" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "emails": ["[email protected]", "[email protected]"] }'
Réponse
{  "object": "address_forwards",  "added": [    {      "object": "address_forward",      "id": "9a4c1e7b-2d3f-4b5a-8c6d-0e1f2a3b4c5d",      "addressId": "5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18",      "email": "[email protected]",      "enabled": true,      "status": "pending",      "confirmedAt": null,      "askedAt": "2026-09-26T08:02:11.000Z",      "lastRelayAt": null,      "lastError": null,      "failures": 0,      "createdAt": "2026-09-26T08:02:11.000Z"    }  ],  "skipped": [    {      "email": "[email protected]",      "reason": "[email protected] is hosted here, so it cannot be a forwarding destination. Share the address with that person instead."    }  ]}

Une adresse hébergée ici, une adresse déjà dans la liste, une adresse qui créerait une boucle, une adresse au-delà de la limite de 10 et une adresse qui a refusé le courrier de cet espace de travail sont nommées dans skipped avec la raison, et les autres sont tout de même ajoutées.

Une adresse désactivée est refusée avec 409 address_disabled.

Une clé limitée à certaines adresses ou certains domaines doit détenir le domaine en entier, et une application qui agit pour un membre ne peut transférer qu'une adresse que ce membre atteint.

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.

Suspendre ou activer une destination

Nécessite domains:write. PATCH /domains/{id}/addresses/{addressId}/forwards/{forwardId} avec { enabled }. Une destination suspendue garde sa confirmation, la réactiver n'en demande donc aucune.

curl
curl -X PATCH "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/addresses/5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18/forwards/9a4c1e7b-2d3f-4b5a-8c6d-0e1f2a3b4c5d" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "enabled": false }'
Réponse
{  "object": "address_forward",  "id": "9a4c1e7b-2d3f-4b5a-8c6d-0e1f2a3b4c5d",  "addressId": "5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18",  "email": "[email protected]",  "enabled": false,  "status": "paused",  "destination": "mailbox"}

Quand la dernière destination activée est suspendue, l'adresse recommence à garder son courrier ici, et destination l'indique.

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.

Retirer une destination

Nécessite domains:write. DELETE /domains/{id}/addresses/{addressId}/forwards/{forwardId}. Plus rien ne lui est transféré.

curl
curl -X DELETE "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/addresses/5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18/forwards/9a4c1e7b-2d3f-4b5a-8c6d-0e1f2a3b4c5d" -H "$AUTH"
Réponse
{  "object": "address_forward",  "id": "9a4c1e7b-2d3f-4b5a-8c6d-0e1f2a3b4c5d",  "addressId": "5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18",  "email": "[email protected]",  "deleted": true,  "destination": "mailbox"}

Si c'était la dernière destination activée, l'adresse recommence à garder son courrier ici.

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.

Redemander une confirmation à une destination

Nécessite domains:write. POST /domains/{id}/addresses/{addressId}/forwards/{forwardId}/resend envoie de nouveau l'e-mail de confirmation.

curl
curl -X POST "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/addresses/5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18/forwards/9a4c1e7b-2d3f-4b5a-8c6d-0e1f2a3b4c5d/resend" -H "$AUTH"
Réponse
{  "object": "address_forward_consent",  "id": "9a4c1e7b-2d3f-4b5a-8c6d-0e1f2a3b4c5d",  "addressId": "5f0c2b7e-8d41-4a6f-b913-7e2a0c4d9b18",  "email": "[email protected]",  "status": "sent"}

status vaut sent, already-confirmed quand la destination n'a besoin de rien, too-soon quand le dernier e-mail est parti il y a quelques instants, revoked quand la destination a refusé le courrier de cet espace de travail, ou send-failed quand l'e-mail n'a pas pu être envoyé.

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.

Référence