Créer une boîte
Émet une adresse et renvoie le token qui la lit. Tous les champs sont facultatifs, y compris le corps.
Exécute le véritable appel sur votre espace de travail, avec votre propre clé.
POST /temp-mail/inboxes
Émet une adresse et renvoie le token qui la lit. Tous les champs sont facultatifs, y compris le corps.
Aucun identifiant
export OE=https://api.openemail.ukN'envoyez aucun en-tête Authorization. C'est la seule ressource de l'API qui répond sans. Elle est enregistrée avant le contrôle de clé plutôt que dotée d'une portée, parce que ce qui est proposé est une adresse pour quelqu'un qui n'en a pas, et demander d'abord une clé en ferait un formulaire de prospection déguisé en outil.
Exemple
Un corps vide est valide et c'est le cas courant : une partie locale générée sur un domaine tiré du pool, louée pour une heure.
curl -X POST "$OE/temp-mail/inboxes" -H "Content-Type: application/json" \ -d '{ "localPart": "octopus-signup", "ttlMinutes": 120 }'{ "object": "temp_inbox", "id": "tinb_9c2f41ab7d3e4c118a0f5d72", "address": "[email protected]", "domain": "freemailaddress.com", "createdAt": "2026-09-01T10:00:00.000Z", "expiresAt": "2026-09-01T12:00:00.000Z", "extensionsLeft": 22, "messageCount": 0, "messageLimit": 50, "lastMessageAt": null, "token": "oe_inbox_kQ8v…"}201, et la seule réponse de toute l'API qui porte token. Stockez-le avant de faire quoi que ce soit d'autre avec l'adresse.
Une partie locale générée compte douze caractères tirés d'un alphabet sans voyelles ni sosies, si bien qu'elle ne peut rien épeler et survit à une lecture sur écran.
Tout ce qui peut être refusé l'est nommément plutôt qu'ajusté : 422 unknown_domain, invalid_address, reserved_address, ou invalid_parameter pour un ttlMinutes hors de 1 à 1440 ; 409 address_taken pour une partie locale déjà prise ; 429 too_many_inboxes au plafond de création ; 503 temp_mail_unavailable sur une installation sans aucun domaine dans le pool.
Paramètres
Corps
domainstring- L'un de ceux de `GET /temp-mail/domains`. Omettez-le et le pool choisit au hasard au lieu de remplir le premier domaine. Un domaine qui reçoit toutes les inscriptions jetables d'internet gagne la réputation correspondante, et cette réputation est partagée par chaque adresse qu'il porte. Un domaine absent du pool est refusé nommément (422 `unknown_domain`) plutôt que remplacé en silence, car vous auriez déjà copié l'adresse demandée.
localPartstring- La partie avant l'@, si vous voulez la choisir : de 3 à 32 caractères parmi lettres, chiffres, points, tirets et traits de soulignement, commençant et finissant par une lettre ou un chiffre. Plus étroit que ce qu'autorise la RFC 5321, parce que cette chaîne part dans un chemin d'URL, un en-tête `To:` et une page HTML. Le `+` est exclu, puisque le sous-adressage est réduit à l'entrée : `alice+bob` serait donc un nom auquel on ne pourrait pas réellement vous joindre. Les noms déjà pris répondent 409 `address_taken`, ce qui couvre deux cas : un autre visiteur le détient (ou l'a détenu au cours de la dernière semaine, pendant que l'adresse est encore hors circulation), et le propriétaire du domaine l'a créé comme adresse réelle, ce qui est refusé sous le même code parce que le courrier qui lui est destiné lui parvient à lui et jamais à vous. `postmaster` et les autres adresses réservées répondent 422 `reserved_address`.
ttlMinutesnumber- Quelle doit être la durée du bail, en minutes, de 1 à 1440. Vaut 60 par défaut. Tout ce qui sort de cette plage répond 422 `invalid_parameter` en nommant le champ plutôt que d'être ajusté en silence. Vous auriez déjà montré à quelqu'un l'expiration que vous aviez demandée. Les 24 heures se mesurent depuis la création : chaque heure prise d'emblée est donc une prolongation qui ne pourra pas être dépensée plus tard ; `ttlMinutes: 120` revient avec 22 d'entre elles, et 1440 avec aucune.
Réponse : temp_inbox, plus un token
idstring- L'id de la boîte, `tinb_` suivi de vingt-quatre caractères hexadécimaux. Il figure dans le chemin de tous les autres appels, et ce n'est pas un secret. Le token, si.
addressstring- L'adresse à communiquer. Le courrier adressé à `that+anything@` y parvient aussi, parce que le sous-adressage est réduit avant la recherche.
domainstring- Le domaine du pool sur lequel se trouve l'adresse, isolé pour qu'un client n'ait pas à analyser l'adresse pour l'afficher.
createdAtstring- ISO-8601. Le plafond de 24 heures se mesure à partir de là, pas depuis la dernière prolongation.
expiresAtstring- ISO-8601. Passé ce moment, le token cesse immédiatement d'authentifier, et le balayage supprime le courrier à son exécution suivante.
extensionsLeftnumber- Combien de fois encore `extend` achètera réellement du temps, en comptant les deux plafonds : les 23 prolongations qu'autorise un bail, et les 24 heures depuis `createdAt` qu'il ne pourra jamais dépasser, le premier atteint l'emportant. Une boîte créée avec `ttlMinutes: 1440` indique 0 sans rien avoir dépensé. Zéro signifie que l'appel répondrait 409, ce sur quoi un client devrait griser le bouton plutôt que de le découvrir en appuyant.
messageCountnumber- Les messages que cette boîte a ACCEPTÉS, pas le nombre affiché. Il ne diminue pas quand vous en supprimez un : le plafond compte les arrivées, donc supprimer libère du stockage mais pas de la place.
messageLimitnumber- Le plafond, envoyé sur chaque boîte afin qu'un client puisse dire « pleine » sans coder en dur notre constante.
lastMessageAtstring | null- Quand du courrier est arrivé pour la dernière fois, ISO-8601, ou null s'il n'y en a pas eu. Null sur une boîte neuve se lit très différemment d'une boîte silencieuse pour quelqu'un qui attend depuis deux minutes.
tokenstring- L'identifiant, sur cette réponse et sur aucune autre. `oe_inbox_` suivi de 43 caractères base64url ; la ligne ne stocke qu'un hachage à clé, il ne peut donc être ni relu ni récupéré.
Toute autre réponse de boîte (récupération, prolongation) est cet objet sans token.