Bird API
The current Bird platform API: one REST API for email, SMS, WhatsApp, verification, lookup and Realtime, plus workspaces, organizations, teams, sending domains, dedicated IPs, suppressions, contacts and audiences. 277 operations over 216 paths, described by a first-party OpenAPI 3.1 document Bird publishes at https://bird.com/openapi.json and generates its SDKs from. Bearer API keys prefixed bk_{region}_ or OAuth 2.0 access tokens from platform.bird.com; opt-in Idempotency-Key on every mutating request; IETF RateLimit response headers; a stable, documented error-code catalog; and Standard Webhooks event delivery.
Showing the first 250 of 282. The full set is in the contract, and via get_provider_operations.
GET
/v1/docs/search
Get documentation search results
#
GET
/v1/docs/pages
Get a documentation page
#
GET
/v1/workspace
Get the current workspace
#
GET
/v1/realtime/regions
List Realtime regions
#
POST
/v1/realtime/apps
Create a Realtime app
#
GET
/v1/realtime/apps
List Realtime apps
#
GET
/v1/realtime/apps/{realtime_app_id}
Get a Realtime app
#
PATCH
/v1/realtime/apps/{realtime_app_id}
Update a Realtime app
#
DELETE
/v1/realtime/apps/{realtime_app_id}
Delete a Realtime app
#
POST
/v1/realtime/apps/{realtime_app_id}/events
Publish a Realtime event
#
POST
/v1/realtime/apps/{realtime_app_id}/batch-events
Publish a batch of Realtime events
#
GET
/v1/realtime/apps/{realtime_app_id}/channels
List Realtime channels
#
GET
/v1/realtime/apps/{realtime_app_id}/channels/{channel_name}
Get a Realtime channel
#
GET
/v1/realtime/apps/{realtime_app_id}/channels/{channel_name}/members
List members on a presence channel
#
POST
/v1/realtime/apps/{realtime_app_id}/members/{member_id}/disconnect
Disconnect a member
#
POST
/v1/realtime/apps/{realtime_app_id}/members/{member_id}/events
Send an event to a member
#
GET
/v1/realtime/apps/{realtime_app_id}/keys
List a Realtime app's keys
#
POST
/v1/realtime/apps/{realtime_app_id}/keys
Create a Realtime app key
#
POST
/v1/realtime/apps/{realtime_app_id}/keys/{realtime_app_key_id}/revoke
Revoke a Realtime app key
#
POST
/v1/email/messages
Create an email message
#
GET
/v1/email/messages
List messages
#
POST
/v1/email/batches
Create a batch of email messages
#
GET
/v1/email/messages/{message_id}
Get a message
#
POST
/v1/email/messages/{message_id}/cancel
Cancel a scheduled message
#
GET
/v1/email/messages/{message_id}/recipients
List recipients of a message
#
GET
/v1/email/messages/{message_id}/events
List events for a message
#
GET
/v1/email/messages/{message_id}/content
Get stored message content
#
GET
/v1/email/messages/{message_id}/attachments/{attachment_id}
Get a message attachment
#
POST
/v1/email/broadcasts
Create a broadcast
#
GET
/v1/email/broadcasts
List broadcasts
#
GET
/v1/email/broadcasts/export
Export broadcasts as CSV
#
GET
/v1/email/broadcasts/{broadcast_id}
Get a broadcast
#
PATCH
/v1/email/broadcasts/{broadcast_id}
Update a broadcast
#
DELETE
/v1/email/broadcasts/{broadcast_id}
Delete a broadcast
#
GET
/v1/email/broadcasts/{broadcast_id}/counts
Get a broadcast's audience counts
#
GET
/v1/email/broadcasts/{broadcast_id}/send-quota
Get how much of a broadcast the send allowance covers
#
GET
/v1/email/broadcasts/{broadcast_id}/recipients
List recipients of a broadcast
#
GET
/v1/email/broadcasts/{broadcast_id}/recipients/export
Export a broadcast's recipients as CSV
#
GET
/v1/email/broadcasts/{broadcast_id}/events
List events for a broadcast
#
GET
/v1/email/broadcasts/{broadcast_id}/clicked-links
List a broadcast's clicked links
#
POST
/v1/email/broadcasts/{broadcast_id}/send
Send a broadcast
#
POST
/v1/email/broadcasts/{broadcast_id}/cancel
Cancel a broadcast
#
GET
/v1/preferences
List preferences
#
POST
/v1/preferences
Record a preference
#
GET
/v1/preferences/{preference_id}
Get a preference
#
DELETE
/v1/preferences/{preference_id}
Delete a preference
#
POST
/v1/audiences
Create an audience
#
GET
/v1/audiences
List audiences
#
GET
/v1/audiences/{audience_id}
Get an audience
#
PATCH
/v1/audiences/{audience_id}
Update an audience
#
DELETE
/v1/audiences/{audience_id}
Delete an audience
#
POST
/v1/sms/messages
Create an SMS message
#
GET
/v1/sms/messages
List SMS messages
#
POST
/v1/sms/batches
Create a batch of SMS messages
#
GET
/v1/sms/messages/{message_id}
Get an SMS message
#
GET
/v1/sms/messages/{message_id}/events
List events for an SMS message
#
GET
/v1/sms/templates
List SMS templates
#
GET
/v1/sms/templates/{template_ref}
Get an SMS template
#
GET
/v1/sms/templates/{template_ref}/versions
List an SMS template's versions
#
GET
/v1/sms/templates/{template_ref}/versions/{version_id}
Get an SMS template version
#
GET
/v1/sms/templates/{template_ref}/versions/{version_id}/languages
List an SMS template version's languages
#
GET
/v1/sms/templates/{template_ref}/versions/{version_id}/languages/{language}
Get an SMS template version's language
#
GET
/v1/sms/suppressions
List SMS suppressions
#
POST
/v1/sms/suppressions
Create an SMS suppression
#
GET
/v1/sms/suppressions/{suppression_id}
Get an SMS suppression
#
DELETE
/v1/sms/suppressions/{suppression_id}
Delete an SMS suppression
#
GET
/v1/sms/keyword-rules
List SMS keyword rules
#
POST
/v1/sms/keyword-rules
Create an SMS keyword rule
#
GET
/v1/sms/keyword-rules/{id}
Get an SMS keyword rule
#
PATCH
/v1/sms/keyword-rules/{id}
Update an SMS keyword rule
#
DELETE
/v1/sms/keyword-rules/{id}
Delete an SMS keyword rule
#
GET
/v1/sms/stats/summary
Get aggregate outbound SMS statistics
#
GET
/v1/sms/stats/daily
Get daily outbound SMS statistics
#
GET
/v1/sms/stats/hourly
Get hourly outbound SMS statistics
#
GET
/v1/sms/stats/originators
Get outbound SMS statistics by originator
#
GET
/v1/sms/stats/countries
Get outbound SMS statistics by country
#
GET
/v1/sms/stats/categories
Get outbound SMS statistics by category
#
GET
/v1/sms/stats/error-codes
Get outbound SMS statistics by error code
#
GET
/v1/sms/stats/carriers
Get outbound SMS statistics by carrier
#
GET
/v1/sms/stats/tags
Get outbound SMS statistics by tag
#
GET
/v1/sms/stats/statuses
Get outbound SMS statistics by status
#
GET
/v1/sms/stats/inbound/summary
Get aggregate inbound SMS statistics
#
GET
/v1/sms/stats/inbound/daily
Get daily inbound SMS statistics
#
GET
/v1/sms/stats/inbound/hourly
Get hourly inbound SMS statistics
#
GET
/v1/sms/stats/inbound/countries
Get inbound SMS statistics by country
#
GET
/v1/sms/stats/inbound/operators
Get inbound SMS statistics by operator
#
GET
/v1/sms/stats/inbound/numbers
Get inbound SMS statistics by number
#
POST
/v1/lookup/phone-number
Create a phone number lookup
#
GET
/v1/lookup/phone-number/{number}
Get a phone number lookup by URL
#
POST
/v1/lookup/email
Create an email address lookup
#
GET
/v1/lookup/email/{address}
Get an email address lookup by URL
#
POST
/v1/verify/verifications
Create a verification
#
POST
/v1/verify/verifications/check
Create a verification passcode check
#
POST
/v1/verify/verifications/next-channel
Create the next verification channel attempt
#
GET
/v1/whatsapp/messages
List WhatsApp messages
#
POST
/v1/whatsapp/messages
Send a WhatsApp message
#
GET
/v1/whatsapp/messages/{message_id}
Get a WhatsApp message
#
POST
/v1/whatsapp/messages/{message_id}/read
Mark a WhatsApp message as read
#
GET
/v1/whatsapp/messages/{message_id}/events
List events for a WhatsApp message
#
PUT
/v1/whatsapp/messages/{message_id}/reaction
React to a WhatsApp message
#
DELETE
/v1/whatsapp/messages/{message_id}/reaction
Remove your reaction from a WhatsApp message
#
GET
/v1/whatsapp/messages/{message_id}/reaction-events
List reaction events for a WhatsApp message
#
GET
/v1/whatsapp/templates
List available message templates
#
GET
/v1/whatsapp/templates/{template_ref}
Get a message template
#
GET
/v1/whatsapp/templates/{template_ref}/versions
List a template's versions
#
GET
/v1/whatsapp/templates/{template_ref}/versions/{version_id}
Get a template version
#
GET
/v1/whatsapp/templates/{template_ref}/versions/{version_id}/languages
List a version's languages
#
GET
/v1/whatsapp/templates/{template_ref}/versions/{version_id}/languages/{language}
Get a version's language
#
GET
/v1/whatsapp/stats/summary
Get aggregate outbound WhatsApp statistics
#
GET
/v1/whatsapp/stats/daily
Get daily outbound WhatsApp statistics
#
GET
/v1/whatsapp/stats/hourly
Get hourly outbound WhatsApp statistics
#
GET
/v1/whatsapp/stats/error-codes
Get outbound WhatsApp statistics by error code
#
GET
/v1/whatsapp/stats/templates
Get outbound WhatsApp statistics by template
#
GET
/v1/whatsapp/stats/template-categories
Get outbound WhatsApp statistics by template category
#
GET
/v1/whatsapp/stats/tags
Get outbound WhatsApp statistics by tag
#
GET
/v1/whatsapp/stats/phone-numbers
Get outbound WhatsApp statistics by phone number
#
GET
/v1/whatsapp/stats/countries
Get outbound WhatsApp statistics by country
#
GET
/v1/whatsapp/stats/inbound/summary
Get aggregate inbound WhatsApp statistics
#
GET
/v1/whatsapp/stats/inbound/daily
Get daily inbound WhatsApp statistics
#
GET
/v1/whatsapp/stats/inbound/hourly
Get hourly inbound WhatsApp statistics
#
GET
/v1/whatsapp/stats/inbound/phone-numbers
Get inbound WhatsApp statistics by phone number
#
GET
/v1/whatsapp/numbers
List WhatsApp numbers
#
GET
/v1/whatsapp/numbers/{number_id}
Get a WhatsApp number
#
GET
/v1/whatsapp/numbers/{number_id}/events
List WhatsApp number events
#
GET
/v1/whatsapp/numbers/{number_id}/profile
Get a WhatsApp number's business profile
#
GET
/v1/whatsapp/business-accounts
List WhatsApp Business Accounts
#
GET
/v1/whatsapp/business-accounts/{business_account_ref}
Get a WhatsApp Business Account
#
GET
/v1/whatsapp/keyword-rules
List WhatsApp keyword rules
#
POST
/v1/whatsapp/keyword-rules
Create a WhatsApp keyword rule
#
GET
/v1/whatsapp/keyword-rules/{id}
Get a WhatsApp keyword rule
#
PATCH
/v1/whatsapp/keyword-rules/{id}
Update a WhatsApp keyword rule
#
DELETE
/v1/whatsapp/keyword-rules/{id}
Delete a WhatsApp keyword rule
#
GET
/v1/email/inbox-insights/placement
Get inbox placement for a sending domain
#
GET
/v1/email/inbox-insights/authentication
Get email authentication standing for a sending domain
#
GET
/v1/email/inbox-insights/complaints
Get the Google-reported spam rate for a sending domain
#
GET
/v1/email/inbox-insights/spam-traps
Get spam-trap hits for a sending domain
#
GET
/v1/email/inbox-insights/blocklists
Check whether a sending domain's infrastructure is blocklisted
#
GET
/v1/email/inbox-insights/benchmarks/industry
Get the industry placement benchmark for a sending domain
#
GET
/v1/email/inbox-insights/domains
List sending domains and their Inbox Insights status
#
PATCH
/v1/email/inbox-insights/domains/{sending_domain}
Switch Inbox Insights on or off for a sending domain
#
POST
/v1/email/inbox-insights/domain-monitoring
Switch Inbox Insights on for the workspace's main sending domain
#
GET
/v1/email/stats/daily
Get daily sending statistics
#
GET
/v1/email/stats/hourly
Get hourly sending statistics
#
GET
/v1/email/stats/tags
Get statistics by tag
#
GET
/v1/email/stats/summary
Get aggregate email statistics
#
GET
/v1/email/stats/sending-ips
Get statistics by sending IP
#
GET
/v1/email/stats/sending-domains
Get statistics by sending domain
#
GET
/v1/email/stats/categories
Get statistics by category
#
GET
/v1/email/stats/mailbox-providers
Get statistics by mailbox provider
#
GET
/v1/email/stats/mailbox-provider-regions
Get statistics by mailbox provider region
#
GET
/v1/email/stats/recipient-domains
Get statistics by recipient domain
#
GET
/v1/email/stats/templates
Get statistics by template
#
GET
/v1/email/stats/locations
Get engagement by location
#
GET
/v1/email/stats/clients
Get engagement by email client
#
GET
/v1/email/stats/bounce-codes
Get bounces by SMTP error code
#
GET
/v1/email/stats/complaint-types
Get complaints by type
#
GET
/v1/email/stats/broadcasts
Get statistics by broadcast
#
GET
/v1/email/health
Get sending health and deliverability limits
#
POST
/v1/email/domains
Create a sending domain
#
GET
/v1/email/domains
List sending domains
#
PATCH
/v1/email/domains/{domain_id}
Update a sending domain
#
GET
/v1/email/domains/{domain_id}
Get a sending domain
#
DELETE
/v1/email/domains/{domain_id}
Delete a sending domain
#
GET
/v1/email/domains/{domain_id}/events
List domain events
#
POST
/v1/email/domains/{domain_id}/verify
Verify a domain
#
POST
/v1/email/domains/{domain_id}/tracking/release
Release link tracking configuration
#
POST
/v1/email/domains/{domain_id}/dns-records/share
Share a domain's DNS records by email
#
GET
/v1/email/suppressions
List email suppressions
#
POST
/v1/email/suppressions
Create an email suppression
#
GET
/v1/email/suppressions/{suppression_id}
Get an email suppression
#
DELETE
/v1/email/suppressions/{suppression_id}
Delete an email suppression
#
GET
/v1/email/competitive/watchlist
Get the competitor watchlist with its latest figures
#
GET
/v1/email/competitive/watchlist/notable
Get the notable campaigns across watched brands
#
POST
/v1/email/competitive/watchlist/brands
Add a competitor brand to the watchlist
#
GET
/v1/email/competitive/watchlist/brands/{watchlist_brand_id}
Get a watched brand's figures
#
DELETE
/v1/email/competitive/watchlist/brands/{watchlist_brand_id}
Remove a competitor brand from the watchlist
#
GET
/v1/email/competitive/watchlist/brands/{watchlist_brand_id}/campaigns
Get the campaigns a watched brand sent
#
GET
/v1/email/competitive/watchlist/brands/{watchlist_brand_id}/campaigns/{campaign_id}
Get one campaign a watched brand sent
#
GET
/v1/email/competitive/watchlist/brands/{watchlist_brand_id}/send-time
Get when a watched brand sends
#
GET
/v1/email/competitive/brands/search
Search brands to add to the watchlist
#
GET
/v1/email/competitive/volume-series
Get send volume over time for watched brands
#
POST
/v1/email/templates
Create an email template
#
GET
/v1/email/templates
List email templates
#
GET
/v1/email/templates/{template_ref}
Get an email template
#
PATCH
/v1/email/templates/{template_ref}
Update an email template
#
DELETE
/v1/email/templates/{template_ref}
Delete an email template
#
POST
/v1/email/templates/{template_ref}/duplicate
Duplicate an email template
#
POST
/v1/email/templates/{template_ref}/preview
Get an email template preview
#
GET
/v1/email/templates/{template_ref}/versions
List email template versions
#
GET
/v1/email/templates/{template_ref}/broadcasts
List the broadcasts blocking a template delete
#
GET
/v1/email/templates/{template_ref}/versions/{version_id}
Get an email template version
#
DELETE
/v1/email/templates/{template_ref}/versions/{version_id}
Delete an email template draft
#
GET
/v1/email/templates/{template_ref}/versions/{version_id}/languages
List a version's languages
#
GET
/v1/email/templates/{template_ref}/versions/{version_id}/languages/{language}
Get one language of a version
#
PUT
/v1/email/templates/{template_ref}/versions/{version_id}/languages/{language}
Upsert one language of a draft
#
PATCH
/v1/email/templates/{template_ref}/versions/{version_id}/languages/{language}
Update one language of a draft
#
DELETE
/v1/email/templates/{template_ref}/versions/{version_id}/languages/{language}
Delete one language from a draft
#
POST
/v1/email/templates/{template_ref}/versions/{version_id}/rollback
Roll back an email template
#
POST
/v1/email/templates/{template_ref}/versions/{version_id}/submit
Submit an email template version
#
GET
/v1/email/inbound-addresses
List inbound addresses
#
POST
/v1/email/inbound-addresses
Create an inbound address
#
GET
/v1/email/inbound-addresses/{inbound_address_id}
Get an inbound address
#
PATCH
/v1/email/inbound-addresses/{inbound_address_id}
Update an inbound address
#
DELETE
/v1/email/inbound-addresses/{inbound_address_id}
Delete an inbound address
#
GET
/v1/email/inbound-messages
List received emails
#
GET
/v1/email/inbound-messages/{inbound_message_id}
Get a received email
#
GET
/v1/email/inbound-messages/{inbound_message_id}/body
Get a received email's body
#
GET
/v1/email/inbound-messages/{inbound_message_id}/raw
Get a received email's raw content
#
GET
/v1/email/inbound-messages/{inbound_message_id}/attachments
List a received email's attachments
#
GET
/v1/email/inbound-messages/{inbound_message_id}/attachments/{attachment_id}
Get a received email's attachment
#
GET
/v1/email/mailboxes
List mailboxes
#
POST
/v1/email/mailboxes
Create a mailbox
#
GET
/v1/email/mailboxes/{mailbox_id}
Get a mailbox
#
PATCH
/v1/email/mailboxes/{mailbox_id}
Update a mailbox
#
DELETE
/v1/email/mailboxes/{mailbox_id}
Delete a mailbox
#
POST
/v1/email/mailboxes/{mailbox_id}/restore
Restore a deleted mailbox
#
GET
/v1/email/mailboxes/{mailbox_id}/stats
Get mailbox email statistics
#
POST
/v1/email/mailboxes/{mailbox_id}/resume
Resume a suspended mailbox
#
GET
/v1/email/mailboxes/{mailbox_id}/receive-rules
List receive rules
#
POST
/v1/email/mailboxes/{mailbox_id}/receive-rules
Create a receive rule
#
DELETE
/v1/email/mailboxes/{mailbox_id}/receive-rules/{rule_id}
Delete a receive rule
#
GET
/v1/email/inbound-routes
List inbound routes
#
POST
/v1/email/inbound-routes
Create an inbound route
#
GET
/v1/email/inbound-routes/{route_id}
Get an inbound route
#
PATCH
/v1/email/inbound-routes/{route_id}
Update an inbound route
#
DELETE
/v1/email/inbound-routes/{route_id}
Delete an inbound route
#
GET
/v1/email/threads
List threads
#
GET
/v1/email/threads/{thread_id}
Get a thread
#
PATCH
/v1/email/threads/{thread_id}
Update a thread
#
DELETE
/v1/email/threads/{thread_id}
Delete a thread
#
GET
/v1/email/threads/{thread_id}/messages
List messages in a thread
#
GET
/v1/email/threads/{thread_id}/messages/{message_id}
Get a message in a thread
#
Documentation
Specifications
Other Resources
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/bird-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Bird API
version: 1.0.0
description: |
The Bird API: one REST API for email, SMS, WhatsApp, verification, and
Realtime. Manage workspaces, organizations, teams, sending domains,
dedicated IPs, suppressions, contacts and audiences, and outbound message
delivery across every channel.
Setting a `User-Agent` header is recommended but not required. Official Bird
SDKs set it automatically (format: `bird-<language>/<version>`). The header is
used for operational logging and customer-support diagnostics; the API never
rejects requests that omit it.
Rate limits are advertised on every response from a rate-limited endpoint as
IETF `RateLimit` and `RateLimit-Policy` headers (Structured Fields per RFC
9651; spec draft-ietf-httpapi-ratelimit-headers-11). On 429 responses, a
`Retry-After` header in seconds is also returned. Clients should pace
themselves against the `r` (remaining) and `t` (seconds until reset) params
in the `RateLimit` header rather than only reacting to 429s.
The full API reference is at https://bird.com/docs/api, and the guides and
official SDKs at https://bird.com/docs.
servers:
- url: https://{region}.platform.bird.com
description: |
Regional API endpoint. Use the host for the region your organization is hosted in. Official Bird SDKs and the CLI select it automatically from your API key, so you rarely need to set it by hand.
variables:
region:
default: us1
enum:
- us1
- eu1
description: The region your organization's data is hosted in.
- url: https://platform.bird.com
description: Region-independent endpoint for authentication and account administration.
- url: http://localhost:8080
description: Local development.
security:
- BearerAuth: []
tags:
- name: workspaces
description: Workspace management.
- name: realtime-apps
description: Realtime app management.
- name: realtime-events
description: |
Publish events to a Realtime app's channels from your server (the data plane). Sending to several channels at once broadcasts to all of them.
- name: email-messages
description: |
Send emails to recipients you address explicitly in `to`, `cc`, and `bcc`. Use this for transactional sends (receipts, password resets, alerts) and for marketing sends where you already have the recipient addresses on hand. The same endpoint accepts every content type. Set `category` to control suppression policy.
- name: email-broadcasts
description: |
Send one email to a stored audience. Create a broadcast as a draft, then send it immediately or schedule it for later; scheduled and in-progress broadcasts can be canceled. The audience's contacts at send time become the recipient set after suppressions are applied. The recipients endpoint returns each recipient's delivery state.
- name: email-contacts
description: |
Contacts are the people you send broadcasts to. Each contact is unique by email address within a workspace and carries optional name fields and custom properties for personalization. Custom properties are defined once per workspace via the contact properties API and then set per contact.
- name: email-audiences
description: |
Audiences are the recipient lists broadcasts are sent to. An audience holds a set of contacts that you manage through the API. The contacts in the audience at send time become the broadcast's recipients after suppressions are applied. A contact can belong to multiple audiences.
- name: email-stats
description: Email analytics, including daily and hourly delivery statistics, tag breakdowns, and a KPI summary.
- name: sms-messages
description: |
Send SMS messages to recipients you address by phone number, and read their delivery status and lifecycle events. Each message is one recipient and one body; set `category` to control opt-out policy and per-country compliance.
- name: sms-templates
description: Create and publish multilingual workspace SMS templates and browse built-in templates. Published workspace versions preserve their language content; built-in versions reflect the current catalogue.
- name: sms-stats
description: SMS analytics, including daily and hourly lifecycle counts, dimension breakdowns, and a KPI summary.
- name: verify-verifications
description: |
Send a one-time passcode to a recipient and check the code they enter. Create a verification to send a passcode over email or SMS, then submit the recipient's code to verify it.
- name: whatsapp-messages
description: |
Send WhatsApp messages, whether a template, free-form content, or interactive content the recipient can tap, and read the messages your workspace sent and received, including their current delivery status and lifecycle events.
- name: whatsapp-templates
description: |
Browse the WhatsApp message templates available to your workspace, approved by Meta and ready to send.
- name: whatsapp-stats
description: WhatsApp analytics, including daily and hourly delivery statistics and a KPI summary.
- name: domains
description: Sending domain management and DNS verification.
- name: email-suppressions
description: Email suppression list management.
- name: email-templates
description: |
Reusable email templates and their versions, with stored subject, HTML, and plain-text content you manage and reference when sending.
- name: email-inbound-addresses
description: |
Addresses generated for receiving mail. Forward a mailbox to an inbound address to parse each message into a received email.
- name: email-inbound-messages
description: |
Emails received on your behalf, including each parsed message, its body, raw MIME content, and attachments.
- name: email-mailboxes
description: |
Durable mailbox identities for agents. A mailbox owns an address, applies receive policy through allow/block rules, and remembers conversations for its retention tier.
- name: email-inbound-routes
description: |
Routing rules that direct inbound mail on your domains into mailboxes, or drop it, in priority order.
- name: email-threads
description: |
Conversations in a mailbox. Threads group related inbound and outbound messages and carry read state, labels, and participants.
- name: email-smtp-configs
description: |
Default IP pool, category, tags, and open and click tracking settings for messages submitted over SMTP with a given API key.
- name: webhooks
description: Webhook endpoint management.
- name: numbers
description: Phone number catalog and purchasing.
- name: docs
description: Search our developer documentation.
- name: voice-calls
description: Call records (CDR) for the workspace, in flight and completed.
- name: whatsapp-numbers
description: |
Connect phone numbers from Meta's embedded signup flow and check their WhatsApp setup status.
- name: whatsapp-business-accounts
description: |
Read the WhatsApp Business Accounts your workspace has connected, so a template can be created on the account you choose.
- name: sms-keyword-rules
description: |
Manage the response when someone sends a keyword to one of your numbers. Each supported country starts with opt-out, opt-in, and help keywords. Create a rule to replace a default response or add campaign keywords.
- name: lookup
description: |
Inspect a recipient before sending. Phone-number lookups return carrier, portability, number type, reachability, roaming, SIM-change, and fraud-risk data when requested. Email lookups return deliverability, confidence, failure reasons, and suggested corrections for likely misspellings.
- name: sms-suppressions
description: Sender and subscriber pairs that block SMS delivery.
- name: email-competitive
description: |
Watch competitor brands and see how their email compares with yours. Figures about a competitor are estimates from an email panel, which observes a sample of real inboxes; figures about your own sending are counted rather than estimated wherever that is possible.
- name: preferences
description: Stated messaging preferences (consent grants and opt-outs) recorded per handle across email, SMS, and WhatsApp, with causally ordered writes.
- name: email-inbox-insights
description: |
Inbox placement, seed tests, and sending reputation for the workspace's
own sending domains, measured from a panel of real mailboxes.
Rates here are percentages carrying a `_percent` suffix (`87.4`).
Competitive Insights reports the same kind of figure as a fraction
(`0.874`), so a client reading both products scales one of them.
# --- truncated at 32 KB (4697 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bird/refs/heads/main/openapi/messagebird-bird-api-openapi.yml