Use the Programmable Messaging API with Twilio Regions
You can use the Programmable Messaging API in Twilio's Ireland (IE1) region for EU data residency.
For more information on how SMS personal data is processed when using this feature, see the overview of EU Data Residency for SMS.
This guide explains how to configure your application to use the Programmable Messaging API with the IE1 Region. For a general overview of Twilio Regions, see Understanding Twilio Regions. For information about the Messaging API, see Programmable Messaging API Overview.
With SMS in the IE1 region, you can use the Programmable Messaging API to send and receive SMS messages with EU Data Residency. This includes:
- Sender Configuration: Configure phone numbers and short codes for IE1 using the Regional Configuration API.
- Sending SMS: Outbound SMS using alphanumeric sender IDs, phone numbers, and short codes.
- Programmable Messaging API Messages resource to send and manage SMS messages.
- Messaging Services resource to manage messaging services and their sender pools.
- Receiving SMS: Inbound SMS processing with webhooks configured through either:
- The Incoming Phone Numbers resource or the ShortCodes resource.
- Messaging Services webhooks.
For an in-depth list of available Messaging features in IE1, see Messaging IE1 Feature Availability.
Warning
Messaging features in IE1 are only available in the new Twilio Console. The legacy Twilio Console does not support Messaging IE1 features.
You can access these messaging features for SMS in IE1 in the new Twilio Console:
- Configuring phone numbers for IE1 in Numbers and Senders.
- Setting a phone number's active region to IE1 from the Regional tab.
- Configuring a phone number's webhook from the Messaging tab.
- Managing Messaging Services in IE1.
- Messaging Logs in IE1.
- Messaging Insights in IE1.
For an in-depth list of available Messaging features in IE1, see Messaging IE1 Feature Availability.
Any Twilio customer can use the Programmable Messaging API in IE1. To get started, follow these steps:
To authenticate requests to the IE1 Region, you must create region-specific API keys. See Manage regional API credentials to get started.
To send SMS with phone numbers or short codes, update the number's region to IE1 for messaging. This allows the number to send in the region and processes inbound messages in IE1.
To set a phone number region to IE1, follow these steps in the Twilio Console:
- Go to Communications > Numbers & senders > Overview, then click your phone number.
- In the Regional tab, check your phone number's active region.
- Click Change active region.
- Select your desired region and click Update region.
To set a short code's region to IE1 or update a phone number's region in code, use the Regional Configuration API.
Alphanumeric sender IDs do not require additional configuration to be used in IE1, since they do not support inbound messaging.
Once your credentials and senders are prepared, you can begin sending messages by targeting the IE1-specific base API URLs or by configuring your SDK to use the IE1 region. See the API or SDK sections for details and examples.
To make API requests to the IE1 Region, use the following base URLs:
| API Resource | API URL for Ireland (IE1) Region |
|---|---|
| Messages | https://api.dublin.ie1.twilio.com/2010-04-01/Accounts/$ACCOUNT_SID/Messages/ |
| Messaging Services | https://messaging.dublin.ie1.twilio.com/v1/Services |
| Incoming Phone Numbers | https://api.dublin.ie1.twilio.com/2010-04-01/Accounts/$ACCOUNT_SID/IncomingPhoneNumbers/ |
| Short Codes | https://api.dublin.ie1.twilio.com/2010-04-01/Accounts/$ACCOUNT_SID/SMS/ShortCodes/ |
To send an SMS message through the IE1 Region, make a POST request to the Messages resource using the IE1 base URL.
1curl -X POST "https://api.dublin.ie1.twilio.com/2010-04-01/Accounts/$ACCOUNT_SID/Messages.json" \2--data-urlencode "Body=Hello from IE1!" \3--data-urlencode "From=+353XXXXXXXXX" \4--data-urlencode "To=+353XXXXXXXXX" \5-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
Info
Messaging Services are isolated within their region and cannot be used in or transferred to a different region.
You can create and manage messaging services using the Services resource in IE1 or Messaging Services in the Console. For a list of Messaging Service features supported in IE1, see Messaging IE1 Feature Availability.
To create a Messaging Service in the IE1 Region, make a POST request to the Services resource using the IE1 base URL.
1curl -X POST "https://messaging.dublin.ie1.twilio.com/v1/Services" \2--data-urlencode "FriendlyName=My IE1 Messaging Service" \3-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
To add a sender to an IE1 Messaging Service, make a POST request to the appropriate subresource under the Messaging Service using the IE1 base URL.
Configure region first
Before adding phone numbers and short codes to a Messaging Service in IE1, configure them for IE1. Alphanumeric sender IDs don't require configuration.
1curl -X POST "https://messaging.dublin.ie1.twilio.com/v1/Services/{ServiceSid}/PhoneNumbers" \2--data-urlencode "PhoneNumber=+35XXXXXXXXXX" \3-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
1curl -X POST "https://messaging.twilio.com/v1/Services/{ServiceSid}/AlphaSenders" \2--data-urlencode "AlphaSender=My company" \3-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
1curl -X POST "https://messaging.dublin.ie1.twilio.com/v1/Services/{ServiceSid}/ShortCodes" \2--data-urlencode "ShortCodeSid={ShortCodeSid}" \3-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
To send messages with the Messaging Service in IE1, include the Messaging Service SID as the MessagingServiceSid parameter in your API request:
1curl -X POST "https://api.dublin.ie1.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json" \2--data-urlencode "Body=Hello from IE1 Messaging Service!" \3--data-urlencode "MessagingServiceSid={MessagingServiceSid}" \4--data-urlencode "To=+353XXXXXXXXX" \5-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
Inbound webhooks for messages received in IE1 can be configured at the phone number, short code, or messaging service level.
- To set a phone number webhook, go to Numbers and Senders or the service webhook from Messaging Services in the Console.
- To set short code webhooks, use the API.
Using the Incoming Phone Numbers resource:
1curl -X POST "https://api.dublin.ie1.twilio.com/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{PhoneNumberSid}.json" \2--data-urlencode "SmsUrl=https://www.example.com/sms" \3--data-urlencode "SmsMethod=POST" \4-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
Using the ShortCodes resource:
1curl -X POST "https://api.dublin.ie1.twilio.com/2010-04-01/Accounts/{AccountSid}/SMS/ShortCodes/{ShortCodeSid}.json" \2--data-urlencode "SmsUrl=https://www.example.com/sms" \3--data-urlencode "SmsMethod=POST" \4-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
Using the Messaging Services resource:
1curl -X POST "https://messaging.dublin.ie1.twilio.com/v1/Services/{ServiceSid}" \2--data-urlencode "InboundRequestUrl=https://www.example.com/sms" \3--data-urlencode "InboundMethod=POST" \4--data-urlencode "UseInboundWebhookOnNumber=false" \5-u {IE1_API_KEY_SID}:{IE1_API_KEY_SECRET}
When using Twilio SDKs, specify the edge and region parameters to target the IE1 Region. For example, using the Node.js SDK:
1const twilio = require('twilio');23const ie1ApiKey = 'IE1_API_KEY';4const ie1ApiSecret = 'IE1_API_SECRET';56const client = twilio(ie1ApiKey, ie1ApiSecret, {7accountSid: accountSid,8edge: 'dublin',9region: 'ie1'10});