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.

Configura in:
Cursor

Tutti i prodotti. Eleven surfaces, one SDK.

01POST /v1/emails

Email. L'API email per sviluppatori che inviano anche il resto del messaggio.

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 per agenti che rispondono alle proprie email.

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 per sviluppatori che devono davvero rilasciare.

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

Voice. Voce programmabile in JSON. Chiamate, IVR, registrazione, TTS.

dial.ts
await bird.voice.calls.create({
  to: "+15005550010",
  from: "+14155550199",
  flow: [
    { say: "Your order is confirmed." },
  ],
});
Voice è in fase di aggiornamento
05POST /v1/whatsapp/messages

WhatsApp. Coinvolgi i clienti in tutto il mondo con l'API di WhatsApp.

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

Verify. L'API OTP per sviluppatori che hanno bisogno che i codici arrivino.

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. Verifica un numero di telefono o un indirizzo email prima di inviare.

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

RCS. La RCS for Business API, il fratello più elegante degli SMS.

rich.ts
await bird.rcs.send({
  to: "+15005550006",
  text: "Your order shipped! 📦",
  suggestions: [
    { type: "openUrl", text: "Track it", url },
  ],
});
RCS è in fase di aggiornamento
09POST /v1/push

Push. Notifiche push per iOS, Android e web.

push.ts
await bird.push.send({
  to: { deviceToken },
  notification: {
    title: "Order shipped!",
    body: "Your package is on its way.",
  },
});
Push è in fase di aggiornamento
10POST /v1/realtime/publish

Realtime. Pub/sub in hosting tramite WebSocket. Sottoscrivi, pubblica, scala.

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

Ogni prodotto sopra condivide un unico modello di autenticazione, un unico contratto di idempotenza, un unico formato di errore, un unico contratto webhook, un unico schema di paginazione a cursore. Impara uno, li conosci tutti.

/ Auth

/ Idempotency

/ Errors

/ Webhooks

/ Pagination

/ Typed IDs

Vedi gli endpoint API

Inizia con un canale.
Aggiungi gli altri quando sei pronto.

Una chiave API di test è subito tua. La produzione si sblocca quando aggiungi un metodo di pagamento e verifichi un mittente.

Usi Claude Code, Cursor o Codex? Copia un prompt di configurazione e il tuo agente installerà la CLI e le skill di Bird per te. Scegli il tuo:

Cursor