Sign inGet Started

Authentifizierung & API-Keys

Jede programmatische Anfrage an die Bird API authentifiziert sich mit einem API-Key, der als Bearer-Token übergeben wird. Keys gehören zu einem Workspace, tragen Berechtigungen, die Sie ändern können, und werden nur ein einziges Mal vollständig angezeigt.
Zum Unterschied zwischen Service-Credentials und delegiertem Zugriff siehe API-Keys und OAuth-Tokens.

Wie sich Anfragen authentifizieren

Übergeben Sie Ihren Key bei jeder Anfrage im Authorization-Header. Die SDKs und die CLI übernehmen den Key einmalig und setzen den Header für Sie:
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

await bird.email.send({
  from: "hello@yourdomain.com",
  to: ["delivered@messagebird.dev"],
  subject: "Hi",
  text: "Hello.",
});
Die Region im Key-Präfix verrät Ihnen, welchen Host Sie aufrufen müssen: bk_us1_...-Keys gehen an https://us1.platform.bird.com, bk_eu1_...-Keys an https://eu1.platform.bird.com. Offizielle Bird-SDKs und die CLI lesen die Region aus dem Key und wählen den Host für Sie. Ein Key, der an den falschen regionalen Host gesendet wird, gibt 421 zurück (Typ misdirected_error); siehe Regionen.
Ein fehlender oder ungültiger Key gibt 401 zurück. Ein gültiger Key, dem die vom Endpunkt benötigte Berechtigung fehlt, gibt 403 zurück. Header-Semantik und Fehlerantworten finden Sie in der Authentifizierungsreferenz.

Aufbau eines Keys

Codebeispiel
bk_us1_Ab3xKq9mP2wR5tY8uI1oL4n3A3aww
└┬┘└┬┘ └──────────┬──────────┘└─┬──┘
 │  │          payload      checksum
 │  └ region (routes the request)
 └ Bird key prefix
  • Präfix: bk_{region}_ benennt den Credential-Typ und seine Region. Das feste, unverwechselbare Präfix ermöglicht es Secret-Scannern, einen Bird-Key im Code zu erkennen, und das Region-Segment leitet Ihre Anfrage an den richtigen Host.
  • Payload: 23 zufällige Zeichen mit 136 Bit Entropie.
  • Prüfsumme: Die letzten 6 Zeichen sind eine Prüfsumme des restlichen Keys. So kann ein SDK oder die API einen falsch eingegebenen oder abgeschnittenen Key sofort ablehnen, bevor er überhaupt nachgeschlagen wird.
Der vollständige Key wird einmal zurückgegeben, in der Antwort, die ihn erstellt. Sie können den Klartext später nicht abrufen. Nachfolgende Antworten enthalten die ersten 15 Zeichen als key_prefix, zum Beispiel bk_us1_Ab3xKq9m. Sie enthalten außerdem eine stabile 12-stellige fingerprint, um einen Key in Logs und Support-Gesprächen zuzuordnen, ohne seinen Wert offenzulegen.
Wenn Sie einen Key verlieren, rotieren Sie ihn für ein neues Secret oder widerrufen Sie ihn und erstellen einen neuen.

Einen Key erstellen

Erstellen Sie Keys im Dashboard unter Platform tools > API-Keys. Ein Key wird mit einem Namen, einem oder mehreren Scopes und einem optionalen Ablaufdatum erstellt. Die Antwort, die ihn erstellt, ist die einzige, die jemals das token-Feld (den vollständigen Key) enthält: Speichern Sie ihn sofort in Ihrem Secret-Manager.
Sie können auch ohne Browser einen erstellen, mit bird api-keys create. Die Key-Ausstellung benötigt den api_keys:write-Scope, den die schreibgeschützte Login-Baseline nicht umfasst – fordern Sie ihn deshalb bei der Anmeldung an:
Codebeispiel
bird auth login --scope api_keys:write
bird api-keys create --body-file - <<'JSON'
{
  "name": "Email operations production key",
  "scopes": [{ "scope": "emails", "level": "write" }]
}
JSON
Führen Sie bird api-keys create --example aus, um einen vollständigen Body zum Bearbeiten auszugeben.
Scopes sind das Einzige, was ein Key sich nicht selbst gewähren kann: api_keys:write steht API-Keys nicht zur Verfügung, sodass ein Key niemals einen anderen Key ausstellen kann. Die Ausstellung läuft als Sie, in einer Dashboard-Sitzung oder über einen CLI- oder MCP-Grant.
Die API-Keys-Seite im Bird-Dashboard mit Keys, ihrem maskierten Präfix, Scopes und dem Zeitpunkt der letzten Nutzung
Sie können einen Key nach der Erstellung verwalten:
  • Scopes sind bearbeitbar. Beim Bearbeiten wird der Berechtigungssatz ersetzt und das gleiche Secret beibehalten. Sie können Scopes gewähren, die Ihr eigenes Konto besitzt. Wurde der Key erstellt, bevor er eine Berechtigung wie voice unterstützen konnte, rotieren Sie ihn, um diese Berechtigung hinzuzufügen. Widerrufene Keys und Keys, die bereits durch Rotation ersetzt wurden, können nicht bearbeitet werden.
  • Das Ablaufdatum ist fest. Setzen Sie expires_at, wenn ein Key zu einem bekannten Zeitpunkt aufhören soll zu funktionieren (Engagement eines Auftragnehmers, Migrationsfenster). Nach diesem Zeitpunkt gibt der Key 401 zurück; ein Key ohne Ablaufdatum lebt, bis er widerrufen wird.
  • Key-Verwaltung bleibt bei Personen. Das Erstellen, Bearbeiten und Widerrufen von Keys erfordert die api_keys:write-Berechtigung, die von den Workspace-Rollen Admin und Developer gehalten wird (siehe Benutzer, Teams & Rollen) und niemals einem API-Key selbst gewährt werden kann. Ein kompromittierter Key kann keine weiteren Keys erzeugen.
Die API-Keys-Seite listet jeden Key mit seinem key_prefix, Scopes und last_used_on-Datum (tagesgenau) auf, sodass Sie veraltete Keys auf einen Blick erkennen können. Widerrufene Keys erscheinen nicht in der Liste, es sei denn, Sie wählen, sie anzuzeigen.

Scopes & Levels

Jeder Scope auf einem Key ist ein {scope, level}-Paar, wobei level entweder read oder write ist (write schließt read ein). API-Keys besitzen diese Scopes:
Scopereadwrite
emailsGesendete Nachrichten und Zustellstatus lesenE-Mail senden
email_managementSuppressions, E-Mail-Konfiguration und Templates lesenSuppressions, E-Mail-Konfiguration und Templates verwalten
email_marketingKontakte, Audiences und Broadcasts lesenKontakte, Audiences und Broadcasts verwalten
domainsSende-Domains und ihre DNS-Einträge lesenSende-Domains hinzufügen, verifizieren und verwalten
smsGesendete SMS und Zustellstatus lesenSMS senden
sms_managementAbsender, Registrierungen, Suppressions, Keyword-Antworten, Ziele und Templates lesenAbsender, Registrierungen, Suppressions, Keyword-Antworten, Ziele und Templates verwalten
whatsappGesendete WhatsApp-Nachrichten und Status lesenWhatsApp-Nachrichten senden
whatsapp_managementWhatsApp-Templates und -Einstellungen lesenWhatsApp-Templates und -Einstellungen verwalten
verifyVerifizierungsstatus lesenBestätigungscodes senden und prüfen
realtimeRealtime-Apps, Channels und Channel-Mitglieder lesenApps erstellen und Events publizieren
voiceLeg-Logs und Anrufstatistiken lesenSIP-Anrufe authentifizieren und Session-Credentials erstellen
voice_managementTrunks, Gateways, Nummern, Anrufer-IDs und Ziele lesenTrunks, Gateways, Nummern, Anrufer-IDs und Ziele verwalten
mailboxPostfächer, Threads und Nachrichten lesenPostfach-Nachrichten senden und beantworten
mailbox_managementEmpfangsregeln und Postfach-Konfiguration lesenPostfächer und Empfangsregeln erstellen, aktualisieren und löschen
assetsAssets und Ordner lesenAssets und Ordner hochladen, aktualisieren und löschen
workspaceName, Organisations-ID und Einstellungen des Workspace lesenNicht verfügbar
webhooksWebhook-Subscriptions und ihre Zustellversuche lesenWebhooks erstellen, aktualisieren, löschen, testen, erneut abspielen und Secret rotieren
lookupNicht verfügbarTelefonnummern, E-Mail-Adressen und Identitätsübereinstimmungen nachschlagen
Workspace-Einstellungen ändern, Mitglieder verwalten, Keys ausstellen und IP-Pools verwalten sind bewusst nicht an API-Keys vergebar – sie laufen als Person statt als Key: über das Dashboard oder über den CLI- oder MCP-Server mit einem Grant, der den Scope besitzt. Gewähren Sie den kleinstmöglichen Satz: Ein Key, der nur E-Mails sendet, sollte emails:write besitzen und sonst nichts.
lookup hat keine Read-Level-Operationen: Jeder Lookup-Endpunkt, einschließlich des Abrufens eines vorhandenen Ergebnisses, erfordert write.

Einen Key widerrufen

Widerrufen Sie einen Key aus seiner Zeile unter Platform tools > API-Keys. Der Widerruf ist dauerhaft: Ein widerrufener Key kann nicht reaktiviert werden, und sein Eintrag wird mit gesetztem revoked_at für die Prüfung aufbewahrt.
Der Widerruf verbreitet sich schnell, aber nicht sofort. Die Key-Validierung läuft über einen kurzlebigen Cache, sodass ein frisch widerrufener Key noch wenige Sekunden (maximal fünf) funktionieren kann, bevor jede Anfrage damit 401 zurückgibt.

Einen Key rotieren

Die Rotation stellt einen Ersatz für einen vorhandenen Key aus und gibt dessen token einmal in dieser Antwort zurück. Der Ersatz übernimmt Name, Scopes und Quell-IP-Einschränkungen des Quell-Keys. Er startet ohne Ablaufdatum. Rotieren Sie einen Key aus seiner Zeile unter Platform tools > API-Keys oder ohne Browser mit bird api-keys rotate und dem api_keys_rotate MCP-Tool:
Codebeispiel
bird auth login --scope api_keys:write
bird api-keys rotate key_01hqz8kp3v9x2m --yes
Der vorherige Key funktioniert noch während einer Übergangsfrist, standardmäßig 24 Stunden, damit Sie den neuen Token deployen können, bevor der alte aufhört. Übergeben Sie grace_period: 0 (--grace-period 0 in der CLI), um den vorherigen Key stattdessen sofort zu widerrufen – das ist die richtige Maßnahme bei einem kompromittierten Key: Es gibt keine Überlappung, und jede Anfrage, die ihn noch mitführt, schlägt sofort fehl. Ein Key, dessen Ablaufdatum vor dem Ende der Übergangsfrist liegt, behält sein eigenes Ablaufdatum, weil Rotation die Lebensdauer eines Keys nie verlängert.
Bevor Sie die Schlüsselrotation automatisieren, beachten Sie zwei Einschränkungen. Eine Rotation übernimmt nie ein Ablaufdatum, d. h. der Ersatz für einen Schlüssel, der zu einem bekannten Zeitpunkt abgelaufen ist, bleibt gültig, bis er widerrufen wird; erstellen Sie ihn mit create neu, wenn das Ablaufdatum wichtig ist. Außerdem kann ein Schlüssel nur einmal rotiert werden: Eine zweite Rotation desselben Schlüssels gibt 409 zurück – senden Sie also ein Idempotency-Key, damit ein erneuter Versuch die ursprüngliche Antwort wiedergibt. Ohne eines hat eine Rotation, deren Antwort Sie nie erhalten haben, einen aktiven Schlüssel erzeugt, dessen Token Sie nicht mehr auslesen können.
Zwei Keys manuell zu überlappen ist immer noch der sicherere Weg, wenn Sie nicht vorhersagen können, wie lange der Wechsel dauert, weil die Übergangsfrist beim Rotieren festgelegt wird und danach nicht verlängert werden kann:
  1. Erstellen Sie einen neuen Key mit denselben Scopes.
  2. Deployen Sie den neuen Key in Ihren Diensten.
  3. Beobachten Sie das last_used_on des alten Keys, bis der Traffic umgezogen ist.
  4. Widerrufen Sie den alten Key.

Keys gehören zum Workspace

Ein API-Key ist an Ihren Workspace gebunden und authentifiziert sich mit der Autorität dieses Workspace. Die persönlichen Berechtigungen des Erstellers spielen keine Rolle. Das hat zwei praktische Konsequenzen:
  • Keys überleben Abgänge. Wenn ein Mitarbeiter das Unternehmen verlässt und sein Benutzerkonto entfernt wird, funktionieren die von ihm erstellten Keys weiterhin. Sie haben nie einen Produktionsausfall, weil die Person, die "create" geklickt hat, das Unternehmen verlassen hat. (Ihr Abgang ist dennoch ein guter Anlass, Keys zu rotieren, auf die sie Zugriff hatten.)
  • Die Reichweite des Keys endet am Workspace. Er kann niemals Operationen auf Organisationsebene ausführen: Abrechnung, Org-Mitglieder, Org-Einstellungen.
Da der Key den Workspace festlegt, benötigen Anfragen mit einem Key keinen zusätzlichen Kontext; siehe Workspace dazu, wie sich der Workspace und die darüberliegende Organisation aufteilen, was Sie erreichen können.

Der delegierte Pfad: OAuth-Tokens für die CLI und den MCP-Server

API-Keys sind für Dienste gedacht. Die Bird CLI und der Bird MCP-Server verwenden OAuth, wenn sich eine Person anmeldet. Sie melden sich über den Browser an, wählen einen Workspace und gewähren einen Teil Ihrer Berechtigungen. Das Tool erhält dann ein kurzlebiges bt_{region}_...-User-Token.
Jedes Token ist auf die Berechtigungen beschränkt, die Sie besitzen. Sie können den Zugriff für jedes Tool unter Profile > Connected apps widerrufen. Die Tools verwalten diese Tokens für Sie – kopieren oder speichern Sie sie deshalb nicht in einem Secret-Manager. Verwenden Sie API-Keys für Server-Workloads.

Nächste Schritte