Bird Products

Eleven surfaces. One platform. Same shape.

Email, Mailbox, SMS, Voice, WhatsApp, Verify, Lookup, RCS, Push, Realtime, and eSIM — each a first-class API. Same auth, same idempotency, same webhooks, same error envelope. Learn one, you've learned them all.

Configuration en :
Cursor

Tous les produits. Eleven surfaces, one SDK.

01POST /v1/emails

Email. L'API email pour les développeurs qui envoient aussi le reste du message.

welcome.tsx
await bird.email.send({
  from: "hello@yourdomain.com",
  to: ["alex@example.com"],
  subject: "Welcome to Bird",
  html: "<p>You're in. Let's ship.</p>",
});
02POST /v1/email/mailboxes

Mailbox. L'API Mailbox pour les agents qui répondent eux-mêmes à leurs e-mails.

claim-mailbox.sh
curl -X POST https://us1.platform.bird.com/v1/email/mailboxes \
  -H "Authorization: Bearer $BIRD_API_KEY" \
  -d '{"domain": "inbox.ai", "receive_policy": "open"}'

{
  "id": "mbx_01krdgeqcxet5s7t44vh8rt9mg",
  "address": "k7mq3vx2npr5wcj4tzh6@inbox.ai",
  "state": "active"
}
03POST /v1/sms/messages

SMS. L'API SMS pour les développeurs qui doivent vraiment livrer.

notify.ts
await bird.sms.send({
  to: "+15005550006",
  text: "Your code is 847291. Expires in 10 min.",
  category: "authentication",
});
04POST /v1/voice/calls

Voice. Voix programmable en JSON. Appels, IVR, enregistrement, TTS.

dial.ts
await bird.voice.calls.create({
  to: "+15005550010",
  from: "+14155550199",
  flow: [
    { say: "Your order is confirmed." },
  ],
});
Voice est en cours de mise à niveau
05POST /v1/whatsapp/messages

WhatsApp. Engagez vos clients dans le monde entier avec l'API WhatsApp.

message.ts
await bird.whatsapp.send({
  from: "+15557654321",
  to:   "+15005550006",
  text: { body: "Order confirmed! 🎉" },
});
06POST /v1/verify/verifications

Verify. L'API OTP pour les développeurs qui ont besoin que les codes arrivent.

verify.ts
await bird.verify.verifications.create({
  to: { phone_number: "+15005550006" },
});
// check by target — no id to store
await bird.verify.verifications.check({
  to: { phone_number: "+15005550006" }, code: userCode,
});
07POST /v1/lookup/phone-number

Lookup. Vérifiez un numéro de téléphone ou une adresse e-mail avant d'envoyer.

lookup.ts
await bird.lookup.phoneNumber({
  phone_number: "+31612345678",
});
08POST /v1/rcs

RCS. L'API RCS for Business, le grand frère du SMS, en mieux.

rich.ts
await bird.rcs.send({
  to: "+15005550006",
  text: "Your order shipped! 📦",
  suggestions: [
    { type: "openUrl", text: "Track it", url },
  ],
});
RCS est en cours de mise à niveau
09POST /v1/push

Push. Notifications push pour iOS, Android et le web.

push.ts
await bird.push.send({
  to: { deviceToken },
  notification: {
    title: "Order shipped!",
    body: "Your package is on its way.",
  },
});
Push est en cours de mise à niveau
10POST /v1/realtime/publish

Realtime. Pub/sub hébergé via WebSocket. Abonnez-vous, publiez, passez à l'échelle.

realtime.ts
await bird.realtime.publish("rap_01krdgeqcxet5s7t44vh8rt9mg", {
  channels: ["orders"],
  event: "order.shipped",
  data: { orderId, status: "shipped" },
});
11POST /v1/esims

eSIM. Corporate eSIMs, employee phone plans, connectivity in your product.

esim.ts
await bird.esim.issue({
  recipient: { externalId: employeeId },
  plan: { region: "eu", dataMb: 5_000 },
  policy: { blockStreaming: true },
});
The eSIM API is coming to Bird

Chaque produit ci-dessus partage un même modèle d'authentification, un même contrat d'idempotence, une même enveloppe d'erreur, un même contrat de webhooks, un même schéma de pagination par curseur. Apprenez-en un, vous les connaissez tous.

/ Auth

/ Idempotency

/ Errors

/ Webhooks

/ Pagination

/ Typed IDs

Voir les endpoints API

Commencez avec un seul canal.
Ajoutez les autres quand vous êtes prêt.

Une clé API de test est disponible immédiatement. L'accès production se débloque dès que vous ajoutez un moyen de paiement et vérifiez un expéditeur.

Vous utilisez Claude Code, Cursor ou Codex ? Copiez un prompt de configuration et votre agent installe la CLI Bird et les compétences pour vous. Choisissez le vôtre :

Cursor