Integration guide
Authenticate, fill in the parameters, and send.
1. Authentication
Call from your server with api-key and Content-Type: application/json headers.
2. Understand params and placeholders
${code} reserves a place in your template. params.code supplies the value for this message:
Your code is ${code}, valid for 5 minutes.{ "params": { "code": "008848" } }Your code is 008848, valid for 5 minutes.
Use code as the key, not ${code}, and match the placeholder’s case. Values must be digits-only strings, such as "008848". Omit params if there are no placeholders.
3. Send an SMS
https://api.starsg.ai/api/product/sms/send| Field | Type | Required | What to enter |
|---|---|---|---|
| templateId | string | Yes | Your approved template ID, such as SMS_0123456789. Preserve case. |
| countryCode | string | Yes | Country or region calling code, such as "33" for France, without + and separate from phone. See the destination list below. |
| phone | string | Yes | Recipient phone number without the country calling code. |
| params | object<string, string> | Per template | Placeholder names mapped to actual values, e.g. {"code":"008848"}. Values default to digits-only strings. Omit if the template has no placeholders. |
Copy and customize this example
This example uses France’s calling code, 33. Replace the API key, approved template ID and recipient with your own test number, and confirm the destination is available.
curl -X POST 'https://api.starsg.ai/api/product/sms/send' \
-H 'api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"templateId": "SMS_0123456789",
"countryCode": "33",
"phone": "612345678",
"params": { "code": "008848" }
}'Send a JSON object directly: no body wrapper or extra /v1. This example uses a template containing ${code}.
4. Check the result
Check success first. Save messageId (channel message ID) and resultId (send record ID) on success; inspect errorCode/errorMsg on failure. Sending success does not confirm receipt on the phone.
{
"success": true,
"data": {
"messageId": "channel-message-id",
"resultId": 9
},
"errorCode": null,
"errorMsg": null
}{
"success": false,
"data": null,
"errorCode": "END_USER_TEMPLATE_NOT_APPROVED",
"errorMsg": "Template is awaiting review"
}Common errors and next steps
001 | Check required fields, JSON, country code, phone and digits-only string values in params. |
END_USER_TEMPLATE_NOT_FOUND | Check the complete template ID and ownership by the user associated with your API key. |
END_USER_TEMPLATE_NOT_APPROVED | Wait for template approval before sending. |
END_USER_TEMPLATE_REJECTED | Read the rejection reason and apply with revised content. |
USER_SEND_TOO_MUCH / USER_REG_PHONE_SEND_TOO_MUCH | Frequency limit reached. Reduce the call rate. |
ENV_LIMITER / TEMPLATE_LIMITER | Environment or template policy restriction. Follow the error details and contact support. |
SEND_FAIL / SMS_SEND_FAIL / END_USER_SEND_FAILED / 999 | Save the error and request identifiers for support. Do not blindly resend. |
METERING_MISSING | The SMS may already have been sent, but metering data is missing. Do not automatically retry; save resultId and contact support. |
Supported countries and regions
Check destination availability before sending. Destinations requiring SID registration are coming soon. Enter the calling code below in countryCode without +, and enter the phone number separately in phone.
| Country / region | Calling code | Availability |
|---|---|---|
| United States | +1 | Coming soon |
| Russia | +7 | Coming soon |
| Egypt | +20 | Coming soon |
| South Africa | +27 | Available |
| Greece | +30 | Available |
| Netherlands | +31 | Available |
| Belgium | +32 | Available |
| France | +33 | Available |
| Spain | +34 | Available |
| Hungary | +36 | Available |
| Italy | +39 | Available |
| Romania | +40 | Available |
| Switzerland | +41 | Available |
| Austria | +43 | Available |
| United Kingdom | +44 | Coming soon |
| Denmark | +45 | Available |
| Norway | +47 | Available |
| Sweden | +46 | Available |
| Poland | +48 | Available |
| Germany | +49 | Available |
| Peru | +51 | Available |
| Mexico | +52 | Available |
| Argentina | +54 | Available |
| Brazil | +55 | Available |
| Chile | +56 | Available |
| Colombia | +57 | Available |
| Venezuela | +58 | Available |
| Malaysia | +60 | Available |
| Australia | +61 | Coming soon |
| Indonesia | +62 | Coming soon |
| Philippines | +63 | Coming soon |
| New Zealand | +64 | Available |
| Singapore | +65 | Coming soon |
| Thailand | +66 | Coming soon |
| Japan | +81 | Available |
| South Korea | +82 | Available |
| Vietnam | +84 | Coming soon |
| China | +86 | Coming soon |
| Türkiye | +90 | Coming soon |
| India | +91 | Available |
| Pakistan | +92 | Coming soon |
| Afghanistan | +93 | Coming soon |
| Sri Lanka | +94 | Coming soon |
| Myanmar (Burma) | +95 | Coming soon |
| South Sudan | +211 | Available |
| Morocco | +212 | Coming soon |
| Algeria | +213 | Available |
| Tunisia | +216 | Available |
| Libya | +218 | Coming soon |
| Gambia | +220 | Available |
| Senegal | +221 | Available |
| Mauritania | +222 | Coming soon |
| Mali | +223 | Coming soon |
| Guinea | +224 | Coming soon |
| Côte d’Ivoire | +225 | Available |
| Burkina Faso | +226 | Available |
| Niger | +227 | Available |
| Togo | +228 | Available |
| Benin | +229 | Coming soon |
| Mauritius | +230 | Coming soon |
| Liberia | +231 | Coming soon |
| Sierra Leone | +232 | Coming soon |
| Ghana | +233 | Coming soon |
| Nigeria | +234 | Coming soon |
| Chad | +235 | Coming soon |
| Central African Republic | +236 | Available |
| Cameroon | +237 | Coming soon |
| Cape Verde | +238 | Available |
| São Tomé & Príncipe | +239 | Available |
| Equatorial Guinea | +240 | Available |
| Gabon | +241 | Available |
| Congo - Brazzaville | +242 | Available |
| Congo - Kinshasa | +243 | Available |
| Angola | +244 | Available |
| Guinea-Bissau | +245 | Coming soon |
| British Indian Ocean Territory | +246 | Available |
| Ascension Island | +247 | Available |
| Seychelles | +248 | Available |
| Sudan | +249 | Coming soon |
| Rwanda | +250 | Coming soon |
| Ethiopia | +251 | Coming soon |
| Somalia | +252 | Available |
| Djibouti | +253 | Available |
| Kenya | +254 | Coming soon |
| Tanzania | +255 | Coming soon |
| Uganda | +256 | Coming soon |
| Burundi | +257 | Available |
| Mozambique | +258 | Available |
| Zambia | +260 | Coming soon |
| Madagascar | +261 | Available |
| Réunion | +262 | Available |
| Zimbabwe | +263 | Available |
| Namibia | +264 | Available |
| Malawi | +265 | Coming soon |
| Lesotho | +266 | Available |
| Botswana | +267 | Available |
| Eswatini | +268 | Available |
| Comoros | +269 | Available |
| St. Helena | +290 | Available |
| Eritrea | +291 | Available |
| Aruba | +297 | Available |
| Faroe Islands | +298 | Available |
| Greenland | +299 | Available |
| Gibraltar | +350 | Available |
| Portugal | +351 | Available |
| Luxembourg | +352 | Available |
| Ireland | +353 | Available |
| Iceland | +354 | Available |
| Albania | +355 | Available |
| Malta | +356 | Available |
| Cyprus | +357 | Available |
| Finland | +358 | Available |
| Bulgaria | +359 | Available |
| Lithuania | +370 | Available |
| Latvia | +371 | Available |
| Estonia | +372 | Available |
| Moldova | +373 | Available |
| Armenia | +374 | Coming soon |
| Belarus | +375 | Coming soon |
| Andorra | +376 | Available |
| Monaco | +377 | Available |
| San Marino | +378 | Available |
| Ukraine | +380 | Available |
| Serbia | +381 | Available |
| Montenegro | +382 | Available |
| Kosovo | +383 | Available |
| Croatia | +385 | Available |
| Slovenia | +386 | Available |
| Bosnia & Herzegovina | +387 | Available |
| North Macedonia | +389 | Available |
| Czechia | +420 | Coming soon |
| Slovakia | +421 | Available |
| Liechtenstein | +423 | Available |
| Falkland Islands | +500 | Available |
| Belize | +501 | Available |
| Guatemala | +502 | Available |
| El Salvador | +503 | Available |
| Honduras | +504 | Available |
| Nicaragua | +505 | Available |
| Costa Rica | +506 | Available |
| Panama | +507 | Available |
| Saint Pierre and Miquelon | +508 | Available |
| Haiti | +509 | Available |
| Guadeloupe | +590 | Available |
| Bolivia | +591 | Available |
| Guyana | +592 | Available |
| Ecuador | +593 | Available |
| French Guiana | +594 | Available |
| Paraguay | +595 | Available |
| Martinique | +596 | Available |
| Suriname | +597 | Available |
| Uruguay | +598 | Available |
| Caribbean Netherlands (including Curaçao) | +599 | Available |
| Timor-Leste | +670 | Available |
| Norfolk Island | +672 | Available |
| Brunei | +673 | Available |
| Nauru | +674 | Available |
| Papua New Guinea | +675 | Available |
| Tonga | +676 | Available |
| Solomon Islands | +677 | Available |
| Vanuatu | +678 | Available |
| Fiji | +679 | Available |
| Palau | +680 | Available |
| Wallis & Futuna | +681 | Available |
| Cook Islands | +682 | Available |
| Niue | +683 | Available |
| Samoa | +685 | Available |
| Kiribati | +686 | Available |
| New Caledonia | +687 | Available |
| Tuvalu | +688 | Available |
| French Polynesia | +689 | Available |
| Tokelau | +690 | Available |
| Micronesia | +691 | Available |
| Marshall Islands | +692 | Available |
| Hong Kong, China | +852 | Coming soon |
| Macao, China | +853 | Available |
| Cambodia | +855 | Coming soon |
| Laos | +856 | Available |
| Bangladesh | +880 | Available |
| Taiwan, China | +886 | Available |
| Maldives | +960 | Available |
| Lebanon | +961 | Available |
| Jordan | +962 | Coming soon |
| Iraq | +964 | Available |
| Kuwait | +965 | Coming soon |
| Saudi Arabia | +966 | Coming soon |
| Yemen | +967 | Coming soon |
| Oman | +968 | Coming soon |
| Palestine | +970 | Coming soon |
| United Arab Emirates | +971 | Coming soon |
| Israel | +972 | Available |
| Bahrain | +973 | Available |
| Qatar | +974 | Coming soon |
| Bhutan | +975 | Available |
| Mongolia | +976 | Available |
| Nepal | +977 | Coming soon |
| Tajikistan | +992 | Available |
| Turkmenistan | +993 | Available |
| Azerbaijan | +994 | Available |
| Georgia | +995 | Available |
| Kyrgyzstan | +996 | Available |
| Uzbekistan | +998 | Available |
| Bahamas | +1242 | Available |
| Barbados | +1246 | Available |
| Anguilla | +1264 | Available |
| Antigua & Barbuda | +1268 | Available |
| British Virgin Islands | +1284 | Available |
| U.S. Virgin Islands | +1340 | Available |
| Cayman Islands | +1345 | Available |
| Bermuda | +1441 | Available |
| Grenada | +1473 | Available |
| Turks & Caicos Islands | +1649 | Available |
| Montserrat | +1664 | Available |
| Northern Mariana Islands | +1670 | Available |
| Guam | +1671 | Available |
| American Samoa | +1684 | Available |
| Sint Maarten | +1721 | Available |
| St. Lucia | +1758 | Available |
| Dominica | +1767 | Available |
| Puerto Rico | +1787 | Available |
| Dominican Republic | +1809 | Available |
| Trinidad & Tobago | +1868 | Available |
| St. Kitts & Nevis | +1869 | Available |
| Jamaica | +1876 | Available |