E12xxx — SMS sending & delivery
Error codes in the E12xxx 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.
| Code | Name | Status | Message |
|---|---|---|---|
| E12000 | SMSBackendUnavailable | 503 | The SMS service is temporarily unavailable. Please retry. |
| E12001 | SMSBodyTooLong | 422 | The message text is too long. An SMS is limited to 12 segments; shorten the text or split it across multiple messages. |
| E12002 | SMSUnsupportedFeature | 422 | This request contains a field that is reserved for a future release and is not yet supported. |
| E12003 | SMSNoEligibleSender | 422 | No eligible sender is available for this message. Supply a 'from' or configure a sender for this destination. |
| E12004 | SMSTLSVersionNotSupported | 422 | TLS 1.3 is required to send to this destination. |
| E12005 | SMSTemplateNotFound | 422 | No template matches the requested slug. |
| E12006 | SMSTemplateLanguageInvalid | 422 | The requested template language is not a valid language tag. |
| E12007 | SMSTemplateVariableMissing | 422 | A required template variable is missing from parameters. |
| E12008 | SMSTemplateVariableUnexpected | 422 | parameters contains a variable the template does not define. |
| E12009 | SMSTemplateVariableInvalid | 422 | A template variable value does not satisfy its accepted format. |
| E12010 | SMSTemplateTextConflict | 422 | A message cannot supply both 'text' and 'template'. Send free text or a template, not both. |
| E12011 | SMSTemplateMediaUnsupported | 422 | Templates are text-only; 'media_urls' cannot be combined with 'template'. |
| E12012 | SMSTemplateCategoryConflict | 422 | A template send derives its category from the template; do not supply 'category'. |
| E12013 | SMSTemplateFromNotAllowed | 422 | A template send selects its sender automatically; 'from' is not accepted. |
| E12014 | SenderNotRegistered | 422 | This sender is not registered to send to the destination country. Registration is required before sending there. |
| E12015 | SenderRegistrationPending | 422 | This sender's registration for the destination country is not yet approved. |
| E12016 | SenderCategoryNotPermitted | 422 | This sender's registration for the destination country does not permit messages of this category. |
| E12017 | SMSSenderReserved | 422 | This sender identity is reserved and cannot be used as a sender. |
| E12020 | SMSDestinationNotEnabled | 422 | This destination country is not enabled for your workspace. Enable it in your SMS destination settings before sending. |
| E12021 | SMSSenderTypeNotSupported | 422 | This sender is not available for the destination country. |
| E12022 | — | — | Retired: no longer returned, never reused. |
| E12024 | — | — | Retired: no longer returned, never reused. |
| E12037 | — | — | Retired: no longer returned, never reused. |
| E12038 | — | — | Retired: no longer returned, never reused. |
| E12044 | ComplianceAttachmentNotFound | 404 | The requested attachment was not found. |
| E12050 | TCRCampaignNumberLinkNotFound | 404 | No matching number link was found on this 10DLC campaign. |
| E12056 | SMSSenderNotConfigured | 422 | This sender is not one of your configured SMS senders. |
| E12060 | SMSKeywordRuleNotEditable | 422 | This keyword rule is one of Bird's defaults and cannot be changed or deleted. |
| E12061 | SMSKeywordBoundToOtherOperation | 409 | One of these keywords already does something else for this country. |
| E12062 | SMSKeywordRuleAlreadyExists | 409 | A keyword rule for this operation already exists at this scope. |
| E12063 | SMSKeywordAlreadyUsedInScope | 409 | One of these keywords is already used by another of your rules for this country. |
| E12064 | SMSKeywordRuleReplyRequired | 422 | A keyword rule must have a reply. |
| E12065 | SMSKeywordRuleLanguageInvalid | 422 | The language on this keyword rule does not match the languages Bird ships for the country. |
| E12066 | SMSKeywordRuleCountryRequired | 422 | This operation needs a country. |
| E12067 | SMSKeywordRuleCountryNotDerivable | 422 | The country cannot be taken from this number. |
| E12068 | SMSKeywordRuleCountryMismatch | 422 | The country does not match the number on this keyword rule. |
| E12069 | SMSKeywordMandatedOperation | 422 | One of these keywords must keep the operation carriers require of it. |
| E12070 | SMSKeywordRuleReplyDisableUnconfirmed | 422 | Switching off a keyword rule's reply has to be confirmed. |
| E12071 | SMSKeywordOperationUnknown | 422 | This keyword operation is not one Bird supports. |
| E12072 | SMSKeywordRuleNumberNotUsable | 422 | This number cannot be used on a keyword rule. |
| E12076 | SMSKeywordRuleNoCatalogueRow | 422 | Bird ships no keywords for this operation in this country, so there is nothing to override. |
| E12077 | SMSRecipientSuppressed | 422 | This recipient is suppressed for this sender and cannot be messaged. |
| E12085 | SMSSuppressionNotRemovable | 422 | This suppression records the subscriber's own opt-out, so it cannot be removed. |
| E12086 | SMSSuppressionCarrierOwned | 422 | This suppression mirrors the carrier's own opt-out, so it cannot be removed. |
| E12087 | SMSInvalidRecipient | 422 | The recipient is not a phone number this message can be sent to. |
| E12088 | SMSNumberOwnershipUnverified | 422 | 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 | 422 | We do not have a rate for this destination, so this message cannot be sent. |
Related
- Errors: the full wire contract, status mapping, and all code ranges
- Error handling: branching on type and code, validation details, and vendor_code