Prerequisites
- A Twilio account
- An SMS-capable Twilio phone number
- A Messaging Service containing that phone number
- Your Twilio Account SID and Auth Token
- Your Twilio Messaging Service SID
Setup
1
Get your Twilio credentials
In Twilio, open the console and copy your Account SID and Auth Token. The Messaging Service SID is on the Messaging Services page.
2
Configure in Courier
Open the in Courier, enter your Account SID, Auth Token, and Messaging Service SID, then click “Save.”
Trial accounts
Twilio trial accounts may only send to verified numbers. See the Twilio trial account guide.
Overrides
covers the two levels and which one wins. Overrides change the request body Courier sends to Twilio. You can override any field on Twilio’sMessages.json endpoint, listed in the Twilio message resource reference.
The Twilio API uses PascalCase field names (
Body, To, From). Courier auto-capitalizes body override keys for backwards compatibility, so both "to" and "To" work.Troubleshooting
Error 30005: Unknown or Inactive Destination
Error 30005: Unknown or Inactive Destination
Carrier issue, signal loss, or inactive number.
- Verify the number is active and formatted correctly (E.164)
- Check device status and signal
- Test with other devices on the same carrier
Error 30006: Landline or Unreachable Carrier
Error 30006: Landline or Unreachable Carrier
The message went to a landline or an unreachable carrier.
- Use the Lookup API to check if the number is a landline
- Try an alternative phone number
Error 30007: Message Filtered
Error 30007: Message Filtered
Twilio or the carrier filtered the message for a policy violation.
- Ensure compliance with Twilio’s Messaging and Acceptable Use Policies
- Secure account credentials
- Open a support request if you suspect a mistake
Error 30008: Unknown Delivery Failure
Error 30008: Unknown Delivery Failure
The message failed for unknown reasons.
- Test with a simpler message and a different sender ID
- Check device roaming status
- Contact Twilio support with recent message SIDs if the issue persists
Error 20003: Permission Denied
Error 20003: Permission Denied
No permission to access the requested resource.
- Verify the correct Auth Token and Account SID combination
- Check account type (sub-account vs master, test vs live)
- Confirm API Key and Auth Token are valid
Error 20404: Resource Not Found
Error 20404: Resource Not Found
The resource doesn’t exist or isn’t available.
- Check that the resource exists and verify API case-sensitivity
- Verify Account SID and base URL
Error 21211: Invalid To Phone Number
Error 21211: Invalid To Phone Number
The recipient number is invalid or formatted incorrectly.
- Ensure E.164 format with the correct country code
- Avoid calling or messaging a Twilio number from itself
Error 21408: Permission Not Enabled for Region
Error 21408: Permission Not Enabled for Region
- Enable permission in Geo-Permissions settings
Error 21610: SMS STOP Filter
Error 21610: SMS STOP Filter
The recipient unsubscribed with the “STOP” keyword.
- Request the recipient text “START” to resubscribe
- Ensure you have consent for messaging
Error 11200: HTTP Retrieval Failure
Error 11200: HTTP Retrieval Failure
Twilio could not retrieve content from the given URL.
- Verify web server status and accessibility
- Check for network issues
- Ensure proper server configuration for static resources
Error 12300: Invalid Content-Type
Error 12300: Invalid Content-Type
Twilio could not process the URL’s Content-Type.
- Verify the correct Content-Type is returned by the server
- Ensure the URL refers to a valid, acceptable resource
Provider details
routing.channels instead is supported, and sends through just this provider.
Send to a specific provider
When that is worth doing, and what you give up: failover, channel priority, and providers you add later.