<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Common SMS HTTP Statuses and Codes Explained in SMS</title>
    <link>https://community.sinch.com/t5/SMS/Common-SMS-HTTP-Statuses-and-Codes-Explained/ta-p/14163</link>
    <description>&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;H4&gt;&lt;STRONG&gt;HTTP Response Statuses&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HTTP statuses indicate whether the API has processed your request successfully and if not, what kind of error was encountered.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;HTTP error code&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;400 - Bad Request&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;The API has detected mistakes in your request syntax. The SMS REST API provides codes to show exactly what is wrong (see below.)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;403 - Forbidden&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;User is forbidden from accessing a REST API resource.&amp;nbsp;The SMS REST API provides codes to show exactly what the reason is (see below.)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;404 - Not Found&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;
&lt;P&gt;The requested API resource has not been found. This can happen if:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;the resource has not had time to load&lt;/LI&gt;
&lt;LI&gt;the resource is no longer available&lt;/LI&gt;
&lt;LI&gt;a user types an invalid endpoint.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&lt;STRONG&gt;Codes&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the SMS REST API, statuses 400 and 403 are subdivided into &lt;EM&gt;codes&lt;/EM&gt;. Codes can be used to programmatically recognise errors and allow for more accurate diagnosis and debugging than HTTP statuses alone.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;Codes for 400&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="width: 112%;" border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;STRONG&gt;Code&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;STRONG&gt;Troubleshooting Steps&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE lang="json"&gt;syntax_invalid_json&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;SPAN&gt;The JSON in the request is invalid or doesn't conform to the API specification.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;SPAN&gt;Use an online JSON validator such as&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://jsonlint.com/" target="_blank" rel="noopener"&gt;https://jsonlint.com/&lt;/A&gt;&lt;SPAN&gt;. This should identify the invalid JSON syntax.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;CODE lang="json"&gt;syntax_invalid_parameter_format&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;The format of a field value is invalid. For example, if a MSISDN (phone number) is not correctly formatted. If you, for example, forgot to add the area code, this error will appear.&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Read the "message" field in the JSON response. This should provide the information needed to identify the syntax error.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;BR /&gt;&lt;CODE lang="json"&gt;syntax_constraint_violation​&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;The request body doesn't fulfil all of the constraints set by the API. So if a required field is missing, you'll see this error. All required fields are marked in red text in the API reference.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Read the "message" field in the JSON response. This should provide the information needed to identify the syntax error.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;Codes for 403&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="width: 112%;" border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;STRONG&gt;Code&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;STRONG&gt;Troubleshooting Steps&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;CODE lang="json"&gt;blocked_account&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Indicates that your account has been blocked.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Reach out to your account manager for further assistance.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;CODE lang="json"&gt;illegal_number_type&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Illegal phone number type of MSISDN for a chosen region was used.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Send to a different MSISDN.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;CODE lang="json"&gt;missing_callback_url&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;A callback has been requested, but no URL is provided.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;There are two ways to add a callback URL to your request:&lt;/SPAN&gt;
&lt;OL&gt;
&lt;LI&gt;Through the dashboard as explained&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sinch.com/t5/SMS/How-do-I-assign-a-callback-URL-to-an-SMS-service-plan/ta-p/8414" target="_blank" rel="noopener"&gt;here&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Directly in the request body (this will only work for the particular SMS.)&lt;/LI&gt;
&lt;/OL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Refer to the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://developers.sinch.com/docs/sms/api-reference/status-codes/" target="_blank" rel="noopener"&gt;Sinch SMS REST API Developer Documentation&lt;/A&gt;&amp;nbsp;for a complete list of all the HTTP status codes.&lt;/EM&gt;&lt;/P&gt;
&lt;/DIV&gt;</description>
    <pubDate>Tue, 27 Feb 2024 11:41:02 GMT</pubDate>
    <dc:creator>Alexander_Mair</dc:creator>
    <dc:date>2024-02-27T11:41:02Z</dc:date>
    <item>
      <title>Common SMS HTTP Statuses and Codes Explained</title>
      <link>https://community.sinch.com/t5/SMS/Common-SMS-HTTP-Statuses-and-Codes-Explained/ta-p/14163</link>
      <description>&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;H4&gt;&lt;STRONG&gt;HTTP Response Statuses&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HTTP statuses indicate whether the API has processed your request successfully and if not, what kind of error was encountered.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;HTTP error code&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;400 - Bad Request&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;The API has detected mistakes in your request syntax. The SMS REST API provides codes to show exactly what is wrong (see below.)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;403 - Forbidden&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;User is forbidden from accessing a REST API resource.&amp;nbsp;The SMS REST API provides codes to show exactly what the reason is (see below.)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="30%"&gt;&lt;STRONG&gt;404 - Not Found&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="70%"&gt;
&lt;P&gt;The requested API resource has not been found. This can happen if:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;the resource has not had time to load&lt;/LI&gt;
&lt;LI&gt;the resource is no longer available&lt;/LI&gt;
&lt;LI&gt;a user types an invalid endpoint.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&lt;STRONG&gt;Codes&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the SMS REST API, statuses 400 and 403 are subdivided into &lt;EM&gt;codes&lt;/EM&gt;. Codes can be used to programmatically recognise errors and allow for more accurate diagnosis and debugging than HTTP statuses alone.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;Codes for 400&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="width: 112%;" border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;STRONG&gt;Code&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;STRONG&gt;Troubleshooting Steps&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE lang="json"&gt;syntax_invalid_json&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;SPAN&gt;The JSON in the request is invalid or doesn't conform to the API specification.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;SPAN&gt;Use an online JSON validator such as&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://jsonlint.com/" target="_blank" rel="noopener"&gt;https://jsonlint.com/&lt;/A&gt;&lt;SPAN&gt;. This should identify the invalid JSON syntax.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;CODE lang="json"&gt;syntax_invalid_parameter_format&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;The format of a field value is invalid. For example, if a MSISDN (phone number) is not correctly formatted. If you, for example, forgot to add the area code, this error will appear.&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Read the "message" field in the JSON response. This should provide the information needed to identify the syntax error.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;BR /&gt;&lt;CODE lang="json"&gt;syntax_constraint_violation​&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;The request body doesn't fulfil all of the constraints set by the API. So if a required field is missing, you'll see this error. All required fields are marked in red text in the API reference.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Read the "message" field in the JSON response. This should provide the information needed to identify the syntax error.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;Codes for 403&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE style="width: 112%;" border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;STRONG&gt;Code&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;STRONG&gt;Troubleshooting Steps&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;CODE lang="json"&gt;blocked_account&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Indicates that your account has been blocked.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Reach out to your account manager for further assistance.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;CODE lang="json"&gt;illegal_number_type&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Illegal phone number type of MSISDN for a chosen region was used.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;Send to a different MSISDN.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%"&gt;&lt;CODE lang="json"&gt;missing_callback_url&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;A callback has been requested, but no URL is provided.&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD width="40%"&gt;&lt;SPAN&gt;There are two ways to add a callback URL to your request:&lt;/SPAN&gt;
&lt;OL&gt;
&lt;LI&gt;Through the dashboard as explained&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sinch.com/t5/SMS/How-do-I-assign-a-callback-URL-to-an-SMS-service-plan/ta-p/8414" target="_blank" rel="noopener"&gt;here&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Directly in the request body (this will only work for the particular SMS.)&lt;/LI&gt;
&lt;/OL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Refer to the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://developers.sinch.com/docs/sms/api-reference/status-codes/" target="_blank" rel="noopener"&gt;Sinch SMS REST API Developer Documentation&lt;/A&gt;&amp;nbsp;for a complete list of all the HTTP status codes.&lt;/EM&gt;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 27 Feb 2024 11:41:02 GMT</pubDate>
      <guid>https://community.sinch.com/t5/SMS/Common-SMS-HTTP-Statuses-and-Codes-Explained/ta-p/14163</guid>
      <dc:creator>Alexander_Mair</dc:creator>
      <dc:date>2024-02-27T11:41:02Z</dc:date>
    </item>
  </channel>
</rss>

