Aller au contenu
CyberTemp
Développeurs

L'API d'e-mail temporaire pensée pour les développeurs

Des boîtes jetables pilotables par le code : lisez les e-mails via une API REST simple, recevez des webhooks signés HMAC, branchez des agents MCP. Chaque compte obtient une clé d'API gratuite ; les forfaits payants dès 1,99 €/mois augmentent les limites.

# Any address on a CyberTemp domain works: the inbox is created on first read.
curl "https://api.cybertemp.xyz/[email protected]" \
  -H "X-API-KEY: tk_..."

# [{"id":"...","from":"[email protected]","subject":"Your code is 482917",
#   "text":"...","html":"...","date":"2026-05-17T09:31:00.000Z"}]

Conçu pour ces cas d'usage

La plupart des utilisateurs de l'API CyberTemp font l'une de ces trois choses.

Tests d'e-mail en CI/CD
Utilisez des boîtes jetables dans vos exécutions Playwright, Puppeteer ou Cypress. Pas de boîte partagée, pas de secrets exposés dans les fixtures de test.
Flux OTP pour l'automatisation QA
Dirigez votre parcours d'inscription vers une nouvelle adresse, interrogez GET /getMail et lisez le code dans le message le plus récent. Pas de boîtes partagées, pas de serveurs mail de test capricieux.
Agents IA et intégrations MCP
Branchez notre serveur MCP à Claude ou Cursor en quelques secondes. Les agents peuvent s'inscrire, confirmer et agir seuls sur des parcours protégés par e-mail.

Fonctionnalités

Authentification par clé d'API

Clés par compte, jetons CLI par appareil. Révocables depuis le tableau de bord.

Webhooks

Recevez les notifications de nouveaux messages sur votre endpoint. Signées en HMAC.

Extraction d'OTP

Lisez le message le plus récent avec un seul GET et extrayez le code avec une courte regex. Voir les exemples ci-dessous.

IMAP

Connectez vos clients de messagerie et vos outils existants.

Domaines personnalisés

Utilisez le vôtre — assistance à la configuration DNS incluse.

Serveur MCP

Outils prêts à l'emploi pour Claude Desktop et Cursor.

CLI

Bientôt disponible. En attendant, utilisez l'API REST ou le serveur MCP.

SDKs

Bibliothèques clientes pour Python, Go et Rust, ou HTTP brut depuis n'importe quel langage.

Du vrai code, pas du pseudo-code

Attendre un OTP dans un test Playwright

import { test, expect } from "@playwright/test";

const API = "https://api.cybertemp.xyz";
const headers = { "X-API-KEY": process.env.CYBERTEMP_API_KEY! };

// Polls /getMail until the newest message contains a 4-8 digit code.
async function waitForOtp(email: string, timeoutMs = 30_000) {
  const deadline = Date.now() + timeoutMs;
  while (Date.now() < deadline) {
    const res = await fetch(`${API}/getMail?email=${encodeURIComponent(email)}`, { headers });
    const mails: { subject: string; text: string }[] = await res.json();
    const otp = mails[0] && `${mails[0].subject}\n${mails[0].text}`.match(/\b\d{4,8}\b/);
    if (otp) return otp[0];
    await new Promise((r) => setTimeout(r, 2000));
  }
  throw new Error("Timed out waiting for the OTP email");
}

test("signup verifies via OTP", async ({ page }) => {
  const email = `e2e${Date.now()}@cybertemp.xyz`;
  await page.goto("https://example.com/signup");
  await page.fill("#email", email);
  await page.click("button[type=submit]");

  const otp = await waitForOtp(email);
  await page.fill("#otp", otp);
  await expect(page).toHaveURL(/dashboard/);
});

Récepteur de webhooks (forfaits Elite et Team)

Abonnez un endpoint HTTPS pour recevoir des POST signés en HMAC-SHA256 dès qu'un message arrive dans l'une de vos boîtes. Nous réessayons avec un backoff exponentiel (1 min, 5 min, 30 min, 6 h) en cas d'erreur 5xx ou de délai dépassé, et mettons en pause après 10 échecs consécutifs.

Types d'événements
  • message.received — un nouvel e-mail arrive dans l'une de vos boîtes
  • inbox.created — une nouvelle boîte a été créée sur votre compte
  • test.ping — déclenché depuis le bouton « Test » du tableau de bord
En-têtes que nous définissons
  • X-Cybertemp-Signature: sha256=<hmac_hex>
  • X-Cybertemp-Event: message.received
  • X-Cybertemp-Delivery: <unique_id>
  • X-Cybertemp-Timestamp: <unix_seconds>
  • Content-Type: application/json
Structure du payload
{
  "event": "message.received",
  "delivery_id": "7c4f...",
  "timestamp": 1731234567,
  "data": {
    "inbox_id": "5d2f...",
    "inbox": "[email protected]",
    "message_id": "9a1b...",
    "from": "[email protected]",
    "to": ["[email protected]"],
    "subject": "Your verification code",
    "received_at": "2026-05-17T09:31:00Z",
    "size_bytes": 4732,
    "encrypted": true
  }
}
Vérifier la signature
import crypto from "node:crypto";
import express from "express";

const app = express();
// IMPORTANT: keep the raw buffer for HMAC. Express's json() throws it away.
app.use("/webhooks/cybertemp",
  express.raw({ type: "application/json" }));

app.post("/webhooks/cybertemp", (req, res) => {
  const header = req.header("x-cybertemp-signature") || "";
  const expected = "sha256=" + crypto
    .createHmac("sha256", process.env.CT_WEBHOOK_SECRET)
    .update(req.body)         // req.body is a Buffer thanks to express.raw
    .digest("hex");

  if (!crypto.timingSafeEqual(Buffer.from(header), Buffer.from(expected))) {
    return res.status(401).end();
  }

  const event = JSON.parse(req.body.toString("utf8"));
  console.log(event.data.from, "→", event.data.subject);
  res.status(200).end();
});

Gérez les endpoints et les secrets de signature dans Paramètres → Webhooks. Chaque endpoint dispose d'un bouton Test qui envoie un événement de test, pour vérifier votre validation de signature sans attendre de vrais e-mails.

Flux d'agent via MCP

User: Sign me up at acme.test with a throwaway email.
Wait for the verification code and paste it back.

Agent:
- create_inbox()                      -> [email protected]
- POST acme.test/signup { email: [email protected] }
- wait_for_message([email protected], timeout=60)
                                      -> "Your code is 482917"
- POST acme.test/verify { otp: 482917 }
Done.

Serveur MCP

Démarrage en 3 étapes

Étape 1
Créer un compte

Créez un compte gratuit. Aucune carte bancaire requise.

S'inscrire
Étape 2
Obtenir une clé d'API

Tout compte peut créer des clés dans Paramètres → Clés d'API. Les clés Free ont les limites du forfait Free ; les forfaits payants les augmentent.

Obtenir une clé d'API
Étape 3
Envoyer une requête
curl -H "X-API-KEY: tk_..." \
  "https://api.cybertemp.xyz/[email protected]"
Lire la documentation de l'API

À partir de 1,99 €/mois

Commencez gratuitement avec une clé d'API. Les forfaits payants augmentent les limites de débit et le plafond de boîtes ; Elite ajoute les webhooks.