# Bird API > Published English API guides and operation references grouped by product, linked to their Markdown twins. ## API guides - [Authentication](https://bird.com/docs/api/authentication.md): Wire-level authentication for the Bird API: the bearer header, API key anatomy, and the exact failure responses. - [Base URLs and regions](https://bird.com/docs/api/regions.md): Regional base URLs, the organization-level region model, automatic client routing, and errors for requests sent to the wrong region. - [Deprecations](https://bird.com/docs/api/deprecations.md): How the Bird API signals a deprecation: the Deprecation response header, what a superseded request field or query parameter still does, and how to migrate off one. - [Error responses](https://bird.com/docs/api/errors.md): The error response wire contract: the envelope fields, HTTP status mapping, validation details, and how each SDK surfaces failures. - [Idempotency-Key header](https://bird.com/docs/api/idempotency.md): The Idempotency-Key wire contract: header format, replay semantics, conflict errors, retention, and how the SDKs auto-key retries. - [Introduction](https://bird.com/docs/api.md): Orientation for the Bird API reference: how it is organized, the conventions every endpoint follows, and where to start. - [Pagination](https://bird.com/docs/api/pagination.md): The cursor pagination wire contract, covering limit, starting_after, ending_before, opaque cursors, opt-in totals, and how the SDKs iterate for you. ## Email operations - [Add a competitor brand to the watchlist](https://bird.com/docs/api/reference/create-email-competitive-watchlist-brand.md): POST /v1/email/competitive/watchlist/brands - [Cancel a broadcast](https://bird.com/docs/api/reference/cancel-email-broadcast.md): POST /v1/email/broadcasts/{broadcast_id}/cancel - [Cancel a scheduled message](https://bird.com/docs/api/reference/cancel-email-message.md): POST /v1/email/messages/{message_id}/cancel - [Check whether a sending domain's infrastructure is blocklisted](https://bird.com/docs/api/reference/get-email-inbox-insights-blocklists.md): GET /v1/email/inbox-insights/blocklists - [Create a batch of email messages](https://bird.com/docs/api/reference/create-email-message-batch.md): POST /v1/email/batches - [Create a broadcast](https://bird.com/docs/api/reference/create-email-broadcast.md): POST /v1/email/broadcasts - [Create a mailbox](https://bird.com/docs/api/reference/create-mailbox.md): POST /v1/email/mailboxes - [Create a message from a mailbox](https://bird.com/docs/api/reference/create-mailbox-message.md): POST /v1/email/mailboxes/{mailbox_id}/messages - [Create a receive rule](https://bird.com/docs/api/reference/create-mailbox-receive-rule.md): POST /v1/email/mailboxes/{mailbox_id}/receive-rules - [Create a sending domain](https://bird.com/docs/api/reference/create-domain.md): POST /v1/email/domains - [Create an email message](https://bird.com/docs/api/reference/create-email-message.md): POST /v1/email/messages - [Create an email suppression](https://bird.com/docs/api/reference/create-suppression.md): POST /v1/email/suppressions - [Create an email template](https://bird.com/docs/api/reference/create-email-template.md): POST /v1/email/templates - [Create an inbound address](https://bird.com/docs/api/reference/create-inbound-address.md): POST /v1/email/inbound-addresses - [Create an inbound route](https://bird.com/docs/api/reference/create-inbound-route.md): POST /v1/email/inbound-routes - [Delete a broadcast](https://bird.com/docs/api/reference/delete-email-broadcast.md): DELETE /v1/email/broadcasts/{broadcast_id} - [Delete a mailbox](https://bird.com/docs/api/reference/delete-mailbox.md): DELETE /v1/email/mailboxes/{mailbox_id} - [Delete a message in a thread](https://bird.com/docs/api/reference/delete-email-thread-message.md): DELETE /v1/email/threads/{thread_id}/messages/{message_id} - [Delete a receive rule](https://bird.com/docs/api/reference/delete-mailbox-receive-rule.md): DELETE /v1/email/mailboxes/{mailbox_id}/receive-rules/{rule_id} - [Delete a sending domain](https://bird.com/docs/api/reference/delete-domain.md): DELETE /v1/email/domains/{domain_id} - [Delete a thread](https://bird.com/docs/api/reference/delete-email-thread.md): DELETE /v1/email/threads/{thread_id} - [Delete an email suppression](https://bird.com/docs/api/reference/delete-suppression.md): DELETE /v1/email/suppressions/{suppression_id} - [Delete an email template draft](https://bird.com/docs/api/reference/delete-email-template-version.md): DELETE /v1/email/templates/{template_ref}/versions/{version_id} - [Delete an email template](https://bird.com/docs/api/reference/delete-email-template.md): DELETE /v1/email/templates/{template_ref} - [Delete an inbound address](https://bird.com/docs/api/reference/delete-inbound-address.md): DELETE /v1/email/inbound-addresses/{inbound_address_id} - [Delete an inbound route](https://bird.com/docs/api/reference/delete-inbound-route.md): DELETE /v1/email/inbound-routes/{route_id} - [Delete one language from a draft](https://bird.com/docs/api/reference/delete-email-template-language.md): DELETE /v1/email/templates/{template_ref}/versions/{version_id}/languages/{language} - [Duplicate an email template](https://bird.com/docs/api/reference/duplicate-email-template.md): POST /v1/email/templates/{template_ref}/duplicate - [Export a broadcast's recipients as CSV](https://bird.com/docs/api/reference/get-email-broadcast-recipients-export.md): GET /v1/email/broadcasts/{broadcast_id}/recipients/export - [Export broadcasts as CSV](https://bird.com/docs/api/reference/get-email-broadcasts-export.md): GET /v1/email/broadcasts/export - [Get a broadcast's audience counts](https://bird.com/docs/api/reference/get-email-broadcast-counts.md): GET /v1/email/broadcasts/{broadcast_id}/counts - [Get a broadcast](https://bird.com/docs/api/reference/get-email-broadcast.md): GET /v1/email/broadcasts/{broadcast_id} - [Get a mailbox](https://bird.com/docs/api/reference/get-mailbox.md): GET /v1/email/mailboxes/{mailbox_id} - [Get a message attachment](https://bird.com/docs/api/reference/get-email-message-attachment.md): GET /v1/email/messages/{message_id}/attachments/{attachment_id} - [Get a message in a thread](https://bird.com/docs/api/reference/get-email-thread-message.md): GET /v1/email/threads/{thread_id}/messages/{message_id} - [Get a message](https://bird.com/docs/api/reference/get-email-message.md): GET /v1/email/messages/{message_id} - [Get a received email's attachment](https://bird.com/docs/api/reference/get-inbound-message-attachment.md): GET /v1/email/inbound-messages/{inbound_message_id}/attachments/{attachment_id} - [Get a received email's body](https://bird.com/docs/api/reference/get-inbound-message-body.md): GET /v1/email/inbound-messages/{inbound_message_id}/body - [Get a received email's raw content](https://bird.com/docs/api/reference/get-inbound-message-raw.md): GET /v1/email/inbound-messages/{inbound_message_id}/raw - [Get a received email](https://bird.com/docs/api/reference/get-inbound-message.md): GET /v1/email/inbound-messages/{inbound_message_id} - [Get a sending domain](https://bird.com/docs/api/reference/get-domain.md): GET /v1/email/domains/{domain_id} - [Get a thread message's attachment](https://bird.com/docs/api/reference/get-email-thread-message-attachment.md): GET /v1/email/threads/{thread_id}/messages/{message_id}/attachments/{attachment_id} - [Get a thread message's original body](https://bird.com/docs/api/reference/get-email-thread-message-body.md): GET /v1/email/threads/{thread_id}/messages/{message_id}/body - [Get a thread message's raw content](https://bird.com/docs/api/reference/get-email-thread-message-raw.md): GET /v1/email/threads/{thread_id}/messages/{message_id}/raw - [Get a thread](https://bird.com/docs/api/reference/get-email-thread.md): GET /v1/email/threads/{thread_id} - [Get a watched brand's figures](https://bird.com/docs/api/reference/get-email-competitive-brand.md): GET /v1/email/competitive/watchlist/brands/{watchlist_brand_id} - [Get aggregate email statistics](https://bird.com/docs/api/reference/get-email-stats-summary.md): GET /v1/email/stats/summary - [Get an SMTP config](https://bird.com/docs/api/reference/get-email-smtp-config.md): GET /v1/email/smtp/configs/{api_key_id} - [Get an email suppression](https://bird.com/docs/api/reference/get-suppression.md): GET /v1/email/suppressions/{suppression_id} - [Get an email template preview](https://bird.com/docs/api/reference/get-email-template-preview.md): POST /v1/email/templates/{template_ref}/preview - [Get an email template version](https://bird.com/docs/api/reference/get-email-template-version.md): GET /v1/email/templates/{template_ref}/versions/{version_id} - [Get an email template](https://bird.com/docs/api/reference/get-email-template.md): GET /v1/email/templates/{template_ref} - [Get an inbound address](https://bird.com/docs/api/reference/get-inbound-address.md): GET /v1/email/inbound-addresses/{inbound_address_id} - [Get an inbound route](https://bird.com/docs/api/reference/get-inbound-route.md): GET /v1/email/inbound-routes/{route_id} - [Get bounces by SMTP error code](https://bird.com/docs/api/reference/get-email-stats-by-bounce-code.md): GET /v1/email/stats/bounce-codes - [Get complaints by type](https://bird.com/docs/api/reference/get-email-stats-by-complaint-type.md): GET /v1/email/stats/complaint-types - [Get daily sending statistics](https://bird.com/docs/api/reference/get-email-stats-daily.md): GET /v1/email/stats/daily - [Get email authentication standing for a sending domain](https://bird.com/docs/api/reference/get-email-inbox-insights-authentication.md): GET /v1/email/inbox-insights/authentication - [Get engagement by email client](https://bird.com/docs/api/reference/get-email-stats-by-client.md): GET /v1/email/stats/clients - [Get engagement by location](https://bird.com/docs/api/reference/get-email-stats-by-location.md): GET /v1/email/stats/locations - [Get hourly sending statistics](https://bird.com/docs/api/reference/get-email-stats-hourly.md): GET /v1/email/stats/hourly - [Get inbox placement for a sending domain](https://bird.com/docs/api/reference/get-email-inbox-insights-placement.md): GET /v1/email/inbox-insights/placement - [Get mailbox email statistics](https://bird.com/docs/api/reference/get-mailbox-stats.md): GET /v1/email/mailboxes/{mailbox_id}/stats - [Get one campaign a watched brand sent](https://bird.com/docs/api/reference/get-email-competitive-brand-campaign.md): GET /v1/email/competitive/watchlist/brands/{watchlist_brand_id}/campaigns/{campaign_id} - [Get one language of a version](https://bird.com/docs/api/reference/get-email-template-language.md): GET /v1/email/templates/{template_ref}/versions/{version_id}/languages/{language} - [Get seed tests for a sending domain](https://bird.com/docs/api/reference/get-email-inbox-insights-seed-tests.md): GET /v1/email/inbox-insights/seed-tests - [Get send volume over time for watched brands](https://bird.com/docs/api/reference/get-email-competitive-volume-series.md): GET /v1/email/competitive/volume-series - [Get sending health and deliverability limits](https://bird.com/docs/api/reference/get-email-health.md): GET /v1/email/health - [Get spam-trap hits for a sending domain](https://bird.com/docs/api/reference/get-email-inbox-insights-spam-traps.md): GET /v1/email/inbox-insights/spam-traps - [Get statistics by broadcast](https://bird.com/docs/api/reference/get-email-stats-by-broadcast.md): GET /v1/email/stats/broadcasts - [Get statistics by category](https://bird.com/docs/api/reference/get-email-stats-by-category.md): GET /v1/email/stats/categories - [Get statistics by mailbox provider region](https://bird.com/docs/api/reference/get-email-stats-by-mailbox-provider-region.md): GET /v1/email/stats/mailbox-provider-regions - [Get statistics by mailbox provider](https://bird.com/docs/api/reference/get-email-stats-by-mailbox-provider.md): GET /v1/email/stats/mailbox-providers - [Get statistics by recipient domain](https://bird.com/docs/api/reference/get-email-stats-by-recipient-domain.md): GET /v1/email/stats/recipient-domains - [Get statistics by sending IP](https://bird.com/docs/api/reference/get-email-stats-by-sending-ip.md): GET /v1/email/stats/sending-ips - [Get statistics by sending domain](https://bird.com/docs/api/reference/get-email-stats-by-sending-domain.md): GET /v1/email/stats/sending-domains - [Get statistics by tag](https://bird.com/docs/api/reference/get-email-stats-by-tag.md): GET /v1/email/stats/tags - [Get statistics by template](https://bird.com/docs/api/reference/get-email-stats-by-template.md): GET /v1/email/stats/templates - [Get stored message content](https://bird.com/docs/api/reference/get-email-message-content.md): GET /v1/email/messages/{message_id}/content - [Get the Google-reported spam rate for a sending domain](https://bird.com/docs/api/reference/get-email-inbox-insights-complaints.md): GET /v1/email/inbox-insights/complaints - [Get the campaigns a watched brand sent](https://bird.com/docs/api/reference/get-email-competitive-brand-campaigns.md): GET /v1/email/competitive/watchlist/brands/{watchlist_brand_id}/campaigns - [Get the choices available for a new seed test](https://bird.com/docs/api/reference/get-email-inbox-insights-seed-test-configuration.md): GET /v1/email/inbox-insights/seed-tests/configuration - [Get the competitor watchlist with its latest figures](https://bird.com/docs/api/reference/get-email-competitive-watchlist.md): GET /v1/email/competitive/watchlist - [Get the email send allowance for a broadcast](https://bird.com/docs/api/reference/get-email-broadcast-send-quota.md): GET /v1/email/broadcasts/{broadcast_id}/send-quota - [Get the industry placement benchmark for a sending domain](https://bird.com/docs/api/reference/get-email-inbox-insights-industry-benchmark.md): GET /v1/email/inbox-insights/benchmarks/industry - [Get the notable campaigns across watched brands](https://bird.com/docs/api/reference/get-email-competitive-notable-campaigns.md): GET /v1/email/competitive/watchlist/notable - [Get when a watched brand sends](https://bird.com/docs/api/reference/get-email-competitive-brand-send-time.md): GET /v1/email/competitive/watchlist/brands/{watchlist_brand_id}/send-time - [List SMTP configs](https://bird.com/docs/api/reference/list-email-smtp-configs.md): GET /v1/email/smtp/configs - [List a broadcast's clicked links](https://bird.com/docs/api/reference/list-email-broadcast-clicked-links.md): GET /v1/email/broadcasts/{broadcast_id}/clicked-links - [List a mailbox's labels](https://bird.com/docs/api/reference/list-mailbox-labels.md): GET /v1/email/mailboxes/{mailbox_id}/labels - [List a mailbox's messages](https://bird.com/docs/api/reference/list-mailbox-messages.md): GET /v1/email/mailboxes/{mailbox_id}/messages - [List a received email's attachments](https://bird.com/docs/api/reference/list-inbound-message-attachments.md): GET /v1/email/inbound-messages/{inbound_message_id}/attachments - [List a thread message's attachments](https://bird.com/docs/api/reference/list-email-thread-message-attachments.md): GET /v1/email/threads/{thread_id}/messages/{message_id}/attachments - [List a version's languages](https://bird.com/docs/api/reference/list-email-template-version-languages.md): GET /v1/email/templates/{template_ref}/versions/{version_id}/languages - [List broadcasts](https://bird.com/docs/api/reference/list-email-broadcasts.md): GET /v1/email/broadcasts - [List domain events](https://bird.com/docs/api/reference/list-domain-events.md): GET /v1/email/domains/{domain_id}/events - [List email suppressions](https://bird.com/docs/api/reference/list-suppressions.md): GET /v1/email/suppressions - [List email template versions](https://bird.com/docs/api/reference/list-email-template-versions.md): GET /v1/email/templates/{template_ref}/versions - [List email templates](https://bird.com/docs/api/reference/list-email-templates.md): GET /v1/email/templates - [List events for a broadcast](https://bird.com/docs/api/reference/list-email-broadcast-events.md): GET /v1/email/broadcasts/{broadcast_id}/events - [List events for a message](https://bird.com/docs/api/reference/list-email-message-events.md): GET /v1/email/messages/{message_id}/events - [List inbound addresses](https://bird.com/docs/api/reference/list-inbound-addresses.md): GET /v1/email/inbound-addresses - [List inbound routes](https://bird.com/docs/api/reference/list-inbound-routes.md): GET /v1/email/inbound-routes - [List mailboxes](https://bird.com/docs/api/reference/list-mailboxes.md): GET /v1/email/mailboxes - [List messages in a thread](https://bird.com/docs/api/reference/list-email-thread-messages.md): GET /v1/email/threads/{thread_id}/messages - [List messages](https://bird.com/docs/api/reference/list-email-messages.md): GET /v1/email/messages - [List receive rules](https://bird.com/docs/api/reference/list-mailbox-receive-rules.md): GET /v1/email/mailboxes/{mailbox_id}/receive-rules - [List received emails](https://bird.com/docs/api/reference/list-inbound-messages.md): GET /v1/email/inbound-messages - [List recipients of a broadcast](https://bird.com/docs/api/reference/list-email-broadcast-recipients.md): GET /v1/email/broadcasts/{broadcast_id}/recipients - [List recipients of a message](https://bird.com/docs/api/reference/list-email-message-recipients.md): GET /v1/email/messages/{message_id}/recipients - [List sending domains and their Inbox Insights status](https://bird.com/docs/api/reference/get-email-inbox-insights-domains.md): GET /v1/email/inbox-insights/domains - [List sending domains](https://bird.com/docs/api/reference/list-domains.md): GET /v1/email/domains - [List the broadcasts blocking a template delete](https://bird.com/docs/api/reference/list-email-template-broadcasts.md): GET /v1/email/templates/{template_ref}/broadcasts - [List threads](https://bird.com/docs/api/reference/list-email-threads.md): GET /v1/email/threads - [Query email delivery and engagement metrics](https://bird.com/docs/api/reference/get-email-stats-query.md): POST /v1/email/stats/query - [Register a seed test and get its addresses](https://bird.com/docs/api/reference/create-email-inbox-insights-seed-test.md): POST /v1/email/inbox-insights/seed-tests - [Release link tracking configuration](https://bird.com/docs/api/reference/release-tracking-domain.md): POST /v1/email/domains/{domain_id}/tracking/release - [Remove a competitor brand from the watchlist](https://bird.com/docs/api/reference/delete-email-competitive-watchlist-brand.md): DELETE /v1/email/competitive/watchlist/brands/{watchlist_brand_id} - [Reply to a thread message](https://bird.com/docs/api/reference/reply-email-thread-message.md): POST /v1/email/threads/{thread_id}/messages/{message_id}/reply - [Restore a deleted mailbox](https://bird.com/docs/api/reference/restore-mailbox.md): POST /v1/email/mailboxes/{mailbox_id}/restore - [Resume a suspended mailbox](https://bird.com/docs/api/reference/resume-mailbox.md): POST /v1/email/mailboxes/{mailbox_id}/resume - [Roll back an email template](https://bird.com/docs/api/reference/rollback-email-template.md): POST /v1/email/templates/{template_ref}/versions/{version_id}/rollback - [Search brands to add to the watchlist](https://bird.com/docs/api/reference/search-email-competitive-brands.md): GET /v1/email/competitive/brands/search - [Send a broadcast](https://bird.com/docs/api/reference/send-email-broadcast.md): POST /v1/email/broadcasts/{broadcast_id}/send - [Share a domain's DNS records by email](https://bird.com/docs/api/reference/share-domain-dns-records.md): POST /v1/email/domains/{domain_id}/dns-records/share - [Submit an email template version](https://bird.com/docs/api/reference/submit-email-template-version.md): POST /v1/email/templates/{template_ref}/versions/{version_id}/submit - [Switch Inbox Insights on for the workspace's main sending domain](https://bird.com/docs/api/reference/upsert-email-inbox-insights-domain-monitoring.md): POST /v1/email/inbox-insights/domain-monitoring - [Switch Inbox Insights on or off for a sending domain](https://bird.com/docs/api/reference/update-email-inbox-insights-domain.md): PATCH /v1/email/inbox-insights/domains/{sending_domain} - [Update a broadcast](https://bird.com/docs/api/reference/update-email-broadcast.md): PATCH /v1/email/broadcasts/{broadcast_id} - [Update a mailbox](https://bird.com/docs/api/reference/update-mailbox.md): PATCH /v1/email/mailboxes/{mailbox_id} - [Update a message in a thread](https://bird.com/docs/api/reference/update-email-thread-message.md): PATCH /v1/email/threads/{thread_id}/messages/{message_id} - [Update a sending domain](https://bird.com/docs/api/reference/update-domain.md): PATCH /v1/email/domains/{domain_id} - [Update a thread](https://bird.com/docs/api/reference/update-email-thread.md): PATCH /v1/email/threads/{thread_id} - [Update an email template](https://bird.com/docs/api/reference/update-email-template.md): PATCH /v1/email/templates/{template_ref} - [Update an inbound address](https://bird.com/docs/api/reference/update-inbound-address.md): PATCH /v1/email/inbound-addresses/{inbound_address_id} - [Update an inbound route](https://bird.com/docs/api/reference/update-inbound-route.md): PATCH /v1/email/inbound-routes/{route_id} - [Update one language of a draft](https://bird.com/docs/api/reference/update-email-template-language.md): PATCH /v1/email/templates/{template_ref}/versions/{version_id}/languages/{language} - [Update the SMTP config for an API key](https://bird.com/docs/api/reference/update-email-smtp-config.md): PATCH /v1/email/smtp/configs/{api_key_id} - [Upsert one language of a draft](https://bird.com/docs/api/reference/upsert-email-template-language.md): PUT /v1/email/templates/{template_ref}/versions/{version_id}/languages/{language} - [Verify a domain](https://bird.com/docs/api/reference/verify-domain.md): POST /v1/email/domains/{domain_id}/verify ## SMS operations - [Create a batch of SMS messages](https://bird.com/docs/api/reference/create-sms-message-batch.md): POST /v1/sms/batches - [Create an SMS keyword rule](https://bird.com/docs/api/reference/create-sms-keyword-rule.md): POST /v1/sms/keyword-rules - [Create an SMS message](https://bird.com/docs/api/reference/create-sms-message.md): POST /v1/sms/messages - [Create an SMS suppression](https://bird.com/docs/api/reference/create-sms-suppression.md): POST /v1/sms/suppressions - [Delete an SMS keyword rule](https://bird.com/docs/api/reference/delete-sms-keyword-rule.md): DELETE /v1/sms/keyword-rules/{id} - [Delete an SMS suppression](https://bird.com/docs/api/reference/delete-sms-suppression.md): DELETE /v1/sms/suppressions/{suppression_id} - [Get aggregate inbound SMS statistics](https://bird.com/docs/api/reference/get-sms-inbound-stats-summary.md): GET /v1/sms/stats/inbound/summary - [Get aggregate outbound SMS statistics](https://bird.com/docs/api/reference/get-sms-stats-summary.md): GET /v1/sms/stats/summary - [Get an SMS keyword rule](https://bird.com/docs/api/reference/get-sms-keyword-rule.md): GET /v1/sms/keyword-rules/{id} - [Get an SMS message](https://bird.com/docs/api/reference/get-sms-message.md): GET /v1/sms/messages/{message_id} - [Get an SMS suppression](https://bird.com/docs/api/reference/get-sms-suppression.md): GET /v1/sms/suppressions/{suppression_id} - [Get an SMS template version's language](https://bird.com/docs/api/reference/get-sms-template-version-language.md): GET /v1/sms/templates/{template_ref}/versions/{version_id}/languages/{language} - [Get an SMS template version](https://bird.com/docs/api/reference/get-sms-template-version.md): GET /v1/sms/templates/{template_ref}/versions/{version_id} - [Get an SMS template](https://bird.com/docs/api/reference/get-sms-template.md): GET /v1/sms/templates/{template_ref} - [Get daily inbound SMS statistics](https://bird.com/docs/api/reference/get-sms-inbound-stats-daily.md): GET /v1/sms/stats/inbound/daily - [Get daily outbound SMS statistics](https://bird.com/docs/api/reference/get-sms-stats-daily.md): GET /v1/sms/stats/daily - [Get hourly inbound SMS statistics](https://bird.com/docs/api/reference/get-sms-inbound-stats-hourly.md): GET /v1/sms/stats/inbound/hourly - [Get hourly outbound SMS statistics](https://bird.com/docs/api/reference/get-sms-stats-hourly.md): GET /v1/sms/stats/hourly - [Get inbound SMS statistics by country](https://bird.com/docs/api/reference/get-sms-inbound-stats-by-country.md): GET /v1/sms/stats/inbound/countries - [Get inbound SMS statistics by number](https://bird.com/docs/api/reference/get-sms-inbound-stats-by-number.md): GET /v1/sms/stats/inbound/numbers - [Get inbound SMS statistics by operator](https://bird.com/docs/api/reference/get-sms-inbound-stats-by-operator.md): GET /v1/sms/stats/inbound/operators - [Get outbound SMS statistics by carrier](https://bird.com/docs/api/reference/get-sms-stats-by-carrier.md): GET /v1/sms/stats/carriers - [Get outbound SMS statistics by category](https://bird.com/docs/api/reference/get-sms-stats-by-category.md): GET /v1/sms/stats/categories - [Get outbound SMS statistics by country](https://bird.com/docs/api/reference/get-sms-stats-by-country.md): GET /v1/sms/stats/countries - [Get outbound SMS statistics by error code](https://bird.com/docs/api/reference/get-sms-stats-by-error-code.md): GET /v1/sms/stats/error-codes - [Get outbound SMS statistics by originator](https://bird.com/docs/api/reference/get-sms-stats-by-originator.md): GET /v1/sms/stats/originators - [Get outbound SMS statistics by status](https://bird.com/docs/api/reference/get-sms-stats-by-status.md): GET /v1/sms/stats/statuses - [Get outbound SMS statistics by tag](https://bird.com/docs/api/reference/get-sms-stats-by-tag.md): GET /v1/sms/stats/tags - [List SMS keyword rules](https://bird.com/docs/api/reference/list-sms-keyword-rules.md): GET /v1/sms/keyword-rules - [List SMS messages](https://bird.com/docs/api/reference/list-sms-messages.md): GET /v1/sms/messages - [List SMS suppressions](https://bird.com/docs/api/reference/list-sms-suppressions.md): GET /v1/sms/suppressions - [List SMS templates](https://bird.com/docs/api/reference/list-sms-templates.md): GET /v1/sms/templates - [List an SMS template version's languages](https://bird.com/docs/api/reference/list-sms-template-version-languages.md): GET /v1/sms/templates/{template_ref}/versions/{version_id}/languages - [List an SMS template's versions](https://bird.com/docs/api/reference/list-sms-template-versions.md): GET /v1/sms/templates/{template_ref}/versions - [List events for an SMS message](https://bird.com/docs/api/reference/list-sms-message-events.md): GET /v1/sms/messages/{message_id}/events - [Update an SMS keyword rule](https://bird.com/docs/api/reference/update-sms-keyword-rule.md): PATCH /v1/sms/keyword-rules/{id} ## WhatsApp operations - [Approve WhatsApp group join requests](https://bird.com/docs/api/reference/approve-whatsapp-group-join-requests.md): POST /v1/whatsapp/groups/{group_id}/join-requests/batch-approve - [Create a WhatsApp group](https://bird.com/docs/api/reference/create-whatsapp-group.md): POST /v1/whatsapp/groups - [Create a WhatsApp keyword rule](https://bird.com/docs/api/reference/create-whatsapp-keyword-rule.md): POST /v1/whatsapp/keyword-rules - [Create a WhatsApp suppression](https://bird.com/docs/api/reference/create-whatsapp-suppression.md): POST /v1/whatsapp/suppressions - [Delete a WhatsApp group](https://bird.com/docs/api/reference/delete-whatsapp-group.md): DELETE /v1/whatsapp/groups/{group_id} - [Delete a WhatsApp keyword rule](https://bird.com/docs/api/reference/delete-whatsapp-keyword-rule.md): DELETE /v1/whatsapp/keyword-rules/{id} - [End a WhatsApp suppression](https://bird.com/docs/api/reference/delete-whatsapp-suppression.md): DELETE /v1/whatsapp/suppressions/{suppression_id} - [Get a WhatsApp Business Account](https://bird.com/docs/api/reference/get-whatsapp-business-account.md): GET /v1/whatsapp/business-accounts/{business_account_ref} - [Get a WhatsApp group](https://bird.com/docs/api/reference/get-whatsapp-group.md): GET /v1/whatsapp/groups/{group_id} - [Get a WhatsApp keyword rule](https://bird.com/docs/api/reference/get-whatsapp-keyword-rule.md): GET /v1/whatsapp/keyword-rules/{id} - [Get a WhatsApp message's media](https://bird.com/docs/api/reference/get-whatsapp-message-media.md): GET /v1/whatsapp/messages/{message_id}/media/{media_id} - [Get a WhatsApp message](https://bird.com/docs/api/reference/get-whatsapp-message.md): GET /v1/whatsapp/messages/{message_id} - [Get a WhatsApp number's business profile](https://bird.com/docs/api/reference/get-whatsapp-number-profile.md): GET /v1/whatsapp/numbers/{number_id}/profile - [Get a WhatsApp number](https://bird.com/docs/api/reference/get-whatsapp-number.md): GET /v1/whatsapp/numbers/{number_id} - [Get a WhatsApp suppression](https://bird.com/docs/api/reference/get-whatsapp-suppression.md): GET /v1/whatsapp/suppressions/{suppression_id} - [Get a message template](https://bird.com/docs/api/reference/get-whatsapp-template.md): GET /v1/whatsapp/templates/{template_ref} - [Get a notification sent to an agent](https://bird.com/docs/api/reference/get-whatsapp-agent-notification.md): GET /v1/whatsapp/agents/notifications/{notification_id} - [Get a template version](https://bird.com/docs/api/reference/get-whatsapp-template-version.md): GET /v1/whatsapp/templates/{template_ref}/versions/{version_id} - [Get a version's language](https://bird.com/docs/api/reference/get-whatsapp-template-version-language.md): GET /v1/whatsapp/templates/{template_ref}/versions/{version_id}/languages/{language} - [Get aggregate inbound WhatsApp statistics](https://bird.com/docs/api/reference/get-whatsapp-inbound-stats-summary.md): GET /v1/whatsapp/stats/inbound/summary - [Get aggregate outbound WhatsApp statistics](https://bird.com/docs/api/reference/get-whatsapp-stats-summary.md): GET /v1/whatsapp/stats/summary - [Get daily inbound WhatsApp statistics](https://bird.com/docs/api/reference/get-whatsapp-inbound-stats-daily.md): GET /v1/whatsapp/stats/inbound/daily - [Get daily outbound WhatsApp statistics](https://bird.com/docs/api/reference/get-whatsapp-stats-daily.md): GET /v1/whatsapp/stats/daily - [Get hourly inbound WhatsApp statistics](https://bird.com/docs/api/reference/get-whatsapp-inbound-stats-hourly.md): GET /v1/whatsapp/stats/inbound/hourly - [Get hourly outbound WhatsApp statistics](https://bird.com/docs/api/reference/get-whatsapp-stats-hourly.md): GET /v1/whatsapp/stats/hourly - [Get inbound WhatsApp statistics by phone number](https://bird.com/docs/api/reference/get-whatsapp-inbound-stats-by-phone-number.md): GET /v1/whatsapp/stats/inbound/phone-numbers - [Get outbound WhatsApp statistics by country](https://bird.com/docs/api/reference/get-whatsapp-stats-by-country.md): GET /v1/whatsapp/stats/countries - [Get outbound WhatsApp statistics by error code](https://bird.com/docs/api/reference/get-whatsapp-stats-by-error-code.md): GET /v1/whatsapp/stats/error-codes - [Get outbound WhatsApp statistics by phone number](https://bird.com/docs/api/reference/get-whatsapp-stats-by-phone-number.md): GET /v1/whatsapp/stats/phone-numbers - [Get outbound WhatsApp statistics by tag](https://bird.com/docs/api/reference/get-whatsapp-stats-by-tag.md): GET /v1/whatsapp/stats/tags - [Get outbound WhatsApp statistics by template category](https://bird.com/docs/api/reference/get-whatsapp-stats-by-template-category.md): GET /v1/whatsapp/stats/template-categories - [Get outbound WhatsApp statistics by template](https://bird.com/docs/api/reference/get-whatsapp-stats-by-template.md): GET /v1/whatsapp/stats/templates - [List WhatsApp Business Accounts](https://bird.com/docs/api/reference/list-whatsapp-business-accounts.md): GET /v1/whatsapp/business-accounts - [List WhatsApp groups](https://bird.com/docs/api/reference/list-whatsapp-groups.md): GET /v1/whatsapp/groups - [List WhatsApp keyword rules](https://bird.com/docs/api/reference/list-whatsapp-keyword-rules.md): GET /v1/whatsapp/keyword-rules - [List WhatsApp messages](https://bird.com/docs/api/reference/list-whatsapp-messages.md): GET /v1/whatsapp/messages - [List WhatsApp number events](https://bird.com/docs/api/reference/list-whatsapp-number-events.md): GET /v1/whatsapp/numbers/{number_id}/events - [List WhatsApp numbers](https://bird.com/docs/api/reference/list-whatsapp-numbers.md): GET /v1/whatsapp/numbers - [List WhatsApp suppressions](https://bird.com/docs/api/reference/list-whatsapp-suppressions.md): GET /v1/whatsapp/suppressions - [List a WhatsApp group's join requests](https://bird.com/docs/api/reference/list-whatsapp-group-join-requests.md): GET /v1/whatsapp/groups/{group_id}/join-requests - [List a template's versions](https://bird.com/docs/api/reference/list-whatsapp-template-versions.md): GET /v1/whatsapp/templates/{template_ref}/versions - [List a version's languages](https://bird.com/docs/api/reference/list-whatsapp-template-version-languages.md): GET /v1/whatsapp/templates/{template_ref}/versions/{version_id}/languages - [List available message templates](https://bird.com/docs/api/reference/list-whatsapp-templates.md): GET /v1/whatsapp/templates - [List events for a WhatsApp message](https://bird.com/docs/api/reference/list-whatsapp-message-events.md): GET /v1/whatsapp/messages/{message_id}/events - [List reaction events for a WhatsApp message](https://bird.com/docs/api/reference/list-whatsapp-message-reaction-events.md): GET /v1/whatsapp/messages/{message_id}/reaction-events - [List the notifications sent to your agents](https://bird.com/docs/api/reference/list-whatsapp-agent-notifications.md): GET /v1/whatsapp/agents/notifications - [Mark a WhatsApp message as read](https://bird.com/docs/api/reference/send-whatsapp-read-receipt.md): POST /v1/whatsapp/messages/{message_id}/read - [Pin a message in a WhatsApp group](https://bird.com/docs/api/reference/create-whatsapp-group-pinned-message.md): POST /v1/whatsapp/groups/{group_id}/pinned-messages - [React to a WhatsApp message](https://bird.com/docs/api/reference/upsert-whatsapp-message-reaction.md): PUT /v1/whatsapp/messages/{message_id}/reaction - [Reject WhatsApp group join requests](https://bird.com/docs/api/reference/reject-whatsapp-group-join-requests.md): POST /v1/whatsapp/groups/{group_id}/join-requests/batch-reject - [Remove a participant from a WhatsApp group](https://bird.com/docs/api/reference/delete-whatsapp-group-participant.md): DELETE /v1/whatsapp/groups/{group_id}/participants/{participant_ref} - [Remove your reaction from a WhatsApp message](https://bird.com/docs/api/reference/delete-whatsapp-message-reaction.md): DELETE /v1/whatsapp/messages/{message_id}/reaction - [Rotate a WhatsApp group's invite link](https://bird.com/docs/api/reference/rotate-whatsapp-group-invite-link.md): POST /v1/whatsapp/groups/{group_id}/invite-link/rotate - [Send a WhatsApp message](https://bird.com/docs/api/reference/create-whatsapp-message.md): POST /v1/whatsapp/messages - [Send an agent a notification](https://bird.com/docs/api/reference/create-whatsapp-agent-notification.md): POST /v1/whatsapp/agents/notifications - [Unpin a message in a WhatsApp group](https://bird.com/docs/api/reference/delete-whatsapp-group-pinned-message.md): DELETE /v1/whatsapp/groups/{group_id}/pinned-messages/{message_id} - [Update a WhatsApp group](https://bird.com/docs/api/reference/update-whatsapp-group.md): PATCH /v1/whatsapp/groups/{group_id} - [Update a WhatsApp keyword rule](https://bird.com/docs/api/reference/update-whatsapp-keyword-rule.md): PATCH /v1/whatsapp/keyword-rules/{id} ## Apple Messages operations - [Create an Apple Messages for Business record](https://bird.com/docs/api/reference/create-amb-business-account.md): POST /v1/amb/business-accounts - [Create an Apple Messages for Business routing rule](https://bird.com/docs/api/reference/create-amb-routing-rule.md): POST /v1/amb/routing-rules - [Create an Apple Messages for Business suppression](https://bird.com/docs/api/reference/create-amb-suppression.md): POST /v1/amb/suppressions - [Delete an Apple Messages for Business routing rule](https://bird.com/docs/api/reference/delete-amb-routing-rule.md): DELETE /v1/amb/routing-rules/{routing_rule_id} - [Disconnect an Apple business account](https://bird.com/docs/api/reference/delete-amb-business-account.md): DELETE /v1/amb/business-accounts/{business_account_id} - [End an Apple Messages for Business suppression](https://bird.com/docs/api/reference/delete-amb-suppression.md): DELETE /v1/amb/suppressions/{suppression_id} - [Get Apple Messages for Business channel settings](https://bird.com/docs/api/reference/get-amb-channel-settings.md): GET /v1/amb/business-accounts/{business_account_id}/channel-settings - [Get a conversation](https://bird.com/docs/api/reference/get-amb-conversation.md): GET /v1/amb/conversations/{conversation_id} - [Get a message](https://bird.com/docs/api/reference/get-amb-message.md): GET /v1/amb/messages/{message_id} - [Get aggregate Apple Messages for Business conversation statistics](https://bird.com/docs/api/reference/get-amb-conversation-stats-summary.md): GET /v1/amb/stats/conversations/summary - [Get aggregate inbound Apple Messages for Business statistics](https://bird.com/docs/api/reference/get-amb-inbound-stats-summary.md): GET /v1/amb/stats/inbound/summary - [Get aggregate outbound Apple Messages for Business statistics](https://bird.com/docs/api/reference/get-amb-stats-summary.md): GET /v1/amb/stats/summary - [Get an Apple Messages for Business record](https://bird.com/docs/api/reference/get-amb-business-account.md): GET /v1/amb/business-accounts/{business_account_id} - [Get an Apple Messages for Business routing rule](https://bird.com/docs/api/reference/get-amb-routing-rule.md): GET /v1/amb/routing-rules/{routing_rule_id} - [Get an Apple Messages for Business suppression](https://bird.com/docs/api/reference/get-amb-suppression.md): GET /v1/amb/suppressions/{suppression_id} - [Get daily Apple Messages for Business conversation statistics](https://bird.com/docs/api/reference/get-amb-conversation-stats-daily.md): GET /v1/amb/stats/conversations/daily - [Get daily inbound Apple Messages for Business statistics](https://bird.com/docs/api/reference/get-amb-inbound-stats-daily.md): GET /v1/amb/stats/inbound/daily - [Get daily outbound Apple Messages for Business statistics](https://bird.com/docs/api/reference/get-amb-stats-daily.md): GET /v1/amb/stats/daily - [Get hourly Apple Messages for Business conversation statistics](https://bird.com/docs/api/reference/get-amb-conversation-stats-hourly.md): GET /v1/amb/stats/conversations/hourly - [Get hourly inbound Apple Messages for Business statistics](https://bird.com/docs/api/reference/get-amb-inbound-stats-hourly.md): GET /v1/amb/stats/inbound/hourly - [Get hourly outbound Apple Messages for Business statistics](https://bird.com/docs/api/reference/get-amb-stats-hourly.md): GET /v1/amb/stats/hourly - [Get inbound Apple Messages for Business statistics by business](https://bird.com/docs/api/reference/get-amb-inbound-stats-by-business.md): GET /v1/amb/stats/inbound/businesses - [Get inbound Apple Messages for Business statistics by intent](https://bird.com/docs/api/reference/get-amb-inbound-stats-by-intent.md): GET /v1/amb/stats/inbound/intents - [Get outbound Apple Messages for Business statistics by business](https://bird.com/docs/api/reference/get-amb-stats-by-business.md): GET /v1/amb/stats/businesses - [Get outbound Apple Messages for Business statistics by category](https://bird.com/docs/api/reference/get-amb-stats-by-category.md): GET /v1/amb/stats/categories - [Get outbound Apple Messages for Business statistics by error code](https://bird.com/docs/api/reference/get-amb-stats-by-error-code.md): GET /v1/amb/stats/error-codes - [Get outbound Apple Messages for Business statistics by group](https://bird.com/docs/api/reference/get-amb-stats-by-group.md): GET /v1/amb/stats/groups - [Get outbound Apple Messages for Business statistics by intent](https://bird.com/docs/api/reference/get-amb-stats-by-intent.md): GET /v1/amb/stats/intents - [Get outbound Apple Messages for Business statistics by message kind](https://bird.com/docs/api/reference/get-amb-stats-by-message-kind.md): GET /v1/amb/stats/message-kinds - [Get outbound Apple Messages for Business statistics by tag](https://bird.com/docs/api/reference/get-amb-stats-by-tag.md): GET /v1/amb/stats/tags - [List Apple Messages for Business records](https://bird.com/docs/api/reference/list-amb-business-accounts.md): GET /v1/amb/business-accounts - [List Apple Messages for Business routing rules](https://bird.com/docs/api/reference/list-amb-routing-rules.md): GET /v1/amb/routing-rules - [List Apple Messages for Business submissions](https://bird.com/docs/api/reference/list-amb-business-account-submissions.md): GET /v1/amb/business-accounts/{business_account_id}/submissions - [List Apple Messages for Business suppressions](https://bird.com/docs/api/reference/list-amb-suppressions.md): GET /v1/amb/suppressions - [List Apple business account events](https://bird.com/docs/api/reference/list-amb-business-account-events.md): GET /v1/amb/business-accounts/{business_account_id}/events - [List conversations](https://bird.com/docs/api/reference/list-amb-conversations.md): GET /v1/amb/conversations - [List events for a message](https://bird.com/docs/api/reference/list-amb-message-events.md): GET /v1/amb/messages/{message_id}/events - [List messages in a conversation](https://bird.com/docs/api/reference/list-amb-conversation-messages.md): GET /v1/amb/conversations/{conversation_id}/messages - [List messages](https://bird.com/docs/api/reference/list-amb-messages.md): GET /v1/amb/messages - [Reconnect an Apple business account](https://bird.com/docs/api/reference/restore-amb-business-account.md): POST /v1/amb/business-accounts/{business_account_id}/reconnect - [Send a message](https://bird.com/docs/api/reference/create-amb-message.md): POST /v1/amb/messages - [Send a typing indicator](https://bird.com/docs/api/reference/create-amb-conversation-typing.md): POST /v1/amb/conversations/{conversation_id}/typing - [Submit an Apple Messages for Business business for review](https://bird.com/docs/api/reference/create-amb-business-account-submission.md): POST /v1/amb/business-accounts/{business_account_id}/submissions - [Update Apple Messages for Business channel settings](https://bird.com/docs/api/reference/update-amb-channel-settings.md): PATCH /v1/amb/business-accounts/{business_account_id}/channel-settings - [Update a conversation](https://bird.com/docs/api/reference/update-amb-conversation.md): PATCH /v1/amb/conversations/{conversation_id} - [Update an Apple Messages for Business record](https://bird.com/docs/api/reference/update-amb-business-account.md): PATCH /v1/amb/business-accounts/{business_account_id} - [Update an Apple Messages for Business routing rule](https://bird.com/docs/api/reference/update-amb-routing-rule.md): PATCH /v1/amb/routing-rules/{routing_rule_id} - [Upload Apple Messages for Business review evidence](https://bird.com/docs/api/reference/create-amb-business-account-attachment.md): POST /v1/amb/business-account-attachments ## Voice operations - [Create a SIP session credential](https://bird.com/docs/api/reference/create-voice-session-credential.md): POST /v1/voice/session-credentials - [Create a SIP trunk](https://bird.com/docs/api/reference/create-voice-trunk.md): POST /v1/voice/trunks - [Create a call](https://bird.com/docs/api/reference/create-voice-call.md): POST /v1/voice/calls - [Create a gateway on a SIP trunk](https://bird.com/docs/api/reference/create-voice-trunk-gateway.md): POST /v1/voice/trunks/{trunk_id}/gateways - [Create a verified number](https://bird.com/docs/api/reference/create-voice-verified-number.md): POST /v1/voice/verified-numbers - [Delete a SIP trunk gateway](https://bird.com/docs/api/reference/delete-voice-trunk-gateway.md): DELETE /v1/voice/trunks/{trunk_id}/gateways/{gateway_id} - [Delete a SIP trunk](https://bird.com/docs/api/reference/delete-voice-trunk.md): DELETE /v1/voice/trunks/{trunk_id} - [Delete a verified number](https://bird.com/docs/api/reference/delete-voice-verified-number.md): DELETE /v1/voice/verified-numbers/{verified_number_id} - [Get a SIP trunk gateway](https://bird.com/docs/api/reference/get-voice-trunk-gateway.md): GET /v1/voice/trunks/{trunk_id}/gateways/{gateway_id} - [Get a SIP trunk](https://bird.com/docs/api/reference/get-voice-trunk.md): GET /v1/voice/trunks/{trunk_id} - [Get a leg](https://bird.com/docs/api/reference/get-voice-leg.md): GET /v1/voice/legs/{leg_id} - [Get a verified number](https://bird.com/docs/api/reference/get-voice-verified-number.md): GET /v1/voice/verified-numbers/{verified_number_id} - [Get a voice number](https://bird.com/docs/api/reference/get-voice-number.md): GET /v1/voice/numbers/{number_id} - [Get the voice settings](https://bird.com/docs/api/reference/get-voice-settings.md): GET /v1/voice/settings - [List SIP trunks](https://bird.com/docs/api/reference/list-voice-trunks.md): GET /v1/voice/trunks - [List Voice destination countries](https://bird.com/docs/api/reference/list-voice-destinations.md): GET /v1/voice/destinations - [List a SIP trunk's gateways](https://bird.com/docs/api/reference/list-voice-trunk-gateways.md): GET /v1/voice/trunks/{trunk_id}/gateways - [List legs](https://bird.com/docs/api/reference/list-voice-legs.md): GET /v1/voice/legs - [List the numbers you can use for voice](https://bird.com/docs/api/reference/list-voice-numbers.md): GET /v1/voice/numbers - [List verified numbers](https://bird.com/docs/api/reference/list-voice-verified-numbers.md): GET /v1/voice/verified-numbers - [Update a SIP trunk gateway](https://bird.com/docs/api/reference/update-voice-trunk-gateway.md): PATCH /v1/voice/trunks/{trunk_id}/gateways/{gateway_id} - [Update a SIP trunk](https://bird.com/docs/api/reference/update-voice-trunk.md): PATCH /v1/voice/trunks/{trunk_id} - [Update a verified number](https://bird.com/docs/api/reference/update-voice-verified-number.md): PATCH /v1/voice/verified-numbers/{verified_number_id} - [Update a voice number](https://bird.com/docs/api/reference/update-voice-number.md): PATCH /v1/voice/numbers/{number_id} - [Update enabled Voice destination countries](https://bird.com/docs/api/reference/update-voice-destinations.md): PATCH /v1/voice/destinations - [Update the voice settings](https://bird.com/docs/api/reference/update-voice-settings.md): PATCH /v1/voice/settings - [Verify number ownership](https://bird.com/docs/api/reference/verify-voice-verified-number.md): POST /v1/voice/verified-numbers/{verified_number_id}/verify ## eSIM operations - [Assign an eSIM to a person](https://bird.com/docs/api/reference/create-esim-assignment.md): POST /v1/esim/sims/{esim_id}/assignment - [Cancel an unfunded order](https://bird.com/docs/api/reference/cancel-esim-order.md): POST /v1/esim/orders/{order_id}/cancel - [Cancel recurring eSIM renewal](https://bird.com/docs/api/reference/cancel-esim-recurring-subscription.md): POST /v1/esim/subscriptions/{subscription_id}/cancel - [Create a hosted install link](https://bird.com/docs/api/reference/create-esim-install-link.md): POST /v1/esim/sims/{esim_id}/install-links - [Create a recurring eSIM subscription](https://bird.com/docs/api/reference/create-esim-recurring-subscription.md): POST /v1/esim/subscriptions - [Create an eSIM subscriber](https://bird.com/docs/api/reference/create-esim-subscriber.md): POST /v1/esim/subscribers - [Get a data package](https://bird.com/docs/api/reference/get-esim-package.md): GET /v1/esim/sims/{esim_id}/packages/{package_id} - [Get a recurring eSIM subscription](https://bird.com/docs/api/reference/get-esim-recurring-subscription.md): GET /v1/esim/subscriptions/{subscription_id} - [Get an eSIM assignment](https://bird.com/docs/api/reference/get-esim-assignment.md): GET /v1/esim/sims/{esim_id}/assignment - [Get an eSIM coverage zone](https://bird.com/docs/api/reference/get-esim-zone.md): GET /v1/esim/zones/{zone_id} - [Get an eSIM offer](https://bird.com/docs/api/reference/get-esim-offer.md): GET /v1/esim/offers/{offer_id} - [Get an eSIM subscriber](https://bird.com/docs/api/reference/get-esim-subscriber.md): GET /v1/esim/subscribers/{subscriber_id} - [Get an eSIM](https://bird.com/docs/api/reference/get-esim.md): GET /v1/esim/sims/{esim_id} - [Get an order](https://bird.com/docs/api/reference/get-esim-order.md): GET /v1/esim/orders/{order_id} - [Get country identification requirements for an eSIM offer](https://bird.com/docs/api/reference/get-esim-offer-requirements.md): GET /v1/esim/offers/{offer_id}/requirements - [Get eSIM checkout options](https://bird.com/docs/api/reference/get-esim-offer-checkout-options.md): GET /v1/esim/offers/{offer_id}/checkout - [Get eSIM install credentials](https://bird.com/docs/api/reference/get-esim-credentials.md): GET /v1/esim/sims/{esim_id}/credentials - [Get recurring eSIM offer terms](https://bird.com/docs/api/reference/get-esim-offer-recurrence.md): GET /v1/esim/offers/{offer_id}/recurrence - [Get the eSIM settings](https://bird.com/docs/api/reference/get-esim-settings.md): GET /v1/esim/settings - [List an eSIM's credential deliveries](https://bird.com/docs/api/reference/list-esim-deliveries.md): GET /v1/esim/sims/{esim_id}/deliveries - [List an eSIM's data packages](https://bird.com/docs/api/reference/list-esim-packages.md): GET /v1/esim/sims/{esim_id}/packages - [List eSIM coverage zones](https://bird.com/docs/api/reference/list-esim-zones.md): GET /v1/esim/zones - [List eSIM offers](https://bird.com/docs/api/reference/list-esim-offers.md): GET /v1/esim/offers - [List eSIM subscribers](https://bird.com/docs/api/reference/list-esim-subscribers.md): GET /v1/esim/subscribers - [List eSIMs](https://bird.com/docs/api/reference/list-esims.md): GET /v1/esim/sims - [List offers an eSIM can take](https://bird.com/docs/api/reference/list-esim-compatible-offers.md): GET /v1/esim/sims/{esim_id}/compatible-offers - [List orders](https://bird.com/docs/api/reference/list-esim-orders.md): GET /v1/esim/orders - [List recurring eSIM periods](https://bird.com/docs/api/reference/list-esim-recurring-periods.md): GET /v1/esim/subscriptions/{subscription_id}/periods - [List recurring eSIM subscriptions](https://bird.com/docs/api/reference/list-esim-recurring-subscriptions.md): GET /v1/esim/subscriptions - [Order a data package](https://bird.com/docs/api/reference/create-esim-order.md): POST /v1/esim/orders - [Release an eSIM](https://bird.com/docs/api/reference/release-esim.md): DELETE /v1/esim/sims/{esim_id} - [Remove a data package](https://bird.com/docs/api/reference/delete-esim-package.md): DELETE /v1/esim/sims/{esim_id}/packages/{package_id} - [Resume an eSIM](https://bird.com/docs/api/reference/resume-esim.md): POST /v1/esim/sims/{esim_id}/resume - [Revoke a hosted install link](https://bird.com/docs/api/reference/delete-esim-install-link.md): DELETE /v1/esim/sims/{esim_id}/install-links/{install_link_id} - [Send install credentials to the traveler](https://bird.com/docs/api/reference/deliver-esim-credentials.md): POST /v1/esim/sims/{esim_id}/credentials/deliver - [Suspend an eSIM](https://bird.com/docs/api/reference/suspend-esim.md): POST /v1/esim/sims/{esim_id}/suspend - [Update an eSIM](https://bird.com/docs/api/reference/update-esim.md): PATCH /v1/esim/sims/{esim_id} - [Update the eSIM settings](https://bird.com/docs/api/reference/update-esim-settings.md): PATCH /v1/esim/settings ## Realtime operations - [Create a Realtime app key](https://bird.com/docs/api/reference/create-realtime-app-key.md): POST /v1/realtime/apps/{realtime_app_id}/keys - [Create a Realtime app](https://bird.com/docs/api/reference/create-realtime-app.md): POST /v1/realtime/apps - [Delete a Realtime app](https://bird.com/docs/api/reference/delete-realtime-app.md): DELETE /v1/realtime/apps/{realtime_app_id} - [Disconnect a member](https://bird.com/docs/api/reference/disconnect-realtime-app-member.md): POST /v1/realtime/apps/{realtime_app_id}/members/{member_id}/disconnect - [Get a Realtime app](https://bird.com/docs/api/reference/get-realtime-app.md): GET /v1/realtime/apps/{realtime_app_id} - [Get a Realtime channel](https://bird.com/docs/api/reference/get-realtime-app-channel.md): GET /v1/realtime/apps/{realtime_app_id}/channels/{channel_name} - [List Realtime apps](https://bird.com/docs/api/reference/list-realtime-apps.md): GET /v1/realtime/apps - [List Realtime channels](https://bird.com/docs/api/reference/list-realtime-app-channels.md): GET /v1/realtime/apps/{realtime_app_id}/channels - [List Realtime regions](https://bird.com/docs/api/reference/list-realtime-regions.md): GET /v1/realtime/regions - [List a Realtime app's keys](https://bird.com/docs/api/reference/list-realtime-app-keys.md): GET /v1/realtime/apps/{realtime_app_id}/keys - [List members on a presence channel](https://bird.com/docs/api/reference/list-realtime-app-channel-members.md): GET /v1/realtime/apps/{realtime_app_id}/channels/{channel_name}/members - [Publish a Realtime event](https://bird.com/docs/api/reference/publish-realtime-app-event.md): POST /v1/realtime/apps/{realtime_app_id}/events - [Publish a batch of Realtime events](https://bird.com/docs/api/reference/publish-realtime-app-batch.md): POST /v1/realtime/apps/{realtime_app_id}/batch-events - [Revoke a Realtime app key](https://bird.com/docs/api/reference/revoke-realtime-app-key.md): POST /v1/realtime/apps/{realtime_app_id}/keys/{realtime_app_key_id}/revoke - [Send an event to a member](https://bird.com/docs/api/reference/send-realtime-app-member-event.md): POST /v1/realtime/apps/{realtime_app_id}/members/{member_id}/events - [Update a Realtime app](https://bird.com/docs/api/reference/update-realtime-app.md): PATCH /v1/realtime/apps/{realtime_app_id} ## Verify operations - [Create a verification passcode check](https://bird.com/docs/api/reference/create-verification-check.md): POST /v1/verify/verifications/check - [Create a verification](https://bird.com/docs/api/reference/create-verification.md): POST /v1/verify/verifications - [Create the next verification channel attempt](https://bird.com/docs/api/reference/create-verification-next-channel.md): POST /v1/verify/verifications/next-channel ## Numbers operations - [Cancel a dedicated number](https://bird.com/docs/api/reference/cancel-workspace-number.md): DELETE /v1/numbers/{number_id} - [Create a number order](https://bird.com/docs/api/reference/create-numbers-order.md): POST /v1/numbers/orders - [Get a number order](https://bird.com/docs/api/reference/get-numbers-order.md): GET /v1/numbers/orders/{order_id} - [Get an allocated number](https://bird.com/docs/api/reference/get-workspace-number.md): GET /v1/numbers/{number_id} - [Get an available phone number](https://bird.com/docs/api/reference/get-available-number.md): GET /v1/numbers/available/{number} - [List available phone numbers](https://bird.com/docs/api/reference/list-available-numbers.md): GET /v1/numbers/available - [List your allocated numbers](https://bird.com/docs/api/reference/list-workspace-numbers.md): GET /v1/numbers - [List your number orders](https://bird.com/docs/api/reference/list-numbers-orders.md): GET /v1/numbers/orders - [Release a dedicated number](https://bird.com/docs/api/reference/release-workspace-number.md): POST /v1/numbers/{number_id}/release - [Update an allocated number](https://bird.com/docs/api/reference/update-workspace-number.md): PATCH /v1/numbers/{number_id} ## Lookup operations - [Create a batch of email address lookups](https://bird.com/docs/api/reference/create-email-lookup-batch.md): POST /v1/lookup/email/batch - [Create a phone number lookup](https://bird.com/docs/api/reference/create-phone-number-lookup.md): POST /v1/lookup/phone-number - [Create an email address lookup](https://bird.com/docs/api/reference/create-email-lookup.md): POST /v1/lookup/email - [Get a phone number lookup by URL](https://bird.com/docs/api/reference/get-phone-number-lookup.md): GET /v1/lookup/phone-number/{number} - [Get an email address lookup by URL](https://bird.com/docs/api/reference/get-email-lookup.md): GET /v1/lookup/email/{address} ## Audiences operations - [Assign contacts to an audience](https://bird.com/docs/api/reference/assign-audience-contacts.md): POST /v1/audiences/{audience_id}/contacts - [Create an audience](https://bird.com/docs/api/reference/create-audience.md): POST /v1/audiences - [Delete an audience](https://bird.com/docs/api/reference/delete-audience.md): DELETE /v1/audiences/{audience_id} - [Get an audience](https://bird.com/docs/api/reference/get-audience.md): GET /v1/audiences/{audience_id} - [List an audience's contacts](https://bird.com/docs/api/reference/list-audience-contacts.md): GET /v1/audiences/{audience_id}/contacts - [List audiences](https://bird.com/docs/api/reference/list-audiences.md): GET /v1/audiences - [Unassign a contact from an audience](https://bird.com/docs/api/reference/unassign-audience-contact.md): DELETE /v1/audiences/{audience_id}/contacts/{contact_id} - [Unassign contacts from an audience](https://bird.com/docs/api/reference/unassign-audience-contacts.md): POST /v1/audiences/{audience_id}/contacts/remove - [Update an audience](https://bird.com/docs/api/reference/update-audience.md): PATCH /v1/audiences/{audience_id} ## Contact properties operations - [Archive a contact property](https://bird.com/docs/api/reference/archive-contact-property.md): POST /v1/contact-properties/{property_id}/archive - [Create a contact property](https://bird.com/docs/api/reference/create-contact-property.md): POST /v1/contact-properties - [Get a contact property](https://bird.com/docs/api/reference/get-contact-property.md): GET /v1/contact-properties/{property_id} - [List contact properties](https://bird.com/docs/api/reference/list-contact-properties.md): GET /v1/contact-properties - [Unarchive a contact property](https://bird.com/docs/api/reference/unarchive-contact-property.md): POST /v1/contact-properties/{property_id}/unarchive - [Update a contact property](https://bird.com/docs/api/reference/update-contact-property.md): PATCH /v1/contact-properties/{property_id} ## Contacts operations - [Create a contact](https://bird.com/docs/api/reference/create-contact.md): POST /v1/contacts - [Create or update contacts in bulk](https://bird.com/docs/api/reference/create-contact-batch.md): POST /v1/contacts/batch - [Delete a contact](https://bird.com/docs/api/reference/delete-contact.md): DELETE /v1/contacts/{contact_id} - [Get a contact](https://bird.com/docs/api/reference/get-contact.md): GET /v1/contacts/{contact_id} - [List a contact's preferences](https://bird.com/docs/api/reference/list-contact-preferences.md): GET /v1/contacts/{contact_id}/preferences - [List contacts](https://bird.com/docs/api/reference/list-contacts.md): GET /v1/contacts - [Update a contact](https://bird.com/docs/api/reference/update-contact.md): PATCH /v1/contacts/{contact_id} ## Docs operations - [Get a documentation page](https://bird.com/docs/api/reference/get-docs-page.md): GET /v1/docs/pages - [Get documentation search results](https://bird.com/docs/api/reference/get-docs-search.md): GET /v1/docs/search ## Preferences operations - [Delete a preference](https://bird.com/docs/api/reference/delete-preference.md): DELETE /v1/preferences/{preference_id} - [Get a preference](https://bird.com/docs/api/reference/get-preference.md): GET /v1/preferences/{preference_id} - [List preferences](https://bird.com/docs/api/reference/list-preferences.md): GET /v1/preferences - [Record a preference](https://bird.com/docs/api/reference/create-preference.md): POST /v1/preferences ## Webhooks operations - [Create a webhook endpoint](https://bird.com/docs/api/reference/create-webhook.md): POST /v1/webhooks - [Delete a webhook endpoint](https://bird.com/docs/api/reference/delete-webhook.md): DELETE /v1/webhooks/{webhook_id} - [Get a webhook endpoint](https://bird.com/docs/api/reference/get-webhook.md): GET /v1/webhooks/{webhook_id} - [List delivery attempts](https://bird.com/docs/api/reference/list-webhook-attempts.md): GET /v1/webhooks/{webhook_id}/attempts - [List webhook endpoints](https://bird.com/docs/api/reference/list-webhooks.md): GET /v1/webhooks - [Replay failed deliveries](https://bird.com/docs/api/reference/create-webhook-replay.md): POST /v1/webhooks/{webhook_id}/replay - [Rotate webhook signing secret](https://bird.com/docs/api/reference/rotate-webhook-secret.md): POST /v1/webhooks/{webhook_id}/rotate-secret - [Test a webhook with a sample event](https://bird.com/docs/api/reference/test-webhook.md): POST /v1/webhooks/{webhook_id}/test - [Update a webhook endpoint](https://bird.com/docs/api/reference/update-webhook.md): PATCH /v1/webhooks/{webhook_id} ## Workspace operations - [Get the current workspace](https://bird.com/docs/api/reference/get-current-workspace.md): GET /v1/workspace ## Errors - [E01000 — InternalError](https://bird.com/docs/api/errors/E01000.md): An internal error occurred. - [E01001 — ValidationError](https://bird.com/docs/api/errors/E01001.md): Request validation failed. - [E01002 — InvalidRequest](https://bird.com/docs/api/errors/E01002.md): The request was malformed. - [E01003 — RateLimited](https://bird.com/docs/api/errors/E01003.md): Too many requests. Please retry after the period indicated in the Retry-After header. - [E01004 — RequestInProgress](https://bird.com/docs/api/errors/E01004.md): A request with this idempotency key is already in progress. - [E01005 — IdempotencyKeyReuse](https://bird.com/docs/api/errors/E01005.md): This idempotency key was already used with a different request. - [E01006 — RouteNotFound](https://bird.com/docs/api/errors/E01006.md): No route matches this path. - [E01008 — NotFound](https://bird.com/docs/api/errors/E01008.md): The requested resource was not found. - [E01009 — Conflict](https://bird.com/docs/api/errors/E01009.md): The request conflicts with the current state of the resource. - [E01010 — MisdirectedRequest](https://bird.com/docs/api/errors/E01010.md): This request was routed to the wrong region. - [E01011 — PayloadTooLarge](https://bird.com/docs/api/errors/E01011.md): The request body exceeds the maximum allowed size. - [E01012 — InvalidCursor](https://bird.com/docs/api/errors/E01012.md): The pagination cursor is malformed or no longer valid. Restart pagination without a cursor. - [E01013 — InvalidSort](https://bird.com/docs/api/errors/E01013.md): The requested sort field or order is not supported for this resource. - [E01014 — InvalidFilter](https://bird.com/docs/api/errors/E01014.md): The requested filter is not supported for this resource. - [E01015 — NotImplemented](https://bird.com/docs/api/errors/E01015.md): This endpoint is not yet implemented. - [E01017 — RequestTimeout](https://bird.com/docs/api/errors/E01017.md): The request could not be completed in time. Please retry. - [E01018 — ServiceOverloaded](https://bird.com/docs/api/errors/E01018.md): The server is temporarily at capacity for large requests. Please retry shortly. - [E01019 — DocsSearchUnavailable](https://bird.com/docs/api/errors/E01019.md): Documentation search is temporarily unavailable. Please retry. - [E01021 — DuplicateTagName](https://bird.com/docs/api/errors/E01021.md): Tag names must be unique within a single send. - [E01022 — ReservedKeyPrefix](https://bird.com/docs/api/errors/E01022.md): Tag names and metadata keys beginning with '__bird' are reserved and cannot be used. - [E01023 — MetadataTooLarge](https://bird.com/docs/api/errors/E01023.md): Metadata exceeds the 2 KB serialized cap. - [E01024 — TooManyFailedAuth](https://bird.com/docs/api/errors/E01024.md): Too many failed authentication attempts from your network. Please retry after the period indicated in the Retry-After header. - [E01025 — DocsPageUnavailable](https://bird.com/docs/api/errors/E01025.md): Bird documentation is temporarily unavailable. Please retry. - [E01026 — DocsPageNotFound](https://bird.com/docs/api/errors/E01026.md): No Bird documentation page matches that slug. - [E01028 — ResourceInUse](https://bird.com/docs/api/errors/E01028.md): This resource is still in use by other resources and cannot be deleted. - [E01029 — UnknownQueryParameter](https://bird.com/docs/api/errors/E01029.md): The request has a query parameter this endpoint does not accept. - [E01033 — IdempotencyUnavailable](https://bird.com/docs/api/errors/E01033.md): This attempt was not executed because idempotency protection is temporarily unavailable. - [E01034 — WhatsAppKeywordCatalogueUnavailable](https://bird.com/docs/api/errors/E01034.md): The WhatsApp keyword catalogue could not be read, so these rules were refused rather than returned without the keywords Bird ships. - [E01035 — ServiceUnavailable](https://bird.com/docs/api/errors/E01035.md): The service is temporarily unavailable. Please retry. - [E01036 — RequestCanceled](https://bird.com/docs/api/errors/E01036.md): The connection closed before Bird finished the request. - [E01xxx — Infrastructure](https://bird.com/docs/api/errors/E01xxx.md): Bird API error codes in the E01xxx range: Infrastructure. Each code links to the page its doc_url points at. - [E02000 — AuthenticationFailed](https://bird.com/docs/api/errors/E02000.md): Authentication failed. Please check your email and/or password and try again. - [E02001 — Forbidden](https://bird.com/docs/api/errors/E02001.md): You do not have permission to perform this action. - [E02002 — RevokedAPIKey](https://bird.com/docs/api/errors/E02002.md): This API key has been revoked. - [E02004 — InvalidToken](https://bird.com/docs/api/errors/E02004.md): The token is invalid, expired, or already used. - [E02025 — AccountSuspended](https://bird.com/docs/api/errors/E02025.md): Authentication failed. Please contact support. - [E02035 — InsufficientScope](https://bird.com/docs/api/errors/E02035.md): Your credential has not been granted a permission scope this request requires. - [E02036 — APIKeyExpired](https://bird.com/docs/api/errors/E02036.md): This API key has expired. Create a new key to continue. - [E02039 — SSORequired](https://bird.com/docs/api/errors/E02039.md): Access to this organization requires signing in through your organization's identity provider. - [E02072 — InvalidAPIKey](https://bird.com/docs/api/errors/E02072.md): This API key is not valid. It may be malformed, mistyped, deleted, or issued for a different region. - [E02xxx — Auth & identity](https://bird.com/docs/api/errors/E02xxx.md): Bird API error codes in the E02xxx range: Auth & identity. Each code links to the page its doc_url points at. - [E03000 — InsufficientBalance](https://bird.com/docs/api/errors/E03000.md): Insufficient wallet balance. - [E03001 — ProductNotFound](https://bird.com/docs/api/errors/E03001.md): The requested product was not found. - [E03002 — ProductDeprecated](https://bird.com/docs/api/errors/E03002.md): This product is deprecated and cannot be used for new subscriptions. - [E03003 — RateCardNotFound](https://bird.com/docs/api/errors/E03003.md): The requested rate card was not found. - [E03004 — RateCardVersionNotFound](https://bird.com/docs/api/errors/E03004.md): The requested rate card version was not found. - [E03005 — SubscriptionNotFound](https://bird.com/docs/api/errors/E03005.md): The requested subscription was not found. - [E03006 — ActiveSubscriptionExists](https://bird.com/docs/api/errors/E03006.md): Organization already has an active subscription for this product. - [E03007 — PriceNotFound](https://bird.com/docs/api/errors/E03007.md): No price found for the given dimensions. - [E03008 — EntitlementNotFound](https://bird.com/docs/api/errors/E03008.md): No plan entitlement found for this product. - [E03015 — SubscriptionNotActive](https://bird.com/docs/api/errors/E03015.md): The subscription is not active. - [E03020 — ProductWrongPricingModel](https://bird.com/docs/api/errors/E03020.md): The product does not support unit subscriptions. - [E03025 — PaymentIntentNotFound](https://bird.com/docs/api/errors/E03025.md): The payment intent was not found. - [E03029 — AutoTopupAlreadyInProgress](https://bird.com/docs/api/errors/E03029.md): An auto top-up is already in progress for this wallet. - [E03034 — PendingOperationConflict](https://bird.com/docs/api/errors/E03034.md): A plan upgrade is currently being applied. Please wait for it to finish before changing your plan again. - [E03xxx — Billing & plans](https://bird.com/docs/api/errors/E03xxx.md): Bird API error codes in the E03xxx range: Billing & plans. Each code links to the page its doc_url points at. - [E04000 — EmailBatchRequestTooLarge](https://bird.com/docs/api/errors/E04000.md): The batch is larger than 20 MB. - [E04001 — AttachmentContentTypeBlocked](https://bird.com/docs/api/errors/E04001.md): The attachment content type is not allowed. See the email attachment documentation for the blocklist. - [E04002 — MessageTooLarge](https://bird.com/docs/api/errors/E04002.md): Once generated, this message is over the 20 MB limit. - [E04004 — SuppressionNotFound](https://bird.com/docs/api/errors/E04004.md): There is no suppression for that address. - [E04006 — DomainNotVerified](https://bird.com/docs/api/errors/E04006.md): The from address uses a domain that is not verified in this workspace. - [E04007 — UnsupportedEmailFeature](https://bird.com/docs/api/errors/E04007.md): This endpoint does not support what the request asked for: a field it cannot accept, or a combination of fields it cannot accept together. - [E04008 — EmailBackendUnavailable](https://bird.com/docs/api/errors/E04008.md): Email is temporarily unavailable. - [E04009 — OnboardingRecipientNotAllowed](https://bird.com/docs/api/errors/E04009.md): Sends from the shared onboarding domain can only go to verified members of your workspace. - [E04010 — OnboardingSendLimitExceeded](https://bird.com/docs/api/errors/E04010.md): The daily send limit for the shared onboarding domain has been reached. - [E04011 — RecipientDomainNotAllowed](https://bird.com/docs/api/errors/E04011.md): Sending to reserved testing domains such as @example.com or @test.com is not supported. These domains cannot receive mail. Use a real recipient address instead. - [E04012 — EmailContentNotFound](https://bird.com/docs/api/errors/E04012.md): We did not store the content of this message. - [E04013 — EmailContentExpired](https://bird.com/docs/api/errors/E04013.md): The stored content for this message has expired. - [E04014 — EmailContentNotReady](https://bird.com/docs/api/errors/E04014.md): The content of this message is not stored yet. - [E04015 — MonthlySendLimitExceeded](https://bird.com/docs/api/errors/E04015.md): This organization has reached its monthly email send limit. - [E04016 — SendCeilingUnavailable](https://bird.com/docs/api/errors/E04016.md): Email sending limits are temporarily unavailable. Retry in a moment. - [E04017 — DailySendLimitExceeded](https://bird.com/docs/api/errors/E04017.md): This organization has reached its daily email send limit. - [E04018 — AudienceEmpty](https://bird.com/docs/api/errors/E04018.md): This audience has nobody to send to. It is either empty, or none of its contacts has an email address. - [E04019 — AudienceAllSuppressed](https://bird.com/docs/api/errors/E04019.md): Every contact in this audience that has an email address is suppressed. No email can be sent. - [E04020 — AudienceUnavailable](https://bird.com/docs/api/errors/E04020.md): The audience set on this broadcast no longer exists. - [E04021 — EmailTemplateNotFound](https://bird.com/docs/api/errors/E04021.md): There is no template in this workspace with that id or slug. - [E04022 — EmailTemplateSlugTaken](https://bird.com/docs/api/errors/E04022.md): A template with this slug already exists in this workspace. - [E04023 — EmailTemplateConflict](https://bird.com/docs/api/errors/E04023.md): Someone else changed the draft since you loaded it, so this change was rejected to avoid overwriting theirs. - [E04024 — EmailTemplateNotPublished](https://bird.com/docs/api/errors/E04024.md): This template has no published version, so there is nothing to send. - [E04025 — EmailTemplateSlugReserved](https://bird.com/docs/api/errors/E04025.md): Slugs starting with `bird_` or `emt_` are reserved. Choose a different slug. - [E04026 — ContactEmailExists](https://bird.com/docs/api/errors/E04026.md): A contact with this email address already exists in this workspace. - [E04027 — ContactExternalIdExists](https://bird.com/docs/api/errors/E04027.md): A contact with this external_id already exists in this workspace. - [E04029 — ContactPropertyArchived](https://bird.com/docs/api/errors/E04029.md): This contact property is already archived. - [E04030 — ContactPropertyNotArchived](https://bird.com/docs/api/errors/E04030.md): This contact property is not archived. - [E04031 — ContactPropertyLimit](https://bird.com/docs/api/errors/E04031.md): This workspace has reached the maximum number of contact properties. Archived properties still count toward this limit, so archiving does not free a slot;… - [E04032 — ContactPropertyKeyExists](https://bird.com/docs/api/errors/E04032.md): A contact property with this key already exists in this workspace. - [E04033 — EmailSmtpConfigNotFound](https://bird.com/docs/api/errors/E04033.md): There is no SMTP configuration for this API key. - [E04037 — BroadcastNoAudience](https://bird.com/docs/api/errors/E04037.md): This broadcast has no audience selected, so there is nothing to count or send. Select an audience first. - [E04038 — EmailTemplateVersionNotPublished](https://bird.com/docs/api/errors/E04038.md): You can only roll back to a published version. - [E04039 — BroadcastTemplateVariableUnfillable](https://bird.com/docs/api/errors/E04039.md): This template uses a variable that a broadcast has no value for. A broadcast fills in contact properties and nothing else, because that is all it knows about… - [E04040 — BroadcastNotEditable](https://bird.com/docs/api/errors/E04040.md): This broadcast can no longer be edited or deleted. Only a draft or a scheduled broadcast can be edited, and only a draft can be deleted. - [E04041 — BroadcastNotCancelable](https://bird.com/docs/api/errors/E04041.md): This broadcast's status does not allow this action. A draft cannot be canceled, only deleted. A broadcast that has already sent or failed is finished, and… - [E04043 — EmailTemplateLanguageNotFound](https://bird.com/docs/api/errors/E04043.md): This version does not have the language you asked for. - [E04044 — EmailTemplateVersionImmutable](https://bird.com/docs/api/errors/E04044.md): Published versions are immutable. Edit the template's draft instead. - [E04045 — EmailTemplateLanguageInvalid](https://bird.com/docs/api/errors/E04045.md): The language is not a valid language tag. - [E04046 — EmailTemplateSlugInvalid](https://bird.com/docs/api/errors/E04046.md): This is not a valid slug. - [E04047 — EmailTemplateDefaultLanguageRequired](https://bird.com/docs/api/errors/E04047.md): The default language has to be one of the languages the template has. - [E04048 — EmailTemplateLanguageNotAvailable](https://bird.com/docs/api/errors/E04048.md): This template does not have the language you asked for. - [E04049 — EmailTemplateLanguageRequired](https://bird.com/docs/api/errors/E04049.md): This template requires every send to name a language. - [E04050 — EmailTemplateNoChangesToSubmit](https://bird.com/docs/api/errors/E04050.md): The draft matches the template's published version, so there is nothing to submit. - [E04051 — EmailTemplateDraftInvalid](https://bird.com/docs/api/errors/E04051.md): The draft is not ready to submit. - [E04052 — EmailTemplateNothingToSubmit](https://bird.com/docs/api/errors/E04052.md): Only a template's draft can be submitted. This request named an already-published version, so it is rejected no matter which languages you named. - [E04053 — EmailTemplateEmptyDraft](https://bird.com/docs/api/errors/E04053.md): The draft has no content to submit. - [E04055 — ContactPhoneExists](https://bird.com/docs/api/errors/E04055.md): A contact with this phone number already exists in this workspace. - [E04056 — ContactIdentifierRequired](https://bird.com/docs/api/errors/E04056.md): A contact needs at least one reachable identifier. Supply an email address, a phone number, or both. - [E04057 — ContactPhoneInvalid](https://bird.com/docs/api/errors/E04057.md): This does not look like a phone number. Send the international form, a leading plus sign, then the country code and number, for example +31612345678. - [E04058 — ContactMatchAmbiguous](https://bird.com/docs/api/errors/E04058.md): This entry's identifiers belong to more than one contact. - [E04059 — EmailTemplateVariableUnknown](https://bird.com/docs/api/errors/E04059.md): The content references a `bird.` value we do not provide. - [E04060 — ContactMatchKeyMissing](https://bird.com/docs/api/errors/E04060.md): This entry does not carry the identifier the batch's match_on requires. - [E04061 — EmailTemplateVariableInvalid](https://bird.com/docs/api/errors/E04061.md): The content references a parameter whose name is not a single word. - [E04062 — EmailTemplateParameterMissing](https://bird.com/docs/api/errors/E04062.md): The send does not supply a value for every parameter the template uses. - [E04063 — EmailTemplateUnsubscribeMisplaced](https://bird.com/docs/api/errors/E04063.md): The unsubscribe variable is somewhere we cannot turn into a link. - [E04064 — EmailTemplateUnsubscribeRequired](https://bird.com/docs/api/errors/E04064.md): A marketing template needs an unsubscribe link. - [E04065 — EmailTemplateContactUnavailable](https://bird.com/docs/api/errors/E04065.md): The template reads contact data, which this send cannot fill. - [E04066 — EmailTemplateVariableUnfillable](https://bird.com/docs/api/errors/E04066.md): The template's published version reads a value nothing can fill. - [E04067 — OverageCapReached](https://bird.com/docs/api/errors/E04067.md): This organization has reached the email volume included in its plan, and overage is turned off. - [E04068 — SuppressionNotRemovableByAPIKey](https://bird.com/docs/api/errors/E04068.md): This suppression records a spam complaint, so it cannot be removed with an API key. - [E04069 — OverageUnfunded](https://bird.com/docs/api/errors/E04069.md): This organization has used the email volume included in its plan and its wallet cannot cover further overage. - [E04070 — OverageCeilingReached](https://bird.com/docs/api/errors/E04070.md): This organization has reached its overage limit for the billing period. - [E04071 — EmailTemplateContactPropertyArchived](https://bird.com/docs/api/errors/E04071.md): The content reads a contact property that has been archived. - [E04072 — EmailStatsHistoryUnavailable](https://bird.com/docs/api/errors/E04072.md): Email statistics are unavailable for part of the requested period. - [E04073 — EmailStatsQueryTooLarge](https://bird.com/docs/api/errors/E04073.md): The email statistics query exceeds a response limit. - [E04074 — EmailStatsUnsupportedQuery](https://bird.com/docs/api/errors/E04074.md): The selected email metrics do not support these dimensions. - [E04xxx — Email sending & delivery](https://bird.com/docs/api/errors/E04xxx.md): Bird API error codes in the E04xxx range: Email sending & delivery. Each code links to the page its doc_url points at. - [E05000 — DomainAlreadyExists](https://bird.com/docs/api/errors/E05000.md): A sending domain with this name is already registered in this workspace. - [E05001 — DomainNotFound](https://bird.com/docs/api/errors/E05001.md): Sending domain not found. - [E05003 — SparkPostError](https://bird.com/docs/api/errors/E05003.md): Something went wrong on our side while sending this message. - [E05004 — ReturnPathDomainInvalid](https://bird.com/docs/api/errors/E05004.md): The return-path domain must be a subdomain of the sending domain. - [E05005 — TrackingDomainInvalid](https://bird.com/docs/api/errors/E05005.md): The tracking domain must be a subdomain of the sending domain. - [E05006 — TrackingDomainRequired](https://bird.com/docs/api/errors/E05006.md): Click and open tracking needs a tracking domain, and this sending domain does not have one. - [E05007 — TrackingRemovalBlocked](https://bird.com/docs/api/errors/E05007.md): This tracking domain cannot be removed while click and open tracking is still using it. - [E05008 — DKIMModeUnavailable](https://bird.com/docs/api/errors/E05008.md): This endpoint does not support delegated DKIM. Use mode "txt" instead. - [E05011 — DomainHostnameReserved](https://bird.com/docs/api/errors/E05011.md): This hostname is already in use as a return-path or tracking domain. Remove that configuration first, or choose a different domain. - [E05012 — SendingDomainInvalid](https://bird.com/docs/api/errors/E05012.md): The domain name is not valid: it must be a registrable domain (not a public suffix or single-label name), and must not have a trailing dot. - [E05013 — DomainShareNoRecipients](https://bird.com/docs/api/errors/E05013.md): Provide at least one recipient email address. - [E05014 — DomainShareTooManyRecipients](https://bird.com/docs/api/errors/E05014.md): You can send DNS records to at most 3 recipients at a time. - [E05015 — DomainShareInvalidEmail](https://bird.com/docs/api/errors/E05015.md): One or more recipient email addresses are invalid. - [E05016 — TrackingDomainInUse](https://bird.com/docs/api/errors/E05016.md): This link tracking domain is already in use by another organization. Choose a different tracking subdomain. - [E05017 — TrackingDomainNotConfigured](https://bird.com/docs/api/errors/E05017.md): This domain has no link tracking configured. - [E05018 — InboundDomainAlreadyClaimed](https://bird.com/docs/api/errors/E05018.md): Another organization is already receiving mail on this domain. - [E05019 — InboundDKIMNotVerified](https://bird.com/docs/api/errors/E05019.md): This domain's DKIM is not verified yet. - [E05020 — InboundNotConfigured](https://bird.com/docs/api/errors/E05020.md): Receiving email is not turned on for your account. - [E05021 — InboundMessageNotFound](https://bird.com/docs/api/errors/E05021.md): We have no received message with that ID. - [E05xxx — Domains & DNS](https://bird.com/docs/api/errors/E05xxx.md): Bird API error codes in the E05xxx range: Domains & DNS. Each code links to the page its doc_url points at. - [E06005 — WebhookTooManySecrets](https://bird.com/docs/api/errors/E06005.md): Endpoint has reached the maximum number of active signing secrets. - [E06006 — WebhookNoUsableSecret](https://bird.com/docs/api/errors/E06006.md): Endpoint has no non-expired signing secret available. - [E06007 — WebhookEventTypeUnknown](https://bird.com/docs/api/errors/E06007.md): One or more event types are not in the catalog. - [E06008 — WebhookTooManyEventTypes](https://bird.com/docs/api/errors/E06008.md): Endpoint exceeds the maximum number of subscribed event types. - [E06009 — WebhookTooManyEndpoints](https://bird.com/docs/api/errors/E06009.md): Organization has reached the maximum number of webhook endpoints. - [E06010 — WebhookReplayQuotaExceeded](https://bird.com/docs/api/errors/E06010.md): Webhook replay quota exceeded for this organization. - [E06011 — WebhookNoSubscribedEventTypes](https://bird.com/docs/api/errors/E06011.md): Endpoint has no subscribed event types to test. - [E06012 — WebhookCallbackUnverified](https://bird.com/docs/api/errors/E06012.md): The callback URL did not confirm that it wants to receive deliveries. The url field error names the failure as connection_refused, timeout, tls_error,… - [E06xxx — Webhooks](https://bird.com/docs/api/errors/E06xxx.md): Bird API error codes in the E06xxx range: Webhooks. Each code links to the page its doc_url points at. - [E07001 — WalletInsufficientBalance](https://bird.com/docs/api/errors/E07001.md): Insufficient wallet balance. Please top up to continue sending. - [E07002 — WalletNotFound](https://bird.com/docs/api/errors/E07002.md): Wallet not found for this organization. - [E07003 — WalletPriceNotFound](https://bird.com/docs/api/errors/E07003.md): No rate card price found for this product and dimensions. - [E07006 — WalletCurrencyMismatch](https://bird.com/docs/api/errors/E07006.md): The operation currency does not match the wallet currency. - [E07xxx — Wallet](https://bird.com/docs/api/errors/E07xxx.md): Bird API error codes in the E07xxx range: Wallet. Each code links to the page its doc_url points at. - [E10003 — MaxScheduledEmailsExceeded](https://bird.com/docs/api/errors/E10003.md): Your organization has reached its limit on scheduled emails. - [E10005 — EmailNotCancelable](https://bird.com/docs/api/errors/E10005.md): This message cannot be canceled. - [E10008 — MaxMailboxesExceeded](https://bird.com/docs/api/errors/E10008.md): Your organization has reached its limit on mailboxes. - [E10009 — MaxCustomHandlesExceeded](https://bird.com/docs/api/errors/E10009.md): Your plan's allowance of custom inbox.ai handles has been reached. - [E10010 — MaxBroadcastsMonthlyExceeded](https://bird.com/docs/api/errors/E10010.md): You have sent as many broadcasts as your organization's plan allows for this billing period. - [E10011 — MaxConcurrentBroadcastsExceeded](https://bird.com/docs/api/errors/E10011.md): Your organization already has as many broadcasts sending at once as it can. - [E10017 — MaxCompetitiveWatchlistBrandsExceeded](https://bird.com/docs/api/errors/E10017.md): Maximum number of watched competitor brands for this organization reached. - [E10018 — EmailBroadcastExportTooLarge](https://bird.com/docs/api/errors/E10018.md): This query matches too many broadcasts to export in one file. - [E10019 — EmailRecipientExportTooLarge](https://bird.com/docs/api/errors/E10019.md): This broadcast has too many recipients to export in one file. - [E10022 — AutomationSendLimitExceeded](https://bird.com/docs/api/errors/E10022.md): Automated messages to this recipient are paused because the sender and recipient pair reached its limit. - [E10023 — MaxActiveEsimsExceeded](https://bird.com/docs/api/errors/E10023.md): Your organization has reached its limit on active eSIMs. - [E10xxx — Quotas](https://bird.com/docs/api/errors/E10xxx.md): Bird API error codes in the E10xxx range: Quotas. Each code links to the page its doc_url points at. - [E11000 — IPPoolNotFound](https://bird.com/docs/api/errors/E11000.md): There is no IP pool in this organization with that id. - [E11007 — IPPoolProtected](https://bird.com/docs/api/errors/E11007.md): This IP pool is managed for you and cannot be modified. - [E11009 — IPPoolUnknownForSend](https://bird.com/docs/api/errors/E11009.md): That IP pool reference does not match any pool in your organization. - [E11010 — IPPoolNoSendableIPs](https://bird.com/docs/api/errors/E11010.md): The selected IP pool has no dedicated IPs available to send from. - [E11xxx — IP pools & dedicated IPs](https://bird.com/docs/api/errors/E11xxx.md): Bird API error codes in the E11xxx range: IP pools & dedicated IPs. Each code links to the page its doc_url points at. - [E12000 — SMSBackendUnavailable](https://bird.com/docs/api/errors/E12000.md): The SMS service is temporarily unavailable. Please retry. - [E12001 — SMSBodyTooLong](https://bird.com/docs/api/errors/E12001.md): The message text is too long. An SMS is limited to 12 segments; shorten the text or split it across multiple messages. - [E12002 — SMSUnsupportedFeature](https://bird.com/docs/api/errors/E12002.md): This request contains a field that is reserved for a future release and is not yet supported. - [E12003 — SMSNoEligibleSender](https://bird.com/docs/api/errors/E12003.md): No eligible sender is available for this message. Supply a 'from' or configure a sender for this destination. - [E12004 — SMSTLSVersionNotSupported](https://bird.com/docs/api/errors/E12004.md): TLS 1.3 is required to send to this destination. - [E12005 — SMSTemplateNotFound](https://bird.com/docs/api/errors/E12005.md): No template matches the requested slug. - [E12006 — SMSTemplateLanguageInvalid](https://bird.com/docs/api/errors/E12006.md): The requested template language is not a valid language tag. - [E12007 — SMSTemplateVariableMissing](https://bird.com/docs/api/errors/E12007.md): A required template variable is missing from parameters. - [E12008 — SMSTemplateVariableUnexpected](https://bird.com/docs/api/errors/E12008.md): parameters contains a variable the template does not define. - [E12009 — SMSTemplateVariableInvalid](https://bird.com/docs/api/errors/E12009.md): A template variable value does not satisfy its accepted format. - [E12010 — SMSTemplateTextConflict](https://bird.com/docs/api/errors/E12010.md): A message cannot supply both 'text' and 'template'. Send free text or a template, not both. - [E12011 — SMSTemplateMediaUnsupported](https://bird.com/docs/api/errors/E12011.md): Templates are text-only; 'media_urls' cannot be combined with 'template'. - [E12012 — SMSTemplateCategoryConflict](https://bird.com/docs/api/errors/E12012.md): A template send derives its category from the template; do not supply 'category'. - [E12013 — SMSTemplateFromNotAllowed](https://bird.com/docs/api/errors/E12013.md): A built-in template send selects its sender automatically; 'from' is not accepted. - [E12014 — SenderNotRegistered](https://bird.com/docs/api/errors/E12014.md): This sender is not registered to send to the destination country. Registration is required before sending there. - [E12015 — SenderRegistrationPending](https://bird.com/docs/api/errors/E12015.md): This sender's registration for the destination country is not yet approved. - [E12016 — SenderCategoryNotPermitted](https://bird.com/docs/api/errors/E12016.md): This sender's registration for the destination country does not permit messages of this category. - [E12017 — SMSSenderReserved](https://bird.com/docs/api/errors/E12017.md): This sender identity is reserved and cannot be used as a sender. - [E12020 — SMSDestinationNotEnabled](https://bird.com/docs/api/errors/E12020.md): This destination country is not enabled for your workspace. Enable it in your SMS destination settings before sending. - [E12021 — SMSSenderTypeNotSupported](https://bird.com/docs/api/errors/E12021.md): This sender is not available for the destination country. - [E12044 — ComplianceAttachmentNotFound](https://bird.com/docs/api/errors/E12044.md): The requested attachment was not found. - [E12045 — ComplianceAttachmentTypeUnsupported](https://bird.com/docs/api/errors/E12045.md): This file type cannot be attached to this registration. - [E12046 — ComplianceAttachmentTooLarge](https://bird.com/docs/api/errors/E12046.md): This file is larger than the 10 MB attachment limit. - [E12050 — TCRCampaignNumberLinkNotFound](https://bird.com/docs/api/errors/E12050.md): No matching number link was found on this 10DLC campaign. - [E12056 — SMSSenderNotConfigured](https://bird.com/docs/api/errors/E12056.md): This sender is not one of your configured SMS senders. - [E12060 — SMSKeywordRuleNotEditable](https://bird.com/docs/api/errors/E12060.md): This keyword rule is one of Bird's defaults and cannot be changed or deleted. - [E12061 — SMSKeywordBoundToOtherOperation](https://bird.com/docs/api/errors/E12061.md): One of these keywords already does something else for this country. - [E12062 — SMSKeywordRuleAlreadyExists](https://bird.com/docs/api/errors/E12062.md): A keyword rule for this operation already exists at this scope. - [E12063 — SMSKeywordAlreadyUsedInScope](https://bird.com/docs/api/errors/E12063.md): One of these keywords is already used by another of your rules for this country. - [E12064 — SMSKeywordRuleReplyRequired](https://bird.com/docs/api/errors/E12064.md): A keyword rule must have a reply. - [E12065 — SMSKeywordRuleLanguageInvalid](https://bird.com/docs/api/errors/E12065.md): The language on this keyword rule does not match the languages Bird ships for the country. - [E12066 — SMSKeywordRuleCountryRequired](https://bird.com/docs/api/errors/E12066.md): This operation needs a country. - [E12067 — SMSKeywordRuleCountryNotDerivable](https://bird.com/docs/api/errors/E12067.md): The country cannot be taken from this number. - [E12068 — SMSKeywordRuleCountryMismatch](https://bird.com/docs/api/errors/E12068.md): The country does not match the number on this keyword rule. - [E12069 — SMSKeywordMandatedOperation](https://bird.com/docs/api/errors/E12069.md): One of these keywords must keep the operation carriers require of it. - [E12070 — SMSKeywordRuleReplyDisableUnconfirmed](https://bird.com/docs/api/errors/E12070.md): Switching off a keyword rule's reply has to be confirmed. - [E12071 — SMSKeywordOperationUnknown](https://bird.com/docs/api/errors/E12071.md): This keyword operation is not one Bird supports. - [E12072 — SMSKeywordRuleNumberNotUsable](https://bird.com/docs/api/errors/E12072.md): This number cannot be used on a keyword rule. - [E12076 — SMSKeywordRuleNoCatalogueRow](https://bird.com/docs/api/errors/E12076.md): Bird ships no keywords for this operation in this country, so there is nothing to override. - [E12077 — SMSRecipientSuppressed](https://bird.com/docs/api/errors/E12077.md): This recipient is suppressed for this sender and cannot be messaged. - [E12085 — SMSSuppressionNotRemovable](https://bird.com/docs/api/errors/E12085.md): This suppression records the subscriber's own opt-out, so it cannot be removed. - [E12086 — SMSSuppressionCarrierOwned](https://bird.com/docs/api/errors/E12086.md): This suppression mirrors the carrier's own opt-out, so it cannot be removed. - [E12087 — SMSInvalidRecipient](https://bird.com/docs/api/errors/E12087.md): The recipient is not a phone number this message can be sent to. - [E12088 — SMSNumberOwnershipUnverified](https://bird.com/docs/api/errors/E12088.md): You own this number, but the country that issued it has not yet accepted the paperwork proving it. Sending from it is not permitted until that is approved. - [E12093 — SMSDestinationNotPriced](https://bird.com/docs/api/errors/E12093.md): We do not have a rate for this destination, so this message cannot be sent. - [E12103 — SMSTemplateLanguageNotFound](https://bird.com/docs/api/errors/E12103.md): This SMS template version does not contain the requested language. - [E12104 — SMSTemplateNotPublished](https://bird.com/docs/api/errors/E12104.md): This SMS template has no published version to send. - [E12105 — SMSTemplateLanguageNotAvailable](https://bird.com/docs/api/errors/E12105.md): This SMS template cannot send in the requested language. - [E12106 — SMSTemplateLanguageRequired](https://bird.com/docs/api/errors/E12106.md): This SMS template requires each send to name a language. - [E12108 — SMSTemplateDraftInvalid](https://bird.com/docs/api/errors/E12108.md): The SMS template draft is not ready to submit. - [E12109 — SMSTemplateEmptyDraft](https://bird.com/docs/api/errors/E12109.md): The SMS template produces no message text. - [E12xxx — SMS sending & delivery](https://bird.com/docs/api/errors/E12xxx.md): Bird API error codes in the E12xxx range: SMS sending & delivery. Each code links to the page its doc_url points at. - [E13000 — VerificationNotFound](https://bird.com/docs/api/errors/E13000.md): No verification matched this request: the id is unknown in this workspace, no verification exists for the exact recipient given, or the most recent one for… - [E13001 — InvalidRecipient](https://bird.com/docs/api/errors/E13001.md): Provide at least one recipient: a valid email address, a phone number in E.164 format, or both. - [E13002 — VerificationSendRateLimited](https://bird.com/docs/api/errors/E13002.md): Too many verification messages requested for this recipient. Please retry after the period indicated in the Retry-After header. - [E13003 — VerificationCheckRateLimited](https://bird.com/docs/api/errors/E13003.md): Too many verification attempts. Please retry after the period indicated in the Retry-After header. - [E13012 — InvalidConfigurationReference](https://bird.com/docs/api/errors/E13012.md): The verification configuration was not found or is archived. Pass the id of an active configuration, or omit it to use the default behavior. - [E13017 — NoAvailableChannel](https://bird.com/docs/api/errors/E13017.md): No delivery channel is available for this recipient with the requested options. Remove the channels restriction, or use a recipient reachable over an enabled… - [E13020 — NoNextChannel](https://bird.com/docs/api/errors/E13020.md): The verification's channel plan has no further channel to advance to. Create the verification again to resend on the current channel instead. - [E13xxx — Verify](https://bird.com/docs/api/errors/E13xxx.md): Bird API error codes in the E13xxx range: Verify. Each code links to the page its doc_url points at. - [E14000 — NumberUnavailable](https://bird.com/docs/api/errors/E14000.md): Number is not available for allocation. - [E14001 — TooManyPendingOrders](https://bird.com/docs/api/errors/E14001.md): You already have the maximum number of in-progress number orders. - [E14002 — SharedNumberNotReleasable](https://bird.com/docs/api/errors/E14002.md): This shared number is provided through Bird-managed infrastructure and cannot be released from your workspace. - [E14003 — NumberAvailabilityUnknown](https://bird.com/docs/api/errors/E14003.md): We could not confirm whether this number is available. Please retry. - [E14004 — NumberOrderNotFulfilled](https://bird.com/docs/api/errors/E14004.md): We could not complete this order. The number was not activated. - [E14xxx — Numbers](https://bird.com/docs/api/errors/E14xxx.md): Bird API error codes in the E14xxx range: Numbers. Each code links to the page its doc_url points at. - [E15000 — WhatsAppBackendUnavailable](https://bird.com/docs/api/errors/E15000.md): The WhatsApp service is temporarily unavailable. Please retry. - [E15001 — WhatsAppInvalidRecipient](https://bird.com/docs/api/errors/E15001.md): The recipient is not one this operation accepts. A phone number uses the international format with a leading plus, for example +14155550100, and a… - [E15002 — WhatsAppTemplateNotFound](https://bird.com/docs/api/errors/E15002.md): No WhatsApp template matches the requested slug. - [E15003 — WhatsAppTemplateParameterMismatch](https://bird.com/docs/api/errors/E15003.md): The message parameters do not match the parameters the template declares. - [E15007 — WhatsAppTemplateLanguageInvalid](https://bird.com/docs/api/errors/E15007.md): The language is not one of WhatsApp's supported language tags. - [E15009 — WhatsAppTemplateLanguageNotFound](https://bird.com/docs/api/errors/E15009.md): The template version does not carry this language. - [E15014 — WhatsAppRecipientNotSupportedForTemplate](https://bird.com/docs/api/errors/E15014.md): This template can only be sent to a phone number, not to a business-scoped user ID. - [E15015 — WhatsAppContentRequired](https://bird.com/docs/api/errors/E15015.md): The message carries no content. - [E15016 — WhatsAppContentAmbiguous](https://bird.com/docs/api/errors/E15016.md): The message carries more than one kind of content. - [E15017 — WhatsAppSenderRequired](https://bird.com/docs/api/errors/E15017.md): This message needs a sender. Set from to the business phone number to send it from. - [E15018 — WhatsAppSenderNotAllowed](https://bird.com/docs/api/errors/E15018.md): This message's sender is already determined, so from cannot be set. - [E15019 — WhatsAppSenderNotFound](https://bird.com/docs/api/errors/E15019.md): This is not a WhatsApp sender this workspace can send from. - [E15021 — WhatsAppMediaExpired](https://bird.com/docs/api/errors/E15021.md): This message's media is no longer available. Media on a received WhatsApp message is kept for 30 days. - [E15023 — WhatsAppSenderWABAMismatch](https://bird.com/docs/api/errors/E15023.md): The from number is on a different WhatsApp Business Account than the template. - [E15033 — WhatsAppNumberProfileUnsupported](https://bird.com/docs/api/errors/E15033.md): This number has no business profile to read. - [E15034 — WhatsAppNumberProfileRejected](https://bird.com/docs/api/errors/E15034.md): WhatsApp refused the business profile changes. - [E15035 — WhatsAppNumberProfileUnavailable](https://bird.com/docs/api/errors/E15035.md): WhatsApp could not be reached to read or change this number's business profile. - [E15037 — WhatsAppNumberProfileNotYours](https://bird.com/docs/api/errors/E15037.md): This number's business profile cannot be changed, because the number is not your workspace's. - [E15039 — WhatsAppSenderNotConnected](https://bird.com/docs/api/errors/E15039.md): The from number has not finished connecting to WhatsApp. - [E15042 — WhatsAppSuppressionNotRemovable](https://bird.com/docs/api/errors/E15042.md): This suppression records the recipient's own opt-out, so it cannot be removed. - [E15044 — WhatsAppServiceWindowClosed](https://bird.com/docs/api/errors/E15044.md): This conversation's 24-hour customer service window is closed, so only a template message can be sent. - [E15045 — WhatsAppGroupsNotEligible](https://bird.com/docs/api/errors/E15045.md): WhatsApp only lets an Official Business Account create groups, and this number is not one. - [E15046 — WhatsAppGroupNotFound](https://bird.com/docs/api/errors/E15046.md): No WhatsApp group matches this id in this workspace. - [E15047 — WhatsAppGroupNotActive](https://bird.com/docs/api/errors/E15047.md): This group cannot be messaged or changed, because it is not active. - [E15048 — WhatsAppGroupParticipantLimit](https://bird.com/docs/api/errors/E15048.md): This group already holds the 8 participants WhatsApp allows. - [E15049 — WhatsAppGroupLimitReached](https://bird.com/docs/api/errors/E15049.md): This number already administers the 10,000 groups WhatsApp allows. - [E15050 — WhatsAppGroupParticipantNotFound](https://bird.com/docs/api/errors/E15050.md): The named participant is not in this group. - [E15051 — WhatsAppGroupJoinRequestNotFound](https://bird.com/docs/api/errors/E15051.md): One of the named join requests is not waiting for a decision on this group. - [E15052 — WhatsAppGroupContentNotSupported](https://bird.com/docs/api/errors/E15052.md): WhatsApp does not deliver this kind of content to a group. - [E15053 — WhatsAppMessageNotInGroup](https://bird.com/docs/api/errors/E15053.md): This message is not one this group carries, so it cannot be pinned or unpinned here. - [E15054 — WhatsAppGroupUpdateInProgress](https://bird.com/docs/api/errors/E15054.md): A change to this group or participant is still in progress, so another cannot start yet. - [E15055 — WhatsAppInteractiveLimitExceeded](https://bird.com/docs/api/errors/E15055.md): The interactive message exceeds a limit for its kind. - [E15056 — WhatsAppInteractiveDuplicateLabel](https://bird.com/docs/api/errors/E15056.md): Two buttons or rows in this message carry the same label. - [E15059 — WhatsAppInteractiveCarouselButtonsMismatch](https://bird.com/docs/api/errors/E15059.md): The carousel's cards do not all carry the same buttons. - [E15061 — WhatsAppContactNameIncomplete](https://bird.com/docs/api/errors/E15061.md): A contact card's name needs more than a formatted name. - [E15062 — WhatsAppContactBirthdayInvalid](https://bird.com/docs/api/errors/E15062.md): A contact card's birthday is not a date. - [E15063 — WhatsAppDestinationRestricted](https://bird.com/docs/api/errors/E15063.md): Bird's shared WhatsApp sender does not deliver to this destination. - [E15064 — WhatsAppAgentNotFound](https://bird.com/docs/api/errors/E15064.md): This WhatsApp number has no agent. - [E15068 — WhatsAppAgentOnboarding](https://bird.com/docs/api/errors/E15068.md): This agent is still being set up at WhatsApp and cannot be changed yet. - [E15071 — WhatsAppReferencedMessageNotFound](https://bird.com/docs/api/errors/E15071.md): No WhatsApp message with this id exists in this workspace. - [E15072 — WhatsAppMessageNotQuotable](https://bird.com/docs/api/errors/E15072.md): This message cannot be quoted. - [E15073 — WhatsAppMessageLookupUnavailable](https://bird.com/docs/api/errors/E15073.md): WhatsApp message lookup is temporarily unavailable. Please retry. - [E15074 — WhatsAppMessageNotAcknowledgeable](https://bird.com/docs/api/errors/E15074.md): This message cannot be marked read. - [E15076 — WhatsAppTemplateLanguageRequired](https://bird.com/docs/api/errors/E15076.md): This template requires the send to name a language. - [E15077 — WhatsAppTemplateLanguageNotAvailable](https://bird.com/docs/api/errors/E15077.md): This template cannot send in the language you asked for, or in the default it would have used. - [E15078 — WhatsAppKeywordRuleNotEditable](https://bird.com/docs/api/errors/E15078.md): This keyword rule is one Bird ships and cannot be changed or deleted. - [E15079 — WhatsAppKeywordRuleAlreadyExists](https://bird.com/docs/api/errors/E15079.md): A keyword rule for this operation already exists at this scope. - [E15080 — WhatsAppKeywordBoundToOtherOperation](https://bird.com/docs/api/errors/E15080.md): One of these keywords already does something else. - [E15081 — WhatsAppKeywordRuleWABANotFound](https://bird.com/docs/api/errors/E15081.md): This WhatsApp Business Account is not one of yours. - [E15082 — WhatsAppKeywordOperationUnknown](https://bird.com/docs/api/errors/E15082.md): This keyword operation is not one Bird supports. - [E15083 — WhatsAppKeywordEmpty](https://bird.com/docs/api/errors/E15083.md): A keyword cannot be blank. - [E15xxx — WhatsApp sending & delivery](https://bird.com/docs/api/errors/E15xxx.md): Bird API error codes in the E15xxx range: WhatsApp sending & delivery. Each code links to the page its doc_url points at. - [E16000 — TrustGateUnmet](https://bird.com/docs/api/errors/E16000.md): This action requires verification steps that are not yet complete. - [E16xxx — Trust](https://bird.com/docs/api/errors/E16xxx.md): Bird API error codes in the E16xxx range: Trust. Each code links to the page its doc_url points at. - [E17000 — MailboxAddressTaken](https://bird.com/docs/api/errors/E17000.md): A mailbox on this domain already uses that address. - [E17001 — MailboxAddressTombstoned](https://bird.com/docs/api/errors/E17001.md): This address belonged to a mailbox that was deleted. - [E17002 — MailboxHandleTaken](https://bird.com/docs/api/errors/E17002.md): That handle is already taken. - [E17005 — ReceiveRuleExists](https://bird.com/docs/api/errors/E17005.md): A receive rule for this entry already exists on the mailbox. Delete the existing rule first to change its action. - [E17006 — ReceiveRuleLimitExceeded](https://bird.com/docs/api/errors/E17006.md): The mailbox already has the maximum of 200 receive rules. Delete rules you no longer need, then retry. - [E17007 — MailboxSuspended](https://bird.com/docs/api/errors/E17007.md): This mailbox is suspended. - [E17009 — DomainNotInboundEnabled](https://bird.com/docs/api/errors/E17009.md): This domain is not enabled for receiving email, so it cannot host a mailbox. - [E17040 — ThreadExpired](https://bird.com/docs/api/errors/E17040.md): This thread has passed its retention period and is no longer available. - [E17041 — MessageExpired](https://bird.com/docs/api/errors/E17041.md): This message has passed its retention period and is no longer available. - [E17042 — MessageSourceExpired](https://bird.com/docs/api/errors/E17042.md): The original rendered source of this message has expired. The message's extracted text remains available for the mailbox's retention period. - [E17045 — MessageNotInThread](https://bird.com/docs/api/errors/E17045.md): This message does not belong to this thread. - [E17048 — MailboxRetentionTierNotInPlan](https://bird.com/docs/api/errors/E17048.md): The requested retention tier is not included in your plan. - [E17049 — MailboxStorageLimitExceeded](https://bird.com/docs/api/errors/E17049.md): Your mailboxes have used all the storage your plan allows. - [E17050 — MailboxRetentionRebaseInProgress](https://bird.com/docs/api/errors/E17050.md): The mailbox is still applying its previous retention tier change. - [E17xxx — Agent mailboxes](https://bird.com/docs/api/errors/E17xxx.md): Bird API error codes in the E17xxx range: Agent mailboxes. Each code links to the page its doc_url points at. - [E19001 — ComplianceCountryNotCovered](https://bird.com/docs/api/errors/E19001.md): This country does not have a registration form defined yet. - [E19002 — ComplianceProgramNotAccepted](https://bird.com/docs/api/errors/E19002.md): This registration programme is not accepted for this country. - [E19008 — CompliancePreconditionUnmet](https://bird.com/docs/api/errors/E19008.md): This subject no longer meets the requirements for approval. - [E19009 — ComplianceSubmissionExists](https://bird.com/docs/api/errors/E19009.md): This registration already has a submission. - [E19xxx — Registration compliance](https://bird.com/docs/api/errors/E19xxx.md): Bird API error codes in the E19xxx range: Registration compliance. Each code links to the page its doc_url points at. - [E21001 — SIPTrunkNotFound](https://bird.com/docs/api/errors/E21001.md): SIP trunk not found. - [E21002 — SIPTrunkAlreadyExists](https://bird.com/docs/api/errors/E21002.md): A SIP trunk with this subdomain already exists. - [E21030 — VoiceCallerIDNotFound](https://bird.com/docs/api/errors/E21030.md): Verified caller ID not found. - [E21031 — VoiceCallerIDAlreadyExists](https://bird.com/docs/api/errors/E21031.md): This phone number is already registered as a caller ID for the workspace. - [E21032 — VoiceCallerIDVerificationFailed](https://bird.com/docs/api/errors/E21032.md): The verification code is incorrect or too many attempts have been made. - [E21033 — SIPTrunkAPIKeyNotEligible](https://bird.com/docs/api/errors/E21033.md): This API key cannot authenticate the trunk, so it cannot be allowed on it. - [E21034 — VoiceCallerIDVerificationCodeExpired](https://bird.com/docs/api/errors/E21034.md): The verification code has expired. - [E21036 — VoiceCallerIDVerificationInProgressElsewhere](https://bird.com/docs/api/errors/E21036.md): Another verification for this phone number is already in progress. - [E21046 — VoiceTrunkGatewayNotFound](https://bird.com/docs/api/errors/E21046.md): Gateway not found on this trunk. - [E21047 — VoiceTrunkGatewayAlreadyExists](https://bird.com/docs/api/errors/E21047.md): This trunk already has a gateway with this SIP URI. - [E21048 — VoiceInboundNumberAlreadyClaimed](https://bird.com/docs/api/errors/E21048.md): Another SIP trunk already answers this inbound number. - [E21050 — VoiceNumberInboundNotSupported](https://bird.com/docs/api/errors/E21050.md): This number cannot receive calls. - [E21051 — VoiceTrunkOutboundNotEnabled](https://bird.com/docs/api/errors/E21051.md): This SIP trunk does not have outbound calling enabled. - [E21052 — VoiceTrunkInboundNotEnabled](https://bird.com/docs/api/errors/E21052.md): This SIP trunk does not have inbound calling enabled. - [E21053 — VoiceInboundForwardTargetNotVerified](https://bird.com/docs/api/errors/E21053.md): Calls can only be forwarded to a verified caller ID. - [E21066 — VoiceCallingNumberNotAllowed](https://bird.com/docs/api/errors/E21066.md): The calling number cannot be used for outbound calls in this workspace. - [E21067 — VoiceNumberOwnershipUnverified](https://bird.com/docs/api/errors/E21067.md): The calling number's ownership requirements have not been approved. - [E21070 — VoiceTrunkGatewayInUse](https://bird.com/docs/api/errors/E21070.md): A hunt group in this trunk's inbound routing uses this gateway. - [E21xxx — Voice & SIP trunking](https://bird.com/docs/api/errors/E21xxx.md): Bird API error codes in the E21xxx range: Voice & SIP trunking. Each code links to the page its doc_url points at. - [E22000 — LookupInvalidPhoneNumber](https://bird.com/docs/api/errors/E22000.md): The number to look up is not a valid phone number. - [E22001 — LookupInsufficientBalance](https://bird.com/docs/api/errors/E22001.md): Insufficient balance to run this lookup. - [E22002 — LookupUnavailable](https://bird.com/docs/api/errors/E22002.md): Lookup is temporarily unavailable. Please retry. - [E22003 — LookupInvalidEmailAddress](https://bird.com/docs/api/errors/E22003.md): The address to look up is not a valid email address. - [E22xxx — Number lookup](https://bird.com/docs/api/errors/E22xxx.md): Bird API error codes in the E22xxx range: Number lookup. Each code links to the page its doc_url points at. - [E23000 — RealtimeEncryptedChannelFanout](https://bird.com/docs/api/errors/E23000.md): A publish to a `private-encrypted-` channel must name only that channel. - [E23xxx — Realtime](https://bird.com/docs/api/errors/E23xxx.md): Bird API error codes in the E23xxx range: Realtime. Each code links to the page its doc_url points at. - [E24000 — CompetitiveBrandNotFound](https://bird.com/docs/api/errors/E24000.md): No brand with this identifier exists in the competitive panel. - [E24001 — CompetitiveBrandAlreadyWatched](https://bird.com/docs/api/errors/E24001.md): This brand is already on the workspace's watchlist. - [E24002 — CompetitiveInsightsUnavailable](https://bird.com/docs/api/errors/E24002.md): Competitive Insights is not available right now. - [E24003 — CompetitiveWatchlistBrandNotFound](https://bird.com/docs/api/errors/E24003.md): No brand with this identifier is on the workspace's watchlist. - [E24004 — CompetitiveCampaignNotFound](https://bird.com/docs/api/errors/E24004.md): This brand sent no campaign with this identifier. - [E24005 — CompetitivePanelUnavailable](https://bird.com/docs/api/errors/E24005.md): The competitive email panel could not be reached. - [E24xxx — Competitive Insights](https://bird.com/docs/api/errors/E24xxx.md): Bird API error codes in the E24xxx range: Competitive Insights. Each code links to the page its doc_url points at. - [E25000 — PreferenceRevoked](https://bird.com/docs/api/errors/E25000.md): This recipient has opted out of receiving messages on this channel. - [E25001 — PreferenceRevokedSender](https://bird.com/docs/api/errors/E25001.md): This recipient has opted out of receiving messages from this sender. - [E25003 — PreferenceSenderScopeUnsupported](https://bird.com/docs/api/errors/E25003.md): This channel does not support sender-scoped preferences. - [E25004 — PreferenceConsentInFuture](https://bird.com/docs/api/errors/E25004.md): The consent timestamp is in the future. - [E25005 — PreferencePersonStatedNotRemovable](https://bird.com/docs/api/errors/E25005.md): This preference records the person's own statement, so it cannot be deleted. - [E25xxx — Sendability](https://bird.com/docs/api/errors/E25xxx.md): Bird API error codes in the E25xxx range: Sendability. Each code links to the page its doc_url points at. - [E26000 — EsimOfferNotAvailable](https://bird.com/docs/api/errors/E26000.md): This offer does not exist, is retired, or is not available to this workspace. - [E26001 — EsimInvalidState](https://bird.com/docs/api/errors/E26001.md): The eSIM's current state does not allow this operation. - [E26002 — EsimPackageLimitReached](https://bird.com/docs/api/errors/E26002.md): This eSIM already holds its maximum number of concurrent data packages. - [E26003 — EsimIncompatiblePackageClass](https://bird.com/docs/api/errors/E26003.md): This eSIM cannot combine reduced-speed and full-speed data packages. - [E26004 — EsimBalanceForfeitNotAcknowledged](https://bird.com/docs/api/errors/E26004.md): This operation discards remaining data balance and needs explicit acknowledgement. - [E26005 — EsimShortenedValidityNotAcknowledged](https://bird.com/docs/api/errors/E26005.md): The offer's validity would be cut short by the eSIM's service period and needs explicit acknowledgement. - [E26007 — EsimCarrierUnavailable](https://bird.com/docs/api/errors/E26007.md): The mobile network operator could not be reached. The request was not applied. - [E26008 — EsimProvisioningInProgress](https://bird.com/docs/api/errors/E26008.md): Another change to this eSIM is still in progress. - [E26009 — EsimOrderLimitReached](https://bird.com/docs/api/errors/E26009.md): This workspace has too many eSIM orders still in progress. - [E26011 — EsimDeliveryRecipientInvalid](https://bird.com/docs/api/errors/E26011.md): The delivery recipient is not a valid email address or phone number for the chosen channel. - [E26012 — EsimDeliveryChannelUnavailable](https://bird.com/docs/api/errors/E26012.md): Install credentials cannot be delivered over this channel to this recipient. - [E26013 — EsimOfferRevisionStale](https://bird.com/docs/api/errors/E26013.md): The offer has changed since the revision this order quotes. - [E26014 — EsimOfferNotServableOnEsim](https://bird.com/docs/api/errors/E26014.md): This offer cannot be added to this eSIM. - [E26015 — EsimOrderPriceMismatch](https://bird.com/docs/api/errors/E26015.md): The current price for this offer differs from the expected_price the order quotes. - [E26016 — EsimOrderAlreadyTerminal](https://bird.com/docs/api/errors/E26016.md): This order already reached a terminal state. - [E26018 — EsimSupplierCapabilityUnsupported](https://bird.com/docs/api/errors/E26018.md): The eSIM's serving mobile network does not support this operation. - [E26020 — EsimOrderNotCancellable](https://bird.com/docs/api/errors/E26020.md): This order is already being provisioned and can no longer be canceled. - [E26021 — EsimOfferModeAmbiguous](https://bird.com/docs/api/errors/E26021.md): This offer is served by a mix of live and test mobile networks, so an order for it cannot be resolved as either a real purchase or a test. - [E26023 — EsimCredentialDeliveryDisabled](https://bird.com/docs/api/errors/E26023.md): This workspace has turned off sending eSIM install credentials to travelers. - [E26xxx — eSIM](https://bird.com/docs/api/errors/E26xxx.md): Bird API error codes in the E26xxx range: eSIM. Each code links to the page its doc_url points at. - [E27000 — InboxInsightsDomainNotFound](https://bird.com/docs/api/errors/E27000.md): This workspace has no verified sending domain with this name. - [E27002 — InboxInsightsUnavailable](https://bird.com/docs/api/errors/E27002.md): Inbox Insights is not available right now. - [E27003 — InboxInsightsPanelUnavailable](https://bird.com/docs/api/errors/E27003.md): The inbox measurement panel could not be reached. - [E27004 — InboxInsightsSeedTestAllowanceUnavailable](https://bird.com/docs/api/errors/E27004.md): The seed-test allowance could not be checked. - [E27005 — InboxInsightsDomainNotMeasured](https://bird.com/docs/api/errors/E27005.md): Inbox Insights is not measuring this sending domain yet. - [E27006 — InboxInsightsSeedTestQuotaExceeded](https://bird.com/docs/api/errors/E27006.md): The organization's seed-test allowance for this billing period has been used. - [E27007 — InboxInsightsMonitoringUnavailable](https://bird.com/docs/api/errors/E27007.md): Inbox Insights could not start measuring this sending domain. - [E27008 — InboxInsightsSeedTestRegistrationUncertain](https://bird.com/docs/api/errors/E27008.md): Seed-test registration could not be confirmed. Your allowance may have been used. Contact support before starting another test. - [E27xxx — Inbox Insights](https://bird.com/docs/api/errors/E27xxx.md): Bird API error codes in the E27xxx range: Inbox Insights. Each code links to the page its doc_url points at. - [E28000 — AMBBackendUnavailable](https://bird.com/docs/api/errors/E28000.md): Apple Messages for Business is temporarily unavailable. Please retry. - [E28001 — AMBBusinessNotApproved](https://bird.com/docs/api/errors/E28001.md): This Apple business account is disconnected or has no Apple Business ID. - [E28002 — AMBConversationClosed](https://bird.com/docs/api/errors/E28002.md): The conversation is closed, so a reply cannot be sent into it. - [E28003 — AMBRecipientSuppressed](https://bird.com/docs/api/errors/E28003.md): This customer is suppressed from receiving messages from this business. - [E28004 — AMBContentKindUnsupported](https://bird.com/docs/api/errors/E28004.md): This content type is not supported for the conversation. - [E28005 — AMBContentShapeInvalid](https://bird.com/docs/api/errors/E28005.md): The message must carry exactly one kind of content. - [E28007 — AMBStringTooLong](https://bird.com/docs/api/errors/E28007.md): A string in the message exceeds its field's character limit. - [E28009 — AMBAppleBusinessIDTaken](https://bird.com/docs/api/errors/E28009.md): This Apple Business ID is already connected to a business. - [E28010 — AMBBusinessTransitionInvalid](https://bird.com/docs/api/errors/E28010.md): The business cannot move to that state from the state it is in. - [E28011 — AMBBusinessNotFound](https://bird.com/docs/api/errors/E28011.md): No Apple Messages for Business record matches this id. - [E28012 — AMBConversationNotFound](https://bird.com/docs/api/errors/E28012.md): No conversation matches the identifier given. - [E28013 — AMBMessageNotFound](https://bird.com/docs/api/errors/E28013.md): No Apple Messages for Business message matches this id. - [E28014 — AMBRoutingRuleNotFound](https://bird.com/docs/api/errors/E28014.md): No routing rule matches this id. - [E28015 — AMBRoutingRuleDefaultExists](https://bird.com/docs/api/errors/E28015.md): This business already has a default routing rule. - [E28016 — AMBSuppressionNotFound](https://bird.com/docs/api/errors/E28016.md): No active suppression matches this id. - [E28017 — AMBMessageSourceNotPermitted](https://bird.com/docs/api/errors/E28017.md): The credential you authenticated with cannot send a message from that source. - [E28018 — AMBQuickReplyItemsInvalid](https://bird.com/docs/api/errors/E28018.md): A quick reply carries between two and five items. - [E28019 — AMBApplePayLineItemsInvalid](https://bird.com/docs/api/errors/E28019.md): An Apple Pay request carries at most twenty line items. - [E28020 — AMBEndpointNotHTTPS](https://bird.com/docs/api/errors/E28020.md): This media or link URL must use HTTPS. - [E28022 — AMBSuppressionAlreadyEnded](https://bird.com/docs/api/errors/E28022.md): This suppression episode has already ended. - [E28023 — AMBFormPagesInvalid](https://bird.com/docs/api/errors/E28023.md): The form's pages are not a valid form document. - [E28024 — AMBInteractiveImageInvalid](https://bird.com/docs/api/errors/E28024.md): An image referenced by this message does not meet Apple's limits. - [E28026 — AMBBusinessNameRequired](https://bird.com/docs/api/errors/E28026.md): The business account needs a name. - [E28027 — AMBAttachmentTooLarge](https://bird.com/docs/api/errors/E28027.md): The attachment is larger than Apple accepts. - [E28028 — AMBBusinessStatusChanged](https://bird.com/docs/api/errors/E28028.md): The business changed state while this change was being made. - [E28029 — AMBEntryPointIDDuplicate](https://bird.com/docs/api/errors/E28029.md): Two entry points share the same id. - [E28031 — AMBPaymentSetupUnavailable](https://bird.com/docs/api/errors/E28031.md): Apple Pay is not ready for this business and environment. - [E28036 — AMBPaymentProcessing](https://bird.com/docs/api/errors/E28036.md): The payment has an unresolved provider operation. - [E28037 — AMBPaymentTokenInvalid](https://bird.com/docs/api/errors/E28037.md): The Apple Pay authorization could not be verified for this payment request. - [E28039 — AMBSuppressionNotRemovable](https://bird.com/docs/api/errors/E28039.md): Only manual Apple suppressions can be ended manually. - [E28040 — AMBRoutingChangeChanged](https://bird.com/docs/api/errors/E28040.md): The conversation's pending routing change is no longer the one this decision names. - [E28xxx — Apple Messages for Business](https://bird.com/docs/api/errors/E28xxx.md): Bird API error codes in the E28xxx range: Apple Messages for Business. Each code links to the page its doc_url points at. - [E32002 — OperationConfirmationCancelled](https://bird.com/docs/api/errors/E32002.md): This proposed operation was cancelled. - [E32003 — OperationConfirmationExpired](https://bird.com/docs/api/errors/E32003.md): This proposal's execution window closed before a result was recorded. - [E32004 — OperationConfirmationOutcomeUnknown](https://bird.com/docs/api/errors/E32004.md): Whether this operation took effect cannot be established right now. - [E32005 — OperationConfirmationMismatch](https://bird.com/docs/api/errors/E32005.md): The proposal named by this request was frozen for a different request. - [E32006 — OperationConfirmationOperationUnsupported](https://bird.com/docs/api/errors/E32006.md): This operation cannot be proposed for confirmation. - [E32008 — OperationConfirmationCompleted](https://bird.com/docs/api/errors/E32008.md): This proposed operation has already completed. - [E32xxx — Operation confirmation](https://bird.com/docs/api/errors/E32xxx.md): Bird API error codes in the E32xxx range: Operation confirmation. Each code links to the page its doc_url points at. - [E33001 — OrganizationEligibilityPending](https://bird.com/docs/api/errors/E33001.md): Organization eligibility is being assessed. Please try again later. - [E33002 — OrganizationEligibilityReviewRequired](https://bird.com/docs/api/errors/E33002.md): This organization needs an eligibility review before this action can proceed. - [E33003 — OrganizationEligibilityDenied](https://bird.com/docs/api/errors/E33003.md): This organization is not eligible for this action. - [E33xxx — Organization eligibility](https://bird.com/docs/api/errors/E33xxx.md): Bird API error codes in the E33xxx range: Organization eligibility. Each code links to the page its doc_url points at. - [E34008 — ConnectionsUnavailable](https://bird.com/docs/api/errors/E34008.md): Connection credentials cannot be stored in this region right now. - [E34xxx — Connectors](https://bird.com/docs/api/errors/E34xxx.md): Bird API error codes in the E34xxx range: Connectors. Each code links to the page its doc_url points at.