{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"a807cb92-b06c-49e2-896e-84289a9f6b18","name":"MobileHelm v4","description":"## Getting Started\n\n<ol>\n<li>Email support@mobilehelm.com to request your apiKey. Your first 1000 messages are FREE!</li>\n<li>If you use Postman, click the \"Run in Postman\" link in the upper right corner of the page.</li>\n<li>Set you enironment variables (like the 'x-api-key')</li>\n<li>Order a Toll Free Number. Short codes are also available upon request.</li>\n<li>Follow the instructions in this documentation and you can start sending messages within minutes.</li>\n</ol>\n\n#### Purchase additional messages\n\nFor Pay-As-You-Go messaging or our Bulk Discount packages. Email support@mobilehelm.com to select the package that's right for you.\n\nThat's it! Contact us at support@mobilehelm.com if you have questions along the way.\n\n\n#### Authentication\n\nRequests are authenticated by passing the following two headers in each request. A Basic Auth header (username and password separated by a colon and base64 encoded), and an api key, with the name \"x-api-key\". Example:\n\n    \"Authorization\": \"Basic VKLNsc32WU4332xfd3osmgQ=\"\n    \"x-api-key\": \"33H23ww2Krh2BiYWPOWINE22235vWlvGKMM293j\"\n\n<br/>\nSample header:\n\n    POST /v4/messages HTTP/1.1 \n    \"Content-Type\": \"application/json; charset=UTF-8\" \n    \"Authorization\": \"Basic VKLNsc32WU4332xfd3osmgQ=\"\n    \"x-api-key\": \"33H23ww2Krh2BiYWPOWINE22235vWlvGKMM293j\"\n\n<br/>\nBased URL\n\n\tapi.mobilehelm.com/v4\n\n<br/>\nTxtwire strongly recommends using HTTPS over secure port 443. You can find the full path name on each operation page. Note that the service supports the following versions ofTransport Layer Security over HTTP port 443:\n\n\tTLS 1.1\n\tTLS 1.2\n\n<br/>\n\n# Receiving Messages\n\nThere are 2 categories of callbacks/webhooks you will receive, depending on which parameters you pass in the \"/messages\" request: \"REPLY\" messages and \"STATUS\" messages. The endpoints URLs for these callbacks should be created on your server and be ready to accept HTTP POSTs asynchronously.\n\nAt a minimum, you will need to capture and process \"REPLY\" callbacks, to remain compliant with FCC and Carrier regulations.\n\n### Inbound Messages\n\nInbound messages are messages received from a mobile handset. They are posted to the \"inboundUrl\" that is configured for the number you are sendging messages from. Below are some samples:\n\n#### Header\n\nThe reply header from Txtwire will look similar to the following:\n\n\tPOST / HTTP/1.1\n\tAccept: application/json\n\tContent-Type: application/json\n\tContent-Length: 397\n\tConnection: close\n\tX-Amzn-Trace-Id: Root=1-589cc121-e6bfdff2308437dabe61c3b0\n\n#### Body\n\nExample where the message is from a US end user, and is sent as plain text:\n\n\t{ \n    \t\"messageId\": \"230498-234923-2342-293842398\"\n    \t\"to\": \"15856329200\",\n    \t\"from\": \"12082223333\",\n    \t\"message\": \"Hello!\",\n    \t\"messageType\": \"sms\"\n    \t\"timestamp\":\"2017-08-16T10:30:01\",\n    \t\"direction\": \"in\"\n\t}\n\n#### Properties\n\n|Name|Description|Details|\n|-------------|-----------|--------------|\n|messageId|The message ID that identifies the message in Txtwire logs|<br/>**Returned**: always<br/>**Type**: string<br/>**Example**: 2617Z-06138-0141Q-572TH|\n|to|The number, shortcode, or alpha senderId to which the message was sent.|<br/>**Returned**: always<br/>**Type**: string<br/>**Example**: 12123330123, 37727, Txtwire|\n|from|The number from which the mobile message originated (ie the subscriber/customer)|<br/>**Returned**: always<br/>**Type**: string<br/>**Example**: 12082123456|\n|message|The contents of the message sent to you. This is an alphanumeric string from 1 to 2680 characters long.|<br/>**Returned**: always<br/>**Type**: string<br/>**Example**: \"Stop\"|\n|messageType|<br/>- **SMS**: The content is UTF-8 and doesn't contain any unusual characters.<br/>- **MMS**: The content is UTF-8 and doesn't contain any unusual characters, but includes a \"mediaUrl\" param in the body.<br/>- **Hexadecimal-encoded text**:  The message is more than 160 characters (ie multipart), or the content contains control characters such as carriage returns, or there is a user data header (UDH). In this case, you must convert the message from its hex-encoded format into a usable string.<br/>- **Binary data** When we have received a binary message from the mobile operator. In this case, you must convert the message from its hex-encoded format into a usable string.|<br/>**Returned**: Always<br/>**Type**: string<br/>**Default**: sms|\n|udh|Indicates whether a user data header (UDH) is encoded in the message. This is only included when type is either hexEncodedText or binary. Possible values:<br/>**true** — There is a UDH<br/>**false** — There is no UDH|<br/>**Returned**: Conditional<br/>**Default**: false<br/>**Type**: string|\n|timestamp|The time and date that Txtwire received the inbound message from the mobile operator. The time zone is UTC. The date string is in the following form: YYYY-MM-DDTHH:MM:SSZ|<br/>**Returned**: always<br/>**Type**: string<br/>**Example**: 2015-09-22T04:10:33Z|\n|direction|A simple indicator that the message is inbound or coming \"in\" to your system. This can be helpful if receiving both delivery statuses and reply messages to the same endpoint URL|**Returned**: always<br/>**Type**: string<br/>**Example**: \"in\"|\n\n### Responding to the request\nWhen you receive a REPLY or STATUS message, you must return an HTTP 200 response with an empty response body. Otherwise, Txtwire will continue to retry the request over the next 24 hrs. You will need to make sure that you filter duplicate requests.\n\n# Status Messages\n\nStatus messages are updates from the carrier regarding the delivery status of the message. Not all carriers return a delivery status, but most in the US and CA do. Statuses are posted to the \"statusUrl\" param that is passed in the \"Send Message\" request. If this param is not passed, no delivery status will be sent back to you. Below is a sample request\n\n#### Header\n\n    POST / HTTP/1.1\n    Content-Type: application/json\n    Content-Length: 424\n    Connection: close\n\n#### Body\n\nThe following examples contain all possible values.\n\n\t{\n    \t\"messageId\": \"95df01b4-ee98-5cb9-9903-4c221d41eb5e\",\n    \t\"to\": \"37727\",\n    \t\"from\": \"12082223333\",\n    \t\"timestamp\": 2012-11-14T16:13:06.076Z,\n    \t\"statusCode\": 4,\n    \t\"statusDescription\": \"delivered\",\n    \t\"totalSegments\": 1,\n    \t\"direction\": \"out\"\n  }\n\n#### Properties\n\n|Name|Description|Details|\n|-------------|-----------|------------|\n|messageId|The message ID that identifies the SMS message in Txtwire requests. The maximum length is 40 characters.|<br/>**Returned**: always<br/>**Type**: string|\n|to|The destination number to which a message is sent.|<br/>**Returned**: always<br/>**Type**: string|\n|from|The number that originated the message. The maximum length is 20 characters.|<br/>**Returned**: always<br/>**Type**: ASCII character string|\n|timestamp|The time and date the delivery receipt was received from the mobile operator. The date string is in the following form: YYYY-MM-DDTHH:MM:SSZ. Time zone is UTC|<br/>**Example**: 2015-09-22T04:10:33Z<br/>**Returned**: Always<br/>**Type**: string|\n|statusCode|Code identifying the current delivery status for the message. See Delivery Status Codes.|<br/>**Returned**: always<br/>**Type**: string|\n|description|Description of the current delivery status for the message. See Delivery Receipt Codes.|<br/>**Returned**: not always returned<br/>**Type**: string|\n|totalSegments|The carriers bill for each message segment. A message segment using UTF8 charset is 160 characters. For example, a 180 character message (UTF8 charset) would be billed as 2 \"totalSegments\", or for 2 messages. If a message contains characters not within UTF8 Charset, the carrier will default to UNICODE (which is limited to 70 character segments.|<br/>**Returned**: always<br/>**Type**: integer|\n|direction|Indicates that the delivery receipt pertains to an outbound message.|<br/>**Returned**: always<br/>**Type**: string|\n\n\nPlease refer to the \"Status Codes\" section for a list of all possible delivery statutes.\n\n# Multipart messages\n\nIf you receive a multipart message, we forward each part of the message separately. The request will use hexadecimal-encoded text and each part will include a UDH that is at the start of each part's content.\n\nDepending on the mobile phone and mobile operator, the UDH for multipart messages can differ to use either a 1-octet or 2-octet message reference. There might also be other headers included with the message. However, by far the most common UDH we receive for multipart messages is the 1-octet version, without additional headers. This uses 6 bytes (two characters in the hexadecimal message format), similar to \"05 00 03 44 02 01\". When you decode the UDH:\n\n- Byte 1: Defines the number of bytes in the UDH (excluding itself). In the example, this is \"05\", indicating there are five bytes in the UDH following the first byte.\n- Byte 2: Defines the type of message you have been sent. \"00\" means it is a multipart message.\n- Byte 3: Similar to byte 1. Defines how many bytes remain in the rest of the UDH. In the example, this is \"03\".\n- Byte 4: Contains a reference number. The value will be the same for each part of the multipart message.\n- Byte 5: Provides the number of parts used to send the multipart message. For example, \"02\" means the multipart message is made of two parts.\n- Byte 6: Identifies the message part. The numbering begins at \"01\".\n\n You can find out more about UDH sent with messages in the GSM specification.\n\n## Statuses for multipart messages\n\nIf your message is sent in multiple parts, then you will receive a delivery receipts for each part. The request body will include segmentNumber and totalSegments, which identify each part and the total number of parts required for the whole message.\n\n**Note**: When you submit an SMS message request, our synchronous reply will tell you whether the request was accepted, but does not identify if your message needs multiple parts. This is because we need to check the message's character use against the mobile operator's constraints before we can process the message. See also Single and Multipart Messages. Below is an exmample:\n\n#### Header\n\nThe request header from will look similar to the following:\n\n\n\tPOST / HTTP/1.1\n\tContent-Type: application/json\n\tContent-Length: 424\n\tConnection: close\n\t\n#### Body\n\nThe following examples contain all possible values. However, please note that \"segmentNumber\" and \"totalSegments\" will only be included if applicable (ie for multipart messages).\n\n\t{\n    \t\"messageId\": \"95df01b4-ee98-5cb9-9903-4c221d41eb5e\",\n    \t\"to\": \"37727\",\n    \t\"from\": \"12082223333\",\n    \t\"message\": \"Please sign me up!\"\n    \t\"timestamp\": 2012-11-14T16:13:06.076Z,\n    \t\"statusCode\": 4,\n    \t\"statusDescription\": \"delivered\",\n    \t\"totalSegments\": 1,\n    \t\"direction\": \"in\"\n\t}\n\n# General Questions\n\n**When should I expect a final delivery status?**\n\n<ul><li>Successful delivery: normally a few seconds to a few minutes, unless the first attempts to reach the handset fail.</li><li>Unsuccessful delivery (after retries): normally up to three days. However, we will wait a maximum of 14 days for a delivery receipt from an operator.</li></ul>If the mobile operator did not acknowledge the message request, nor responded in any further way, we will send you a delivery receipt after seven days identifying this issue. During this time we will have used a retry strategy if we don't believe the operator received the request.\n\n**When won't I get a delivery receipt?**\nYou will not receive a delivery receipt if the mobile operator acknowledged they received the message, we expected a further deliver receipt, but the operator did not provide one.\n\n**I have a US or Canadian long code and I never seem to receive delivery receipts with code \"4\"**\nFor US and Canadian landlines and virtual mobile numbers, the operators only return a subset of the delivery receipts you can receive for short codes. They will not return a code 4 \"Message delivered\". Instead, you should treat code 0 as a successful message delivery.\n\n**How should I interpret delivery receipt data for a multipart message?**\nIf you message was split into multiple parts, then you will receive a delivery receipt for each part. Each part shares the same ticket ID. The delivery receipt will identify how many parts were used for the message and will identify which part is the receipt is for.\n\nYou will receive data about each part, including an individual receipt code and description, and you will also receive a summary receipt code and description. This code will help indicate the current status of the entire message:\n\nCode 830, \"Partial message delivery failure\", means that at least one of the message parts has not been successfully delivered.\n\nCode 831, \"Awaiting complete message delivery status\", means that the mobile operator has not returned a delivery receipt for one or more of the message parts. For example, you will get this code if one message part was successfully delivered but we do not have a receipt for the second part. However, if any message part fails delivery, then code 830 is returned.\n\nAny other code means that the result for all parts of the message is the same. For example, if it is a \"success\" code of 0 or 4 then all parts were successfully delivered; if it is the same code to indicate a problem then all parts experienced the same problem.\n\n\n## Carrier ID List\n\n| Carrier Name                                 | ID  | Country | SMS Enabled | MMS Enabled |\n|----------------------------------------------|-----|---------|-------------|-------------|\n| Afghan Wireless                              | 842 | AF      | TRUE        | FALSE       |\n| Airtel                                       | 854 | BD      | TRUE        | FALSE       |\n| Alaska Communications Systems (ACS)          | 592 | US      | TRUE        | FALSE       |\n| Aliant                                       | 509 | CA      | TRUE        | FALSE       |\n| AT&T                                         | 383 | US      | TRUE        | TRUE        |\n| bandwidth.com (includes Republic Wireless)   | 766 | US      | TRUE        | FALSE       |\n| Bell Mobility                                | 80  | CA      | TRUE        | FALSE       |\n| Bluegrass Cellular                           | 562 | US      | TRUE        | FALSE       |\n| Boost Mobile                                 | 534 | US      | TRUE        | FALSE       |\n| Boost-CDMA                                   | 586 | US      | TRUE        | FALSE       |\n| C Spire Wireless (aka Cellular South)        | 386 | US      | TRUE        | FALSE       |\n| CableVision                                  | 695 | US      | TRUE        | FALSE       |\n| Carolina West Wireless                       | 564 | US      | TRUE        | FALSE       |\n| CellCom                                      | 587 | US      | TRUE        | FALSE       |\n| Cellular One of N.E. Arizona                 | 566 | US      | TRUE        | FALSE       |\n| Chariton Valley Cellular                     | 701 | US      | TRUE        | FALSE       |\n| Chat Mobility                                | 619 | US      | TRUE        | FALSE       |\n| Cleartalk (Flat Wireless)                    | 656 | US      | TRUE        | FALSE       |\n| Copper Valley Telecom                        | 802 | US      | TRUE        | FALSE       |\n| Cricket Wireless                             | 795 | US      | TRUE        | FALSE       |\n| Cross Wireless                               | 618 | US      | TRUE        | FALSE       |\n| DTC Wireless                                 | 583 | US      | TRUE        | FALSE       |\n| Duet Wireless                                | 696 | US      | TRUE        | FALSE       |\n| East Kentucky Network (Appalachian Wireless) | 570 | US      | TRUE        | FALSE       |\n| Eastlink Wireless                            | 799 | CA      | TRUE        | FALSE       |\n| ECIT/Cellular One of East Central Illinois   | 590 | US      | TRUE        | FALSE       |\n| Epic Touch                                   | 657 | US      | TRUE        | FALSE       |\n| Etisalat                                     | 714 | AF      | TRUE        | FALSE       |\n| Fido (Microcell)                             | 138 | CA      | TRUE        | FALSE       |\n| GCI Communications                           | 603 | US      | TRUE        | FALSE       |\n| Google Voice                                 | 798 | US      | TRUE        | FALSE       |\n| Guernsey (Sure)                              | 611 | GB      | FALSE       | FALSE       |\n| Illinois Valley Cellular                     | 574 | US      | TRUE        | FALSE       |\n| Inland Cellular                              | 575 | US      | TRUE        | FALSE       |\n| IWireless                                    | 477 | US      | TRUE        | FALSE       |\n| Jawwal                                       | 872 | PS      | TRUE        | FALSE       |\n| Leaco Rural Telephone Cooperative            | 783 | US      | TRUE        | FALSE       |\n| Lemontel                                     | 856 | CY      | TRUE        | FALSE       |\n| Limitless Mobile                             | 588 | US      | TRUE        | FALSE       |\n| Manx Telecom                                 | 613 | GB      | FALSE       | FALSE       |\n| Mega Com                                     | 880 | KG      | TRUE        | FALSE       |\n| Meteor                                       | 420 | IE      | FALSE       | TRUE        |\n| MetroPCS (GSM)                               | 788 | US      | TRUE        | TRUE        |\n| Mid-Rivers Communications                    | 834 | US      | TRUE        | FALSE       |\n| Mobi PCS                                     | 693 | US      | TRUE        | FALSE       |\n| Mobile Wataniya Telecom                      | 858 | PS      | TRUE        | FALSE       |\n| MobileNation/SI Wireless                     | 773 | US      | TRUE        | FALSE       |\n| Mobilicity                                   | 654 | CA      | TRUE        | FALSE       |\n| Mosaic Telecom                               | 658 | US      | TRUE        | FALSE       |\n| MTA Wireless/Matanuska Kenai                 | 774 | US      | TRUE        | FALSE       |\n| MTN                                          | 728 | AF      | TRUE        | FALSE       |\n| MTPCS Cellular One (Cellone Nation)          | 655 | US      | TRUE        | FALSE       |\n| MTS                                          | 510 | CA      | TRUE        | FALSE       |\n| Nemont US UMTS                               | 873 | US      | TRUE        | FALSE       |\n| Nex Tech Communications                      | 578 | US      | TRUE        | FALSE       |\n| NorthernTel                                  | 512 | CA      | TRUE        | FALSE       |\n| Northwest Missouri Cellular                  | 620 | US      | TRUE        | FALSE       |\n| nTelos                                       | 555 | US      | TRUE        | FALSE       |\n| O2                                           | 215 | IE      | FALSE       | TRUE        |\n| O2                                           | 347 | GB      | FALSE       | TRUE        |\n| Ooredoo Qatar                                | 286 | QA      | TRUE        | FALSE       |\n| Optus                                        | 115 | AU      | FALSE       | TRUE        |\n| Orange                                       | 349 | GB      | FALSE       | TRUE        |\n| Panhandle Wireless                           | 626 | US      | TRUE        | FALSE       |\n| Peoples Wireless                             | 694 | US      | TRUE        | FALSE       |\n| Pine Cellular                                | 580 | US      | TRUE        | FALSE       |\n| Pioneer Cellular                             | 621 | US      | TRUE        | FALSE       |\n| Plateau Wireless                             | 651 | US      | TRUE        | FALSE       |\n| Robi                                         | 852 | BD      | TRUE        | FALSE       |\n| Rogers                                       | 75  | CA      | TRUE        | FALSE       |\n| Roshan                                       | 843 | AF      | TRUE        | FALSE       |\n| Rural Independent Network Alliance (RINA)    | 567 | US      | TRUE        | FALSE       |\n| Sagebrush Cellular                           | 796 | US      | TRUE        | FALSE       |\n| Salaam                                       | 841 | AF      | TRUE        | FALSE       |\n| Sasktel                                      | 102 | CA      | TRUE        | FALSE       |\n| SouthernLINC                                 | 763 | US      | TRUE        | FALSE       |\n| Sprint                                       | 34  | US      | TRUE        | TRUE        |\n| SRT Communications                           | 780 | US      | TRUE        | FALSE       |\n| T-Mobile                                     | 79  | US      | TRUE        | TRUE        |\n| T-Mobile                                     | 348 | GB      | FALSE       | TRUE        |\n| Tele2                                        | 855 | HR      | test        | FALSE       |\n| Telebec                                      | 511 | CA      | TRUE        | FALSE       |\n| Telstra                                      | 114 | AU      | FALSE       | TRUE        |\n| Telus                                        | 70  | CA      | TRUE        | FALSE       |\n| Tesco Mobile                                 | 609 | IE      | FALSE       | FALSE       |\n| Three                                        | 474 | GB      | FALSE       | TRUE        |\n| Three                                        | 488 | AU      | FALSE       | FALSE       |\n| Three                                        | 608 | IE      | FALSE       | TRUE        |\n| Thumb Cellular                               | 604 | US      | TRUE        | FALSE       |\n| TracFone (AT&T)                              | 556 | US      | TRUE        | FALSE       |\n| Union Telephone                              | 549 | US      | TRUE        | FALSE       |\n| UNIQA                                        | 846 | SR      | TRUE        | FALSE       |\n| United States Cellular Corp                  | 56  | US      | TRUE        | TRUE        |\n| United Wireless                              | 602 | US      | TRUE        | FALSE       |\n| Verizon                                      | 77  | US      | TRUE        | TRUE        |\n| Viaero Wireless                              | 650 | US      | TRUE        | FALSE       |\n| Videotron                                    | 615 | CA      | TRUE        | FALSE       |\n| Virgin Mobile                                | 381 | GB      | FALSE       | TRUE        |\n| Virgin Mobile                                | 525 | US      | TRUE        | FALSE       |\n| Virgin Mobile                                | 537 | CA      | TRUE        | FALSE       |\n| Vodafone                                     | 116 | AU      | FALSE       | TRUE        |\n| Vodafone                                     | 214 | IE      | FALSE       | TRUE        |\n| Vodafone                                     | 350 | GB      | FALSE       | TRUE        |\n| West Central Wireless                        | 559 | US      | TRUE        | FALSE       |\n| WIND                                         | 653 | CA      | TRUE        | FALSE       |\n\n# Delivery Status codes\n\n|Code|Status|Description|\n|---|---|---|\n|0|Message sent|MobileHelm successfully sent the message to the mobile operator. In some situations the mobile operator will not return any further update than this receipt (e.g. for a message sent using a US long code). If this is your final delivery receipt, treat this as a \"successful\" delivery.<br/>**Retryable**: n/a|\n|2|Message received|MobileHelm has accepted and processed your message request but has yet to forward it to the mobile operator.You will only receive this receipt code in the response to a Get Status request. You are very unlikely to see this code unless you rapidly perform the request after submitting the message. This code is not returned for final delivery receipts.<br/>**Retryable**: n/a|\n|3|Message accepted by mobile operator. Awaiting receipt|MobileHelm has sent the message to the mobile operator. We are still waiting for a response.You will only receive this receipt code in the response to a Get Status request. This code is not returned for final delivery receipts.<br/>**Retryable**: n/a|\n|4|Message delivered|The mobile operator successfully delivered the message to the end user.<br/>**Retryable**: n/a|\n|341|Value of mobileOperatorID does not exist|Your request specified a value for mobileOperatorId that is not one of the pre-defined IDs. For a list of the valid IDs, see Mobile Operator IDs.<br/>**Retryable**: no|\n|345|Mobile operator not found for the destination address|MobileHelm performed an operator lookup for the end user's number and found that the number is not registered with any mobile operators. Note that the region in which we perform the lookup will depend on your messaging use cases — if you are only provisioned for US and Canadian messaging then we will only perform an operator lookup with the US and Canadian mobile operators. Therefore, requests to mobile numbers based in other destinations (like the UK) would come back with this error.<br/>**Retryable**: no|\n|351|Invalid destination address|Mobile operators send us this delivery receipt for a variety of reasons. Unfortunately, these different error conditions are mixed between ones you could retry or not, based on the operator's own use of this code. If you are messaging anywhere outside of the US, we cannot refine the issue further, other than knowing that the message was sent using the right encoding to the correct mobile operator. Txtwire has received more information from the US mobile operators. When messaging a US end user, the possible reasons can be one of:<br/><br/>**Any operator**: The mobile number is not on the mobile operator's network.<br/>**Any operator**: The mobile number has been deactivated. Check the Deact reports on Customer Center.<br/>**AT&T, T-Mobile, and MetroPCS**: The phone number belongs to a prepaid user who does not have enough credit to receive an SMS.<br/>**T-Mobile only**: The end user is not provisioned to receive SMS from all short codes (or from specific short codes).<br/>**T-Mobile only**: The end user is on a VMNO connected via T-Mobile. T-Mobile does not deliver SMS messages from short codes to end users on VMNOs.<br/>**In general**, mobile operators do not want SMS senders to retry MT messages that have failed with error code 351. However, given the range of different possible root causes, we think it is reasonable to retry some of these messages. Here is our suggested behavior for US messaging:<br/>(1) Perform a number preview request to confirm that the number is on the mobile operator's network.<br/>(2) Check the Deact reports to ensure the number is still live<br/>(3) For T-Mobile specifically, you could retry the message using a US long code or other number<br/>(4) If desired, retry the message using a slow retry method; for example, retrying once every day for up to 7 days<br/>**Retryable**: conditional|\n|560|Mobile operator blocking the end user from this short code|Returned for US messaging only. This is commonly returned by Verizon when it has blocked the end user from receiving messages from specific short codes.<br/>**Retryable**: no|\n|561|Content blocked by mobile operator for this end user|Returned for US messaging only. This error usually occurs for Verizon MTs in cases where the content rating assigned by Verizon to the short code is not compatible with the content filtering rating on the end user's account.<br/>**Retryable**: no|\n|562|Short code not provisioned with mobile operator|Returned for US messaging only. The mobile operator rejected the message as the short code is not provisioned for their network. Contact your Txtwire account manager if you believe that you are provisioned for the operator, or if you want to begin provisioning.<br/>**Retryable**: no|\n|563|Short code expired with mobile operator|Returned for US messaging only. The mobile operator rejected the message as the short code is no longer enabled for their network. Contact your Txtwire account manager if you believe that your short code should still be live with the operator, or if you want to re-provision.<br/>**Retryable**: no|\n|564|Short code blocked by mobile operator|Returned for US messaging only. The mobile operator rejected the message as the short code is currently blocked from sending messages across their network. Contact your Txtwire account manager if you are unaware of why you have received this error.<br/>**Retryable**: no|\n|565|End users connected to this MVNO cannot receive short code messages|Returned for US messaging only. The mobile operator rejected the message as the end user is connected to their network via a virtual mobile network operator (VMNO). This restriction is on short code messages.<br/>**Retryable**: no|\n|566|Destination address blocked by mobile operator|Returned for US messaging only. The mobile operator is blocking the phone number from receiving messages from short codes. This is likely due to the end user's account being suspended or barred in some way.<br/>**Retryable**: no|\n|568|Destination address not provisioned for SMS|Returned for US messaging only. Currently Verizon numbers only. Verizon offers plans to end users that do not include SMS.<br/>**Retryable**: no|\n|569|Destination address suspended by mobile operator|Returned for US messaging only. Currently Verizon numbers only. Verizon has suspended the end user's account (most likely for non-payment). However, the number has not yet been deactivated.<br/>**Retryable**: no|\n|571|Program ID rejected by mobile operator|Returned for US messaging only. The program ID in the message request is not provisioned with the mobile operator. Contact your account manager if you receive this error and believe that your program is provisioned or active with the mobile operator.<br/>**Retryable**: no|\n|572|Program ID is not provisioned for this mobile operator or is not active|Returned for US messaging only. Txtwire has determined (before forwarding the message) that the program ID in the message request is not provisioned or currently active with the mobile operator. Contact your account manager if you receive this error and believe that your program is provisioned or active with the mobile operator.<br/>**Retryable**: no|\n|573|Short code blocked by end user|Returned for US messaging only. The end user has asked their mobile operator to block any messages sent from your short code. Additional messages from the same short code must not be sent to the phone number unless the end user opts in again.<br/>**Retryable**: no|\n|574|New subscriptions for this short code are blocked by mobile operator|Returned for US messaging only. Indicates that for a given short code, new subscribers are not allowed to receive or send messages. However, existing subscribers are still allowed to receive and send messages. This error is returned by Sprint and Virgin Mobile USA. Contact your Txtwire account manager if you are unaware of why you have received this error.<br/>**Retryable**: no|\n|576|Program ID blocked by mobile operator|Returned for US messaging only. The mobile operator recognized the program ID but is currently blocking requests that use this ID. Contact your Txtwire account manager if you are unaware of why you have received this error.<br/>**Retryable**: no|\n|577|Account not provisioned to use SMS demo short code|Returned for US messaging only. You have attempted to use an Txtwire short code that is reserved for demoing US messaging. Contact your account manager if you would like to try out US standard rate SMS using our demo short code.<br/>**Retryable**: no|\n|578|Exceeded the time limit for using SMS demo|You can use demo MobileHelm SMS messaging for a limited time only. Contact your account manager to extend your trial.<br/>**Retryable**: no|\n|579|Destination address not in whitelist for SMS demo|When demoing Txtwire SMS messaging, you are limited to sending messages only to a whiltelist of mobile numbers you have told us you wish to message. The phone number you attempted to message is not on the whitelist. Contact Txtwire Support to add the phone number to the whitelist.<br/>**Retryable**: no|\n|580|Exceeded the max number of demo requests|You can only send a limited number of MT messages while demoing Txtwire SMS messaging. Contact your Txtwire account manager if you wish to extend this limit.<br/>**Retryable**: no|\n|581|End user out of prepay credit|The end user does not have enough credit on their phone account to receive the message. You may retry every 24 hours for no more than seven days.<br/>**Retryable**: yes|\n|588|Invalid T-Mobile US end user. Causes: account out of credit or suspended; content blocked; or not a T-Mobile subscriber|Returned for US messaging to T-Mobile only. Here is our suggested behavior:<br/>(1) Perform a number preview request to confirm that the number is on the mobile operator's network.<br/>(2) If the number is on T-Mobile, if desired you could retry the message using a slow retry method; for example, retrying once every day for up to 7 days<br>**Retryable**: no|\n|591|Exceeded the monthly limit on global MT messaging|You have reached the agreed MT message limit on your account for global one-way and two-way messaging. Please contact your Txtwire account manager if you want to discuss changing this limit.<br/>**Retryable**: no|\n|592|Account not provisioned for global one- or two-way SMS|The end user's number has a country code that is from a region of the world that you are not provisioned to reach. For example, if you exclusively message in the US or UK, you will not be provisioned for messaging end users who reside in other regions. If you'd like extend your messaging to reach end users globally, please contact your account manager.<br/>**Retryable**: no|\n|593|Cannot determine which message originator to use|Txtwire could not determine either the message originator to use or the interaction type for your message. This error occurs if you do not include one or more of: source address, ton, or interaction, and you have:<br/>(1)Multiple short codes provisioned for the same country<br/>(2) Both a number and an alphanumeric string available for a region but have not specified the interaction type you'd like.<br/>(3)Txtwire will not arbitrarily pick values to use. For more information see Using Automated Originator Selection<br/>**Retryable**: no|\n|597|Account has no provisioned address that can reach destination|This error occurs if your message request does not include a source address (e.g. your message originator) and there is no pre-provisioned address suitable for messaging the end user. For example, this could occur if your normal messaging is to the UK only and you message another international number without having a default originator set for messaging to that region (or globally). Contact your Txtwire account manager if you want to add a default originator for messaging to any new regions.<br/>**Retryable**: no|\n|598|Interaction not supported for message destination|This error can occur if you set interaction to two-way. In some countries, Txtwire supports one-way only.<br/>**Retryable**: no|\n|599|Values conflict for source address and interaction|Your request specified an interaction and message originator that are incompatible. For example, you will receive this error if you specify \"two-way\" but your originator is an alphanumeric string, like \"ACME123\".<br/>**Retryable**: no|\n|600|Mobile operator <mobileOperatorID> does not support WAP Push|This error can occur when sending a WAP Push to a US or Canadian end user. Not all mobile operators in this region support or allow WAP Push messages. We suggest resending the URL as plain text in an SMS message, as most smartphones will turn this into a hyperlink.<br/>**Retryable**: no|\n|601|Your account is not provisioned for global two-way SMS|The message request had set interaction to two-way, however, your business account is not provisioned for global two-way messaging. The provisioning options are:<br/>**US and Canada messaging**<br/>**Global one-way** (all regions aside from the US and Canada)<br/>**Global two-way** (all regions aside from the US and Canada)<br/>Note that you do not need to set a value for interaction for US and Canada messaging. Contact your Txtwire account manager if you need global two-way messaging provisioned.<br/>**Retryable**: no|\n|810|Failed message delivery|The mobile operator accepted the message, but has informed us that message delivery failed. They do not want retries of the same message. Unfortunately this message may be returned for a variety of reasons, which the mobile operator has decided not to distinguish between.<br/>**Retryable**: no|\n|811|Message expired before it reached handset|Txtwire and/or the mobile operator attempted to deliver the message to the end user for the duration of the MT validity period. However, the message never reached the end user's handset. You can set a validity period in the MT message request. If you did not supply a validity period in the MT, MT delivery is generally retried for up to three days before expiring the MT.<br/>**Retryable**: yes|\n|815|Message submitted to but not acknowledged by mobile operator|When Txtwire sends a message to a mobile operator, we expect to receive an asynchronous reply confirming that the message was received. If we don't receive a response (and after using our retry strategy) then we will return this error to you. It is possible that the end user may have received one or more of the same message (or not received the message at all).<br/>**Retryable**: yes|\n|830|Partial message delivery failure|This means that at least one part of a multipart message has not been successfully delivered. You can receive this receipt code in the response to a Get Status request. However, this code is not returned for final delivery receipts.<br/>**Retryable**: n/a|\n|831|Awaiting complete message delivery status|This means that we have not received delivery receipt data for at least one part of a multipart message. For example, you will get this code if one message part has been successfully delivered but we do not have a receipt for the second message part. However, if any message part has failed delivery, then code 830 is returned. You can receive this receipt code in the response to a Get Status request. However, this code is not returned for final delivery receipts.<br/>**Retryable**: n/a|\n|1010|Temporary system error|This error is returned when MobileHelm was unable to process the finish processing the request. Your message was not sent. You can retry your request in intervals of 10 seconds or more, and contact Txtwire Support if you continue to receive this error.<br/>**Retryable**: yes|\n|1020|Temporary mobile operator system error|The mobile operator is experiencing an outage or system error that should resolve itself shortly. If retries fail beyond the recommended retry period please contact Txtwire Support for assistance troubleshooting.<br/>**Retryable**: yes|\n|1030|Non-retryable mobile operator system error|The mobile operator is experiencing an outage or system error during which they do not want messages retried. Check the system status as reported by Txtwire via email and on Customer Center, and use a slow retry strategy to test for connectivity; e.g. one request attempt every 20 minutes.<br/>**Retryable**: no|\n|3041|US standard rate message blocked by the MobileHelm deactivated numbers firewall|Returned for US messaging only.The phone number is on a list of deactivated numbers, originally provided by the mobile operator.If your request included mobileOperatorId, then try an operator lookup to see whether the number was ported. If your request didn't include mobileOperatorId, then we will already have performed an operator lookup. In this case, the number was not ported to a new operator, and is completely deactivated. It is important that you don't send further messages to the number. For more information see Handling Deactivated Phone Number<br/>**Retryable**: no|\n\n# Error Codes\n\n- **All HTTP 400-499 codes**\n- **350** = Unauthorized Number - you are not authorized to use this local number, toll-free number, or short code.\n- **351** = Duplicate Number - The number is already in use.\n- **352** = Invalid destination address - country code is not recognized or is outside messaging region Txtwire didn't recognize the country code with the number. You may receive this code if:\n    - The number you provided does not have a valid country code (e.g. 991 is not a valid country code).\n    - Your source address cannot send to the destination address country.\n    - You are not provisioned to message US mobile numbers but send a message to a US number.\n- **375** = Source address is blocked or is not provisioned. Either your message originator is currently blocked from sending messages, or you have tried to use a message originator that is not provisioned. For example, with US and Canadian messaging, your message originator must be provisioned with Txtwire and the mobile operators.\nTalk to your Txtwire account manager if you are unsure why you received this error.\n- **420** = Invalid account ID or account password. The authentication details you sent in the requests do not match, or do not exist. Check that your account ID and password are base 64-encoded, and have a colon between them.\n- **431** = Account not provisioned for SMS. We recognized your account, but it is not provisioned for SMS messaging. Talk to your Txtwire account manager to provision SMS messaging.\n- **432** = Account blocked for SMS. Your Txtwire account is blocked from sending SMS messages. Talk to your Txtwire account manager for more information.\n- **540** = Invalid request - mobileOperatorId or destination address value is invalid. \nYou must ensure that end user's phone numbers have a country code, and don't include include any additional symbols or letters, e.g.: \"447700900765\" (UK number) or \"12125550123\" (US number).\n- **All HTTP 500-599 codes**\n- **1000** = Temporary error processing request. This error is returned when Txtwire is temporarily unable to finish processing the request. We may have sent the message on to the mobile operator. Therefore we recommend not retrying your request if you recieve this error more than once, and contact Txtwire Support if you continue to receive this error.\n- **1010** = Temporary system error. This error is returned when Txtwire is temporarily unable to process requests. Retry your request in intervals of 10 seconds or more, and contact Txtwire Support if you continue to receive this error.\n\n<br/>\nFor additional support, contact support@mobilehelm.com\n<br/>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"395734","team":24967,"collectionId":"a807cb92-b06c-49e2-896e-84289a9f6b18","publishedId":"TzJx9cWb","public":true,"publicUrl":"https://docs.mobilehelm.com","privateUrl":"https://go.postman.co/documentation/395734-a807cb92-b06c-49e2-896e-84289a9f6b18","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-04-24T20:27:41.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/511dad4db8f21f550495ef648e9c090cc1f2619030932de7e422c99e05a60d06","favicon":"https://mobilehelm.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://docs.mobilehelm.com/view/metadata/TzJx9cWb"}