Sign inGet started

E04xxx — Email sending & delivery

Error codes in the E04xxx range that the public Bird API returns. Each code links to its own page (the page its doc_url points at) with the cause and what to do. Retired codes stay listed; they are never renamed or reused.
CodeNameStatusMessage
E04000EmailBatchRequestTooLarge413The batch is larger than 20 MB.
E04001AttachmentContentTypeBlocked422The attachment content type is not allowed. See the email attachment documentation for the blocklist.
E04002MessageTooLarge413Once generated, this message is over the 20 MB limit.
E04004SuppressionNotFound404There is no suppression for that address.
E04006DomainNotVerified422The from address uses a domain that is not verified in this workspace.
E04007UnsupportedEmailFeature422This endpoint does not support what the request asked for: a field it cannot accept, or a combination of fields it cannot accept together.
E04008EmailBackendUnavailable503Email is temporarily unavailable.
E04009OnboardingRecipientNotAllowed422Sends from the shared onboarding domain can only go to verified members of your workspace.
E04010OnboardingSendLimitExceeded429The daily send limit for the shared onboarding domain has been reached.
E04011RecipientDomainNotAllowed422Sending 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.
E04012EmailContentNotFound404We did not store the content of this message.
E04013EmailContentExpired410The stored content for this message has expired.
E04014EmailContentNotReady425The content of this message is not stored yet.
E04015MonthlySendLimitExceeded429This organization has reached its monthly email send limit.
E04016SendCeilingUnavailable503Email sending limits are temporarily unavailable. Retry in a moment.
E04017DailySendLimitExceeded429This organization has reached its daily email send limit.
E04018AudienceEmpty422This audience has nobody to send to. It is either empty, or none of its contacts has an email address.
E04019AudienceAllSuppressed422Every contact in this audience that has an email address is suppressed. No email can be sent.
E04020AudienceUnavailable422The audience set on this broadcast no longer exists.
E04021EmailTemplateNotFound404There is no template in this workspace with that id or slug.
E04022EmailTemplateSlugTaken409A template with this slug already exists in this workspace.
E04023EmailTemplateConflict409Someone else changed the draft since you loaded it, so this change was rejected to avoid overwriting theirs.
E04024EmailTemplateNotPublished422This template has no published version, so there is nothing to send.
E04025EmailTemplateSlugReserved422Slugs starting with bird_ or emt_ are reserved. Choose a different slug.
E04026ContactEmailExists409A contact with this email address already exists in this workspace.
E04027ContactExternalIdExists409A contact with this external_id already exists in this workspace.
E04028Retired: no longer returned, never reused.
E04029ContactPropertyArchived409This contact property is already archived.
E04030ContactPropertyNotArchived409This contact property is not archived.
E04031ContactPropertyLimit422This workspace has reached the maximum number of contact properties. Archived properties still count toward this limit, so archiving does not free a slot; reuse or update an existing property instead.
E04032ContactPropertyKeyExists409A contact property with this key already exists in this workspace.
E04033EmailSmtpConfigNotFound404There is no SMTP configuration for this API key.
E04036Retired: no longer returned, never reused.
E04037BroadcastNoAudience422This broadcast has no audience selected, so there is nothing to count or send. Select an audience first.
E04038EmailTemplateVersionNotPublished422You can only roll back to a published version.
E04039BroadcastTemplateVariableUnfillable422This 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 each recipient. Take the variable out of the template, or change it to a contact property, then send the broadcast again.
E04040BroadcastNotEditable409This 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.
E04041BroadcastNotCancelable409This 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 cannot be sent, scheduled, or canceled anymore.
E04043EmailTemplateLanguageNotFound404This version does not have the language you asked for.
E04044EmailTemplateVersionImmutable422Published versions are immutable. Edit the template's draft instead.
E04045EmailTemplateLanguageInvalid422The language is not a valid language tag.
E04046EmailTemplateSlugInvalid422This is not a valid slug.
E04047EmailTemplateDefaultLanguageRequired422The default language has to be one of the languages the template has.
E04048EmailTemplateLanguageNotAvailable422This template does not have the language you asked for.
E04049EmailTemplateLanguageRequired422This template requires every send to name a language.
E04050EmailTemplateNoChangesToSubmit422The draft matches the template's published version, so there is nothing to submit.
E04051EmailTemplateDraftInvalid422The draft is not ready to submit.
E04052EmailTemplateNothingToSubmit422Only a template's draft can be submitted. This request named an already-published version, so it is rejected no matter which languages you named.
E04053EmailTemplateEmptyDraft422The draft has no content to submit.
E04054Retired: no longer returned, never reused.
E04055ContactPhoneExists409A contact with this phone number already exists in this workspace.
E04056ContactIdentifierRequired422A contact needs at least one reachable identifier. Supply an email address, a phone number, or both.
E04057ContactPhoneInvalid422This does not look like a phone number. Send the international form, a leading plus sign, then the country code and number, for example +31612345678.
E04058ContactMatchAmbiguous409This entry's identifiers belong to more than one contact.
E04059EmailTemplateVariableUnknown422The content references a bird. value we do not provide.
E04060ContactMatchKeyMissing422This entry does not carry the identifier the batch's match_on requires.
E04061EmailTemplateVariableInvalid422The content references a parameter whose name is not a single word.
E04062EmailTemplateParameterMissing422The send does not supply a value for every parameter the template uses.
E04063EmailTemplateUnsubscribeMisplaced422The unsubscribe variable is somewhere we cannot turn into a link.
E04064EmailTemplateUnsubscribeRequired422A marketing template needs an unsubscribe link.
E04065EmailTemplateContactUnavailable422The template reads contact data, which this send cannot fill.
E04066EmailTemplateVariableUnfillable422The template's published version reads a value nothing can fill.
E04067OverageCapReached429This organization has reached the email volume included in its plan, and overage is turned off.
E04068SuppressionNotRemovableByAPIKey422This suppression records a spam complaint, so it cannot be removed with an API key.
E04069OverageUnfunded402This organization has used the email volume included in its plan and its wallet cannot cover further overage.
E04070OverageCeilingReached429This organization has reached its overage limit for the billing period.
  • Errors: the full wire contract, status mapping, and all code ranges
  • Error handling: branching on type and code, validation details, and vendor_code