Changelog

Recently shipped.

feature

Verify: send and check one-time passcodes, now available to all workspaces

Bird Verify is now available to every workspace. Send a one-time passcode and confirm the code your user enters in two API calls — no sender to register, and no verification id to store.

Getting started

What's available

  • Send and check: start a verification with POST /v1/verify/verifications — which also resends after the cooldown — then confirm the code with the check endpoint. A code can be checked once.
  • Email and SMS with failover: pick the channels and their order; if the first channel can't deliver, Verify falls back to the next one on the same code budget.
  • Per-country configuration: set channel availability and order, per-country senders, and a verified-domain email sender — a per-workspace overlay on Bird's per-country base.
  • Built-in safety: code length and lifetime, maximum attempts, resend cooldown, and per-recipient and per-workspace rate limits, all configurable.
  • Everywhere you build: the Verify API, the dashboard (onboarding, verifications log, countries, and configuration), the bird verify CLI, the Bird MCP server, and the Go, TypeScript, and Python SDKs.

More is on the way — WhatsApp and voice channels, dedicated senders, and customer-authored templates among them.

feature

WhatsApp Metrics dashboard launches, with delivery rate, failure rate, and spend

The WhatsApp Metrics page is out of "coming soon" and live in the dashboard at WhatsApp → Metrics. It's the aggregate view of your channel that the per-message message log can't give you: delivery rate and failure rate measured against fixed thresholds (95% and 5%), accepted volume, and cost, over the last 24 hours, 7, 30, or 90 days.

Below the summary tiles:

  • A delivery-over-time chart of accepted, delivered, and failed volume, to spot spikes and bad sends.
  • A failure-rate trend line plus a histogram of failures by Bird-normalized error code.
  • Delivery latency, Bird's own processing time from accepting a message to handing it to the WhatsApp network, at p50/p95/p99.
  • Breakdowns by sending number, template category, and tag, each with its own Healthy/Watching/Throttled status.

Alongside it, WhatsApp's rate limits now have their own reference page: a dedicated whatsapp_send group (10/min base) for sending, kept separate from the shared list/read/write management limits so send quota is never eaten by management traffic.

feature

SMS: send text messages and templates, now available to all workspaces

SMS sending is now available to every Bird workspace. Send a message in seconds and follow it all the way to delivery, on whichever surface you build on.

Getting started

What's available

  • Free-form text SMS: send your own message text with an alphanumeric sender, gated by per-country policy and your workspace's enabled destination countries.
  • Send by template: send a ready-made Bird SMS template by name, with your own variables.
  • Delivery tracking: get a message, list your messages, and follow each message's delivery timeline — or receive sms.* webhooks as status changes.
  • Everywhere you build: the SMS API, the dashboard (message log, send, templates, metrics, and destination settings), the bird sms CLI, and the Go, TypeScript, and Python SDKs.

More is on the way — customer-authored templates and additional languages among them.

feature

WhatsApp messages now support tags and metadata

The WhatsApp messaging API brings tags and metadata in line with the rest of the platform. When you send a WhatsApp message, you can now attach:

  • Tags: structured {name, value} labels, up to 20 per send, for low-cardinality dimensions like category or experiment_variant
  • Metadata: an arbitrary JSON object (up to 2 KB) for your own per-send context, such as internal IDs

Both are echoed back on the message resource and on list results, which also gain a tag query parameter to filter by tag name or an exact name:value pair, matching the filtering already available for email and SMS messages.

feature

Bird Platform update: Redesigned organization user management

Bird Platform update: Redesigned organization user management

We've replaced the admin management screen with a new user management experience that gives organization admins a clearer overview of their team and more control over roles and access.

New features

The new Users page under Organization Settings shows each user's role assignments, workspace access, and account status in a single table. Clicking a user opens a detail page where you can add or remove organization roles, review their workspace memberships, and remove them from the organization if needed.

When inviting a new user, you can now assign one or more organization roles as part of the invite flow. For users who haven't accepted their invitation yet, you can resend it directly from their profile page.

What this means for you

If you manage users in your organization, navigate to Settings > Security > Users to find the new experience. The actions available to you depend on your permissions - organization admins can manage roles and remove users from this page.

Good to know

Removing a user from the organization will revoke their access to all workspaces and resources within it. Workspace memberships are managed at the workspace level and are not affected by role changes made here.

Start with one channel.
Add the others when you're ready.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Using Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours:

Cursor