As of November 2022, Twilio no longer provides support for Authy SMS/Voice-only customers. Customers who were also using Authy TOTP or Push prior to March 1, 2023 are still supported. The Authy API is now closed to new customers and will be fully deprecated in the future.
For new development, we encourage you to use the Verify v2 API.
Existing customers will not be impacted at this time until Authy API has reached End of Life. For more information about migration, see Migrating from Authy to Verify for SMS.
As a RESTful API, Twilio's Authy API will return HTTP responses and error codes which will help verify normal behavior as well as contextualize exceptions.
The following status codes are used:
200
: OK
Response is correct. The body of the response will include the data requested.
400
: Bad Request
There was an error with the request. The body of the response will have more info.
401
: Unauthorized
Token is invalid. If your API key is wrong a 401 will be generated. Please check the API key.
429
: Too Many Requests
API usage limit. If you reach API usage limits, a 429 will be returned. Please wait until you pass the limit and attempt the call again.
503
: Service Unavailable
There are multiple possible reasons for a HTTP 503
error.
When the API returns a status other than 200
, we add an error code in the message body. This table enumerates and describes all of the possible error codes.
Error Code | HTTP Status | Error Message | Description | Category | |
---|---|---|---|---|---|
60000 | 400 | An error occurred | Default error message when an error is not configured correctly. | ALL | |
60001 | 401 | Invalid API key | When the given API key does not correspond to any Authy app | ALL | |
60002 | 400 | Invalid request | A request containing invalid parameters or invalid data | ALL | |
60003 | 429 | DoS protection | Client has reached the maximum number of requests per time unit on the given endpoint | ALL | |
60004 | 400 | Invalid parameter | The given parameter is not valid | ALL | |
60005 | 400 | UTF-8 invalid | Client sending request with UTF-8 invalid characters | ALL | |
60006 | 503 | Phone calls are not enabled on this account | The application has not enabled phone calls (they can do that from the dashboard) | TOTP | |
60007 | 503 | SMS is not enabled | The application has disabled sms (they can do that from the dashboard) | TOTP | |
60008 | 403 | Your account is suspended | The account has been suspended on Twilio side or for internal reason | TOTP | |
60009 | 429 | Monthly SMS limit reached | Application has reached monthly sms limit | TOTP | |
60010 | 429 | Daily SMS limit reached | Application has reached daily sms limit | TOTP | |
60011 | 429 | Monthly Phone Calls limit reached | Application has reached monthly phone calls limit | TOTP | |
60012 | 429 | Daily Phone Calls limit reached | Application has reached daily phone calls limit | TOTP | |
60013 | 503 | Country code is banned | Request cannot be completed because the country code is banned | TOTP | |
60014 | 503 | Call was not started | An error occurred while making the phone call | TOTP | |
60015 | 503 | SMS token was not sent | The sms TOTP could not be sent, internal error | TOTP | |
60016 | 401 | User doesn't exist | The given user id does not correspond to any user | TOTP | |
60017 | 503 | User suspended | The action cannot be completed because the user has been suspended | TOTP | |
60018 | 503 | User disabled | The action cannot be completed because the user's device has been suspended | TOTP | |
60019 | 401 | Token reused | The token given was used previously, it does not work twice | TOTP | |
60020 | 401 | Token invalid | The token given was not valid | TOTP | |
60021 | 403 | Phone verification couldn't be created | An error occurring creating phone verification | Phone Verification | |
60022 | 401 | Verification code is incorrect | The phone verification code was incorrect | Phone Verification | |
60023 | 404 | Phone verification not found | The phone verification was not found with the parameters given | Phone Verification | |
60024 | 403 | Couldn't get phone information | Fetching phone info failed | Phone Intelligence | |
60025 | 503 | Server error while querying phone information. Please try again later | Internal error while querying phone info. | Phone Intelligence | |
60026 | 404 | User doesn't exist | The given user id does not correspond to any user | Users | |
60027 | 400 | User was not valid | The user is invalid, it cannot be stored | Users | |
60028 | 403 | The user cannot be deleted | There was an error deleting the user | Users | |
60029 | 403 | Activity couldn't be created | There was an error creating the activity for the user | Users | |
60030 | 400 | You are not passing the user params correctly | User parameters are incorrect | Users | |
60031 | 403 | Action not authorized | Customer has not an authorization to complete the action | Users | |
60032 | 400 | SMS was not found | Used by the Feedback API, when a record cannot be found with the given SMS id | Feedback | |
60033 | 400 | Phone number is invalid | The phone number or country code is invalid | ALL | |
60034 | 400 | Invalid registration request | There was an error creating the registration request | Registration | |
60035 | 404 | Registration request not found | The registration request was not found with the parameters given | Registration | |
60036 | 401 | Invalid registration PIN | The registration PIN received is incorrect | Registration | |
60037 | 403 | Registration request expired | The registration request expires after 1 hour | Registration | |
60038 | 403 | Email is invalid | User entered an invalid email | TOTP | |
60042 | 400 | Either UUID or country_code and phone number are required | Invalid parameters in phone verification | Phone Verification | |
60046 | 400 | Missing dashboard account ids to process | accounts ids required to be processed | Dashboard | |
60047 | 403 | Invalid API key. Confirm your API key by going to https://dashboard.authy.com | When a request comes with Twilio API key rather than Authy API key | TOTP | |
60049 | 404 | Onetouch Approval request not found | Onetouch Approval request not found | Onetouch | |
60050 | 404 | Onetouch Unregistered user | Application has not added a user | Onetouch | |
60051 | 404 | Onetouch device not found | User does not have onetouch device for a given application | Onetouch | |
60052 | 400 | An error occurred sending the approval request. Internal connection error | Communication error with onetouch service | Onetouch | |
60053 | 400 | An error occurred sending the approval request | When can not create an approval request | Onetouch | |
60054 | 400 | An error occurred on approval request | When approval request is not pending and receive an approve request | Onetouch | |
60055 | 400 | An error occurred notifying customer | When onetouch approval request could not be notified to the user | Onetouch | |
60056 | 505 | You must use HTTPS protocol to use this API | All requests in production should be through https | TOTP | |
60057 | 503 | Your account has been suspended temporarily | This is responded when a user exceeds rate limits usage | TOTP | |
60058 | 404 | Phone number not found | Phone number not found | TOTP | |
60059 | 404 | Phone number is invalid | When a phone number is not valid | TOTP | |
60060 | 503 | Your account is suspended | Twilio account is suspended | Phone Verification | |
60061 | 503 | Your application is suspended | Your application is suspended | TOTP | |
60063 | 403 | Disallowed IP address | Ip is banned to use public endpoints | TOTP | |
60066 | 403 | Error saving the callback information | When application settings can't be updated with callback information | Dashboard | |
60068 | 401 | Can not update device in registration | In device registration device was invalid could not save changes in device | Registration | |
60069 | 400 | Access key can not be saved | Access key invalid on creation | Dashboard | |
60070 | 400 | Application was not valid | Application was not valid on create or update | Dashboard | |
60071 | 404 | Access key not found | Access key not found | Dashboard | |
60072 | 404 | Invalid access key | The access key is wrong | Dashboard | |
60073 | 400 | Invalid application API key | Application API Key is wrong | Dashboard | |
60074 | 400 | Access key doesn't have enough permissions | The given access key doesn't have enough permissions to access the URL | Dashboard | |
60079 | 400 | Approval request is not pending | Cannot execute the action because approval request is not pending | Onetouch | |
60080 | 400 | Approval request is invalid | Approval request cannot be saved, it's invalid | Onetouch | |
60082 | 403 | Can not send SMS to landline phone numbers | When trying to send an SMS to a landline phone number | Phone Verification | |
60083 | 403 | Phone number not provisioned with any carrier | When trying to send a phone verification to a not provisioned phone number | Phone Verification | |
60086 | 403 | JWT Token expired | Token expired for phone change or phone reset process | ||
60089 | 400 | Invalid query | The given query is invalid | ||
60091 | 400 | Custom message is not allowed | Trying to use a custom message when the flag is disabled | ||
60092 | 404 | Device not found | Used when deleting SDK devices, if the id is not found or the device is not SDK only | ||
60093 | 401 | An error occurred, the device was not deleted | An error occurred destroying an SDK device (this should not happen) | ||
60094 | 400 | The given interval is invalid | For the reporting API when passing an invalid interval | ||
60095 | 400 | The given report definition is invalid | For the reporting API when passing an invalid "report" param | ||
60096 | 500 | The given query failed to process | For reporting API | ||
60098 | 403 | Webhook could not be created | When an error occurs creating a webhook using the lambda function. | ||
60099 | 403 | Webhooks cannot be listed | When an error occurs listing webhooks using the lambda function. | ||
60100 | 403 | Webhook could not be deleted | When an error occurs deleting a webhook using the lambda function | ||
60101 | 400 | JWT token is invalid | When the JWT is invalid it can't be decoded | ||
60102 | 503 | An error occurred saving the certificate | An error occurs when a push certificate is being created | ||
60103 | 400 | Platform for push notification not recognized | Currently, we only support GCM and APN. Attempting to upload certs for other platforms will raise this error | ||
60104 | 400 | Invalid push certs for the platform | When the push cert is invalid (e.g. development APN cert without the sandbox flag) | ||
60108 | 400 | Channel type is not supported by the device | A valid channel is one of SMS, call, push, totp_app | ||
60109 | 404 | Authentication method not found | Authentication method not found | ||
60110 | 503 | Authentication method can not be created | Authentication method can not be created | ||
60111 | 404 | Authentication not found | Authentication not found | ||
60115 | 403 | Target number has opted out. | SMS not sent because the phone number is in the Opt-Out list for the application | ||
60116 | 400 | Given parameters do not match JWT payload | The HTTP parameters are expected to be the same as the JWT payload | ||
60118 | 403 | Code is invalid | Returned when the code verification in the new 2FA is invalid | ||
60119 | 403 | User without PII is required | Returned when the given user has PII information | ||
60120 | 429 | Too many SMS per minute | Returned when trying to send more than 3 SMS per minute to a user | ||
60121 | 403 | Invalid SMS | Returned when trying to send SMS and it is invalid | ||
60122 | 500 | QR Code generation failed | An error happened to generate the image | ||
60123 | 403 | No generic tokens enabled | The application does not have Generic Tokens enabled | ||
60124 | 404 | Account not found | Returned when the account is not found | ||
60126 | 400 | Verification code can not be sent because of delivery report error | After an HLR query, we detected we can not deliver the verification code | ||
60127 | 403 | User is going through the deletion process | Any request depending on a user that's being deleted | ||
60128 | 400 | User was deleted | Any request depending on a user that was deleted | ||
60131 | 401 | Unable to confirm user deletion | Returned when trying to create a DeleteUserRequest but failed | ||
60133 | 403 | Canadian number. Further authorization required - contact our Support Team | More information: Twilio Lookups API is Not Returning Carrier Data for Canadian Phone Numbers | Phone Intelligence | |
60134 | 500 | An error occurred deleting the certificates | While deleting or anonymizing an app we call the Notify API to delete the service and the credentials for this App | ||
60135 | 403 | User account is blocked, unblock the account to request the deletion | When requesting a self-deletion, if the account is blocked this error is shown | ||
60136 | 403 | Cannot delete this account because you previously created an Authy app. In order to continue, you first need to delete all of the Authy apps at twilio.com/console/authy | If a user owns Authy App the deletion can not start | ||
60142 | 400 | Transaction details can not have empty values | Transaction details and hidden details can not have empty values | ||
60143 | 403 | The account was already registered | The account was already registered | ||
60144 | 403 | Something went wrong while registering the account | Something went wrong while registering the account |