Sign inGet Started

cURL

Senden Sie Ihre erste E-Mail nur mit curl: Exportieren Sie einen API-Schlüssel, senden Sie eine Nachricht per POST und rufen Sie sie per GET ab, um die Zustellung zu verfolgen. Das ist der rohe HTTP-Ablauf; alles, was die SDKs tun, beginnt hier.

1. API-Schlüssel exportieren

Erstellen Sie einen Schlüssel im Dashboard unter Developers > API keys (Ihre erste E-Mail senden führt Sie durch den Vorgang) und exportieren Sie ihn:
Codebeispiel
export BIRD_API_KEY="bk_us1_..."
Das Regionspräfix wählt Ihren API-Host: bk_us1_-Schlüssel rufen https://us1.platform.bird.com auf, bk_eu1_-Schlüssel rufen https://eu1.platform.bird.com auf. Die Sendebeispiele verwenden us1; ändern Sie den Host, wenn Ihr Schlüssel eine andere Region hat.

2. Eine E-Mail senden

Senden Sie einen POST an /v1/email/messages – von unserer gemeinsamen Onboarding-Domain an die delivered@messagebird.dev-Sandbox-Adresse. Sie benötigen weder eine Domain-Verifizierung noch ein echtes Postfach. Wählen Sie für diesen Schnellstart den cURL-Tab.
const msg = await bird.email.send({
  from: { email: "onboarding@messagebird.dev", name: "Bird" },
  to: ["delivered@messagebird.dev"],
  subject: "Hello from Bird",
  html: "<p>My first Bird email.</p>",
});
console.log(msg.id, msg.status); // "em_…", "accepted"
Die API antwortet mit 202: Bird hat die E-Mail angenommen und stellt sie asynchron zu. Die *_count-Felder verfolgen Empfänger durch die Zustellstatus. In der ersten Antwort ist ein Empfänger akzeptiert und keiner zugestellt:
Codebeispiel
{
  "id": "em_01ky7ma8y2es1s2akzk53tmjn0",
  "status": "accepted",
  "category": "marketing",
  "from": { "email": "onboarding@messagebird.dev" },
  "to": [{ "email": "delivered@messagebird.dev" }],
  "subject": "Hello from Bird",
  "accepted_count": 1,
  "processed_count": 0,
  "delivered_count": 0,
  "deferred_count": 0,
  "bounced_count": 0,
  "complained_count": 0,
  "rejected_count": 0,
  "open_count": 0,
  "click_count": 0,
  "track_opens": true,
  "track_clicks": true,
  "created_at": "2026-07-23T13:58:20.866Z"
}
Rohes HTTP hat kein SDK, das einen Idempotenzschlüssel für Sie erzeugt. Übergeben Sie zum Schutz vor doppelter Zustellung beim ersten Versuch einen Schlüssel und verwenden Sie ihn beim erneuten Versuchen wieder. Unter Idempotenz finden Sie ein Beispiel und die Wiedergabelimits.

3. Zustellung verfolgen

Rufen Sie die Nachricht per GET über ihre em_-ID ab und beobachten Sie, wie der Status von accepted über processed zu delivered wechselt. Wählen Sie erneut den cURL-Tab:
const msg = await bird.email.get("em_abc123");
msg.status; // "accepted" | "processed" | "delivered" | "bounced" | …
msg.delivered_count;
msg.bounced_count;
Da der Empfänger die delivered@messagebird.dev-Sandbox-Adresse ist, ist die Zustellung garantiert: Die Nachricht durchläuft die echte Pipeline von Bird, erreicht aber nie ein echtes Postfach.

Nächste Schritte