[
  {
    "code": 0,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Test",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nhjh\n\n### Possible causes\n\nkjjwidq\n\n### Possible solutions\n\nmnkjsbafksub\n",
    "causes": "kjjwidq",
    "solutions": "mnkjsbafksub",
    "description": "hjh",
    "date_created": "2024-06-28T10:56:04Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 3,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP retrieval failure!!",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThis is a possible cause.\n\n### Possible solutions\n\nthis is a possible solution.\n",
    "causes": "This is a possible cause.",
    "solutions": "this is a possible solution.",
    "description": "",
    "date_created": "2019-06-14T00:09:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 4,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Example Warning Message",
    "secondary_message": "This is a secondary message.",
    "product": null,
    "docs": "\n## Description\n\nA description is concatenated with Secondary message\n\n### Possible causes\n\n- This is cause 1\n- This is cause 2\n- This is cause 3\n\n### Possible solutions\n\n- How to fix this\n",
    "causes": "* This is cause 1\n* This is cause 2\n* This is cause 3",
    "solutions": "* How to fix this",
    "description": "A description is concatenated with Secondary message",
    "date_created": "2019-07-10T17:13:08Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 5,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Sample Message",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nSample Description\n\n### Possible causes\n\nSample Possible Causes\n\n### Possible solutions\n\nSample Possible Solutions\n",
    "causes": "Sample Possible Causes",
    "solutions": "Sample Possible Solutions",
    "description": "Sample",
    "date_created": "2020-08-03T14:53:26Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 6,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP retrieval failure",
    "secondary_message": "There was a failure attempting to retrieve the contents of this URL",
    "product": null,
    "docs": "\n## Description\n\nThere was a failure attempting to retrieve the contents of this URL\n\n### Possible causes\n\ncause one\n\n### Possible solutions\n\nsolution one\n",
    "causes": "cause one",
    "solutions": "solution one",
    "description": "There was a failure attempting to retrieve the contents of this URL",
    "date_created": "2016-02-23T00:25:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 7,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Example Monkey Message",
    "secondary_message": "This is a secondary message",
    "product": null,
    "docs": "\n## Description\n\nThis is an error description\n\n### Possible causes\n\n- possible cause 1\n- possible cause 2\n- possible cause 3\n- way too many possible causes\n\n### Possible solutions\n\n- possible solution 1\n- possible solution 2\n- possible solution 3\n- did you try turning it off and on again?\n",
    "causes": "* possible cause 1\n* possible cause 2\n* possible cause 3\n* way too many possible causes",
    "solutions": "* possible solution 1\n* possible solution 2\n* possible solution 3\n* did you try turning it off and on again?",
    "description": "This is an error description",
    "date_created": "2019-07-10T17:08:08Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 8,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test2",
    "secondary_message": "test",
    "product": "Account",
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest\n\n### Possible solutions\n\ntest\n",
    "causes": "test",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-08-04T05:12:42Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 9,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test message!!",
    "secondary_message": "very witty secondary",
    "product": null,
    "docs": "\n## Description\n\ntest description\n\n### Possible causes\n\ntest possible causes\n\n### Possible solutions\n\ntest possible solutions\n",
    "causes": "test possible causes",
    "solutions": "test possible solutions",
    "description": "test description",
    "date_created": "2020-08-04T00:18:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 10,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Example Message",
    "secondary_message": "message",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nExample Description\n\n### Possible causes\n\nExample possible causes\n\n### Possible solutions\n\nExample possible solutions\n",
    "causes": "Example possible causes",
    "solutions": "Example possible solutions",
    "description": "Example",
    "date_created": "2019-11-20T20:13:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nc\n\n### Possible solutions\n\ns\n",
    "causes": "c",
    "solutions": "s",
    "description": "",
    "date_created": "2020-07-17T21:15:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 12,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nc\n\n### Possible solutions\n\ns\n",
    "causes": "c",
    "solutions": "s",
    "description": "",
    "date_created": "2020-07-17T22:10:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test",
    "secondary_message": "test",
    "product": null,
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest\n\n### Possible solutions\n\ntest\n",
    "causes": "test",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-07-30T15:52:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test ",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest\n\n### Possible solutions\n\ntest\n",
    "causes": "test",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-07-30T17:31:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 15,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "ErinFlannery",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest `<broken>`\n\n### Possible solutions\n\ntest\n",
    "causes": "test `<broken>`",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-07-30T17:39:02Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test!!",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest `<broken>`\n\n### Possible solutions\n\ntest\n",
    "causes": "test `<broken>`",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-07-30T22:29:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 17,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest\n\n### Possible solutions\n\ntest\n",
    "causes": "test",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-07-30T22:49:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test!!!",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest\n\n### Possible solutions\n\ntest\n",
    "causes": "test",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-07-30T22:52:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test!",
    "secondary_message": "test",
    "product": "Account",
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest\n\n### Possible solutions\n\ntest\n",
    "causes": "test",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-08-03T13:50:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "TESTTTTT",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\nPossible cause\n\n### Possible solutions\n\nPossible solution\n",
    "causes": "Possible cause",
    "solutions": "Possible solution",
    "description": "",
    "date_created": "2023-05-18T17:23:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test!",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest\n\n### Possible solutions\n\ntest\n",
    "causes": "test",
    "solutions": "test",
    "description": "test",
    "date_created": "2020-08-15T19:54:02Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 23,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Test error message",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTest description\n\n### Possible causes\n\nSomething went wrong\n\n### Possible solutions\n\nSomething can be done\n",
    "causes": "Something went wrong",
    "solutions": "Something can be done",
    "description": "Test description",
    "date_created": "2023-11-24T09:48:53Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 77,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Also a test",
    "secondary_message": "So many tests",
    "product": null,
    "docs": "\n## Description\n\nSo many tests\n\n### Possible causes\n\nYou failed to test this correctly.\n\n### Possible solutions\n\nThis isn't a solution.\n",
    "causes": "You failed to test this correctly.",
    "solutions": "This isn't a solution.",
    "description": "So many tests",
    "date_created": "2024-02-21T10:14:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 400,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Bad Request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nFailed to complete request due to a bad request\n\n### Possible causes\n\n- The resource to be modified has moved into a state that is no longer valid.\n- Input on the request did not pass validation.\n\n### Possible solutions\n\n- Retry the request after confirming the request is valid.\n- Verify if the resource to be modified exists and is in a valid state.\n",
    "causes": "* The resource to be modified has moved into a state that is no longer valid.\n* Input on the request did not pass validation.",
    "solutions": "* Retry the request after confirming the request is valid.\n* Verify if the resource to be modified exists and is in a valid state.",
    "description": "Failed to complete request due to a bad request",
    "date_created": "2020-09-14T21:49:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 403,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Forbidden",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request is not authorized\n\n### Possible causes\n\nIncorrect credentials\n\n### Possible solutions\n\nVerify credentials\n",
    "causes": "Incorrect credentials",
    "solutions": "Verify credentials",
    "description": "The request is not authorized",
    "date_created": "2023-05-02T17:53:30Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 404,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nFailed to find a match for the request\n\n### Possible causes\n\n- The specified resource is no longer available.\n\n### Possible solutions\n\n- Check that the specified resource still exists.\n",
    "causes": "* The specified resource is no longer available.",
    "solutions": "* Check that the specified resource still exists.",
    "description": "Failed to find a match for the request",
    "date_created": "2020-09-14T21:50:07Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 410,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unknown Error Code",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAccess to this resource is no longer available and should not be retried.\n\n### Possible causes\n\n- The resource has reached a terminal state and is no longer available.\n\n### Possible solutions\n\n- Do not retry the request since the condition is likely permanent.\n",
    "causes": "* The resource has reached a terminal state and is no longer available.",
    "solutions": "* Do not retry the request since the condition is likely permanent.",
    "description": "Access to this resource is no longer available and should not be retried.",
    "date_created": "2020-09-14T21:50:57Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 503,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAn internal error has occurred while processing the request.\n\n### Possible causes\n\n- The server is currently unable to handle the request.\n\n### Possible solutions\n\n- Retry the request at a later time.\n",
    "causes": "* The server is currently unable to handle the request.",
    "solutions": "* Retry the request at a later time.",
    "description": "An internal error has occurred while processing the request.",
    "date_created": "2020-09-14T21:55:34Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 9520,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Status callback response error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio attempted to send a transcript event to the callback URL specified and your application returned a 4xx or 5xx or other HTTP response error\n\n### Possible causes\n\nThe callback URL specified is incorrect. Your application has an issue while handling callback requests or suffering and outage.\n\n### Possible solutions\n\nEnsure that the callback URL specified is correct. Ensure that your callback server can handle the request and responds with a 2xx HTTP status code.\n",
    "causes": "The callback URL specified is incorrect. Your application has an issue while handling callback requests or suffering and outage.",
    "solutions": "Ensure that the callback URL specified is correct. Ensure that your callback server can handle the request and responds with a 2xx HTTP status code.",
    "description": "Twilio attempted to send a transcript event to the callback URL specified and your application returned a 4xx or 5xx or other HTTP response error",
    "date_created": "2024-04-12T23:30:42Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 10001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Account is not active",
    "secondary_message": "This account has been disabled and may not be used until it is reactived.",
    "product": null,
    "docs": "\n## Description\n\nThis account has been disabled and may not be used until it is reactivated.\n\n### Possible causes\n\n- Lack of funds\n- Violation of the Terms of Service or Acceptable Use Policy\n\n### Possible solutions\n\n- Check your account balance. Refill funds if necessary.\n- Please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "* Lack of funds\n* Violation of the Terms of Service or Acceptable Use Policy",
    "solutions": "* Check your account balance. Refill funds if necessary.\n* Please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "This account has been disabled and may not be used until it is reactivated.",
    "date_created": "2016-03-31T17:13:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 10002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Trial accounts do not support the feature you tried to use",
    "secondary_message": "Your account is currently in trial mode and therefore does not have access to the premium feature you attempted to use.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPremium features are limited to full accounts, so you must upgrade your account if you wish to use them.\n\nFor guidance on updating your account, please see [How to Work with your Free Twilio Trial Account](/docs/usage/tutorials/how-to-use-your-free-trial-account#how-to-upgrade-your-account).\n\n### Possible causes\n\nYou attempted to use a premium feature with a trial account.\n\n### Possible solutions\n\nUpgrade to a full account and try the feature again.\n",
    "causes": "You attempted to use a premium feature with a trial account.",
    "solutions": "Upgrade to a full account and try the feature again.",
    "description": "Premium features are limited to full accounts, so you must upgrade your account if you wish to use them. For guidance on updating your account, please see [How to Work with your Free Twilio Trial Account](/docs/usage/tutorials/how-to-use-your-free-trial-account#how-to-upgrade-your-account).",
    "date_created": "2016-03-31T17:13:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 10003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Incoming call rejected due to inactive account",
    "secondary_message": "An incoming call was made to your application, but was not answered because your account was not active at the time.",
    "product": null,
    "docs": "\n## Description\n\nAn incoming call was made to your application, but was not answered because your account was not active at the time.\n\n### Possible causes\n\n- Lack of funds\n- Violation of the Terms of Service or Acceptable Use Policy\n\n### Possible solutions\n\n- Check your account balance. Refill funds if necessary.\n- Contact Twilio [customer support](/help/contact) to inquire further.\n",
    "causes": "* Lack of funds\n* Violation of the Terms of Service or Acceptable Use Policy",
    "solutions": "* Check your account balance. Refill funds if necessary.\n* Contact Twilio [customer support](/help/contact) to inquire further.",
    "description": "An incoming call was made to your application, but was not answered because your account was not active at the time.",
    "date_created": "2016-03-31T17:13:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 10004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Call concurrency limit exceeded",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Call concurrency limit exceeded\n\nThe call was rejected because you reached the maximum limit of concurrent calls available for your account.\n\n### Possible causes\n\n- Trial accounts and newly upgraded accounts without an approved Primary Customer Profile have limited concurrent calls.\n- Your account has reached other Twilio defined concurrency limits.\n\n### Possible solutions\n\n- [Upgrade your account](/docs/usage/tutorials/how-to-use-your-free-trial-account#how-to-upgrade-your-account) and [create a Primary Business Profile](/docs/trust-hub/trusthub-rest-api/console-create-a-primary-customer-profile) to remove concurrent call limitations.\n- Reach out to your Twilio account team or Twilio support to request additional capacity.\n",
    "causes": "* Trial accounts and newly upgraded accounts without an approved Primary Customer Profile have limited concurrent calls.\n* Your account has reached other Twilio defined concurrency limits.",
    "solutions": "* [Upgrade your account](/docs/usage/tutorials/how-to-use-your-free-trial-account#how-to-upgrade-your-account) and [create a Primary Business Profile](/docs/trust-hub/trusthub-rest-api/console-create-a-primary-customer-profile) to remove concurrent call limitations.\n* Reach out to your Twilio account team or Twilio support to request additional capacity.",
    "description": "",
    "date_created": "2018-10-05T04:05:45Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 10005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice calling has been disabled for this account",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nVoice calling has been disabled for this account.\n\n### Possible causes\n\nVoice Calling has been disabled by Twilio.\n\nPotential causes may be:\n\n- Your account requires an approved Primary Customer Profile\n- Your account has been flagged for review due to suspicious activity\n\n### Possible solutions\n\n- Please create a Primary Customer Profile to enable Voice calling through [Trust Hub](https://console.twilio.com/us1/account/trust-hub/customer-profiles).\n- If you received an email regarding your account being compromised, please also follow the instructions in the email.\n",
    "causes": "Voice Calling has been disabled by Twilio. Potential causes may be: - Your account requires an approved Primary Customer Profile\n- Your account has been flagged for review due to suspicious activity",
    "solutions": "* Please create a Primary Customer Profile to enable Voice calling through [Trust Hub](https://console.twilio.com/us1/account/trust-hub/customer-profiles).\n* If you received an email regarding your account being compromised, please also follow the instructions in the email.",
    "description": "Voice calling has been disabled for this account.",
    "date_created": "2023-09-05T16:31:53Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 10100,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Public API HTTP Request",
    "secondary_message": "Info level information of requests to the Twilio API",
    "product": "Account",
    "docs": "\n## Description\n\nThis is a request made to the Twilio API to assist in debugging.\n\n### Possible causes\n\nCause\n\n### Possible solutions\n\nSolution\n",
    "causes": "Cause",
    "solutions": "Solution",
    "description": "This is a request made to the Twilio API to assist in debugging.",
    "date_created": "2017-01-26T22:52:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Website URL doesn’t match the required format",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe website URL must be in a valid format, starting with https:// and followed by a valid domain name (e.g., https://example.com).\n\n### Possible causes\n\nThe URL doesn't start with https://.\n\nThe URL contains typos, spaces, or unsupported characters.\n\nThe domain name is incomplete or missing (e.g., \"https://example\" instead of \"https://example.com\" ).\n\nThe URL includes extra paths or parameters that make it invalid.\n\nThe URL uses an unsupported protocol (e.g., http:// or ftp://).\n\n### Possible solutions\n\nPlease review the possible causes and update the linked profile with the correct information:\n\n- Enter the full website URL in the Profile Website field, starting with https://.\n- Verify the domain name is complete and valid (e.g., https://example.com ) before saving the profile.\n- Remove any spaces, typos, or special characters from the website URL in the profile.\n- Ensure the website uses the https:// protocol - other protocols (e.g., http://, ftp://) are not supported.\n",
    "causes": "The URL doesn't start with https://. The URL contains typos, spaces, or unsupported characters. The domain name is incomplete or missing (e.g., \"https://example\" instead of \"https://example.com\" ). The URL includes extra paths or parameters that make it invalid. The URL uses an unsupported protocol (e.g., http:// or ftp://).",
    "solutions": "Please review the possible causes and update the linked profile with the correct information: - Enter the full website URL in the Profile Website field, starting with https://.\n- Verify the domain name is complete and valid (e.g., https://example.com ) before saving the profile.\n- Remove any spaces, typos, or special characters from the website URL in the profile.\n- Ensure the website uses the https:// protocol - other protocols (e.g., http://, ftp://) are not supported.",
    "description": "The website URL must be in a valid format, starting with https:// and followed by a valid domain name (e.g., https://example.com).",
    "date_created": "2025-10-30T12:03:27.366Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Authorized Representative must have a valid US phone number (+1).",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe phone number provided for the Authorized Representative must be a valid United States phone number.\n\n### Possible causes\n\n- Number is missing the valid US country code.\n- Number format is incomplete or contains invalid characters.\n\n### Possible solutions\n\nPlease review the possible causes and update the linked profile with the correct information:\n\n- Update the profile with an Authorized Representative phone number that begins with +1.\n- Ensure the number is active and correctly formatted (e.g., +1 555-123-4567).\n",
    "causes": "* Number is missing the valid US country code.\n* Number format is incomplete or contains invalid characters.",
    "solutions": "Please review the possible causes and update the linked profile with the correct information: - Update the profile with an Authorized Representative phone number that begins with +1.\n- Ensure the number is active and correctly formatted (e.g., +1 555-123-4567).",
    "description": "The phone number provided for the Authorized Representative must be a valid United States phone number.",
    "date_created": "2025-10-30T12:06:58.562Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11003,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Business address must be a US address.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe address provided in the linked profile or registration must be located in the United States and use the correct country ISO code.\n\n### Possible causes\n\n- Business address provided in the linked profile or registration is not located in the United States.\n- Country ISO is not set to US.\n- Address format is incomplete (e.g., missing state or ZIP).\n\n### Possible solutions\n\nPlease review the possible causes and update the linked profile or registration with the correct information.\n\n- Update the profile or registration address to a valid US business address.\n- Ensure the country code is set to US.\n- Include full address details (Street, City, State, ZIP).\n",
    "causes": "* Business address provided in the linked profile or registration is not located in the United States.\n* Country ISO is not set to US.\n* Address format is incomplete (e.g., missing state or ZIP).",
    "solutions": "Please review the possible causes and update the linked profile or registration with the correct information. - Update the profile or registration address to a valid US business address.\n- Ensure the country code is set to US.\n- Include full address details (Street, City, State, ZIP).",
    "description": "The address provided in the linked profile or registration must be located in the United States and use the correct country ISO code.",
    "date_created": "2025-10-30T12:09:35.586Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Business Registration Validation Failed.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe Business Registration Number provided in the linked profile or registration must use EIN or DUNS as the registration authority and must be a valid 9-digit identifier associated with the registered business.\n\n### Possible causes\n\n- The linked profile or registration does not use EIN or DUNS as the registration authority.\n- The EIN/DUNS number provided is invalid or incorrectly formatted.\n- The number contains extra characters, spaces, or symbols.\n\n### Possible solutions\n\nPlease review the possible causes and update the linked profile or registration with the correct information:\n\n- Ensure the Business Registration Authority is set to EIN or DUNS.\n- Enter a valid 9-digit EIN or DUNS.\n- Remove any spaces or special characters.\n- Verify the number matches the correct business entity.\n",
    "causes": "* The linked profile or registration does not use EIN or DUNS as the registration authority.\n* The EIN/DUNS number provided is invalid or incorrectly formatted.\n* The number contains extra characters, spaces, or symbols.",
    "solutions": "Please review the possible causes and update the linked profile or registration with the correct information: - Ensure the Business Registration Authority is set to EIN or DUNS.\n- Enter a valid 9-digit EIN or DUNS.\n- Remove any spaces or special characters.\n- Verify the number matches the correct business entity.",
    "description": "The Business Registration Number provided in the linked profile or registration must use EIN or DUNS as the registration authority and must be a valid 9-digit identifier associated with the registered business.",
    "date_created": "2025-10-30T12:12:26.272Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Voice Integrity rejected as linked Business profile is not in approved status",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYour Voice Integrity Bundle could not be approved because the associated Business Profile is in a Rejected status.\n\n### Possible causes\n\n- The Business Profile linked to your Voice Integrity bundle did not pass verification.\n- Missing or incorrect business details in the linked business profile.\n\n### Possible solutions\n\nPlease review the possible causes and update the linked profile with the correct information:\n\n- Review the rejection reason in your business Profile.\n- Update the required business details as per the feedback.\n- Resubmit the business Profile for verification.\n",
    "causes": "* The Business Profile linked to your Voice Integrity bundle did not pass verification.\n* Missing or incorrect business details in the linked business profile.",
    "solutions": "Please review the possible causes and update the linked profile with the correct information: - Review the rejection reason in your business Profile.\n- Update the required business details as per the feedback.\n- Resubmit the business Profile for verification.",
    "description": "Your Voice Integrity Bundle could not be approved because the associated Business Profile is in a Rejected status.",
    "date_created": "2025-11-12T07:25:40.82Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid URL format",
    "secondary_message": "The format of the provided URL is invalid.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe format of the provided URL is invalid.\n\n### Possible causes\n\n- Bad URL for phone number configuration\n- Bad URL passed to outgoing call REST request\n- Bad URL in Play or Redirect Verb Body\n- Bad URL provided for a verb's action attribute\n- No URL provided in Record verb action attribute when modifying a live call\n- Unsupported characters in auth portion of URL\n\n### Possible solutions\n\n- Make sure you submit a fully qualified URL including: protocol (http:// or https://), hostname, file path, properly url-encoded query parameters.\n- Twilio must be able to reach this URL over the public Internet.\n",
    "causes": "* Bad URL for phone number configuration\n* Bad URL passed to outgoing call REST request\n* Bad URL in Play or Redirect Verb Body\n* Bad URL provided for a verb's action attribute\n* No URL provided in Record verb action attribute when modifying a live call\n* Unsupported characters in auth portion of URL",
    "solutions": "* Make sure you submit a fully qualified URL including: protocol (http:// or https://), hostname, file path, properly url-encoded query parameters.\n* Twilio must be able to reach this URL over the public Internet.",
    "description": "The format of the provided URL is invalid.",
    "date_created": "2016-03-31T17:13:23Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11200,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP retrieval failure",
    "secondary_message": "Twilio's servers were unable to fetch a non-error response from the designated URL.",
    "product": null,
    "docs": "\n## Description\n\nWe try to provide specific webhook errors whenever possible, however in this instance we are unable to identify the exact cause of the webhook delivery/response issue. To prevent 11200 errors, ensure that your webhook receiving infrastructure can quickly respond to inbound Twilio requests with a 2xx status code.\n\n### Possible causes\n\n- Web server returned a 4xx or 5xx HTTP response to Twilio\n- Network disruptions between Twilio and your web server; these can be within your or Twilio's infrastructure or wider disruptions to the internet at large.\n- Firewalls (network or application level) between Twilio and your infrastructure\n- Misconfigured Web Server\n- No `Content-Type` header attached to response\n- `Content-Type` doesn't match actual content, e.g. an MP3 file that is being served with `Content-Type`: audio/x-wav, instead of `Content-Type`: audio/mpeg\n\n### Possible solutions\n\n- Double check that your TwiML URL does not return a 4xx or 5xx error\n- Make certain that the URL does not perform a 302 redirect to an invalid URL\n- Confirm the URL requested is not protected by HTTP Auth\n- Make sure your web server allows HTTP `POST` requests to static resources (if the URL refers to .xml or .html files)\n- Verify your web server is up and responsive\n- Check to see that the URL host is not a private or local IP address\n- Verify the ping times and packet loss between your web server and api.twilio.com\n- Review firewall rules; modern web application firewalls can trigger on only a small subset of inbound connections leading to inconsistent behavior.\n- Check logs at the very edge of your infrastructure to verify if TCP connection attempts are arriving at your edge. If you have confirmed these requests are not reaching your infrastructure, please reach out to [support](https://www.twilio.com/console/support/tickets/create).\n- Use more robust options for webhook receipt. For inbound messages and calls be sure to provide a fallback URL (ideally on separate infrastructure). Transition integrations to [Event Streams](/docs/events) which has various event sink types including webhooks with built in retries.\n- Review your use of any [webhook connection overrides](/docs/usage/webhooks/webhooks-connection-overrides). In general the defaults provide the best results, start by reconfiguring your webhook URL without any fragment overrides and see if the problem persists.\n- If synchronously processing a webhook requires significant time, we recommend that you simply acknowledge the event by quickly responding with an empty 202 (Accepted) and then processing the message on your own timeline. Replies to inbound message events can be done at any time by making a call to the REST API.\n",
    "causes": "* Web server returned a 4xx or 5xx HTTP response to Twilio\n* Network disruptions between Twilio and your web server; these can be within your or Twilio's infrastructure or wider disruptions to the internet at large.\n* Firewalls (network or application level) between Twilio and your infrastructure\n* Misconfigured Web Server\n* No `Content-Type` header attached to response\n* `Content-Type` doesn't match actual content, e.g. an MP3 file that is being served with `Content-Type`: audio/x-wav, instead of `Content-Type`: audio/mpeg",
    "solutions": "* Double check that your TwiML URL does not return a 4xx or 5xx error\n* Make certain that the URL does not perform a 302 redirect to an invalid URL\n* Confirm the URL requested is not protected by HTTP Auth\n* Make sure your web server allows HTTP `POST` requests to static resources (if the URL refers to .xml or .html files)\n* Verify your web server is up and responsive\n* Check to see that the URL host is not a private or local IP address\n* Verify the ping times and packet loss between your web server and api.twilio.com\n* Review firewall rules; modern web application firewalls can trigger on only a small subset of inbound connections leading to inconsistent behavior.\n* Check logs at the very edge of your infrastructure to verify if TCP connection attempts are arriving at your edge. If you have confirmed these requests are not reaching your infrastructure, please reach out to [support](https://www.twilio.com/console/support/tickets/create).\n* Use more robust options for webhook receipt. For inbound messages and calls be sure to provide a fallback URL (ideally on separate infrastructure). Transition integrations to [Event Streams](/docs/events) which has various event sink types including webhooks with built in retries.\n* Review your use of any [webhook connection overrides](/docs/usage/webhooks/webhooks-connection-overrides). In general the defaults provide the best results, start by reconfiguring your webhook URL without any fragment overrides and see if the problem persists.\n* If synchronously processing a webhook requires significant time, we recommend that you simply acknowledge the event by quickly responding with an empty 202 (Accepted) and then processing the message on your own timeline. Replies to inbound message events can be done at any time by making a call to the REST API.",
    "description": "We try to provide specific webhook errors whenever possible, however in this instance we are unable to identify the exact cause of the webhook delivery/response issue. To prevent 11200 errors, ensure that your webhook receiving infrastructure can quickly respond to inbound Twilio requests with a 2xx status code.",
    "date_created": "2016-03-31T17:13:23Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TCP connection timed out",
    "secondary_message": "Twilio cannot establish a TCP connection to your web server. The two attempts to connect to your web server were timed out. Each connection attempt has a 5 second timeout.",
    "product": null,
    "docs": "\n## Description\n\nTwilio cannot establish a TCP connection to your web server. The two attempts to connect to your web server were timed out. Each connection attempt has a 5 second timeout.\n\n### Possible causes\n\n- firewall in your network blocking incoming TCP traffic\n- network outage between Twilio and your web server\n- invalid host part in the HTTP URL pointing to non-existing host or private IP address\n\n### Possible solutions\n\n- verify firewall configuration in your network or on the web server\n- verify network connectivity to your web server\n- verify the HTTP URL provided is accessible to the public Internet\n",
    "causes": "* firewall in your network blocking incoming TCP traffic\n* network outage between Twilio and your web server\n* invalid host part in the HTTP URL pointing to non-existing host or private IP address",
    "solutions": "* verify firewall configuration in your network or on the web server\n* verify network connectivity to your web server\n* verify the HTTP URL provided is accessible to the public Internet",
    "description": "Twilio cannot establish a TCP connection to your web server. The two attempts to connect to your web server were timed out. Each connection attempt has a 5 second timeout.",
    "date_created": "2018-07-26T20:08:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11202,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TCP connection refused",
    "secondary_message": "Twilio cannot establish a TCP connection to your web server. Your web server rejected our two connection attempts.",
    "product": null,
    "docs": "\n## Description\n\nTwilio cannot establish a TCP connection to your web server. Your web server rejected our two connection attempts.\n\n### Possible causes\n\n- invalid port number in the HTTP URL\n- your web server process is down so no process is listening on the port\n- your web server is in a degraded state and is not accepting new connections (e.g., overloaded)\n\n### Possible solutions\n\n- verify the HTTP URL provided has the correct host and port number of your web server\n- verify your web server is running and listening on the correct port\n- verify your web server is properly provisioned to handle all requests\n",
    "causes": "* invalid port number in the HTTP URL\n* your web server process is down so no process is listening on the port\n* your web server is in a degraded state and is not accepting new connections (e.g., overloaded)",
    "solutions": "* verify the HTTP URL provided has the correct host and port number of your web server\n* verify your web server is running and listening on the correct port\n* verify your web server is properly provisioned to handle all requests",
    "description": "Twilio cannot establish a TCP connection to your web server. Your web server rejected our two connection attempts.",
    "date_created": "2018-07-26T20:08:56Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11203,
    "log_level": "ERROR",
    "log_type": null,
    "message": "HTTP communication total time out triggered",
    "secondary_message": "All attempts to communicate with your web server were timed out.",
    "product": null,
    "docs": "\n## Description\n\nAll attempts to communicate with your web server were timed out. You set the total timeout using the tt parameter in the URL fragment identifier.\n\n### Possible solutions\n\n- Adjust the 'tt' (total timeout) parameter in the fragment part of the URL, the one after '#'.\n",
    "causes": null,
    "solutions": "* Adjust the 'tt' (total timeout) parameter in the fragment part of the URL, the one after '#'.",
    "description": "All attempts to communicate with your web server were timed out. You set the total timeout using the tt parameter in the URL fragment identifier.",
    "date_created": "2019-01-31T00:28:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 11205,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP connection failure",
    "secondary_message": "There was a network failure attempting to connect to this URL",
    "product": null,
    "docs": "\n## Description\n\n### HTTP connection failure\n\nThere was a network failure attempting to connect to this URL. Twilio will try for 10 seconds to establish a TCP connection to your URL (two 5-second attempts). Twilio will wait for a total of 15 seconds to receive an HTTP response. This includes the TCP connection time, so if it took six seconds to establish a TCP connection, your server would have 9 seconds to deliver an HTTP response. If either of those timers expire, we fail the request, fire a notification, and try your fallback URL, if one is specified.\n\n### Possible causes\n\n- Network outages between Twilio and your web server.\n- URLs that reference private IP addresses or localhost.\n- Twilio's TCP timeout is 10 seconds. If you see an error in Request Inspector after more than 10000 milliseconds, Twilio could locate your server, but could not establish a TCP connection with it.\n- Twilio's HTTP timeout is 15 seconds. If you see an error in Request Inspector returned after more than 15000 milliseconds, Twilio was able to establish a TCP connection with your server, but the HTTP response from the server failed.\n\n### Possible solutions\n\n- Verify the URL provided is accessible to the public internet.\n- Verify network connectivity to your web server.\n- Check your TCP logs to verify inbound connection attempts are successful.\n- Check HTTP server logs to verify a response was generated and returned within the timeout.\n- Check your edge element logs to verify responses are making it out of your infrastructure.\n",
    "causes": "* Network outages between Twilio and your web server.\n* URLs that reference private IP addresses or localhost.\n* Twilio's TCP timeout is 10 seconds. If you see an error in Request Inspector after more than 10000 milliseconds, Twilio could locate your server, but could not establish a TCP connection with it.\n* Twilio's HTTP timeout is 15 seconds. If you see an error in Request Inspector returned after more than 15000 milliseconds, Twilio was able to establish a TCP connection with your server, but the HTTP response from the server failed.",
    "solutions": "* Verify the URL provided is accessible to the public internet.\n* Verify network connectivity to your web server.\n* Check your TCP logs to verify inbound connection attempts are successful.\n* Check HTTP server logs to verify a response was generated and returned within the timeout.\n* Check your edge element logs to verify responses are making it out of your infrastructure.",
    "description": "",
    "date_created": "2016-03-31T17:13:23Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11206,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP protocol violation",
    "secondary_message": "There was an error speaking HTTP to the target URL.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThere was an error speaking HTTP to the target URL.\n\n### Possible causes\n\n- Server misconfiguration\n- Network disruption\n- Making HTTP connections to an HTTPS port\n- There is an invalid symbol in the TwiML Cookie\n\n### Possible solutions\n\n- Verify your web server is serving valid HTTP for the URL\n- Verify the network connection to your server is stable\n- Verify the URL is not directing you to an SSL port\n- Remove the following characters from the TwiML Cookies: '\\t', '\\r', '\\n', '\\v', '\\f'\n- TwiML cookies cannot have an empty name\n",
    "causes": "* Server misconfiguration\n* Network disruption\n* Making HTTP connections to an HTTPS port\n* There is an invalid symbol in the TwiML Cookie",
    "solutions": "* Verify your web server is serving valid HTTP for the URL\n* Verify the network connection to your server is stable\n* Verify the URL is not directing you to an SSL port\n* Remove the following characters from the TwiML Cookies: '\\t', '\\r', '\\n', '\\v', '\\f'\n* TwiML cookies cannot have an empty name",
    "description": "There was an error speaking HTTP to the target URL.",
    "date_created": "2016-03-31T17:13:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11210,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP bad host name",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe DNS entry for the URL's host cannot be resolved.\n\n### Possible causes\n\n- URL references a locally defined hostname (check your `/etc/hosts`)\n- URL references an undefined hostname\n\n### Possible solutions\n\n- Verify the hostname of the URL has a valid DNS record the can be resolved by the public\n",
    "causes": "* URL references a locally defined hostname (check your `/etc/hosts`)\n* URL references an undefined hostname",
    "solutions": "* Verify the hostname of the URL has a valid DNS record the can be resolved by the public",
    "description": "The DNS entry for the URL's host cannot be resolved.",
    "date_created": "2016-03-31T17:13:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11215,
    "log_level": "ERROR",
    "log_type": null,
    "message": "HTTP too many redirects",
    "secondary_message": "this request has been redirected too many times and may be in a loop.",
    "product": null,
    "docs": "\n## Description\n\nthis request has been redirected too many times and may be in a loop.\n\n### Possible causes\n\n- Twilio received too many HTTP redirect messages in a row for this request.\n\n### Possible solutions\n\n- Make certain your code is not stuck in an infinite loop.\n",
    "causes": "* Twilio received too many HTTP redirect messages in a row for this request.",
    "solutions": "* Make certain your code is not stuck in an infinite loop.",
    "description": "this request has been redirected too many times and may be in a loop.",
    "date_created": "2016-03-31T17:13:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11216,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP invalid redirect",
    "secondary_message": "The response from your server contained an invalid redirect.",
    "product": null,
    "docs": "\n## Description\n\nTwilio sent a webhook to your server and your server responded with a 3xx status code that was not a valid redirect.\n\n### Possible causes\n\n- Your server responded with an non-redirect HTTP status code in the 3xx series. Twilio will only follow redirects for status codes 301, 302, 303, and 307.\n- Your server did not include a location header in the redirect response\n\n### Possible solutions\n\n- Update your webhook configuration specifying the final URL you would like to be called, removing the need for redirects.\n- Ensure you are using a standard redirect HTTP status code (301, 302, 303, or 307)\n- Ensure that you are including a valid url in the location header of your response.\n",
    "causes": "* Your server responded with an non-redirect HTTP status code in the 3xx series. Twilio will only follow redirects for status codes 301, 302, 303, and 307.\n* Your server did not include a location header in the redirect response",
    "solutions": "* Update your webhook configuration specifying the final URL you would like to be called, removing the need for redirects.\n* Ensure you are using a standard redirect HTTP status code (301, 302, 303, or 307)\n* Ensure that you are including a valid url in the location header of your response.",
    "description": "Twilio sent a webhook to your server and your server responded with a 3xx status code that was not a valid redirect.",
    "date_created": "2023-10-04T07:53:56Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11217,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP error response code",
    "secondary_message": "Your server responded to the webhook request with an error response (4xx or 5xx)",
    "product": null,
    "docs": "\n## Description\n\nTwilio sent a webhook to your server and your server responded with a 4xx or 5xx status code.\n\n### Possible causes\n\n- There was an error in your server (500).\n- There was a problem between your proxy and your server (502, 503, 504).\n- The URL specified in your webhook configuration is incorrect (404, 410).\n- Your server is attempting to rate limit Twilio's webhook requests (429). Twilio's webhooks do not support rate limiting.\n- Your webhook configuration does not have appropriate permissions to call the configured URL (403).\n\n### Possible solutions\n\n- Review the configured webhook URL to ensure that it is correct.\n- Look for and fix errors in your server logs.\n- Ensure that you can get 2xx status codes by calling your webhook URL.\n- Review your proxy and authentication configurations.\n- For rate limiting issues, consider shifting to Event Streams HTTP Sink which [support rate limiting](/docs/events/event-delivery-and-duplication#what-does-throttle-sink-means-for-eventstreams).\n",
    "causes": "* There was an error in your server (500).\n* There was a problem between your proxy and your server (502, 503, 504).\n* The URL specified in your webhook configuration is incorrect (404, 410).\n* Your server is attempting to rate limit Twilio's webhook requests (429). Twilio's webhooks do not support rate limiting.\n* Your webhook configuration does not have appropriate permissions to call the configured URL (403).",
    "solutions": "* Review the configured webhook URL to ensure that it is correct.\n* Look for and fix errors in your server logs.\n* Ensure that you can get 2xx status codes by calling your webhook URL.\n* Review your proxy and authentication configurations.\n* For rate limiting issues, consider shifting to Event Streams HTTP Sink which [support rate limiting](/docs/events/event-delivery-and-duplication#what-does-throttle-sink-means-for-eventstreams).",
    "description": "Twilio sent a webhook to your server and your server responded with a 4xx or 5xx status code.",
    "date_created": "2023-10-04T07:56:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11220,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SSL/TLS Handshake Error",
    "secondary_message": "During SSL/TLS negotiation, Twilio experienced a connection reset.",
    "product": null,
    "docs": "\n## Description\n\nDuring SSL/TLS negotiation, Twilio experienced a connection reset.\n\n### Possible causes\n\n- Incompatible cipher suites in use by the client and the server. This would require the client to use (or enable) a cipher suite that is supported by the server.\n\n### Possible solutions\n\n- Verify your TLS version and cipher suites are compatible with Twilio's security requirements. For more information, see [Monitoring Updates to Twilio REST API Security Settings](https://help.twilio.com/articles/226478767).\n",
    "causes": "* Incompatible cipher suites in use by the client and the server. This would require the client to use (or enable) a cipher suite that is supported by the server.",
    "solutions": "* Verify your TLS version and cipher suites are compatible with Twilio's security requirements. For more information, see [Monitoring Updates to Twilio REST API Security Settings](https://help.twilio.com/articles/226478767).",
    "description": "During SSL/TLS negotiation, Twilio experienced a connection reset.",
    "date_created": "2016-03-31T17:13:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11235,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Certificate Invalid - Domain Mismatch",
    "secondary_message": "Twilio tried to validate your SSL certificate but your certificate has a domain name that does not match the domain we requested.",
    "product": null,
    "docs": "\n## Description\n\nTwilio tried to validate your SSL certificate but your certificate has a domain name that does not match the domain we requested.\n\n### Possible causes\n\n- Your Certificate Name or Certificate Alternate Name on your SSL certificate does not match the domain Twilio requested.\n\n### Possible solutions\n\n- Obtain a SSL certificate with a Certificate Name or Certificate Alternate Name that matches this domain.\n",
    "causes": "* Your Certificate Name or Certificate Alternate Name on your SSL certificate does not match the domain Twilio requested.",
    "solutions": "* Obtain a SSL certificate with a Certificate Name or Certificate Alternate Name that matches this domain.",
    "description": "Twilio tried to validate your SSL certificate but your certificate has a domain name that does not match the domain we requested.",
    "date_created": "2016-03-31T17:13:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11236,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Certificate Invalid - Certificate Expired",
    "secondary_message": "Twilio tried to validate your SSL certificate but your certificate has expired.",
    "product": null,
    "docs": "\n## Description\n\nTwilio tried to validate your SSL certificate but your certificate has expired.\n\n### Possible causes\n\n- Your SSL certificate has expired.\n\n### Possible solutions\n\n- Renew your SSL certificate.\n",
    "causes": "* Your SSL certificate has expired.",
    "solutions": "* Renew your SSL certificate.",
    "description": "Twilio tried to validate your SSL certificate but your certificate has expired.",
    "date_created": "2016-03-31T17:13:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11237,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Certificate Invalid - Could not find path to certificate",
    "secondary_message": "Twilio tried to validate your SSL certificate but was unable to find it in our certificate store.",
    "product": null,
    "docs": "\n## Description\n\nTwilio tried to validate your SSL certificate but was unable to find it in our certificate store.\n\n### Possible causes\n\n- You are using a self signed certificate.\n- The certificate authority you are using is not on our list of approved certificate authorities.\n- Your certificate chain is incomplete and requires an additional download.\n\n### Possible solutions\n\n- Do not use a self signed certificate.\n- Concatenate your certificate chain so that no additional download is required.\n- Twilio uses CAs that are approved by Mozilla, you can find the full list [here](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport).\n- For testing purposes you can [disable SSL Certificate Validation in Console](https://www.twilio.com/console/project/settings).\n",
    "causes": "* You are using a self signed certificate.\n* The certificate authority you are using is not on our list of approved certificate authorities.\n* Your certificate chain is incomplete and requires an additional download.",
    "solutions": "* Do not use a self signed certificate.\n* Concatenate your certificate chain so that no additional download is required.\n* Twilio uses CAs that are approved by Mozilla, you can find the full list [here](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport).\n* For testing purposes you can [disable SSL Certificate Validation in Console](https://www.twilio.com/console/project/settings).",
    "description": "Twilio tried to validate your SSL certificate but was unable to find it in our certificate store.",
    "date_created": "2016-03-31T17:13:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11240,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP connection edge location is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThere was an error connecting to the URL due to an invalid edge location parameter.\n\n### Possible causes\n\n- The edge location(s) specified in the 'e' parameter of your connection settings are not valid\n\n### Possible solutions\n\n- Correct the 'e' parameter in the fragment part of the URL, the one after '#'.\n",
    "causes": "* The edge location(s) specified in the 'e' parameter of your connection settings are not valid",
    "solutions": "* Correct the 'e' parameter in the fragment part of the URL, the one after '#'.",
    "description": "There was an error connecting to the URL due to an invalid edge location parameter.",
    "date_created": "2019-02-04T18:34:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11241,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "HTTP connection edge location is not supported",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThere was an error connecting to the URL due to an unsupported edge location parameter.\n\n### Possible causes\n\n- The edge location(s) specified in the 'e' parameter of your connection settings are not currently supported by Twilio.\n\n### Possible solutions\n\n- Correct the 'e' parameter in the fragment part of the URL, the one after '#'.\n",
    "causes": "* The edge location(s) specified in the 'e' parameter of your connection settings are not currently supported by Twilio.",
    "solutions": "* Correct the 'e' parameter in the fragment part of the URL, the one after '#'.",
    "description": "There was an error connecting to the URL due to an unsupported edge location parameter.",
    "date_created": "2019-02-04T18:35:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11242,
    "log_level": "ERROR",
    "log_type": null,
    "message": "HTTP connection over Twilio Interconnect is not allowed",
    "secondary_message": "Your account has not been enabled for HTTP connections over Twilio Interconnect.",
    "product": null,
    "docs": "\n## Description\n\nYour account has not been enabled for HTTP connections over Twilio Interconnect.\n\n### Possible solutions\n\n- Correct the 'r' (region) parameter in the fragment part of the URL, the one after '#'. Remove those with the '-ix' suffix.\n- Contact Twilio [customer support](/help/contact) to inquire further.\n",
    "causes": null,
    "solutions": "* Correct the 'r' (region) parameter in the fragment part of the URL, the one after '#'. Remove those with the '-ix' suffix.\n* Contact Twilio [customer support](/help/contact) to inquire further.",
    "description": "Your account has not been enabled for HTTP connections over Twilio Interconnect.",
    "date_created": "2019-02-04T18:37:33Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 11243,
    "log_level": "ERROR",
    "log_type": null,
    "message": "HTTP retry policy is invalid",
    "secondary_message": "One or more retry policies specified in the 'rp' parameter of your connection settings are invalid.",
    "product": null,
    "docs": "\n## Description\n\nOne or more retry policies specified in the 'rp' parameter of your connection settings are invalid.\n\n### Possible solutions\n\n- Correct the 'rp' (retry policy) parameter in the fragment part of the URL, the one after '#'.\n",
    "causes": null,
    "solutions": "* Correct the 'rp' (retry policy) parameter in the fragment part of the URL, the one after '#'.",
    "description": "One or more retry policies specified in the 'rp' parameter of your connection settings are invalid.",
    "date_created": "2019-01-31T00:29:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 11244,
    "log_level": "ERROR",
    "log_type": null,
    "message": "HTTP communication total time out triggered",
    "secondary_message": "All attempts to communicate with your web server were timed out.",
    "product": null,
    "docs": "\n## Description\n\nAll attempts to communicate with your web server were timed out. You set the total timeout using the tt parameter in the URL fragment identifier.\n\n### Possible solutions\n\n- Adjust the 'tt' (total timeout) parameter in the fragment part of the URL, the one after '#'.\n",
    "causes": null,
    "solutions": "* Adjust the 'tt' (total timeout) parameter in the fragment part of the URL, the one after '#'.",
    "description": "All attempts to communicate with your web server were timed out. You set the total timeout using the tt parameter in the URL fragment identifier.",
    "date_created": "2019-01-09T21:06:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 11251,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Fatal protocol violation",
    "secondary_message": "There was an HTTP protocol violation speaking to the target URL.",
    "product": null,
    "docs": "\n## Description\n\nThere was an HTTP protocol violation speaking to the target URL.\n",
    "causes": null,
    "solutions": null,
    "description": "There was an HTTP protocol violation speaking to the target URL.",
    "date_created": "2016-03-31T17:13:26Z",
    "last_updated": "2020-08-04T10:00:29.373Z"
  },
  {
    "code": 11300,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid template URL",
    "secondary_message": "The provided URL template has an invalid format. Please check to see if you have unclosed brackets.",
    "product": null,
    "docs": "\n## Description\n\nThe provided URL template has an invalid format. Please check to see if you have unclosed brackets.\n",
    "causes": null,
    "solutions": null,
    "description": "The provided URL template has an invalid format. Please check to see if you have unclosed brackets.",
    "date_created": "2016-03-31T17:13:26Z",
    "last_updated": "2020-08-04T10:00:29.26Z"
  },
  {
    "code": 11310,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid template token",
    "secondary_message": "The provided URL template references a nonexistent token.",
    "product": null,
    "docs": "\n## Description\n\nThe provided URL template references a nonexistent token.\n",
    "causes": null,
    "solutions": null,
    "description": "The provided URL template references a nonexistent token.",
    "date_created": "2016-03-31T17:13:27Z",
    "last_updated": "2020-08-04T10:00:29.24Z"
  },
  {
    "code": 11320,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid template unclosed brackets",
    "secondary_message": "The provided URL template has an invalid format. Please check to see if you have unclosed brackets.",
    "product": null,
    "docs": "\n## Description\n\nThe provided URL template has an invalid format. Please check to see if you have unclosed brackets.\n",
    "causes": null,
    "solutions": null,
    "description": "The provided URL template has an invalid format. Please check to see if you have unclosed brackets.",
    "date_created": "2016-03-31T17:13:27Z",
    "last_updated": "2020-08-04T10:00:29.221Z"
  },
  {
    "code": 11321,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Misconfigured webhook",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nAn incoming message reached one of your Twilio numbers, but Twilio could not send the webhook request because the configured URL is invalid. Configure the message URL in the Twilio Console or with the Messaging REST API, and make sure Twilio can reach the endpoint over the public internet.\n\n### Possible causes\n\n- The phone number or Messaging Service is configured with a malformed webhook URL.\n\n### Possible solutions\n\n- Verify the URL in the Twilio Console to make sure it is correct and accessible.\n- Use a fully qualified URL that includes the protocol, hostname, file path, and properly URL-encoded query parameters.\n- Make sure the endpoint is reachable from the public internet.\n\n#### Additional resources\n\n- [Twilio's request to your incoming message Webhook URL](/docs/messaging/guides/webhook-request)\n- [Webhooks security](/docs/usage/webhooks/webhooks-security)\n- [How to Configure a Twilio Phone Number to Receive and Respond to Messages](https://help.twilio.com/articles/223136047)\n",
    "causes": "* The phone number or Messaging Service is configured with a malformed webhook URL.",
    "solutions": "* Verify the URL in the Twilio Console to make sure it is correct and accessible.\n* Use a fully qualified URL that includes the protocol, hostname, file path, and properly URL-encoded query parameters.\n* Make sure the endpoint is reachable from the public internet.",
    "description": "An incoming message reached one of your Twilio numbers, but Twilio could not send the webhook request because the configured URL is invalid. Configure the message URL in the Twilio Console or with the Messaging REST API, and make sure Twilio can reach the endpoint over the public internet.",
    "date_created": "2025-01-06T08:25:32Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 11322,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid webhook method",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis warning means Twilio received a message for one of your Twilio numbers but could not send the webhook request to your application because the configured HTTP method is incorrect. Configure the webhook URL and HTTP method in the Twilio Console or by using the Messaging REST API.\n\n### Possible causes\n\n- The incoming message webhook is configured with the wrong HTTP method for your application. Twilio supports `GET` and `POST`.\n\n### Possible solutions\n\n- Update the webhook configuration in the Twilio Console or Messaging REST API so the URL uses the HTTP method your application handles. Twilio supports `GET` and `POST`.\n- If you want Twilio to cache static TwiML pages, configure the webhook to use `GET` instead of `POST`.\n- Make sure your application is ready to receive the configured request method at the message URL for the number or Messaging Service.\n\n#### Additional resources\n\n- [Twilio's request to your incoming message Webhook URL](/docs/messaging/guides/webhook-request)\n- [TwiML Message: `<Message>`](/docs/messaging/twiml/message)\n- [Getting Started with Twilio Webhooks](/docs/usage/webhooks/getting-started-twilio-webhooks)\n",
    "causes": "* The incoming message webhook is configured with the wrong HTTP method for your application. Twilio supports `GET` and `POST`.",
    "solutions": "* Update the webhook configuration in the Twilio Console or Messaging REST API so the URL uses the HTTP method your application handles. Twilio supports `GET` and `POST`.\n* If you want Twilio to cache static TwiML pages, configure the webhook to use `GET` instead of `POST`.\n* Make sure your application is ready to receive the configured request method at the message URL for the number or Messaging Service.",
    "description": "This warning means Twilio received a message for one of your Twilio numbers but could not send the webhook request to your application because the configured HTTP method is incorrect. Configure the webhook URL and HTTP method in the Twilio Console or by using the Messaging REST API.",
    "date_created": "2025-01-06T08:28:03Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 11750,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TwiML response body too large",
    "secondary_message": "In your response to Twilio's request, the response body is larger than 64 kB.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nIn your response to Twilio's request, the response body is larger than 64 kB.\n\n### Possible causes\n\n- The TwiML that you are serving is larger than 64 kB\n- You are serving non-TwiML content in your response; e.g. error message output\n\n### Possible solutions\n\n- Verify that you are serving TwiML in your response to Twilio's request.\n- Verify that you are including this header in your TwiML response: `<?xml version=\"1.0\" encoding=\"UTF-8\"?>`\n- Limit your TwiML response to 64 kB or less.\n- Does your TwiML include the [Play verb](/docs/voice/twiml/play)? Double-check the encoding and MIME type to ensure they are supported.\n- Check that your TwiML is formatted properly. To quickly verify your TwiML, you can copy and paste it into a new [TwiML bin in the Twilio Console](https://www.twilio.com/console/runtime/twiml-bins/create).\n- Check to see if your application is throwing errors. This may cause your application to send a large debug output back to Twilio instead of the expected TwiML.\n- If you are trying to send a `200` response in a status callback, use an empty TwiML response: `<Response/>`\n",
    "causes": "* The TwiML that you are serving is larger than 64 kB\n* You are serving non-TwiML content in your response; e.g. error message output",
    "solutions": "* Verify that you are serving TwiML in your response to Twilio's request.\n* Verify that you are including this header in your TwiML response: `<?xml version=\"1.0\" encoding=\"UTF-8\"?>`\n* Limit your TwiML response to 64 kB or less.\n* Does your TwiML include the [Play verb](/docs/voice/twiml/play)? Double-check the encoding and MIME type to ensure they are supported.\n* Check that your TwiML is formatted properly. To quickly verify your TwiML, you can copy and paste it into a new [TwiML bin in the Twilio Console](https://www.twilio.com/console/runtime/twiml-bins/create).\n* Check to see if your application is throwing errors. This may cause your application to send a large debug output back to Twilio instead of the expected TwiML.\n* If you are trying to send a `200` response in a status callback, use an empty TwiML response: `<Response/>`",
    "description": "In your response to Twilio's request, the response body is larger than 64 kB.",
    "date_created": "2016-03-31T17:14:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11751,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media Message - Media exceeds messaging provider size limit",
    "secondary_message": "The total size of the media message request exceeds the maximum size limit for the channel.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Media Message -> Media exceeds messaging provider size limit\n\nMaximum size limit depends on the messaging channel.\n\n- For an MMS message, the size limit is [5MB](/docs/messaging/guides/accepted-mime-types).\n- For a WhatsApp message, the size limit is [16MB](/docs/whatsapp/guidance-whatsapp-media-messages).\n\n### Possible causes\n\nThe total size of the media message request exceeds the maximum size limit for the channel.\n\n### Possible solutions\n\nIf you are sending multiple media files on a message, split them into multiple requests to reduce the size of each request.\n",
    "causes": "The total size of the media message request exceeds the maximum size limit for the channel.",
    "solutions": "If you are sending multiple media files on a message, split them into multiple requests to reduce the size of each request.",
    "description": "",
    "date_created": "2016-03-31T17:14:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 11770,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Empty response body",
    "secondary_message": "Twilio received a HTTP response with Transfer-encoding: chunked but an empty body. #### Possible Causes \\* Server misconfiguration \\* Network disruptions #### Possible Solutions \\* Verify that the server is serving a non-empty HTTP response \\* Verify that the network connection is stable",
    "product": null,
    "docs": "\n## Description\n\nTwilio received a HTTP response with Transfer-encoding: chunked but an empty body.\n\n### Possible causes\n\n- Server misconfiguration\n- Network disruptions\n\n### Possible solutions\n\n- Verify that the server is serving a non-empty HTTP response\n- Verify that the network connection is stable\n",
    "causes": "* Server misconfiguration\n* Network disruptions",
    "solutions": "* Verify that the server is serving a non-empty HTTP response\n* Verify that the network connection is stable",
    "description": "Twilio received a HTTP response with Transfer-encoding: chunked but an empty body.",
    "date_created": "2016-03-31T17:14:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 12100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Document parse failure",
    "secondary_message": "Twilio was unable to parse the provided XML Document.",
    "product": null,
    "docs": "\n## Description\n\nTwilio was unable to parse the provided XML Document.\n\nYour TwiML document must be a valid XML Document, or Twilio will not be able to read your document. You can debug XML parsing errors by getting the response body in the [debugger](/user/account/debugger), and then using an online validation tool like the [W3C Validation Service](http://validator.w3.org/#validate_by_input).\n\n### Possible causes\n\n- There is a leading space, or an empty line, before the XML type header (i.e. `<?xml version=\"1.0\" encoding=\"UTF-8\"?>`)\n- The root `<Response>` element is missing\n- There is an unclosed element\n- There is an unquoted attribute\n- There is an improperly nested element\n\n### Possible solutions\n\n- Make sure there is no extra space or line at the beginning of the file before the type header\n- Make sure your root element is `<Response>`\n- XML is case sensitive, make sure your start and end elements match case. (Twilio elements begin with a capital letter)\n- Make sure characters such as `< >` and & are escaped properly, as `&lt; &gt; and &amp;`.\n",
    "causes": "* There is a leading space, or an empty line, before the XML type header (i.e. `<?xml version=\"1.0\" encoding=\"UTF-8\"?>`)\n* The root `<Response>` element is missing\n* There is an unclosed element\n* There is an unquoted attribute\n* There is an improperly nested element",
    "solutions": "* Make sure there is no extra space or line at the beginning of the file before the type header\n* Make sure your root element is `<Response>`\n* XML is case sensitive, make sure your start and end elements match case. (Twilio elements begin with a capital letter)\n* Make sure characters such as `< >` and & are escaped properly, as `&lt; &gt; and &amp;`.",
    "description": "Twilio was unable to parse the provided XML Document. Your TwiML document must be a valid XML Document, or Twilio will not be able to read your document. You can debug XML parsing errors by getting the response body in the [debugger](/user/account/debugger), and then using an online validation tool like the [W3C Validation Service](http://validator.w3.org/#validate_by_input).",
    "date_created": "2016-03-31T17:13:27Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 12101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Twilio Markup XML version",
    "secondary_message": "The version attribute of the Response root element is not valid.",
    "product": null,
    "docs": "\n## Description\n\nThe version attribute of the Response root element is not valid.\n\n### Possible causes\n\n- an invalid value was provided for the \"version\" attribute of the [Response](/docs/voice/twiml#responding-to-twilio) root element.\n\n### Possible solutions\n\n- refer to the [versions](/docs/voice/twiml#responding-to-twilio) documentation for information on valid version values.\n",
    "causes": "* an invalid value was provided for the \"version\" attribute of the [Response](/docs/voice/twiml#responding-to-twilio) root element.",
    "solutions": "* refer to the [versions](/docs/voice/twiml#responding-to-twilio) documentation for information on valid version values.",
    "description": "The version attribute of the Response root element is not valid.",
    "date_created": "2016-03-31T17:13:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 12102,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The root element must be Response",
    "secondary_message": "The root element of a Twilio Markup XML document _must_ be [Response](/docs/api/twiml/response)",
    "product": null,
    "docs": "\n## Description\n\nThe root element of a Twilio Markup XML document *must* be [Response](/docs/voice/twiml#responding-to-twilio)\n",
    "causes": null,
    "solutions": null,
    "description": "The root element of a Twilio Markup XML document *must* be [Response](/docs/voice/twiml#responding-to-twilio)",
    "date_created": "2016-03-31T17:13:28Z",
    "last_updated": "2020-08-04T10:00:29.17Z"
  },
  {
    "code": 12200,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Schema validation warning",
    "secondary_message": "The provided XML does not conform to the Twilio Markup XML schema. Please refer to the specific error and correct the problem.",
    "product": null,
    "docs": "\n## Description\n\n### Schema validation warning\n\nThe provided XML does not conform to the Twilio Markup XML schema. Please refer to the specific error and correct the problem.\n\n### Possible causes\n\n- Misspelled verbs\n- Incorrect case for verbs; TwiML is case-sensitive, so `<Say>` works, but `<say>` will not\n- Misspelled or unknown attributes\n- Unknown or unexpected nested elements.\n\n### Possible solutions\n\n- Check the line and column reported by the warning to see what part of your XML response caused the complaint\n- Verify that your application server is accepting and properly responding to any [custom parameters](https://support.twilio.com/hc/en-us/articles/115011213347) you may be passing\n",
    "causes": "* Misspelled verbs\n* Incorrect case for verbs; TwiML is case-sensitive, so `<Say>` works, but `<say>` will not\n* Misspelled or unknown attributes\n* Unknown or unexpected nested elements.",
    "solutions": "* Check the line and column reported by the warning to see what part of your XML response caused the complaint\n* Verify that your application server is accepting and properly responding to any [custom parameters](https://support.twilio.com/hc/en-us/articles/115011213347) you may be passing",
    "description": "",
    "date_created": "2016-03-31T17:13:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 12300,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Content-Type",
    "secondary_message": "Twilio is unable to process the Content-Type of the provided URL. Please see Twilio's [documentation on accepted content types ](/docs/sms/accepted-mime-types)for more information on valid Content-Types.",
    "product": null,
    "docs": "\n## Description\n\nTwilio is unable to process the `Content-Type` of the provided URL. Please see Twilio's [documentation on accepted content types ](/docs/voice/twiml#twilio-understands-mime-types)for more information on valid `Content-Type`s.\n\nYou must return a `Content-Type` for all requests. Requests without a `Content-Type` will appear in the [Debugger](/console/runtime/debugger) as a 502 Bad Gateway error.\n\n### Possible causes\n\n- Having a phone number, outgoing call request or action attribute refer to a non-XML or audio resource.\n- Having a Play verb attempt to play non-audio content, such as XML or text.\n\n### Possible solutions\n\n- Verify that that your web server is returning a `Content-Type` and it is the expected value\n- Make sure the URL noted refers to a valid resource\n- Make sure messages to or from your Twilio phone number are using a supported content-type. See the [full list of supported content types](/docs/messaging/guides/accepted-mime-types).\n- Use one of the [supported request types](/docs/serverless/functions-assets/functions/request-flow#supported-requests) to call a Twilio function.\n",
    "causes": "* Having a phone number, outgoing call request or action attribute refer to a non-XML or audio resource.\n* Having a Play verb attempt to play non-audio content, such as XML or text.",
    "solutions": "* Verify that that your web server is returning a `Content-Type` and it is the expected value\n* Make sure the URL noted refers to a valid resource\n* Make sure messages to or from your Twilio phone number are using a supported content-type. See the [full list of supported content types](/docs/messaging/guides/accepted-mime-types).\n* Use one of the [supported request types](/docs/serverless/functions-assets/functions/request-flow#supported-requests) to call a Twilio function.",
    "description": "Twilio is unable to process the `Content-Type` of the provided URL. Please see Twilio's [documentation on accepted content types ](/docs/voice/twiml#twilio-understands-mime-types)for more information on valid `Content-Type`s. You must return a `Content-Type` for all requests. Requests without a `Content-Type` will appear in the [Debugger](/console/runtime/debugger) as a 502 Bad Gateway error.",
    "date_created": "2016-03-31T17:13:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 12301,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Upload Content-Type",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio is unable to process the `Content-Type` of the uploaded file. Please make sure the uploaded file is valid and supported.\n\n### Possible causes\n\n- Unsupported file format\n- File is malformed\n",
    "causes": "* Unsupported file format\n* File is malformed",
    "solutions": null,
    "description": "Twilio is unable to process the `Content-Type` of the uploaded file. Please make sure the uploaded file is valid and supported.",
    "date_created": "2019-04-11T18:36:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 12350,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Cookie",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid cookie received in TwiML response\n\n### Possible causes\n\nCookie name contains prohibited characters\n\n### Possible solutions\n\nEnsure web standards conformance of the cookies sent with your TwiML responses\n",
    "causes": "Cookie name contains prohibited characters",
    "solutions": "Ensure web standards conformance of the cookies sent with your TwiML responses",
    "description": "Invalid cookie received in TwiML response",
    "date_created": "2020-05-23T18:16:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 12400,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal Failure",
    "secondary_message": "An internal error has occurred that prevented Twilio from processing your response.",
    "product": null,
    "docs": "\n## Description\n\nAn internal error has occurred that prevented Twilio from processing your response.\n\n### Possible causes\n\n- We screwed up. Sorry!\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it.\n- Note the time of the error and what you were trying to do when it occurred.\n",
    "causes": "* We screwed up. Sorry!",
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it.\n* Note the time of the error and what you were trying to do when it occurred.",
    "description": "An internal error has occurred that prevented Twilio from processing your response.",
    "date_created": "2016-03-31T17:13:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13000,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Conference Noun cannot be mixed with Number nouns",
    "secondary_message": "The Conference noun can only be used once inside a Dial verb",
    "product": null,
    "docs": "\n## Description\n\nThe Conference noun can only be used once inside a Dial verb\n",
    "causes": null,
    "solutions": null,
    "description": "The Conference noun can only be used once inside a Dial verb",
    "date_created": "2016-03-31T17:13:30Z",
    "last_updated": "2020-08-04T10:00:29.095Z"
  },
  {
    "code": 13110,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Annotate: Annotate must contain one valid nested element",
    "secondary_message": "Annotate must contain one valid nested element",
    "product": null,
    "docs": "\n## Description\n\nAnnotate must contain one valid nested element\n",
    "causes": null,
    "solutions": null,
    "description": "Annotate must contain one valid nested element",
    "date_created": "2016-03-31T17:13:30Z",
    "last_updated": "2020-08-04T10:00:29.078Z"
  },
  {
    "code": 13111,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Annotate: Annotate must contain only one of element X",
    "secondary_message": "Annotate must contain only one of element X",
    "product": null,
    "docs": "\n## Description\n\nAnnotate must contain only one of element X\n",
    "causes": null,
    "solutions": null,
    "description": "Annotate must contain only one of element X",
    "date_created": "2016-03-31T17:13:30Z",
    "last_updated": "2020-08-04T10:00:29.06Z"
  },
  {
    "code": 13112,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Annotate: Invalid nested element",
    "secondary_message": "You may only nest BillingReferenceTag elements in Annotate",
    "product": null,
    "docs": "\n## Description\n\nYou may only nest BillingReferenceTag elements in Annotate\n",
    "causes": null,
    "solutions": null,
    "description": "You may only nest BillingReferenceTag elements in Annotate",
    "date_created": "2016-03-31T17:13:30Z",
    "last_updated": "2020-08-04T10:00:29.043Z"
  },
  {
    "code": 13120,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Annotate->BillingReferenceTag cannot be over 128 characters",
    "secondary_message": "BillingReferenceTag cannot be over 128 characters",
    "product": null,
    "docs": "\n## Description\n\nBillingReferenceTag cannot be over 128 characters\n",
    "causes": null,
    "solutions": null,
    "description": "BillingReferenceTag cannot be over 128 characters",
    "date_created": "2016-03-31T17:13:31Z",
    "last_updated": "2020-08-04T10:00:29.019Z"
  },
  {
    "code": 13201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial: Cannot Dial out from a Dial Call Segment",
    "secondary_message": "TwiML documents that execute on the called party's end (via the Dial->Number url attribute, before the parties are bridged) cannot issue a new Dial.",
    "product": null,
    "docs": "\n## Description\n\nTwiML documents that execute on the called party's end (via the Dial->Number URL attribute, before the parties are bridged) cannot issue a new Dial.\n",
    "causes": null,
    "solutions": null,
    "description": "TwiML documents that execute on the called party's end (via the Dial->Number URL attribute, before the parties are bridged) cannot issue a new Dial.",
    "date_created": "2016-03-31T17:13:31Z",
    "last_updated": "2020-08-04T10:00:29.001Z"
  },
  {
    "code": 13210,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid method value",
    "secondary_message": "You have provided an invalid value for the \"method\" attribute. Valid values are GET or POST. See the [Dial Verb](/docs/api/twiml/dial#method) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nYou have provided an invalid value for the \"method\" attribute. Valid values are `GET` or `POST`. See the [Dial Verb](/docs/voice/twiml/dial#method) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "You have provided an invalid value for the \"method\" attribute. Valid values are `GET` or `POST`. See the [Dial Verb](/docs/voice/twiml/dial#method) API Reference for more information.",
    "date_created": "2016-03-31T17:13:31Z",
    "last_updated": "2020-08-04T10:00:28.984Z"
  },
  {
    "code": 13211,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid ifMachine value",
    "secondary_message": "ifMachine must be either \"hangup\",\"continue\", or \"false\".",
    "product": null,
    "docs": "\n## Description\n\nifMachine must be either \"hangup\",\"continue\", or \"false\".\n",
    "causes": null,
    "solutions": null,
    "description": "ifMachine must be either \"hangup\",\"continue\", or \"false\".",
    "date_created": "2016-03-31T17:13:31Z",
    "last_updated": "2020-08-04T10:00:28.966Z"
  },
  {
    "code": 13212,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid timeout value",
    "secondary_message": "timeout must be a positive integer, in seconds. See the [Dial Verb](/docs/api/twiml/dial#timeout) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\ntimeout must be a positive integer, in seconds. See the [Dial Verb](/docs/voice/twiml/dial#timeout) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "timeout must be a positive integer, in seconds. See the [Dial Verb](/docs/voice/twiml/dial#timeout) API Reference for more information.",
    "date_created": "2016-03-31T17:13:32Z",
    "last_updated": "2020-08-04T10:00:28.941Z"
  },
  {
    "code": 13213,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid hangupOnStar value",
    "secondary_message": "hangupOnStar must be \"true\" or \"false\". See the [Dial Verb](/docs/api/twiml/dial#hangupOnStar) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nhangupOnStar must be \"true\" or \"false\". See the [Dial Verb](/docs/voice/twiml/dial#hangupOnStar) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "hangupOnStar must be \"true\" or \"false\". See the [Dial Verb](/docs/voice/twiml/dial#hangupOnStar) API Reference for more information.",
    "date_created": "2016-03-31T17:13:32Z",
    "last_updated": "2020-08-04T10:00:28.922Z"
  },
  {
    "code": 13214,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Dial: Invalid callerId value",
    "secondary_message": "callerId must be the calling number, called number, or a validated outgoing number. See the [Dial Verb](/docs/api/twiml/dial#callerId) API Reference for more information.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Dial: Invalid callerId value\n\ncallerId must be the calling number, called number, or a validated outgoing number. Additionally, if the calling leg is a client leg, the caller ID is required and must be a validated outgoing number. See the [Dial Verb](/docs/voice/twiml/dial#callerId) API Reference for more information.\n\n### Possible causes\n\nCarriers may send invalid Caller IDs on Incoming calls to Twilio. If a specific Caller ID is not explicitly defined on the `<Dial>` verb, the invalid Caller ID will be passed to the destination. This may cause some destination providers to reject the call, and Twilio will mark it as failed.\n\n### Possible solutions\n\nTo work around this, your application should recognize invalid caller IDs, and substitute them with a valid Caller ID to construct the subsequent `<Dial>`.\n",
    "causes": "Carriers may send invalid Caller IDs on Incoming calls to Twilio. If a specific Caller ID is not explicitly defined on the `<Dial>` verb, the invalid Caller ID will be passed to the destination. This may cause some destination providers to reject the call, and Twilio will mark it as failed.",
    "solutions": "To work around this, your application should recognize invalid caller IDs, and substitute them with a valid Caller ID to construct the subsequent `<Dial>`.",
    "description": "",
    "date_created": "2016-03-31T17:13:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13215,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid nested element",
    "secondary_message": "The only valid nested element for Dial is Number. See the [Dial Verb](/docs/api/twiml/dial) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe only valid nested element for Dial is Number. See the [Dial Verb](/docs/voice/twiml/dial) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The only valid nested element for Dial is Number. See the [Dial Verb](/docs/voice/twiml/dial) API Reference for more information.",
    "date_created": "2016-03-31T17:13:33Z",
    "last_updated": "2020-08-04T10:00:28.876Z"
  },
  {
    "code": 13216,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid timeLimit value",
    "secondary_message": "timeLimit must be a positive integer, in seconds. See the [Dial Verb](/docs/api/twiml/dial#timeLimit) API Reference for more information.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Invalid timeLimit value\n\ntimeLimit must be a positive integer, in seconds. See the [Dial Verb](/docs/voice/twiml/dial#timeLimit) API Reference for more information.\n\n### Possible causes\n\ntimeLimit must be a positive integer, in seconds.\n\n### Possible solutions\n\nSee the [Dial Verb](/docs/voice/twiml/dial#timeLimit) API Reference for more information.\n",
    "causes": "timeLimit must be a positive integer, in seconds.",
    "solutions": "See the [Dial Verb](/docs/voice/twiml/dial#timeLimit) API Reference for more information.",
    "description": "",
    "date_created": "2016-03-31T17:13:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13217,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid record value",
    "secondary_message": "record must be \"true\" or \"false\".",
    "product": null,
    "docs": "\n## Description\n\nrecord must be \"true\" or \"false\".\n",
    "causes": null,
    "solutions": null,
    "description": "record must be \"true\" or \"false\".",
    "date_created": "2016-03-31T17:13:33Z",
    "last_updated": "2020-08-04T10:00:28.757Z"
  },
  {
    "code": 13218,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Dial: Invalid sequential value",
    "secondary_message": "sequential must be \"true\" or \"false\"",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe `sequential` attribute on `<Dial>` only accepts `true` or `false`. Setting `sequential=\"true\"` lets Twilio call up to ten agents one after the other, in the order they are specified in the verb.\n\n### Possible causes\n\nThe `sequential` attribute on `<Dial>` was set to a value other than `true` or `false`.\n\n### Possible solutions\n\n- Update the `<Dial>` verb so `sequential` is set to either `true` or `false`.\n- If you need sequential dialing, set `sequential=\"true\"` on `<Dial>` so Twilio calls up to ten agents one after the other in the specified order.\n\n#### Additional resources\n\n- [TwiML Voice: `<Dial>`](/docs/voice/twiml/dial)\n- [Error and Warning Dictionary](/docs/api/errors)\n",
    "causes": "The `sequential` attribute on `<Dial>` was set to a value other than `true` or `false`.",
    "solutions": "* Update the `<Dial>` verb so `sequential` is set to either `true` or `false`.\n* If you need sequential dialing, set `sequential=\"true\"` on `<Dial>` so Twilio calls up to ten agents one after the other in the specified order.",
    "description": "The `sequential` attribute on `<Dial>` only accepts `true` or `false`. Setting `sequential=\"true\"` lets Twilio call up to ten agents one after the other, in the order they are specified in the verb.",
    "date_created": "2020-05-14T18:00:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13219,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Dial: Invalid answerOnBridge value",
    "secondary_message": "answerOnBridge must be \"true\" or \"false\".",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nanswerOnBridge must be \"true\" or \"false\".\n\n### Possible causes\n\nanswerOnBridge value is not \"true\" or \"false\".\n\n### Possible solutions\n\nanswerOnBridge must be \"true\" or \"false\".\n",
    "causes": "answerOnBridge value is not \"true\" or \"false\".",
    "solutions": "answerOnBridge must be \"true\" or \"false\".",
    "description": "answerOnBridge must be \"true\" or \"false\".",
    "date_created": "2020-05-16T02:48:19Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13220,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Dial: Invalid ringTone value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning is returned when a `<Dial>` verb includes an invalid `ringTone` attribute value. The `ringTone` attribute lets you override the ringback tone Twilio plays to the caller while executing `<Dial>`.\n\n### Possible causes\n\n- The `<Dial>` verb included a `ringTone` value that does not match one of Twilio's accepted ringtone overrides.\n- A custom ringtone override was supplied with a value outside the documented `ringTone` values for `<Dial>`.\n\n### Possible solutions\n\n- Update the `<Dial>` verb so `ringTone` is one of the accepted values for [ringTone](/docs/voice/twiml/dial#ringtone).\n- If you do not need to override ringback, omit `ringTone`. When it is not specified, Twilio will play ringback or pass ringback from the carrier if one is provided.\n\n#### Additional resources\n\n- [TwiML for Programmable Voice](/docs/voice/twiml)\n",
    "causes": "* The `<Dial>` verb included a `ringTone` value that does not match one of Twilio's accepted ringtone overrides.\n* A custom ringtone override was supplied with a value outside the documented `ringTone` values for `<Dial>`.",
    "solutions": "* Update the `<Dial>` verb so `ringTone` is one of the accepted values for [ringTone](/docs/voice/twiml/dial#ringtone).\n* If you do not need to override ringback, omit `ringTone`. When it is not specified, Twilio will play ringback or pass ringback from the carrier if one is provided.",
    "description": "This warning is returned when a `<Dial>` verb includes an invalid `ringTone` attribute value. The `ringTone` attribute lets you override the ringback tone Twilio plays to the caller while executing `<Dial>`.",
    "date_created": "2020-05-16T02:49:41Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13221,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Number: Invalid method value",
    "secondary_message": "The method attribute of Number must be GET or POST. See the [Dial Verb](/docs/api/twiml/dial) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe method attribute of Number must be `GET` or `POST`. See the [Dial Verb](/docs/voice/twiml/dial) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The method attribute of Number must be `GET` or `POST`. See the [Dial Verb](/docs/voice/twiml/dial) API Reference for more information.",
    "date_created": "2016-03-31T17:13:33Z",
    "last_updated": "2020-08-04T10:00:28.728Z"
  },
  {
    "code": 13222,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Dial->Number: Invalid sendDigits value",
    "secondary_message": "The `sendDigits` attribute may contain numbers, the `#` and `*` characters, the letters `A`, `B`, `C`, `D`, as well as lowercase `w` to \"wait\" for half a second or uppercase `W` to \"wait\" for a full second. See the [Dial Verb](/docs/api/twiml/dial) API Reference for more information.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe `sendDigits` attribute may contain numbers, the `#` and `*` characters, the letters `A`, `B`, `C`, `D`, as well as lowercase `w` to \"wait\" for half a second or uppercase `W` to \"wait\" for a full second. See the [Dial Verb](/docs/voice/twiml/dial) API Reference for more information.\n\n### Possible causes\n\nThe attribute `sendDigits` includes an invalid character.\n\n### Possible solutions\n\nEnsure the `sendDigits` attribute only contains the characters: `0123456789ABCD*#wW`.\n",
    "causes": "The attribute `sendDigits` includes an invalid character.",
    "solutions": "Ensure the `sendDigits` attribute only contains the characters: `0123456789ABCD*#wW`.",
    "description": "The `sendDigits` attribute may contain numbers, the `#` and `*` characters, the letters `A`, `B`, `C`, `D`, as well as lowercase `w` to \"wait\" for half a second or uppercase `W` to \"wait\" for a full second. See the [Dial Verb](/docs/voice/twiml/dial) API Reference for more information.",
    "date_created": "2016-03-31T17:13:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13223,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Dial: Invalid phone number format",
    "secondary_message": "Phone Numbers must be in E.164 format. E.164 numbers are formatted \\[+] \\[country code] \\[subscriber number including area code] and can have a maximum of fifteen digits.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nPhone Numbers must be in E.164 format. E.164 numbers are formatted \\[+] \\[country code] \\[subscriber number including area code] and can have a maximum of 15 digits.\n\n### Possible causes\n\n- The phone number you are attempting to dial is not in E.164 format\n- The `<Number>` noun inside your `<Dial>` TwiML instructions is not present\n- You are attempting to dial something that is not a phone number\n\n### Possible solutions\n\nCheck the format of the phone number inside your `<Dial><Number>` TwiML.\n\nVerify that the number is in [E.164 format](/docs/glossary/what-e164):\n\n- Includes the country code\n- Includes the area code\n- Does not exceed 15 digits\n- Does not include any invalid characters, like hyphens or parentheses\n\nIn your TwiML instructions, the phone number must be between the opening and closing `<Number>` tags, which are nested within `<Dial>`'s opening and closing tags:\n\n```bash\n<Dial><Number>+15555555555</Number></Dial>\n```\n\nIf you are attempting to `<Dial>` an SDK end-user, ensure you're using the `<Client>` noun inside your `<Dial>` tags.\n\nIf you are attempting to `<Dial>` a SIP endpoint, ensure you're using the `<Sip>` noun inside your `<Dial>` tags.\n\nFor more information, read the [`<Dial>` docs](/docs/voice/twiml/dial).\n",
    "causes": "* The phone number you are attempting to dial is not in E.164 format\n* The `<Number>` noun inside your `<Dial>` TwiML instructions is not present\n* You are attempting to dial something that is not a phone number",
    "solutions": "Check the format of the phone number inside your `<Dial><Number>` TwiML. Verify that the number is in [E.164 format](/docs/glossary/what-e164): - Includes the country code\n- Includes the area code\n- Does not exceed 15 digits\n- Does not include any invalid characters, like hyphens or parentheses In your TwiML instructions, the phone number must be between the opening and closing `<Number>` tags, which are nested within `<Dial>`'s opening and closing tags: ```bash\n<Dial><Number>+15555555555</Number></Dial>\n``` If you are attempting to `<Dial>` an SDK end-user, ensure you're using the `<Client>` noun inside your `<Dial>` tags. If you are attempting to `<Dial>` a SIP endpoint, ensure you're using the `<Sip>` noun inside your `<Dial>` tags. For more information, read the [`<Dial>` docs](/docs/voice/twiml/dial).",
    "description": "Phone Numbers must be in E.164 format. E.164 numbers are formatted \\[+] \\[country code] \\[subscriber number including area code] and can have a maximum of 15 digits.",
    "date_created": "2016-03-31T17:13:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13224,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial: Twilio does not support calling this number or the number is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio does not support calling this number or the number is invalid\n\n### Possible causes\n\nThis error occurs when the provided number is not in E.164 format; for example using local dialing pattern 01234567890 instead of the full E.164 address +441234567890. This can also occur when calls are attempted to non-existent country codes, area codes, or exchanges. For example, there is no +693 country code, no +1238 US area code, and no 555 US exchange.\n\nThis can also occur with properly-formatted, valid destinations if none of Twilio's carrier partners are able to deliver the call; for example due to a telecom network outage in the phone number's local area.\n\n### Possible solutions\n\nUse E.164 formatting and ensure the destination is a valid, in-service destination.\n",
    "causes": "This error occurs when the provided number is not in E.164 format; for example using local dialing pattern 01234567890 instead of the full E.164 address +441234567890. This can also occur when calls are attempted to non-existent country codes, area codes, or exchanges. For example, there is no +693 country code, no +1238 US area code, and no 555 US exchange. This can also occur with properly-formatted, valid destinations if none of Twilio's carrier partners are able to deliver the call; for example due to a telecom network outage in the phone number's local area.",
    "solutions": "Use E.164 formatting and ensure the destination is a valid, in-service destination.",
    "description": "Twilio does not support calling this number or the number is invalid",
    "date_created": "2016-03-31T17:13:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13225,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial: Call blocked by Twilio",
    "secondary_message": null,
    "product": "Programmable Voice, Trust-Hub",
    "docs": "\n## Description\n\nTwilio blocked the outbound call before connecting it to the destination number. This usually happens when the destination is identified as high risk for fraud, a regulatory restriction prevents the call, or your account does not have a valid Primary Customer Profile for calls to a +1 destination.\n\n### Possible causes\n\n- The destination was identified as a high-risk fraud target.\n- Regulatory requirements prevent Twilio from completing the call to that destination.\n- You are placing a call to a +1 destination and your account does not have a valid Primary Customer Profile in Trust Hub. This can occur when:\n  - Your account does not have a Primary Customer Profile.\n  - Your account has an Individual Customer Profile that was approved after October 2025. Individual profiles approved after this date do not satisfy the Primary Customer Profile requirement for +1 calling.\n\n### Possible solutions\n\n- Confirm that you need to call the destination. If the number is legitimate and Twilio blocked it incorrectly, contact Support through the Console or Help Center and ask for the destination to be reviewed.\n- If you are calling a +1 destination, verify that your account has a Primary Customer Profile in Trust Hub. If your account only has an Individual Customer Profile approved after October 2025, create a Business Customer Profile and submit it for review. For more details, see [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379).\n- Review the destination country's voice regulatory requirements and make sure your calling use case and number configuration comply before you retry the call.\n\n#### Additional resources\n\n- [Trust Hub](/docs/trust-hub)\n- [Console: Create a Primary Customer Profile](/docs/trust-hub/trusthub-rest-api/console-create-a-primary-customer-profile)\n- [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379)\n- [Phone Number Regulatory FAQ](/docs/phone-numbers/regulatory/faq)\n",
    "causes": "* The destination was identified as a high-risk fraud target.\n* Regulatory requirements prevent Twilio from completing the call to that destination.\n* You are placing a call to a +1 destination and your account does not have a valid Primary Customer Profile in Trust Hub. This can occur when:\n  * Your account does not have a Primary Customer Profile.\n  * Your account has an Individual Customer Profile that was approved after October 2025. Individual profiles approved after this date do not satisfy the Primary Customer Profile requirement for +1 calling.",
    "solutions": "* Confirm that you need to call the destination. If the number is legitimate and Twilio blocked it incorrectly, contact Support through the Console or Help Center and ask for the destination to be reviewed.\n* If you are calling a +1 destination, verify that your account has a Primary Customer Profile in Trust Hub. If your account only has an Individual Customer Profile approved after October 2025, create a Business Customer Profile and submit it for review. For more details, see [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379).\n* Review the destination country's voice regulatory requirements and make sure your calling use case and number configuration comply before you retry the call.",
    "description": "Twilio blocked the outbound call before connecting it to the destination number. This usually happens when the destination is identified as high risk for fraud, a regulatory restriction prevents the call, or your account does not have a valid Primary Customer Profile for calls to a +1 destination.",
    "date_created": "2016-03-31T17:13:34Z",
    "last_updated": "2026-04-01T10:42:11+01:00"
  },
  {
    "code": 13226,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid country code",
    "secondary_message": "The country code of the provided phone number is unknown",
    "product": null,
    "docs": "\n## Description\n\nThe country code of the provided phone number is unknown\n",
    "causes": null,
    "solutions": null,
    "description": "The country code of the provided phone number is unknown",
    "date_created": "2016-03-31T17:13:35Z",
    "last_updated": "2020-08-04T10:00:28.585Z"
  },
  {
    "code": 13227,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Geo Permission configuration is not permitting call",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call to a phone number that is not enabled on your account.\n\n### Possible causes\n\nUser dialed a destination your application is not enabled to support calling to.\n\n### Possible solutions\n\nPlease check your [Voice Dialing Geographic Permissions](https://www.twilio.com/console/voice/calls/geo-permissions), fix it, and try again.\n",
    "causes": "User dialed a destination your application is not enabled to support calling to.",
    "solutions": "Please check your [Voice Dialing Geographic Permissions](https://www.twilio.com/console/voice/calls/geo-permissions), fix it, and try again.",
    "description": "You attempted to initiate an outbound phone call to a phone number that is not enabled on your account.",
    "date_created": "2016-03-31T17:13:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13230,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Conference: Invalid muted value",
    "secondary_message": "placeholder",
    "product": null,
    "docs": "\n## Description\n\nmuted must be either \"true\" or false\".\n",
    "causes": null,
    "solutions": null,
    "description": "muted must be either \"true\" or false\".",
    "date_created": "2016-03-31T17:13:35Z",
    "last_updated": "2020-08-04T10:00:28.523Z"
  },
  {
    "code": 13231,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Invalid endConferenceOnExit value",
    "secondary_message": "placeholder",
    "product": null,
    "docs": "\n## Description\n\nendConferenceOnExit must be either \"true\" or false\".\n",
    "causes": null,
    "solutions": null,
    "description": "endConferenceOnExit must be either \"true\" or false\".",
    "date_created": "2016-03-31T17:13:36Z",
    "last_updated": "2020-08-04T10:00:28.483Z"
  },
  {
    "code": 13232,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Conference: Invalid startConferenceOnEnter value",
    "secondary_message": "placeholder",
    "product": null,
    "docs": "\n## Description\n\nstartConferenceOnEnter must be either \"true\" or false\".\n",
    "causes": null,
    "solutions": null,
    "description": "startConferenceOnEnter must be either \"true\" or false\".",
    "date_created": "2016-03-31T17:13:36Z",
    "last_updated": "2020-08-04T10:00:28.463Z"
  },
  {
    "code": 13233,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Conference: Invalid waitUrl",
    "secondary_message": "placeholder",
    "product": null,
    "docs": "\n## Description\n\nwaitUrl must be either a well formed URL or the empty string \"\"\n",
    "causes": null,
    "solutions": null,
    "description": "waitUrl must be either a well formed URL or the empty string \"\"",
    "date_created": "2016-03-31T17:13:36Z",
    "last_updated": "2020-08-04T10:00:28.441Z"
  },
  {
    "code": 13234,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Conference: Invalid waitMethod",
    "secondary_message": "placeholder",
    "product": null,
    "docs": "\n## Description\n\nwaitMethod must be either `GET` or `POST`\n",
    "causes": null,
    "solutions": null,
    "description": "waitMethod must be either `GET` or `POST`",
    "date_created": "2016-03-31T17:13:37Z",
    "last_updated": "2020-08-04T10:00:28.419Z"
  },
  {
    "code": 13235,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Conference: Invalid beep value",
    "secondary_message": "placeholder",
    "product": null,
    "docs": "\n## Description\n\nbeep must be either \"true\" or false\".\n",
    "causes": null,
    "solutions": null,
    "description": "beep must be either \"true\" or false\".",
    "date_created": "2016-03-31T17:13:37Z",
    "last_updated": "2020-08-04T10:00:28.396Z"
  },
  {
    "code": 13236,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Conference: Invalid Conference Sid",
    "secondary_message": "placeholder",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to dial a Conference Sid that does not exist or has already been completed.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to dial a Conference Sid that does not exist or has already been completed.",
    "date_created": "2016-03-31T17:13:37Z",
    "last_updated": "2020-08-04T10:00:28.373Z"
  },
  {
    "code": 13237,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Conference: Invalid Conference Name",
    "secondary_message": "placeholder",
    "product": null,
    "docs": "\n## Description\n\nThe conference name you attempted to Dial is invalid. Conference names must be between 1 and 128 characters.\n",
    "causes": null,
    "solutions": null,
    "description": "The conference name you attempted to Dial is invalid. Conference names must be between 1 and 128 characters.",
    "date_created": "2016-03-31T17:13:38Z",
    "last_updated": "2020-08-04T10:00:28.336Z"
  },
  {
    "code": 13238,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial->Conference: Invalid Verb used in waitUrl, holdUrl, or announceUrl TwiML",
    "secondary_message": "placeholder",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe TwiML that executes via the waitUrl, holdUrl, or announceUrl can only contain Say, Play, Pause, and Redirect verbs. Dial, Gather, Hangup and Record are not allowed.\n\n### Possible causes\n\nDial, Gather, Hangup or Record verbs are used in the TwiML.\n\n### Possible solutions\n\nRemove Dial, Gather, Hangup and Record verbs from the TwiML.\n",
    "causes": "Dial, Gather, Hangup or Record verbs are used in the TwiML.",
    "solutions": "Remove Dial, Gather, Hangup and Record verbs from the TwiML.",
    "description": "The TwiML that executes via the waitUrl, holdUrl, or announceUrl can only contain Say, Play, Pause, and Redirect verbs. Dial, Gather, Hangup and Record are not allowed.",
    "date_created": "2016-03-31T17:13:38Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13239,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Invalid Trim Value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns this error when the `<Conference>` noun receives an invalid `trim` value. The documented `trim` values for `<Conference>` are `trim-silence` and `do-not-trim`.\n\n### Possible causes\n\n- The `<Conference>` noun includes a `trim` attribute with a value other than `trim-silence` or `do-not-trim`.\n\n### Possible solutions\n\n- Update the `<Conference>` noun so `trim` is set to `trim-silence` or `do-not-trim`.\n- Remove the `trim` attribute if you want Twilio to use the documented default value of `trim-silence`.\n\n## Additional resources\n\n- [TwiML Voice: `<Conference>`](/docs/voice/twiml/conference)\n",
    "causes": "* The `<Conference>` noun includes a `trim` attribute with a value other than `trim-silence` or `do-not-trim`.",
    "solutions": "* Update the `<Conference>` noun so `trim` is set to `trim-silence` or `do-not-trim`.\n* Remove the `trim` attribute if you want Twilio to use the documented default value of `trim-silence`.",
    "description": "Twilio returns this error when the `<Conference>` noun receives an invalid `trim` value. The documented `trim` values for `<Conference>` are `trim-silence` and `do-not-trim`.",
    "date_created": "2017-02-14T23:37:04Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13240,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Dial->Conference: Invalid Whisper SID",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when the Call SID supplied for conference whisper or the `<Conference>` `coach` attribute is invalid. Twilio requires `coach` to reference a call that is currently connected to an in-progress conference. If the specified call SID does not exist or is no longer connected to that conference, Twilio throws 13240 and the call fails to the `action` URL.\n\n### Possible causes\n\n- The value passed for conference whisper or the `<Conference>` `coach` attribute is not a valid Call SID.\n- The referenced call SID does not exist.\n- The referenced call is no longer connected to the in-progress conference.\n- The participant's call has already ended, the associated conference has ended, or the call was modified to use new TwiML, so it is no longer available as an active conference participant.\n\n### Possible solutions\n\n- Verify that the value used for conference whisper or `coach` is the Call SID of an active participant in the same in-progress conference.\n- Confirm that the SID is a valid Call SID with the `CA` prefix and the expected 34-character SID format.\n- Check the active conference participant list before using `coach` to ensure the target call is still connected to the conference.\n- If the target participant has left the conference or the call has been redirected to new TwiML, use the current active participant's Call SID instead of a stale SID.\n\n#### Additional resources\n\n- [TwiML Voice: `<Conference>`](/docs/voice/twiml/conference)\n- [Conferences Participants subresource](/docs/voice/api/conference-participant-resource)\n- [What is a String Identifier (SID)?](/docs/glossary/what-is-a-sid)\n",
    "causes": "* The value passed for conference whisper or the `<Conference>` `coach` attribute is not a valid Call SID.\n* The referenced call SID does not exist.\n* The referenced call is no longer connected to the in-progress conference.\n* The participant's call has already ended, the associated conference has ended, or the call was modified to use new TwiML, so it is no longer available as an active conference participant.",
    "solutions": "* Verify that the value used for conference whisper or `coach` is the Call SID of an active participant in the same in-progress conference.\n* Confirm that the SID is a valid Call SID with the `CA` prefix and the expected 34-character SID format.\n* Check the active conference participant list before using `coach` to ensure the target call is still connected to the conference.\n* If the target participant has left the conference or the call has been redirected to new TwiML, use the current active participant's Call SID instead of a stale SID.",
    "description": "This error occurs when the Call SID supplied for conference whisper or the `<Conference>` `coach` attribute is invalid. Twilio requires `coach` to reference a call that is currently connected to an in-progress conference. If the specified call SID does not exist or is no longer connected to that conference, Twilio throws 13240 and the call fails to the `action` URL.",
    "date_created": "2017-02-14T23:38:57Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13241,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->SIP: Invalid method value",
    "secondary_message": "The method attribute of Number must be GET or POST",
    "product": null,
    "docs": "\n## Description\n\nThe method attribute of Number must be `GET` or `POST`\n",
    "causes": null,
    "solutions": null,
    "description": "The method attribute of Number must be `GET` or `POST`",
    "date_created": "2016-03-31T17:13:38Z",
    "last_updated": "2020-08-04T10:00:28.285Z"
  },
  {
    "code": 13242,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->SIP: Invalid sendDigits value",
    "secondary_message": "sendDigits attribute may only contain the following characters \"0123456789\\*#w\"",
    "product": null,
    "docs": "\n## Description\n\nsendDigits attribute may only contain the following characters \"0123456789\\*#w\"\n",
    "causes": null,
    "solutions": null,
    "description": "sendDigits attribute may only contain the following characters \"0123456789\\*#w\"",
    "date_created": "2016-03-31T17:13:38Z",
    "last_updated": "2020-08-04T10:00:28.268Z"
  },
  {
    "code": 13243,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->SIP: Invalid SIP URI",
    "secondary_message": "The provided SIP URI is not formatted properly.",
    "product": null,
    "docs": "\n## Description\n\nThe provided SIP URI is not formatted properly.\n",
    "causes": null,
    "solutions": null,
    "description": "The provided SIP URI is not formatted properly.",
    "date_created": "2016-03-31T17:13:39Z",
    "last_updated": "2020-08-04T10:00:28.248Z"
  },
  {
    "code": 13244,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: No SIP Authorization",
    "secondary_message": "Your account is not authorized to make SIP calls",
    "product": null,
    "docs": "\n## Description\n\nYour account is not authorized to make SIP calls\n",
    "causes": null,
    "solutions": null,
    "description": "Your account is not authorized to make SIP calls",
    "date_created": "2016-03-31T17:13:39Z",
    "last_updated": "2020-08-04T10:00:28.227Z"
  },
  {
    "code": 13245,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Not allowed in this API version",
    "secondary_message": "Your version of the API does not support this feature.",
    "product": null,
    "docs": "\n## Description\n\nYour version of the API does not support this feature.\n",
    "causes": null,
    "solutions": null,
    "description": "Your version of the API does not support this feature.",
    "date_created": "2016-03-31T17:14:07Z",
    "last_updated": "2020-08-04T10:00:26.539Z"
  },
  {
    "code": 13246,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: SIP dialing not enabled for this account",
    "secondary_message": "Your account is not enabled for SIP dialing.",
    "product": null,
    "docs": "\n## Description\n\nYour account is not enabled for SIP dialing.\n",
    "causes": null,
    "solutions": null,
    "description": "Your account is not enabled for SIP dialing.",
    "date_created": "2016-03-31T17:14:07Z",
    "last_updated": "2020-08-04T10:00:26.52Z"
  },
  {
    "code": 13247,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial: Invalid From number (caller ID)",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call or message, but the `From` parameter you supplied was not a valid phone number or alphanumeric sender ID.\n\nTwilio accepts phone numbers in [E.164 format](/docs/glossary/what-e164) (i.e. \"+1 format\"), 10-digit US and Canadian numbers with any combination of non-digit separators, or Alphanumeric Sender IDs (SMS only) with up to 11 alphanumeric characters \\[a-zA-Z0-9]. Refer to [this page](https://support.twilio.com/hc/en-us/articles/223133867-Using-Alphanumeric-Sender-ID-with-Messaging-Services) for acceptable characters.\n\nThe number must not be on a do-not-originate (DNO) list, and Alpha Sender IDs may not be generic.\n\n### Possible causes\n\n- You have supplied a phone number that was not in [E.164 format](/docs/glossary/what-e164)\n- Your `From` phone number is on a do-not-originate (DNO) list\n\n### Possible solutions\n\n- Ensure your number is formatted in [E.164 format](/docs/glossary/what-e164)\n- Ensure that your `From` number is assigned and not on a do-not-originate (DNO) list.\n",
    "causes": "* You have supplied a phone number that was not in [E.164 format](/docs/glossary/what-e164)\n* Your `From` phone number is on a do-not-originate (DNO) list",
    "solutions": "* Ensure your number is formatted in [E.164 format](/docs/glossary/what-e164)\n* Ensure that your `From` number is assigned and not on a do-not-originate (DNO) list.",
    "description": "You attempted to initiate an outbound phone call or message, but the `From` parameter you supplied was not a valid phone number or alphanumeric sender ID. Twilio accepts phone numbers in [E.164 format](/docs/glossary/what-e164) (i.e. \"+1 format\"), 10-digit US and Canadian numbers with any combination of non-digit separators, or Alphanumeric Sender IDs (SMS only) with up to 11 alphanumeric characters \\[a-zA-Z0-9]. Refer to [this page](https://support.twilio.com/hc/en-us/articles/223133867-Using-Alphanumeric-Sender-ID-with-Messaging-Services) for acceptable characters. The number must not be on a do-not-originate (DNO) list, and Alpha Sender IDs may not be generic.",
    "date_created": "2016-03-31T17:14:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13248,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid callerID, too long",
    "secondary_message": "Your callerID contains too many characters.",
    "product": null,
    "docs": "\n## Description\n\nYour callerID contains too many characters.\n",
    "causes": null,
    "solutions": null,
    "description": "Your callerID contains too many characters.",
    "date_created": "2016-03-31T17:14:07Z",
    "last_updated": "2020-08-04T10:00:26.48Z"
  },
  {
    "code": 13249,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid username or password attribute",
    "secondary_message": "Your username or password are invalid.",
    "product": null,
    "docs": "\n## Description\n\nYour username or password are invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "Your username or password are invalid.",
    "date_created": "2016-03-31T17:14:08Z",
    "last_updated": "2020-08-04T10:00:26.462Z"
  },
  {
    "code": 13250,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Too many URIs passed",
    "secondary_message": "You specified too many URI elements.",
    "product": null,
    "docs": "\n## Description\n\nYou specified too many URI elements.\n",
    "causes": null,
    "solutions": null,
    "description": "You specified too many URI elements.",
    "date_created": "2016-03-31T17:14:08Z",
    "last_updated": "2020-08-04T10:00:26.442Z"
  },
  {
    "code": 13251,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Too many headers passed",
    "secondary_message": "You sent too many header elements.",
    "product": null,
    "docs": "\n## Description\n\nYou sent too many header elements.\n",
    "causes": null,
    "solutions": null,
    "description": "You sent too many header elements.",
    "date_created": "2016-03-31T17:14:08Z",
    "last_updated": "2020-08-04T10:00:26.423Z"
  },
  {
    "code": 13252,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Invalid header name",
    "secondary_message": "You named your header something invalid.",
    "product": null,
    "docs": "\n## Description\n\nYou named your header something invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "You named your header something invalid.",
    "date_created": "2016-03-31T17:14:09Z",
    "last_updated": "2020-08-04T10:00:26.404Z"
  },
  {
    "code": 13253,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial: Header is too long",
    "secondary_message": "You sent a header that is too long.",
    "product": null,
    "docs": "\n## Description\n\nYou sent a header that is too long.\n",
    "causes": null,
    "solutions": null,
    "description": "You sent a header that is too long.",
    "date_created": "2016-03-31T17:14:09Z",
    "last_updated": "2020-08-04T10:00:26.384Z"
  },
  {
    "code": 13254,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial->Sip: SIP URI DNS does not resolve or resolves to an non-public IP address",
    "secondary_message": "Please check your DNS record to ensure it is properly configured. Alternatively, you can use a specific public IP address in your URI rather than specifying a domain.",
    "product": null,
    "docs": "\n## Description\n\nPlease check your DNS record to ensure it is properly configured. Alternatively, you can use a specific public IP address in your URI rather than specifying a domain.\n",
    "causes": null,
    "solutions": null,
    "description": "Please check your DNS record to ensure it is properly configured. Alternatively, you can use a specific public IP address in your URI rather than specifying a domain.",
    "date_created": "2016-03-31T17:14:31Z",
    "last_updated": "2020-08-04T10:00:24.761Z"
  },
  {
    "code": 13255,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dialing .sip.twilio.com addresses is not currently allowed",
    "secondary_message": "At this time internal routing of SIP calls within Twilio is not supported i.e. dialing .sip.twilio.com addresses from a Twilio number.",
    "product": null,
    "docs": "\n## Description\n\nAt this time internal routing of SIP calls within Twilio is not supported i.e. dialing .sip.twilio.com addresses from a Twilio number.\n",
    "causes": null,
    "solutions": null,
    "description": "At this time internal routing of SIP calls within Twilio is not supported i.e. dialing .sip.twilio.com addresses from a Twilio number.",
    "date_created": "2016-03-31T17:14:32Z",
    "last_updated": "2020-08-04T10:00:24.705Z"
  },
  {
    "code": 13256,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid recordingStatusCallback URL",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA recording was initiated using an invalid URL for the recordingStatusCallback parameter. The recording will be processed, but status notifications will not be sent.\n\n### Possible causes\n\nThe recording status callback URL you provided is not valid.\n\n### Possible solutions\n\nSet recordingStatusCallback to a valid URL or leave blank to disable callbacks.\n",
    "causes": "The recording status callback URL you provided is not valid.",
    "solutions": "Set recordingStatusCallback to a valid URL or leave blank to disable callbacks.",
    "description": "A recording was initiated using an invalid URL for the recordingStatusCallback parameter. The recording will be processed, but status notifications will not be sent.",
    "date_created": "2019-09-30T15:35:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13257,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid transcribeCallback URL",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns this error when the `transcribeCallback` attribute on the TwiML `<Record>` verb is not a valid URL. Twilio documents `transcribeCallback` as a relative or absolute URL that it uses to send an asynchronous `POST` request when a transcription is complete.\n\n### Possible causes\n\n- The `transcribeCallback` value provided on `<Record>` is not a valid relative or absolute URL.\n- The `transcribeCallback` value does not conform to the URL format Twilio expects for transcription callbacks.\n- A transcription callback URL was supplied for `<Record>`, but the callback destination was entered incorrectly.\n\n### Possible solutions\n\n- Update `transcribeCallback` to a valid relative or absolute URL.\n- Verify the `transcribeCallback` value in your `<Record>` TwiML before initiating the recording.\n- If you use `transcribeCallback`, also set `transcribe=\"true\"` on `<Record>`, because Twilio requires `transcribeCallback` to be used with `transcribe`.\n- If you do not need an asynchronous transcription webhook, remove `transcribeCallback` and retrieve the completed transcription later from the Transcriptions resource instead.\n\n#### Additional resources\n\n- [TwiML Voice: Record](/docs/voice/twiml/record)\n- [Transcriptions resource](/docs/voice/api/recording-transcription)\n",
    "causes": "* The `transcribeCallback` value provided on `<Record>` is not a valid relative or absolute URL.\n* The `transcribeCallback` value does not conform to the URL format Twilio expects for transcription callbacks.\n* A transcription callback URL was supplied for `<Record>`, but the callback destination was entered incorrectly.",
    "solutions": "* Update `transcribeCallback` to a valid relative or absolute URL.\n* Verify the `transcribeCallback` value in your `<Record>` TwiML before initiating the recording.\n* If you use `transcribeCallback`, also set `transcribe=\"true\"` on `<Record>`, because Twilio requires `transcribeCallback` to be used with `transcribe`.\n* If you do not need an asynchronous transcription webhook, remove `transcribeCallback` and retrieve the completed transcription later from the Transcriptions resource instead.",
    "description": "Twilio returns this error when the `transcribeCallback` attribute on the TwiML `<Record>` verb is not a valid URL. Twilio documents `transcribeCallback` as a relative or absolute URL that it uses to send an asynchronous `POST` request when a transcription is complete.",
    "date_created": "2020-03-10T23:51:48Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13258,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial->Sim not supported in this realm",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when Twilio receives a `<Sim>` noun inside a `<Dial>` verb in a realm that does not support that behavior. Twilio's current `<Dial>` documentation lists the supported nouns for `<Dial>`, and Twilio's regional availability guidance explains that features unavailable in a target Region will not work in that Region.\n\n### Possible causes\n\n- Your TwiML response includes `<Sim>` nested inside `<Dial>`.\n- The call is being executed in a Twilio realm or Region where `<Dial><Sim>` is not supported.\n- The application was moved to, tested in, or routed through a different Region without verifying Voice feature availability for that Region.\n\n### Possible solutions\n\n- Update the call flow to use a currently documented `<Dial>` noun that matches your use case, such as `<Number>`, `<Client>`, `<Conference>`, `<Sip>`, `<Application>`, `<WhatsApp>`, or `<Queue>`.\n- Verify which Twilio realm or Region is handling the call and confirm that the required Voice feature is supported there before returning the TwiML.\n- If you need to keep using `<Dial><Sim>`, move that workflow to a realm that supports it; otherwise redesign the flow around supported Programmable Voice nouns in the target Region.\n\n#### Additional resources\n\n- [TwiML Voice: `<Dial>`](/docs/voice/twiml/dial)\n- [Regional product availability](/docs/global-infrastructure/regional-product-and-feature-availability)\n- [Understanding Twilio Regions](/docs/global-infrastructure/understanding-twilio-regions)\n",
    "causes": "* Your TwiML response includes `<Sim>` nested inside `<Dial>`.\n* The call is being executed in a Twilio realm or Region where `<Dial><Sim>` is not supported.\n* The application was moved to, tested in, or routed through a different Region without verifying Voice feature availability for that Region.",
    "solutions": "* Update the call flow to use a currently documented `<Dial>` noun that matches your use case, such as `<Number>`, `<Client>`, `<Conference>`, `<Sip>`, `<Application>`, `<WhatsApp>`, or `<Queue>`.\n* Verify which Twilio realm or Region is handling the call and confirm that the required Voice feature is supported there before returning the TwiML.\n* If you need to keep using `<Dial><Sim>`, move that workflow to a realm that supports it; otherwise redesign the flow around supported Programmable Voice nouns in the target Region.",
    "description": "This error occurs when Twilio receives a `<Sim>` noun inside a `<Dial>` verb in a realm that does not support that behavior. Twilio's current `<Dial>` documentation lists the supported nouns for `<Dial>`, and Twilio's regional availability guidance explains that features unavailable in a target Region will not work in that Region.",
    "date_created": "2020-08-24T16:35:34Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 13299,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "2010 Conference API feature requested using 2008 API",
    "secondary_message": "A feature added to the 2010 Conference API was requested via the 2008 Twilio API. Please upgrade to the latest version of the conference API.",
    "product": null,
    "docs": "\n## Description\n\nA feature added to the 2010 Conference API was requested via the 2008 Twilio API. Please upgrade to the latest version of the conference API.\n\n### Possible causes\n\n-\n\n### Possible solutions\n\n-\n",
    "causes": "*",
    "solutions": "*",
    "description": "A feature added to the 2010 Conference API was requested via the 2008 Twilio API. Please upgrade to the latest version of the conference API.",
    "date_created": "2016-03-31T17:13:39Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13310,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid finishOnKey value",
    "secondary_message": "The value of the finishOnKey attribute must be one of the following characters \"0123456789#\\*\". See the [Gather Verb](/docs/api/twiml/gather#finishOnKey) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe value of the finishOnKey attribute must be one of the following characters \"0123456789#\\*\". See the [Gather Verb](/docs/voice/twiml/gather#finishOnKey) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The value of the finishOnKey attribute must be one of the following characters \"0123456789#\\*\". See the [Gather Verb](/docs/voice/twiml/gather#finishOnKey) API Reference for more information.",
    "date_created": "2016-03-31T17:13:40Z",
    "last_updated": "2020-08-04T10:00:28.184Z"
  },
  {
    "code": 13311,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid finishOnKey value",
    "secondary_message": "The value of the finishOnKey attribute must be a single character. See the [Gather Verb](/docs/api/twiml/gather#finishOnKey) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe value of the finishOnKey attribute must be one of the following characters \"0123456789#\\*\". See the [Gather Verb](/docs/voice/twiml/gather#finishOnKey) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The value of the finishOnKey attribute must be one of the following characters \"0123456789#\\*\". See the [Gather Verb](/docs/voice/twiml/gather#finishOnKey) API Reference for more information.",
    "date_created": "2016-03-31T17:13:40Z",
    "last_updated": "2020-08-04T10:00:28.163Z"
  },
  {
    "code": 13312,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid method value",
    "secondary_message": "The method attribute of Number must be GET or POST. See the [Gather Verb](/docs/api/twiml/gather#method) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe method attribute of Number must be `GET` or `POST`. See the [Gather Verb](/docs/voice/twiml/gather#method) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The method attribute of Number must be `GET` or `POST`. See the [Gather Verb](/docs/voice/twiml/gather#method) API Reference for more information.",
    "date_created": "2016-03-31T17:13:40Z",
    "last_updated": "2020-08-04T10:00:28.143Z"
  },
  {
    "code": 13313,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid timeout value",
    "secondary_message": "timeout must be a positive integer, in seconds. See the [Gather Verb](/docs/api/twiml/gather#timeout) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\ntimeout must be a positive integer, in seconds. See the [Gather Verb](/docs/voice/twiml/gather#timeout) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "timeout must be a positive integer, in seconds. See the [Gather Verb](/docs/voice/twiml/gather#timeout) API Reference for more information.",
    "date_created": "2016-03-31T17:13:40Z",
    "last_updated": "2020-08-04T10:00:28.123Z"
  },
  {
    "code": 13314,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid numDigits value",
    "secondary_message": "The numDigits attribute must be a positive integer. See the [Gather Verb](/docs/api/twiml/gather#numDigits) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe numDigits attribute must be a positive integer. See the [Gather Verb](/docs/voice/twiml/gather#numDigits) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The numDigits attribute must be a positive integer. See the [Gather Verb](/docs/voice/twiml/gather#numDigits) API Reference for more information.",
    "date_created": "2016-03-31T17:13:41Z",
    "last_updated": "2020-08-04T10:00:28.103Z"
  },
  {
    "code": 13320,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid nested verb",
    "secondary_message": "The only valid nested elements of the Gather Verb are Say and Play. See the [Gather Verb](/docs/api/twiml/gather) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe only valid nested elements of the Gather Verb are Say and Play. See the [Gather Verb](/docs/voice/twiml/gather) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The only valid nested elements of the Gather Verb are Say and Play. See the [Gather Verb](/docs/voice/twiml/gather) API Reference for more information.",
    "date_created": "2016-03-31T17:13:41Z",
    "last_updated": "2020-08-04T10:00:28.084Z"
  },
  {
    "code": 13321,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Gather -> Say: Invalid voice value",
    "secondary_message": "The value of the voice attribute must be \"man\" or \"woman\". See the [Say Verb](/docs/api/twiml/say#voice) API Reference for more information.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe value of the voice attribute must be valid one.\\\nSee the [Say Verb](/docs/voice/twiml/say#voice) API Reference for more information.\n\n### Possible causes\n\n- You have entered an invalid attribute for voice parameter\n\n### Possible solutions\n\n- Enter a valid voice as parameter\n",
    "causes": "* You have entered an invalid attribute for voice parameter",
    "solutions": "* Enter a valid voice as parameter",
    "description": "The value of the voice attribute must be valid one.\\\nSee the [Say Verb](/docs/voice/twiml/say#voice) API Reference for more information.",
    "date_created": "2016-03-31T17:13:41Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13322,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather->Say: Invalid loop value",
    "secondary_message": "The value of the loop attribute must be an integer greater or equal to zero. See the [Say Verb](/docs/api/twiml/say#loop) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe value of the loop attribute must be an integer greater or equal to zero. See the [Say Verb](/docs/voice/twiml/say#loop) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The value of the loop attribute must be an integer greater or equal to zero. See the [Say Verb](/docs/voice/twiml/say#loop) API Reference for more information.",
    "date_created": "2016-03-31T17:13:41Z",
    "last_updated": "2020-08-04T10:00:28.046Z"
  },
  {
    "code": 13325,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Gather->Play: Invalid Content-Type",
    "secondary_message": "Play requires an audio Content-Type",
    "product": null,
    "docs": "\n## Description\n\nPlay requires an audio `Content-Type`\n\n### Possible causes\n\n- Play references a URL that does not return audio or is returning an invalid `Content-Type`.\n\n### Possible solutions\n\n- Make certain the URL returns an audio file\n- See the [Play Verb](/docs/voice/twiml/play) API Reference for more information on valid `Content-Type`s.\n",
    "causes": "* Play references a URL that does not return audio or is returning an invalid `Content-Type`.",
    "solutions": "* Make certain the URL returns an audio file\n* See the [Play Verb](/docs/voice/twiml/play) API Reference for more information on valid `Content-Type`s.",
    "description": "Play requires an audio `Content-Type`",
    "date_created": "2016-03-31T17:13:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13326,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Gather: Invalid input value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning occurs when `<Gather>` receives an unsupported `input` value. `<Gather>` accepts `dtmf`, `speech`, or `dtmf speech`, and uses `dtmf` by default when you do not set `input`.\n\n### Possible causes\n\n- The `<Gather>` `input` attribute is set to a value other than `dtmf`, `speech`, or `dtmf speech`.\n- The `input` value is formatted incorrectly or does not match the supported combined value exactly.\n\n### Possible solutions\n\n- Update `<Gather>` so the `input` attribute uses one of the supported values: `dtmf`, `speech`, or `dtmf speech`.\n- Remove the `input` attribute if you want `<Gather>` to use its default `dtmf` behavior.\n- If you need both keypad and speech input, use the documented combined value exactly.\n\n#### Additional resources\n\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* The `<Gather>` `input` attribute is set to a value other than `dtmf`, `speech`, or `dtmf speech`.\n* The `input` value is formatted incorrectly or does not match the supported combined value exactly.",
    "solutions": "* Update `<Gather>` so the `input` attribute uses one of the supported values: `dtmf`, `speech`, or `dtmf speech`.\n* Remove the `input` attribute if you want `<Gather>` to use its default `dtmf` behavior.\n* If you need both keypad and speech input, use the documented combined value exactly.",
    "description": "This warning occurs when `<Gather>` receives an unsupported `input` value. `<Gather>` accepts `dtmf`, `speech`, or `dtmf speech`, and uses `dtmf` by default when you do not set `input`.",
    "date_created": "2017-05-01T22:44:32Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13327,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid speechTimeout value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning appears when `<Gather>` receives a `speechTimeout` value that is not a positive integer or `auto`. Twilio measures `speechTimeout` in seconds.\n\n### Possible causes\n\n- The rendered `<Gather>` TwiML sets `speechTimeout` to a value outside the accepted `positive integer` or `auto` values.\n- The `speechTimeout` value is malformed, missing, or otherwise not parseable as a valid timeout value for `<Gather>`. This follows from the accepted-value constraint for the attribute.\n- The `<Gather>` configuration includes `speechModel` but uses `auto` for `speechTimeout`, which is not allowed for that combination.\n\n### Possible solutions\n\n- Set `speechTimeout` to a positive integer number of seconds or to `auto`.\n- Check the TwiML your application returns and confirm the rendered `<Gather>` includes a valid `speechTimeout` value.\n- If you use `speechModel`, set `speechTimeout` to a positive integer and do not use `auto`.\n\n#### Additional resources\n\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Error and Warning Dictionary](/docs/api/errors)\n- [Troubleshooting](/docs/comms/troubleshooting)\n",
    "causes": "* The rendered `<Gather>` TwiML sets `speechTimeout` to a value outside the accepted `positive integer` or `auto` values.\n* The `speechTimeout` value is malformed, missing, or otherwise not parseable as a valid timeout value for `<Gather>`. This follows from the accepted-value constraint for the attribute.\n* The `<Gather>` configuration includes `speechModel` but uses `auto` for `speechTimeout`, which is not allowed for that combination.",
    "solutions": "* Set `speechTimeout` to a positive integer number of seconds or to `auto`.\n* Check the TwiML your application returns and confirm the rendered `<Gather>` includes a valid `speechTimeout` value.\n* If you use `speechModel`, set `speechTimeout` to a positive integer and do not use `auto`.",
    "description": "This warning appears when `<Gather>` receives a `speechTimeout` value that is not a positive integer or `auto`. Twilio measures `speechTimeout` in seconds.",
    "date_created": "2017-06-13T21:24:51Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13328,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid maxSpeechTime value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio raises this warning when a `<Gather>` request includes an invalid `maxSpeechTime` value. Use `speechTimeout` to control how long Twilio waits after a pause in speech before stopping recognition. `speechTimeout` accepts a positive integer or `auto`.\n\n### Possible causes\n\n- Your `<Gather>` configuration includes `maxSpeechTime` instead of the documented `speechTimeout` attribute.\n- Your speech timing value is not valid for `<Gather>`, such as a value that is not a positive integer or `auto`.\n- You set `speechModel` and used `speechTimeout=\"auto\"`, which Twilio does not support with a model selected.\n\n### Possible solutions\n\n- Replace `maxSpeechTime` with `speechTimeout` in your `<Gather>` TwiML.\n- Set `speechTimeout` to a positive integer, or use `auto` only when you are not selecting a speech model.\n- If you use `speechModel`, keep `speechTimeout` as a positive integer and verify the final TwiML that your application sends to Twilio.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* Your `<Gather>` configuration includes `maxSpeechTime` instead of the documented `speechTimeout` attribute.\n* Your speech timing value is not valid for `<Gather>`, such as a value that is not a positive integer or `auto`.\n* You set `speechModel` and used `speechTimeout=\"auto\"`, which Twilio does not support with a model selected.",
    "solutions": "* Replace `maxSpeechTime` with `speechTimeout` in your `<Gather>` TwiML.\n* Set `speechTimeout` to a positive integer, or use `auto` only when you are not selecting a speech model.\n* If you use `speechModel`, keep `speechTimeout` as a positive integer and verify the final TwiML that your application sends to Twilio.",
    "description": "Twilio raises this warning when a `<Gather>` request includes an invalid `maxSpeechTime` value. Use `speechTimeout` to control how long Twilio waits after a pause in speech before stopping recognition. `speechTimeout` accepts a positive integer or `auto`.",
    "date_created": "2017-08-21T21:41:13Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13329,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid partialResultCallbackMethod value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning appears when `<Gather>` receives a `partialResultCallbackMethod` value that is not `GET` or `POST`. The `partialResultCallbackMethod` attribute controls which HTTP verb Twilio uses to request the `partialResultCallback` URL, and its default value is `POST`.\n\n### Possible causes\n\n- The `partialResultCallbackMethod` attribute was set to a value other than `GET` or `POST`.\n- The request used a misspelled, unsupported, or otherwise invalid HTTP method value for `partialResultCallbackMethod`.\n\n### Possible solutions\n\n- Set `partialResultCallbackMethod` to `GET` or `POST`.\n- If you do not need a custom method, omit `partialResultCallbackMethod` so Twilio uses the default `POST` value.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice `<Gather>`](/docs/voice/twiml/gather)\n",
    "causes": "* The `partialResultCallbackMethod` attribute was set to a value other than `GET` or `POST`.\n* The request used a misspelled, unsupported, or otherwise invalid HTTP method value for `partialResultCallbackMethod`.",
    "solutions": "* Set `partialResultCallbackMethod` to `GET` or `POST`.\n* If you do not need a custom method, omit `partialResultCallbackMethod` so Twilio uses the default `POST` value.",
    "description": "This warning appears when `<Gather>` receives a `partialResultCallbackMethod` value that is not `GET` or `POST`. The `partialResultCallbackMethod` attribute controls which HTTP verb Twilio uses to request the `partialResultCallback` URL, and its default value is `POST`.",
    "date_created": "2017-05-01T22:46:05Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13330,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid hints value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning appears when the `hints` value on `<Gather>` does not match the accepted format, size limits, or provider-specific token syntax. `hints` must be a comma-separated list of up to 500 entries, each entry can be 100 characters or fewer, and each word in a phrase must be separated by a space. Use only the tokens and keywords supported by the selected STT provider.\n\n### Possible causes\n\n- The `hints` value is not formatted as a comma-separated list of up to 500 entries.\n- One or more hint entries exceed 100 characters, or a phrase is not written as words separated by spaces.\n- The hint uses a token or keyword that the selected STT provider does not support.\n\n### Possible solutions\n\n- Reformat `hints` as a comma-separated list with no more than 500 entries.\n- Keep each entry at 100 characters or fewer, and separate every word in a phrase with a space.\n- Use only the token or keyword syntax supported by your selected STT provider, and check the provider tab in the `<Gather>` docs before you deploy.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n",
    "causes": "* The `hints` value is not formatted as a comma-separated list of up to 500 entries.\n* One or more hint entries exceed 100 characters, or a phrase is not written as words separated by spaces.\n* The hint uses a token or keyword that the selected STT provider does not support.",
    "solutions": "* Reformat `hints` as a comma-separated list with no more than 500 entries.\n* Keep each entry at 100 characters or fewer, and separate every word in a phrase with a space.\n* Use only the token or keyword syntax supported by your selected STT provider, and check the provider tab in the `<Gather>` docs before you deploy.",
    "description": "This warning appears when the `hints` value on `<Gather>` does not match the accepted format, size limits, or provider-specific token syntax. `hints` must be a comma-separated list of up to 500 entries, each entry can be 100 characters or fewer, and each word in a phrase must be separated by a space. Use only the tokens and keywords supported by the selected STT provider.",
    "date_created": "2017-05-01T22:46:50Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13331,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid language value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nUse this warning to fix a `<Gather>` `language` value that is invalid for the selected `speechModel`, or a combination Twilio can't map to a supported provider language. Twilio passes the `language` value through to the provider, and when the selected language and model aren't supported, Twilio generates an error notification and the gather fails.\n\n### Possible causes\n\n- You used a malformed locale value such as `en` instead of a supported tag like `en-US`.\n- The `language` value isn't supported for the selected `speechModel`.\n- The combination of language, provider, and model isn't supported, so Twilio can't route the request to a compatible speech-to-text language.\n\n### Possible solutions\n\n- Set `language` to a value supported by the provider and model you selected.\n- Verify that `language` and `speechModel` are compatible before you deploy the TwiML.\n- Retest the `<Gather>` flow after you update the configuration, and review the error notification if the warning persists.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Gather element has an invalid \"language\" attribute value](/docs/api/errors/13512)\n",
    "causes": "* You used a malformed locale value such as `en` instead of a supported tag like `en-US`.\n* The `language` value isn't supported for the selected `speechModel`.\n* The combination of language, provider, and model isn't supported, so Twilio can't route the request to a compatible speech-to-text language.",
    "solutions": "* Set `language` to a value supported by the provider and model you selected.\n* Verify that `language` and `speechModel` are compatible before you deploy the TwiML.\n* Retest the `<Gather>` flow after you update the configuration, and review the error notification if the warning persists.",
    "description": "Use this warning to fix a `<Gather>` `language` value that is invalid for the selected `speechModel`, or a combination Twilio can't map to a supported provider language. Twilio passes the `language` value through to the provider, and when the selected language and model aren't supported, Twilio generates an error notification and the gather fails.",
    "date_created": "2017-05-01T22:47:43Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13332,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Gather: Invalid bargeIn value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning appears when a Voice `Gather` request includes an invalid `bargeIn` value.\n\n### Possible causes\n\n- The `bargeIn` value in the `Gather` configuration is not valid for the request.\n- If you configure `Gather` in Studio, incompatible advanced speech settings can cause Gather errors.\n\n### Possible solutions\n\n- Review the `Gather` request and correct the `bargeIn` value before retrying.\n- If you use Studio, check the Gather Input on Call widget's advanced speech settings and remove incompatible combinations.\n- Recheck the `Gather` configuration against the Voice `<Gather>` docs before redeploying. The docs cover supported `Gather` speech and speech-to-text options.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Gather Input On Call widget](/docs/studio/widget-library/gather-input-call)\n",
    "causes": "* The `bargeIn` value in the `Gather` configuration is not valid for the request.\n* If you configure `Gather` in Studio, incompatible advanced speech settings can cause Gather errors.",
    "solutions": "* Review the `Gather` request and correct the `bargeIn` value before retrying.\n* If you use Studio, check the Gather Input on Call widget's advanced speech settings and remove incompatible combinations.\n* Recheck the `Gather` configuration against the Voice `<Gather>` docs before redeploying. The docs cover supported `Gather` speech and speech-to-text options.",
    "description": "This warning appears when a Voice `Gather` request includes an invalid `bargeIn` value.",
    "date_created": "2017-05-01T22:48:24Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13333,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Gather: Invalid profanityFilter value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio sends this warning when `<Gather>` receives an invalid `profanityFilter` value. Set `profanityFilter` to `true` or `false`; the default is `true`.\n\n### Possible causes\n\n- `profanityFilter` is set to a value other than `true` or `false`.\n- `profanityFilter` is used with a `<Gather>` `speechModel` that doesn't support it, such as `numbers_and_commands`, generic models set to Latin American Spanish, Vietnamese, or Swiss German (`de-CH`).\n\n### Possible solutions\n\n- Set `profanityFilter` to `true` or `false` in your `<Gather>` TwiML.\n- If your `speechModel` doesn't support profanity filtering, remove `profanityFilter` or choose a supported `speechModel`.\n- Review the `<Gather>` request and TwiML to confirm the value Twilio received.\n\n#### Additional resources\n\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* `profanityFilter` is set to a value other than `true` or `false`.\n* `profanityFilter` is used with a `<Gather>` `speechModel` that doesn't support it, such as `numbers_and_commands`, generic models set to Latin American Spanish, Vietnamese, or Swiss German (`de-CH`).",
    "solutions": "* Set `profanityFilter` to `true` or `false` in your `<Gather>` TwiML.\n* If your `speechModel` doesn't support profanity filtering, remove `profanityFilter` or choose a supported `speechModel`.\n* Review the `<Gather>` request and TwiML to confirm the value Twilio received.",
    "description": "Twilio sends this warning when `<Gather>` receives an invalid `profanityFilter` value. Set `profanityFilter` to `true` or `false`; the default is `true`.",
    "date_created": "2019-07-17T20:19:01Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13334,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Gather: Invalid model value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning occurs when `<Gather>` receives a `speechModel` value that Twilio does not support, or when the selected language and model combination is not supported. When that happens, Twilio generates an error notification and the gather fails.\n\n### Possible causes\n\n- The `speechModel` value is not one of the supported `Gather` model values.\n- The selected language is not supported for the chosen model.\n- A specific STT model was selected with a language and model combination Twilio does not support.\n\n### Possible solutions\n\n- Set `speechModel` to a supported value documented for `<Gather>`.\n- If you use a specific STT model, verify that the language and model combination is supported before you retry.\n- Review the resulting error notification to confirm which model value Twilio rejected.\n\n#### Additional resources\n\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Error and Warning Dictionary](/docs/api/errors)\n",
    "causes": "* The `speechModel` value is not one of the supported `Gather` model values.\n* The selected language is not supported for the chosen model.\n* A specific STT model was selected with a language and model combination Twilio does not support.",
    "solutions": "* Set `speechModel` to a supported value documented for `<Gather>`.\n* If you use a specific STT model, verify that the language and model combination is supported before you retry.\n* Review the resulting error notification to confirm which model value Twilio rejected.",
    "description": "This warning occurs when `<Gather>` receives a `speechModel` value that Twilio does not support, or when the selected language and model combination is not supported. When that happens, Twilio generates an error notification and the gather fails.",
    "date_created": "2019-07-17T20:20:38Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13335,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Gather: speechTimeout auto cannot be used with model default",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nUse a positive integer for `speechTimeout` whenever you set `speechModel` on `<Gather>`. Twilio does not support `speechTimeout=\"auto\"` in this configuration, and this warning is raised when that combination is sent.\n\n### Possible causes\n\n- You set `speechTimeout=\"auto\"` on `<Gather>`.\n- You also set `speechModel`, and Twilio requires `speechTimeout` to be a positive integer when a speech model is configured.\n\n### Possible solutions\n\n- Change `speechTimeout` to a positive integer value.\n- Review the `<Gather>` speech configuration before you deploy it so the `speechModel` and `speechTimeout` values are compatible.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Gather Input On Call widget](/docs/studio/widget-library/gather-input-call)\n",
    "causes": "* You set `speechTimeout=\"auto\"` on `<Gather>`.\n* You also set `speechModel`, and Twilio requires `speechTimeout` to be a positive integer when a speech model is configured.",
    "solutions": "* Change `speechTimeout` to a positive integer value.\n* Review the `<Gather>` speech configuration before you deploy it so the `speechModel` and `speechTimeout` values are compatible.",
    "description": "Use a positive integer for `speechTimeout` whenever you set `speechModel` on `<Gather>`. Twilio does not support `speechTimeout=\"auto\"` in this configuration, and this warning is raised when that combination is sent.",
    "date_created": "2020-03-10T23:33:06Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13337,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Gather: callback must be over HTTPS when using gather with PCI compliance",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when a `<Gather>` `action` callback used in a PCI workflow is not served over `https://`. Twilio requires a secure webhook endpoint for this flow, and Twilio won't connect to an HTTPS URL with a self-signed certificate.\n\n### Possible causes\n\n- The `<Gather>` `action` URL uses `http://` instead of `https://`.\n- The callback endpoint uses an HTTPS certificate that Twilio cannot trust, such as a self-signed certificate.\n\n### Possible solutions\n\n- Update the `<Gather>` `action` URL to use `https://` and make sure the URL is valid.\n- Use a trusted TLS certificate on the callback endpoint. Do not use a self-signed certificate.\n- If you are collecting PCI-sensitive data, enable PCI Mode for the account in Voice settings before using PCI workflows.\n\n#### Additional resources\n\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n- [Payment Card Industry Programmable Voice workflows](/docs/voice/pci-workflows)\n- [Webhooks security](/docs/usage/webhooks/webhooks-security)\n",
    "causes": "* The `<Gather>` `action` URL uses `http://` instead of `https://`.\n* The callback endpoint uses an HTTPS certificate that Twilio cannot trust, such as a self-signed certificate.",
    "solutions": "* Update the `<Gather>` `action` URL to use `https://` and make sure the URL is valid.\n* Use a trusted TLS certificate on the callback endpoint. Do not use a self-signed certificate.\n* If you are collecting PCI-sensitive data, enable PCI Mode for the account in Voice settings before using PCI workflows.",
    "description": "This error occurs when a `<Gather>` `action` callback used in a PCI workflow is not served over `https://`. Twilio requires a secure webhook endpoint for this flow, and Twilio won't connect to an HTTPS URL with a self-signed certificate.",
    "date_created": "2020-03-10T23:53:12Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13338,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Gather: Invalid actionOnEmptyResult value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when `<Gather>` receives an invalid or empty `actionOnEmptyResult` value. Set `actionOnEmptyResult` to `true` or `false`; the default is `false`.\n\n### Possible causes\n\n- `actionOnEmptyResult` is missing from the `<Gather>` attributes.\n- `actionOnEmptyResult` is set to a value other than `true` or `false`.\n\n### Possible solutions\n\n- Set `actionOnEmptyResult` to `true` or `false` in your `<Gather>` verb.\n- Use `true` when you want `<Gather>` to send a webhook even if the caller provides no input.\n- Leave `actionOnEmptyResult` at its default `false` value when you want the call flow to continue to the next TwiML instruction after an empty gather.\n\n#### Additional resources\n\n- [TwiML Voice: `<Gather>`](/docs/voice/twiml/gather)\n",
    "causes": "* `actionOnEmptyResult` is missing from the `<Gather>` attributes.\n* `actionOnEmptyResult` is set to a value other than `true` or `false`.",
    "solutions": "* Set `actionOnEmptyResult` to `true` or `false` in your `<Gather>` verb.\n* Use `true` when you want `<Gather>` to send a webhook even if the caller provides no input.\n* Leave `actionOnEmptyResult` at its default `false` value when you want the call flow to continue to the next TwiML instruction after an empty gather.",
    "description": "This error occurs when `<Gather>` receives an invalid or empty `actionOnEmptyResult` value. Set `actionOnEmptyResult` to `true` or `false`; the default is `false`.",
    "date_created": "2020-03-11T00:00:34Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13339,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Gather: Degraded Speech ",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nWe are sorry for the inconvenience. You may be experiencing degraded `<Gather>` speech i.e. gather with input=\"speech dtmf\" or input=\"speech\".\"\n\n### Possible causes\n\nInternal Causes\n\n### Possible solutions\n\nPlease check Twilio's status page to see if engineers are currently working on resolving the issue.\n",
    "causes": "Internal Causes",
    "solutions": "Please check Twilio's status page to see if engineers are currently working on resolving the issue.",
    "description": "We are sorry for the inconvenience. You may be experiencing degraded `<Gather>` speech i.e. gather with input=\"speech dtmf\" or input=\"speech\".\"",
    "date_created": "2022-03-25T15:21:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13340,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Gather: Degraded Speech ",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nWe are sorry for the inconvenience. You may be experiencing degraded `<Gather>` speech i.e. gather with input=\"speech dtmf\" or input=\"speech\".\n\n### Possible causes\n\nInternal Causes\n\n### Possible solutions\n\nPlease check Twilio's status page to see if engineers are currently working on resolving the issue.\n",
    "causes": "Internal Causes",
    "solutions": "Please check Twilio's status page to see if engineers are currently working on resolving the issue.",
    "description": "We are sorry for the inconvenience. You may be experiencing degraded `<Gather>` speech i.e. gather with input=\"speech dtmf\" or input=\"speech\".",
    "date_created": "2022-03-25T15:37:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13342,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Gather: Invalid config for Google STT V2 provider",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Gather: Invalid configuration for Google STT V2 provider\n\n### Possible causes\n\nInvalid configuration for Google STT V2 provider\n\n### Possible solutions\n\nEnter valid configuration by referring Google STT V2 provider\n",
    "causes": "Invalid configuration for Google STT V2 provider",
    "solutions": "Enter valid configuration by referring Google STT V2 provider",
    "description": "",
    "date_created": "2025-01-09T16:08:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13343,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Gather: Invalid config for speech provider",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Gather: Invalid configuration for speech provider\n\n### Possible causes\n\nInvalid configuration for speech provider\n\n### Possible solutions\n\nEnter valid configuration by referring to specified provider\n",
    "causes": "Invalid configuration for speech provider",
    "solutions": "Enter valid configuration by referring to specified provider",
    "description": "",
    "date_created": "2025-03-14T21:01:15Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13410,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Play: Invalid loop value",
    "secondary_message": "The value of the loop attribute must be an integer greater or equal to zero. See the [Play Verb](/docs/api/twiml/play#loop) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe value of the loop attribute must be an integer greater or equal to zero. See the [Play Verb](/docs/voice/twiml/play#loop) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The value of the loop attribute must be an integer greater or equal to zero. See the [Play Verb](/docs/voice/twiml/play#loop) API Reference for more information.",
    "date_created": "2016-03-31T17:13:42Z",
    "last_updated": "2020-08-04T10:00:28.008Z"
  },
  {
    "code": 13420,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Play: Invalid Content-Type",
    "secondary_message": "Play requires an audio Content-Type",
    "product": null,
    "docs": "\n## Description\n\nPlay requires an audio `Content-Type`\n\n### Possible causes\n\n- Play references a URL that does not return audio or is returning an invalid `Content-Type`.\n\n### Possible solutions\n\n- Make certain the URL returns an audio file\n- See the [Play Verb](/docs/voice/twiml/play) API Reference for more information on valid `Content-Type`s.\n",
    "causes": "* Play references a URL that does not return audio or is returning an invalid `Content-Type`.",
    "solutions": "* Make certain the URL returns an audio file\n* See the [Play Verb](/docs/voice/twiml/play) API Reference for more information on valid `Content-Type`s.",
    "description": "Play requires an audio `Content-Type`",
    "date_created": "2016-03-31T17:13:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13430,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Play: Invalid DTMF String",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe `digit` attribute may contain numbers, the `#` and `*` characters, the letters `A`, `B`, `C`, `D`, as well as lowercase `w` to \"wait\" for half a second or uppercase `W` to \"wait\" for a full second.\n\n### Possible causes\n\nThe attribute `digit` includes an invalid character.\n\n### Possible solutions\n\nEnsure the `digit` attribute only contains the characters: `0123456789ABCD*#wW`.\n",
    "causes": "The attribute `digit` includes an invalid character.",
    "solutions": "Ensure the `digit` attribute only contains the characters: `0123456789ABCD*#wW`.",
    "description": "The `digit` attribute may contain numbers, the `#` and `*` characters, the letters `A`, `B`, `C`, `D`, as well as lowercase `w` to \"wait\" for half a second or uppercase `W` to \"wait\" for a full second.",
    "date_created": "2020-03-10T23:46:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13510,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Say: Invalid loop value",
    "secondary_message": "The value of the loop attribute must be an integer greater or equal to zero. See the [Play Verb](/docs/api/twiml/say#loop) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe value of the loop attribute must be an integer greater or equal to zero. See the [Play Verb](/docs/voice/twiml/say#loop) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The value of the loop attribute must be an integer greater or equal to zero. See the [Play Verb](/docs/voice/twiml/say#loop) API Reference for more information.",
    "date_created": "2016-03-31T17:13:42Z",
    "last_updated": "2020-08-04T10:00:27.971Z"
  },
  {
    "code": 13511,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Say: Invalid voice value",
    "secondary_message": "The value of the voice attribute must be \"man\" or \"woman\". See the [Say Verb](/docs/api/twiml/say#voice) API Reference for more information.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe value of the voice attribute must be valid one.\\\nSee the [Say Verb](/docs/voice/twiml/say#voice) API Reference for more information.\n\n### Possible causes\n\n- You have entered an invalid attribute for voice parameter\n\n### Possible solutions\n\n- Enter a valid voice as parameter\n",
    "causes": "* You have entered an invalid attribute for voice parameter",
    "solutions": "* Enter a valid voice as parameter",
    "description": "The value of the voice attribute must be valid one.\\\nSee the [Say Verb](/docs/voice/twiml/say#voice) API Reference for more information.",
    "date_created": "2016-03-31T17:13:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13512,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Gather element has an invalid \"language\" attribute value",
    "secondary_message": "A Gather element cannot have a \"lang\" attribute. Use \"language\" instead.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA Gather element has an invalid value for its \"language\" attribute. See [the accepted language values list](/docs/voice/twiml/gather#languagetags) and update your Gather TwiML.\n\n### Possible causes\n\nYour Gather TwiML has an invalid language attribute value. (Example: `en` is an invalid value, but `en-US` is a valid value.)\n\n### Possible solutions\n\nFind your preferred language in [this list of accepted values](/docs/voice/twiml/gather#languagetags) and update your Gather TwiML accordingly.\n",
    "causes": "Your Gather TwiML has an invalid language attribute value. (Example: `en` is an invalid value, but `en-US` is a valid value.)",
    "solutions": "Find your preferred language in [this list of accepted values](/docs/voice/twiml/gather#languagetags) and update your Gather TwiML accordingly.",
    "description": "A Gather element has an invalid value for its \"language\" attribute. See [the accepted language values list](/docs/voice/twiml/gather#languagetags) and update your Gather TwiML.",
    "date_created": "2016-03-31T17:13:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13513,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Say: Invalid rate value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning appears when the `rate` value inside `<prosody>` is invalid. Twilio uses a default rate value of 150 when this happens. Twilio supports SSML inside `<Say>`, but SSML support can vary by provider and voice.\n\n### Possible causes\n\n- The `<prosody>` `rate` value is malformed or not supported by the selected voice. Twilio supports only a subset of SSML tags, and unsupported SSML can cause `<Say>` to fail.\n- You are using a Basic voice. Basic voices do not support SSML, so `<prosody>` is not available.\n\n### Possible solutions\n\n- Change the `<prosody>` `rate` value to a supported value, such as `x-slow` or a percentage like `85%`.\n- Verify that the selected voice supports SSML and test the TwiML with that exact provider and voice combination before you deploy it.\n- If you are using a Basic voice, remove SSML from `<Say>` or switch to a voice that supports SSML.\n\n#### Additional resources\n\n- [TwiML Voice: `<Say>`](/docs/voice/twiml/say)\n- [Text-to-Speech (TTS)](/docs/voice/twiml/say/text-speech)\n",
    "causes": "* The `<prosody>` `rate` value is malformed or not supported by the selected voice. Twilio supports only a subset of SSML tags, and unsupported SSML can cause `<Say>` to fail.\n* You are using a Basic voice. Basic voices do not support SSML, so `<prosody>` is not available.",
    "solutions": "* Change the `<prosody>` `rate` value to a supported value, such as `x-slow` or a percentage like `85%`.\n* Verify that the selected voice supports SSML and test the TwiML with that exact provider and voice combination before you deploy it.\n* If you are using a Basic voice, remove SSML from `<Say>` or switch to a voice that supports SSML.",
    "description": "This warning appears when the `rate` value inside `<prosody>` is invalid. Twilio uses a default rate value of 150 when this happens. Twilio supports SSML inside `<Say>`, but SSML support can vary by provider and voice.",
    "date_created": "2020-03-10T23:49:26Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13520,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Say: Invalid text",
    "secondary_message": "The text of the Say verb was empty or un-parsable. See the [Say Verb](/docs/api/twiml/say) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe text of the Say verb was empty or un-parsable. See the [Say Verb](/docs/voice/twiml/say) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The text of the Say verb was empty or un-parsable. See the [Say Verb](/docs/voice/twiml/say) API Reference for more information.",
    "date_created": "2016-03-31T17:13:43Z",
    "last_updated": "2020-08-04T10:00:27.913Z"
  },
  {
    "code": 13521,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "`<Say>` element character limits exceeded",
    "secondary_message": "The maximum text length inside a `<Say>` verb is 4096 characters for basic TTS and 3000 characters for Polly voices.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe maximum text length inside a `<Say>` verb is limited and varies depending on the option used. Basic, Polly and Google TTS have different limits and character count.\\\nSee the [Say Verb](/docs/voice/twiml/say#voice) API Reference for more information.\n\n### Possible causes\n\nThe maximum text length inside the `<Say>` verb has been exceeded.\n\n### Possible solutions\n\nMake sure that the character limit is under the limit for the TTS type being used:\n\n- Basic TTS Voices are limited to 4096 UTF-8 single byte characters\n- Polly TTS Voices are limited to 3000 UTF-8 single byte characters; note that SSML tags do not contribute to the character count\n- Google TTS Voices are limited to 5000 UTF-8 single byte characters; note that SSML tags, newlines and spaces contribute to the character count\n- The URL-encoded string cannot exceed 4500 characters\n",
    "causes": "The maximum text length inside the `<Say>` verb has been exceeded.",
    "solutions": "Make sure that the character limit is under the limit for the TTS type being used: - Basic TTS Voices are limited to 4096 UTF-8 single byte characters\n- Polly TTS Voices are limited to 3000 UTF-8 single byte characters; note that SSML tags do not contribute to the character count\n- Google TTS Voices are limited to 5000 UTF-8 single byte characters; note that SSML tags, newlines and spaces contribute to the character count\n- The URL-encoded string cannot exceed 4500 characters",
    "description": "The maximum text length inside a `<Say>` verb is limited and varies depending on the option used. Basic, Polly and Google TTS have different limits and character count.\\\nSee the [Say Verb](/docs/voice/twiml/say#voice) API Reference for more information.",
    "date_created": "2016-03-31T17:13:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13609,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Record: Invalid transcriptionConfiguration value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe transcriptionConfiguration value is invalid.\n\n### Possible causes\n\ntranscriptionConfiguration must be transcriptionConfigurationSid or transcriptionConfigurationName.\n\n### Possible solutions\n\nTo request multiple transcriptions using different configuration simultaneously, enter all TranscriptionConfiguration(s) separated by commas.\n",
    "causes": "transcriptionConfiguration must be transcriptionConfigurationSid or transcriptionConfigurationName.",
    "solutions": "To request multiple transcriptions using different configuration simultaneously, enter all TranscriptionConfiguration(s) separated by commas.",
    "description": "The transcriptionConfiguration value is invalid.",
    "date_created": "2021-05-03T18:51:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13610,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: Invalid method value",
    "secondary_message": "The method attribute of Record must be GET or POST. See the [Record Verb](/docs/api/twiml/record#method) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe method attribute of Record must be `GET` or `POST`. See the [Record Verb](/docs/voice/twiml/record#method) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The method attribute of Record must be `GET` or `POST`. See the [Record Verb](/docs/voice/twiml/record#method) API Reference for more information.",
    "date_created": "2016-03-31T17:13:44Z",
    "last_updated": "2020-08-04T10:00:27.878Z"
  },
  {
    "code": 13611,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: Invalid timeout value",
    "secondary_message": "timeout must be a positive integer, in seconds. See the [Record Verb](/docs/api/twiml/record#timeout) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\ntimeout must be a positive integer, in seconds. See the [Record Verb](/docs/voice/twiml/record#timeout) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "timeout must be a positive integer, in seconds. See the [Record Verb](/docs/voice/twiml/record#timeout) API Reference for more information.",
    "date_created": "2016-03-31T17:13:44Z",
    "last_updated": "2020-08-04T10:00:27.857Z"
  },
  {
    "code": 13612,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: Invalid maxLength value",
    "secondary_message": "The maxLength attribute must be a positive integer in seconds. See the [Record Verb](/docs/api/twiml/record#maxLength) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe maxLength attribute must be a positive integer in seconds. See the [Record Verb](/docs/voice/twiml/record#maxLength) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The maxLength attribute must be a positive integer in seconds. See the [Record Verb](/docs/voice/twiml/record#maxLength) API Reference for more information.",
    "date_created": "2016-03-31T17:13:44Z",
    "last_updated": "2020-08-04T10:00:27.839Z"
  },
  {
    "code": 13613,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: Invalid finishOnKey value",
    "secondary_message": "The value of the finishOnKey attribute must be one of the following characters \"0123456789#\\*\". See the [Record Verb](/docs/api/twiml/record#maxLength) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe value of the finishOnKey attribute must be one of the following characters \"0123456789#\\*\". See the [Record Verb](/docs/voice/twiml/record#maxLength) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The value of the finishOnKey attribute must be one of the following characters \"0123456789#\\*\". See the [Record Verb](/docs/voice/twiml/record#maxLength) API Reference for more information.",
    "date_created": "2016-03-31T17:13:45Z",
    "last_updated": "2020-08-04T10:00:27.82Z"
  },
  {
    "code": 13614,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: Invalid transcribe value",
    "secondary_message": "The transcribe attribute of Record must be FAST or ACCURATE. See the [Record Verb](/docs/api/twiml/record#transcribe) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe transcribe attribute of Record must be TRUE or FALSE. See the [Record Verb](/docs/voice/twiml/record#transcribe) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The transcribe attribute of Record must be TRUE or FALSE. See the [Record Verb](/docs/voice/twiml/record#transcribe) API Reference for more information.",
    "date_created": "2016-03-31T17:13:45Z",
    "last_updated": "2020-08-04T10:00:27.802Z"
  },
  {
    "code": 13615,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: maxLength too high for transcription",
    "secondary_message": "If maxLength must be less than or equal to 120 seconds (2 minutes) if transcribe or transcribeCallback attributes are specified, otherwise transcription is disabled. See the [Record Verb](/docs/api/twiml/record#transcribe) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe transcribeCallback URL provided in the `<Record>` verb is not valid.\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n\nTwilio must be able to reach this URL over the public Internet.\n",
    "causes": null,
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "description": "The transcribeCallback URL provided in the `<Record>` verb is not valid.",
    "date_created": "2016-03-31T17:13:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 13616,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: playBeep must be true or false",
    "secondary_message": "The playBeep attribute must have a value of \"true\" or \"false\"",
    "product": null,
    "docs": "\n## Description\n\nThe playBeep attribute must have a value of \"true\" or \"false\"\n",
    "causes": null,
    "solutions": null,
    "description": "The playBeep attribute must have a value of \"true\" or \"false\"",
    "date_created": "2016-03-31T17:14:09Z",
    "last_updated": "2020-08-04T10:00:26.367Z"
  },
  {
    "code": 13617,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: Recording length is out of range for transcription",
    "secondary_message": "Twilio could not process the transcription because the duration of the recording is either too short or too long. The recording itself will not be affected.",
    "product": null,
    "docs": "\n## Description\n\nTwilio could not process the transcription because the duration of the recording is either too short or too long. The recording itself will not be affected.\n\n### Possible solutions\n\n- Transcription is currently limited to recordings with a duration greater than 2 seconds and less than 120 seconds. Consider using the maxLength parameter for `<Record>` to limit the duration of the recording. See [transcription TwiML reference](/docs/voice/twiml/record#attributes-transcribe) for more information.\n",
    "causes": null,
    "solutions": "* Transcription is currently limited to recordings with a duration greater than 2 seconds and less than 120 seconds. Consider using the maxLength parameter for `<Record>` to limit the duration of the recording. See [transcription TwiML reference](/docs/voice/twiml/record#attributes-transcribe) for more information.",
    "description": "Twilio could not process the transcription because the duration of the recording is either too short or too long. The recording itself will not be affected.",
    "date_created": "2016-03-31T17:13:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 13618,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: Recording not available for transcription",
    "secondary_message": "The recording was not available when Twilio fetched the recording for transcription",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The recording was deleted before before Twilio was able to fetch the recording for transcription.\n\n### Possible solutions\n\n- Make a request to delete the recording once you receive the transcribe callback instead of the record callback. This ensures that the recording is available for Twilio to transcribe and still allows you to delete recordings from Twilio.\n",
    "causes": "* The recording was deleted before before Twilio was able to fetch the recording for transcription.",
    "solutions": "* Make a request to delete the recording once you receive the transcribe callback instead of the record callback. This ensures that the recording is available for Twilio to transcribe and still allows you to delete recordings from Twilio.",
    "description": "",
    "date_created": "2016-03-31T17:13:46Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13619,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Record: Transcription feature not available for this type of recording.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nUse transcription only with Voice recording flows that support it. This warning appears when you request transcription for a recording type that does not support transcription. Twilio generates transcription from call recordings created with TwiML `<Record>` and `transcribe=\"true\"`.\n\n### Possible causes\n\n- You requested transcription for a recording type that does not support transcription.\n- The recording was not created with the TwiML `<Record>` flow that supports transcription.\n\n### Possible solutions\n\n- Check the TwiML or API docs for the recording type you are using and confirm that transcription is supported before you set transcription attributes.\n- Use TwiML `<Record>` with `transcribe=\"true\"` for recordings that support transcription.\n\n#### Additional resources\n\n- [TwiML Voice: `<Record>`](/docs/voice/twiml/record)\n- [Transcriptions resource](/docs/voice/api/recording-transcription)\n",
    "causes": "* You requested transcription for a recording type that does not support transcription.\n* The recording was not created with the TwiML `<Record>` flow that supports transcription.",
    "solutions": "* Check the TwiML or API docs for the recording type you are using and confirm that transcription is supported before you set transcription attributes.\n* Use TwiML `<Record>` with `transcribe=\"true\"` for recordings that support transcription.",
    "description": "Use transcription only with Voice recording flows that support it. This warning appears when you request transcription for a recording type that does not support transcription. Twilio generates transcription from call recordings created with TwiML `<Record>` and `transcribe=\"true\"`.",
    "date_created": "2016-05-20T03:22:25Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13620,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Record: Transcription not available for this recording",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRecord: Transcription feature not available for this recording.\n\n### Possible causes\n\nTranscription feature not supported for recordings when your account has one or more of the following features enabled: Recording Encryption, PCI recordings.\n\n### Possible solutions\n\nContact support to disable the corresponding feature(s) on your account.\n",
    "causes": "Transcription feature not supported for recordings when your account has one or more of the following features enabled: Recording Encryption, PCI recordings.",
    "solutions": "Contact support to disable the corresponding feature(s) on your account.",
    "description": "Record: Transcription feature not available for this recording.",
    "date_created": "2016-10-11T17:58:00Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13621,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid 'recordingStatusCallbackEvent'",
    "secondary_message": "One or more of the recordingStatusCallbackEvents provided were invalid.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns this error when one or more values in `recordingStatusCallbackEvent` are invalid. Valid values are `in-progress`, `completed`, and `absent`. If you set `recordingStatusCallback` without `recordingStatusCallbackEvent`, Twilio sends `completed` by default.\n\n### Possible causes\n\n- `recordingStatusCallbackEvent` includes a value other than `in-progress`, `completed`, or `absent`.\n- Multiple callback events are separated with commas or another delimiter instead of spaces.\n\n### Possible solutions\n\n- Update `recordingStatusCallbackEvent` to use only supported values, separated by spaces, such as `in-progress completed`.\n- Remove `recordingStatusCallbackEvent` if you only need the default `completed` callback.\n\n#### Additional resources\n\n- [TwiML Voice: `<Recording>`](/docs/voice/twiml/recording)\n- [TwiML Voice: `<Record>`](/docs/voice/twiml/record)\n",
    "causes": "* `recordingStatusCallbackEvent` includes a value other than `in-progress`, `completed`, or `absent`.\n* Multiple callback events are separated with commas or another delimiter instead of spaces.",
    "solutions": "* Update `recordingStatusCallbackEvent` to use only supported values, separated by spaces, such as `in-progress completed`.\n* Remove `recordingStatusCallbackEvent` if you only need the default `completed` callback.",
    "description": "Twilio returns this error when one or more values in `recordingStatusCallbackEvent` are invalid. Valid values are `in-progress`, `completed`, and `absent`. If you set `recordingStatusCallback` without `recordingStatusCallbackEvent`, Twilio sends `completed` by default.",
    "date_created": "2017-07-26T21:02:28Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13622,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Record: invalid recordingTrack value",
    "secondary_message": "The recordingTrack can be \"inbound\", \"outbound\", or \"both\"",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Record: invalid recordingTrack value\n\nThe recordingTrack can be \"inbound\", \"outbound\", or \"both\"\n\n### Possible causes\n\nInvalid combinations of recordingTrack with requested channels\n\n### Possible solutions\n\nCheck valid combinations of recordingTrack with requested channels\n",
    "causes": "Invalid combinations of recordingTrack with requested channels",
    "solutions": "Check valid combinations of recordingTrack with requested channels",
    "description": "",
    "date_created": "2023-11-29T18:13:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13699,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Record: Invalid trim value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning appears when a Voice recording configuration includes a `trim` value that Twilio does not accept. Use `trim-silence` or `do-not-trim` for both TwiML `<Recording>` and the Recordings resource.\n\n### Possible causes\n\n- The `trim` parameter contains a typo or another unsupported value.\n- The request is using a `trim` value that does not match the Voice recording surface you are calling.\n\n### Possible solutions\n\n- Set `trim` to `trim-silence` if you want Twilio to remove leading and trailing silence, or `do-not-trim` if you want to keep the full recording.\n- Confirm whether you are starting the recording with TwiML `<Recording>` or with the Recordings resource, then use the documented `trim` values for that surface. TwiML `<Recording>` defaults to `trim-silence`; the Recordings resource defaults to `do-not-trim`.\n- Resend the request after correcting the `trim` value.\n\n#### Additional resources\n\n- [TwiML Voice: `<Recording>`](/docs/voice/twiml/recording)\n- [Recordings resource](/docs/voice/api/recording)\n",
    "causes": "* The `trim` parameter contains a typo or another unsupported value.\n* The request is using a `trim` value that does not match the Voice recording surface you are calling.",
    "solutions": "* Set `trim` to `trim-silence` if you want Twilio to remove leading and trailing silence, or `do-not-trim` if you want to keep the full recording.\n* Confirm whether you are starting the recording with TwiML `<Recording>` or with the Recordings resource, then use the documented `trim` values for that surface. TwiML `<Recording>` defaults to `trim-silence`; the Recordings resource defaults to `do-not-trim`.\n* Resend the request after correcting the `trim` value.",
    "description": "This warning appears when a Voice recording configuration includes a `trim` value that Twilio does not accept. Use `trim-silence` or `do-not-trim` for both TwiML `<Recording>` and the Recordings resource.",
    "date_created": "2020-03-10T23:44:05Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13710,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Redirect: Invalid method value",
    "secondary_message": "The method attribute of Number must be GET or POST. See the [Redirect Verb](/docs/api/twiml/redirect#method) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe method attribute of Number must be `GET` or `POST`. See the [Redirect Verb](/docs/voice/twiml/redirect#method) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The method attribute of Number must be `GET` or `POST`. See the [Redirect Verb](/docs/voice/twiml/redirect#method) API Reference for more information.",
    "date_created": "2016-03-31T17:13:47Z",
    "last_updated": "2020-08-04T10:00:27.717Z"
  },
  {
    "code": 13750,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twiml verb not supported by this API version.",
    "secondary_message": "Your version of the API does not support this feature. Please use version 2010-04-01 or later.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when Twilio starts a new TwiML session with an `apiVersion` that does not support the TwiML your Voice Application returns. The Application resource uses `apiVersion` to start the new TwiML session, and this error directs you to use `2010-04-01` or later.\n\n### Possible causes\n\n- The TwiML Application is configured with `apiVersion` `2008-08-01`, so Twilio starts the call with an older TwiML session version.\n- The TwiML returned by your webhook uses a verb that requires `2010-04-01` or later.\n\n### Possible solutions\n\n- Update the Application resource `apiVersion` to `2010-04-01`.\n- If you must keep the current API version, return only TwiML verbs supported by that version.\n- Confirm the call is reaching the intended Voice URL and that the response is valid TwiML for the selected API version.\n\n#### Additional resources\n\n- [REST API: Applications](/docs/usage/api/applications)\n- [TwiML™ for Programmable Voice](/docs/voice/twiml)\n",
    "causes": "* The TwiML Application is configured with `apiVersion` `2008-08-01`, so Twilio starts the call with an older TwiML session version.\n* The TwiML returned by your webhook uses a verb that requires `2010-04-01` or later.",
    "solutions": "* Update the Application resource `apiVersion` to `2010-04-01`.\n* If you must keep the current API version, return only TwiML verbs supported by that version.\n* Confirm the call is reaching the intended Voice URL and that the response is valid TwiML for the selected API version.",
    "description": "This error occurs when Twilio starts a new TwiML session with an `apiVersion` that does not support the TwiML your Voice Application returns. The Application resource uses `apiVersion` to start the new TwiML session, and this error directs you to use `2010-04-01` or later.",
    "date_created": "2018-10-23T23:30:26Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13801,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Refer not allowed on non-SIP call legs",
    "secondary_message": "The Refer verb can only be invoked on a SIP call leg.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe Refer verb is only allowed on SIP call legs, e.g. you can refer an incoming SIP call that originate from SIP infrastructure or an outbound call to a SIP destination. Calls to or from other destinations, such as a phone number or Twilio Client cannot be referred.\n\n### Possible causes\n\n- Your application attempted to invoke the Refer verb on a PSTN or Twilio Client call leg.\n\n### Possible solutions\n\n- For more information on understanding what does and does not constitute a SIP call leg, please see [Understanding SIP Call Legs](/docs/voice/twiml/refer#understanding-call-legs).\n- While invoking Refer on a SIP leg is unique in that it removes Twilio from the call path, the effect of transferring a call to another party can be accomplished on all leg types by simply using the Dial verb to call the other party.\n",
    "causes": "* Your application attempted to invoke the Refer verb on a PSTN or Twilio Client call leg.",
    "solutions": "* For more information on understanding what does and does not constitute a SIP call leg, please see [Understanding SIP Call Legs](/docs/voice/twiml/refer#understanding-call-legs).\n* While invoking Refer on a SIP leg is unique in that it removes Twilio from the call path, the effect of transferring a call to another party can be accomplished on all leg types by simply using the Dial verb to call the other party.",
    "description": "The Refer verb is only allowed on SIP call legs, e.g. you can refer an incoming SIP call that originate from SIP infrastructure or an outbound call to a SIP destination. Calls to or from other destinations, such as a phone number or Twilio Client cannot be referred.",
    "date_created": "2019-08-29T17:37:50Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13802,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial: No referUrl attribute specified",
    "secondary_message": "Twilio received a REFER on an established `<Dial>` session, but there was no referUrl attribute specified.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nIn order to send a SIP REFER message to an established `<Dial>` call, the `referUrl` attribute must be specified in the TwiML. In this case, a REFER was received on a `<Dial>` call without a `referUrl` attribute present.\n\n### Possible causes\n\n- Your `<Dial>` verb did not include a `referUrl` attribute or the attribute was misspelled\n\n### Possible solutions\n\n- Add a valid `referUrl` attribute to your `<Dial>` verb\n- For more information on sending REFER to Twilio, see [Refer to Twilio](/docs/voice/api/refer-to-twilio)\n",
    "causes": "* Your `<Dial>` verb did not include a `referUrl` attribute or the attribute was misspelled",
    "solutions": "* Add a valid `referUrl` attribute to your `<Dial>` verb\n* For more information on sending REFER to Twilio, see [Refer to Twilio](/docs/voice/api/refer-to-twilio)",
    "description": "In order to send a SIP REFER message to an established `<Dial>` call, the `referUrl` attribute must be specified in the TwiML. In this case, a REFER was received on a `<Dial>` call without a `referUrl` attribute present.",
    "date_created": "2020-07-31T22:06:27Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13803,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SMS verb not supported in this realm",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when you use the `<Message>` TwiML verb in a Twilio Region that does not support it. `<Message>` is currently supported only in the default `US1` region. It is not available in `IE1` or `AU1`.\n\n### Possible causes\n\n- You used `<Message>` in `IE1` or `AU1`, where that TwiML verb is not currently supported.\n- Your application depends on a feature that is not available in the selected Twilio Region. Twilio Regions operate in isolation, so unsupported products and features do not work in the target Region.\n\n### Possible solutions\n\n- Run the `<Message>` step in the default `US1` region, where Twilio currently supports it.\n- If your application must use `IE1` or `AU1`, remove or redesign the `<Message>` step so the flow uses only features supported in that Region.\n- Confirm your Region selection before deployment and verify that every product and TwiML verb used in the flow is supported in that Region.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Message: `<Message>`](/docs/messaging/twiml/message)\n- [Regional product availability](/docs/global-infrastructure/regional-product-and-feature-availability)\n",
    "causes": "* You used `<Message>` in `IE1` or `AU1`, where that TwiML verb is not currently supported.\n* Your application depends on a feature that is not available in the selected Twilio Region. Twilio Regions operate in isolation, so unsupported products and features do not work in the target Region.",
    "solutions": "* Run the `<Message>` step in the default `US1` region, where Twilio currently supports it.\n* If your application must use `IE1` or `AU1`, remove or redesign the `<Message>` step so the flow uses only features supported in that Region.\n* Confirm your Region selection before deployment and verify that every product and TwiML verb used in the flow is supported in that Region.",
    "description": "This error occurs when you use the `<Message>` TwiML verb in a Twilio Region that does not support it. `<Message>` is currently supported only in the default `US1` region. It is not available in `IE1` or `AU1`.",
    "date_created": "2020-08-24T16:37:32Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13804,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "AddOns are not supported in this realm",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nUse this error as a signal that a Programmable Voice request is trying to use Add-ons in a realm or Region where they are unavailable. Twilio Regions operate in isolation, so products and features that are not available in the target Region will not work there. Add-on Listings must be installed and configured before they can be invoked.\n\n### Possible causes\n\n- The call is running in a Twilio Region where Add-ons are not supported. Twilio Regions operate in isolation, so features that are unavailable in the target Region will not work there.\n- The Add-on Listing has not been installed and configured on the account before it is used. Add-on Listings must be installed, configured, and enabled for the appropriate usage point.\n\n### Possible solutions\n\n- Move the Voice workflow to a realm or Region where Add-ons are supported. Twilio's regional availability guidance says unsupported products and features will not work in the target Region.\n- Install the Add-on Listing in Twilio Marketplace, complete its configuration, and make sure it is enabled for the Voice usage point you are using.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [How to Use Marketplace Listings](/docs/marketplace/listings/usage)\n- [Regional product availability](/docs/global-infrastructure/regional-product-and-feature-availability)\n",
    "causes": "* The call is running in a Twilio Region where Add-ons are not supported. Twilio Regions operate in isolation, so features that are unavailable in the target Region will not work there.\n* The Add-on Listing has not been installed and configured on the account before it is used. Add-on Listings must be installed, configured, and enabled for the appropriate usage point.",
    "solutions": "* Move the Voice workflow to a realm or Region where Add-ons are supported. Twilio's regional availability guidance says unsupported products and features will not work in the target Region.\n* Install the Add-on Listing in Twilio Marketplace, complete its configuration, and make sure it is enabled for the Voice usage point you are using.",
    "description": "Use this error as a signal that a Programmable Voice request is trying to use Add-ons in a realm or Region where they are unavailable. Twilio Regions operate in isolation, so products and features that are not available in the target Region will not work there. Add-on Listings must be installed and configured before they can be invoked.",
    "date_created": "2020-08-31T17:06:59Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13805,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Trial account call duration exceeded 10 minute limit",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis warning appears when a Voice call on a trial account reaches the 10-minute maximum. Trial calls are limited to 10 minutes for both inbound and outbound calls, and Twilio automatically disconnects calls that hit that limit and flags them with Warning 13805.\n\n### Possible causes\n\n- The call is running on a trial account, which applies the 10-minute call-duration limit.\n\n### Possible solutions\n\n- Upgrade the trial account to remove the trial-only call-duration limit.\n\n#### Additional resources\n\n- [Twilio Free Trial Limitations](https://help.twilio.com/articles/360036052753)\n",
    "causes": "* The call is running on a trial account, which applies the 10-minute call-duration limit.",
    "solutions": "* Upgrade the trial account to remove the trial-only call-duration limit.",
    "description": "This warning appears when a Voice call on a trial account reaches the 10-minute maximum. Trial calls are limited to 10 minutes for both inbound and outbound calls, and Twilio automatically disconnects calls that hit that limit and flags them with Warning 13805.",
    "date_created": "2021-03-09T18:16:22Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13806,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Client Notification URL",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error means the configured `clientNotificationUrl` is not a valid URL for Voice client call notifications. Twilio uses `clientNotificationUrl` to notify your application when a call routes to a Voice SDK client user, and the URL must contain a valid hostname, cannot include underscores, and only accepts `POST`.\n\n### Possible causes\n\n- The configured `clientNotificationUrl` is malformed or otherwise not a valid URL.\n- The URL hostname is invalid or includes underscores.\n- The URL is not configured to use `POST`.\n\n### Possible solutions\n\n- Replace `clientNotificationUrl` with a valid URL that uses a valid hostname and does not include underscores.\n- Configure the notification endpoint to accept `POST` requests.\n- Verify your webhook handler responds appropriately to client call notifications. Twilio sends the request body as JSON, and the endpoint should return `200 OK` when a matching client binding is found or `404 Not Found` when it is not.\n\n#### Additional resources\n\n- [TwiML Voice: `<Client>`](/docs/voice/twiml/client)\n- [Client Call Notification Webhook](/docs/voice/sdks/client-call-notification-webhook)\n",
    "causes": "* The configured `clientNotificationUrl` is malformed or otherwise not a valid URL.\n* The URL hostname is invalid or includes underscores.\n* The URL is not configured to use `POST`.",
    "solutions": "* Replace `clientNotificationUrl` with a valid URL that uses a valid hostname and does not include underscores.\n* Configure the notification endpoint to accept `POST` requests.\n* Verify your webhook handler responds appropriately to client call notifications. Twilio sends the request body as JSON, and the endpoint should return `200 OK` when a matching client binding is found or `404 Not Found` when it is not.",
    "description": "This error means the configured `clientNotificationUrl` is not a valid URL for Voice client call notifications. Twilio uses `clientNotificationUrl` to notify your application when a call routes to a Voice SDK client user, and the URL must contain a valid hostname, cannot include underscores, and only accepts `POST`.",
    "date_created": "2025-09-03T18:49:03.054Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 13807,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Client Notification URL Error Response",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe Client Notification URL returned an error.\n\n### Possible causes\n\n- Your URL is returning 5xx error due to an internal server issue\n- Your URL is returning a 400, 401, or 403 due to a server misconfiguration or authentication/authorization issue\n- Your URL returned a 404 due to a misconfiguration of your `clientNotificationUrl` in your TwiML or API request\n- Your URL returned a 404 because your application could not find a binding for the user receiving the call\n\n### Possible solutions\n\n- Resolve your server errors\n- Reconfigure your `clientNotificationUrl` to the correct URL\n- Remove the user who has no binding from your call routing\n- Return a `200 OK`\n- Verify you are using [Client Call Notification Webhook](/docs/voice/sdks/client-call-notification-webhook) correctly\n",
    "causes": "* Your URL is returning 5xx error due to an internal server issue\n* Your URL is returning a 400, 401, or 403 due to a server misconfiguration or authentication/authorization issue\n* Your URL returned a 404 due to a misconfiguration of your `clientNotificationUrl` in your TwiML or API request\n* Your URL returned a 404 because your application could not find a binding for the user receiving the call",
    "solutions": "* Resolve your server errors\n* Reconfigure your `clientNotificationUrl` to the correct URL\n* Remove the user who has no binding from your call routing\n* Return a `200 OK`\n* Verify you are using [Client Call Notification Webhook](/docs/voice/sdks/client-call-notification-webhook) correctly",
    "description": "The Client Notification URL returned an error.",
    "date_created": "2025-09-03T18:53:47.653Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13810,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Reject: Invalid cause",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA call is rejected for any reason other than Busy or Hangup\n\n### Possible causes\n\nCould be timeout, cancelled, or no-answer.\n\n### Possible solutions\n\nCheck application call timeout duration.\n",
    "causes": "Could be timeout, cancelled, or no-answer.",
    "solutions": "Check application call timeout duration.",
    "description": "A call is rejected for any reason other than Busy or Hangup",
    "date_created": "2020-03-10T23:42:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 13910,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Pause: Invalid length value",
    "secondary_message": "The length attribute must be a positive integer, in seconds. See the [Pause Verb](/docs/api/twiml/pause#length) API Reference for more information.",
    "product": null,
    "docs": "\n## Description\n\nThe length attribute must be a positive integer, in seconds. See the [Pause Verb](/docs/voice/twiml/pause#length) API Reference for more information.\n",
    "causes": null,
    "solutions": null,
    "description": "The length attribute must be a positive integer, in seconds. See the [Pause Verb](/docs/voice/twiml/pause#length) API Reference for more information.",
    "date_created": "2016-03-31T17:13:47Z",
    "last_updated": "2020-08-04T10:00:27.699Z"
  },
  {
    "code": 14101,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid \"To\" attribute",
    "secondary_message": "The To attribute does not appear to be a phone number that you can SMS",
    "product": null,
    "docs": "\n## Description\n\nThe To attribute does not appear to be a phone number that you can SMS\n\n### Possible causes\n\n- Invalid formatted number\n- SMSing an un-validated number while using a Trial Account\n\n### Possible solutions\n\n- Check the number and make sure it is a valid 10 digit domestic phone number\n- Confirm you have validated this number, if you are still using a Trial account, or upgrade your account\n- Contact Twilio [customer support](/help/contact) to inquire further.\n",
    "causes": "* Invalid formatted number\n* SMSing an un-validated number while using a Trial Account",
    "solutions": "* Check the number and make sure it is a valid 10 digit domestic phone number\n* Confirm you have validated this number, if you are still using a Trial account, or upgrade your account\n* Contact Twilio [customer support](/help/contact) to inquire further.",
    "description": "The To attribute does not appear to be a phone number that you can SMS",
    "date_created": "2016-03-31T17:13:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14102,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid \"From\" attribute",
    "secondary_message": "The From phone number does not appear to be a phone number that you can SMS from",
    "product": null,
    "docs": "\n## Description\n\nThe From phone number does not appear to be a phone number that you can message from\n\n### Possible causes\n\n- Using a 'From' number that is not assigned to your account\n- Using a 'From' number that is not SMS/MMS enabled\n\n### Possible solutions\n\n- Check to make sure the number is correct\n- Check to make sure the number is an SMS/MMS enabled Twilio Incoming number assigned to your account\n",
    "causes": "* Using a 'From' number that is not assigned to your account\n* Using a 'From' number that is not SMS/MMS enabled",
    "solutions": "* Check to make sure the number is correct\n* Check to make sure the number is an SMS/MMS enabled Twilio Incoming number assigned to your account",
    "description": "The From phone number does not appear to be a phone number that you can message from",
    "date_created": "2016-03-31T17:13:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14103,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid Body",
    "secondary_message": "The SMS body does not contain valid text",
    "product": null,
    "docs": "\n## Description\n\nThe Message body does not contain valid text or a media URL\n\n### Possible causes\n\n- Empty SMS body with no media URL specified\n- SMS Body exceeding 1600 characters\n\n### Possible solutions\n\n- Make sure you're not sending a blank message\n- Make sure the text of the message you are sending is 1600 characters or less.\n",
    "causes": "* Empty SMS body with no media URL specified\n* SMS Body exceeding 1600 characters",
    "solutions": "* Make sure you're not sending a blank message\n* Make sure the text of the message you are sending is 1600 characters or less.",
    "description": "The Message body does not contain valid text or a media URL",
    "date_created": "2016-03-31T17:13:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14104,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid Method attribute",
    "secondary_message": "method attribute may only be \"GET\" or \"POST\"",
    "product": null,
    "docs": "\n## Description\n\nMethod attribute may only be `GET` or `POST`\n",
    "causes": null,
    "solutions": null,
    "description": "Method attribute may only be `GET` or `POST`",
    "date_created": "2016-03-31T17:13:48Z",
    "last_updated": "2020-08-04T10:00:27.622Z"
  },
  {
    "code": 14105,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid statusCallback attribute",
    "secondary_message": "The Sms Verb's statusCallback attribute must be a valid URL",
    "product": null,
    "docs": "\n## Description\n\nThe Message Verb's statusCallback attribute must be a valid URL\n",
    "causes": null,
    "solutions": null,
    "description": "The Message Verb's statusCallback attribute must be a valid URL",
    "date_created": "2016-03-31T17:13:48Z",
    "last_updated": "2020-08-04T10:00:27.604Z"
  },
  {
    "code": 14106,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Document retrieval limit reached",
    "secondary_message": "Your SMS Reply session has requested too many documents. The limit is 50",
    "product": null,
    "docs": "\n## Description\n\nYour Message Reply session has requested too many documents. The limit is 50\n\n### Possible causes\n\n- infinite loop caused by self referencing Message verb action URL\n- infinite loop caused by self referencing Redirect verb URL\n\n### Possible solutions\n\n- make certain any action or Redirect URLs do not loop back to the same TwiML document.\n",
    "causes": "* infinite loop caused by self referencing Message verb action URL\n* infinite loop caused by self referencing Redirect verb URL",
    "solutions": "* make certain any action or Redirect URLs do not loop back to the same TwiML document.",
    "description": "Your Message Reply session has requested too many documents. The limit is 50",
    "date_created": "2016-03-31T17:13:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14107,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SMS send rate limit exceeded",
    "secondary_message": "Too many messages have been sent between two numbers within a short time period, possibly indicating a runaway job or infinite loop. There is a limit of 30 outbound replies between two phone numbers in a short period.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nToo many messages have been sent between two numbers within a short time period, possibly indicating a runaway job or infinite loop. There is a limit of 30 outbound replies between two phone numbers in a 30-second period.\n\nA counter is set for each outbound reply in a conversation (between two numbers). When the first reply occurs, the counter starts at 1. If the next reply is sent less than 30 seconds after the prior reply, then the counter goes to 2. This will continue if each reply is less than 30 seconds, until the counter surpasses 30; at this time, Twilio will set any further messages in the loop to \"failed\" status for 30 seconds, with this error code.\n\n### Possible causes\n\n- repeated rapid responses by the end user (30 replies in less than 30 seconds)\n- infinite loop caused by self referencing Sms or Message verb action URL\n- infinite loop caused by self referencing Redirect verb URL\n- runaway process making repeated outgoing REST API requests\n\n### Possible solutions\n\n- make certain any action or Redirect URL's do not loop back to the same TwiML document.\n- make sure you are not inadvertently sending a large quantity of messages to the same phone number, e.g. a script caught in a loop\n- if you need this protection disabled for your Twilio Account, [contact Twilio Support](https://www.twilio.com/console/support/tickets/create). Please note, if you choose to have this feature disabled, you must have protection in place in your application to prevent costly auto-reply loops.\n",
    "causes": "* repeated rapid responses by the end user (30 replies in less than 30 seconds)\n* infinite loop caused by self referencing Sms or Message verb action URL\n* infinite loop caused by self referencing Redirect verb URL\n* runaway process making repeated outgoing REST API requests",
    "solutions": "* make certain any action or Redirect URL's do not loop back to the same TwiML document.\n* make sure you are not inadvertently sending a large quantity of messages to the same phone number, e.g. a script caught in a loop\n* if you need this protection disabled for your Twilio Account, [contact Twilio Support](https://www.twilio.com/console/support/tickets/create). Please note, if you choose to have this feature disabled, you must have protection in place in your application to prevent costly auto-reply loops.",
    "description": "Too many messages have been sent between two numbers within a short time period, possibly indicating a runaway job or infinite loop. There is a limit of 30 outbound replies between two phone numbers in a 30-second period. A counter is set for each outbound reply in a conversation (between two numbers). When the first reply occurs, the counter starts at 1. If the next reply is sent less than 30 seconds after the prior reply, then the counter goes to 2. This will continue if each reply is less than 30 seconds, until the counter surpasses 30; at this time, Twilio will set any further messages in the loop to \"failed\" status for 30 seconds, with this error code.",
    "date_created": "2016-03-31T17:13:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14108,
    "log_level": "WARNING",
    "log_type": null,
    "message": "From phone number not SMS capable",
    "secondary_message": "The From phone number does not appear to be a phone number that you can SMS from",
    "product": null,
    "docs": "\n## Description\n\nThe From phone number does not appear to be a phone number that you can Message from\n\n### Possible causes\n\n- Sending from a number that is not SMS or MMS capable\n\n### Possible solutions\n\n- Check to make sure the number is correct\n- Check to make sure the number is an SMS or MMS capable Twilio Incoming number assigned to your account\n",
    "causes": "* Sending from a number that is not SMS or MMS capable",
    "solutions": "* Check to make sure the number is correct\n* Check to make sure the number is an SMS or MMS capable Twilio Incoming number assigned to your account",
    "description": "The From phone number does not appear to be a phone number that you can Message from",
    "date_created": "2016-03-31T17:13:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14109,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "TwiML Reply message limit exceeded",
    "secondary_message": "Too many messages have been sent in reply to an incoming message. The current is 10",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### TwiML Reply message limit exceeded\n\nToo many TwiML reply messages have been sent in response to a single incoming message. You can send a maximum of 10 TwiML replies per incoming message.\n\n### Possible causes\n\n- A runaway loop or other error in your application generated more than 10 TwiML replies to a single incoming message\n- You have attempted to send >10 TwiML replies to a single incoming message\n\n### Possible solutions\n\n- If you need to generate >10 outbound messages for one incoming message, please use new API requests to create these messages.\n",
    "causes": "* A runaway loop or other error in your application generated more than 10 TwiML replies to a single incoming message\n* You have attempted to send >10 TwiML replies to a single incoming message",
    "solutions": "* If you need to generate >10 outbound messages for one incoming message, please use new API requests to create these messages.",
    "description": "",
    "date_created": "2016-03-31T17:13:50Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14110,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid Verb for SMS Reply",
    "secondary_message": "An Invalid Verb has been passed back in an SMS reply. Valid Verbs are Sms and Redirect",
    "product": null,
    "docs": "\n## Description\n\nAn Invalid Verb has been passed back in a Message reply. Valid Verbs are Message, Sms and Redirect\n",
    "causes": null,
    "solutions": null,
    "description": "An Invalid Verb has been passed back in a Message reply. Valid Verbs are Message, Sms and Redirect",
    "date_created": "2016-03-31T17:13:50Z",
    "last_updated": "2020-08-04T10:00:27.5Z"
  },
  {
    "code": 14111,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid To phone number for Trial mode",
    "secondary_message": "To field must be a validated caller ID while in Trial mode",
    "product": null,
    "docs": "\n## Description\n\n'To' field must be a validated caller ID while in Trial mode\n",
    "causes": null,
    "solutions": null,
    "description": "'To' field must be a validated caller ID while in Trial mode",
    "date_created": "2016-03-31T17:13:50Z",
    "last_updated": "2020-08-04T10:00:27.483Z"
  },
  {
    "code": 14201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Invalid method value",
    "secondary_message": "The method is invalid. You must specify one of 'GET' or 'POST'.",
    "product": null,
    "docs": "\n## Description\n\nThe method is invalid. You must specify one of `GET` or `POST`.\n",
    "causes": null,
    "solutions": null,
    "description": "The method is invalid. You must specify one of `GET` or `POST`.",
    "date_created": "2016-03-31T17:14:09Z",
    "last_updated": "2020-08-04T10:00:26.347Z"
  },
  {
    "code": 14202,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Invalid waitUrl",
    "secondary_message": "The waitUrl for the Enqueue verb is invalid. #### Possible Solutions Make sure you submit a fully qualified URL including: \\* protocol (http:// or https://) \\* hostname \\* file path \\* properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "product": null,
    "docs": "\n## Description\n\nThe waitUrl for the Enqueue verb is invalid.\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n\nTwilio must be able to reach this URL over the public Internet.\n",
    "causes": null,
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "description": "The waitUrl for the Enqueue verb is invalid.",
    "date_created": "2016-03-31T17:14:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 14203,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Invalid Enqueue action url",
    "secondary_message": "The action URL for the Enqueue verb is invalid. #### Possible Solutions Make sure you submit a fully qualified URL including: \\* protocol (http:// or https://) \\* hostname \\* file path \\* properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "product": null,
    "docs": "\n## Description\n\nThe action URL for the Enqueue verb is invalid.\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n\nTwilio must be able to reach this URL over the public Internet.\n",
    "causes": null,
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "description": "The action URL for the Enqueue verb is invalid.",
    "date_created": "2016-03-31T17:14:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 14204,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Queue name too short",
    "secondary_message": "The queue name must be at least one character long.",
    "product": null,
    "docs": "\n## Description\n\nThe queue name must be at least one character long.\n",
    "causes": null,
    "solutions": null,
    "description": "The queue name must be at least one character long.",
    "date_created": "2016-03-31T17:14:10Z",
    "last_updated": "2020-08-04T10:00:26.293Z"
  },
  {
    "code": 14205,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Queue name too long",
    "secondary_message": "The queue name must be less than 64 characters in length.",
    "product": null,
    "docs": "\n## Description\n\nThe queue name must be less than 64 characters in length.\n",
    "causes": null,
    "solutions": null,
    "description": "The queue name must be less than 64 characters in length.",
    "date_created": "2016-03-31T17:14:11Z",
    "last_updated": "2020-08-04T10:00:26.273Z"
  },
  {
    "code": 14206,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Invalid waitUrlMethod value",
    "secondary_message": "The waitUrlMethod value is invalid. You must specify one of 'GET' or 'POST'.",
    "product": null,
    "docs": "\n## Description\n\nThe waitUrlMethod value is invalid. You must specify one of `GET` or `POST`.\n",
    "causes": null,
    "solutions": null,
    "description": "The waitUrlMethod value is invalid. You must specify one of `GET` or `POST`.",
    "date_created": "2016-03-31T17:14:11Z",
    "last_updated": "2020-08-04T10:00:26.249Z"
  },
  {
    "code": 14207,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": " Enqueue: The targeted queue reached max queue size",
    "secondary_message": "The default max queue size is 1000 and can be set to a maximum of 5000.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe targeted queue has reached its maxSize limit. Once the queue reaches the limit, new requests to queue calls using `<Enqueue>` will be rejected.\n\n### Possible causes\n\nA full queue can indicate higher `<Enqueue>` volume, longer queue times, or an incorrectly configured queue's maxSize.\n\n### Possible solutions\n\nA queue's maxSize can be adjusted to a maximum of 5000. Use the [Queue API](/docs/voice/api/queue-resource) to identify the current maxSize and adjust accordingly.\n\nIf a waitUrl is provided for `<Enqueue>`, the parameters MaxQueueSize and CurrentQueueSize are included in the Webhook request to the waitUrl. Your application can use this information to determine queue capacity and adjust max queue size via the [API](/docs/voice/api/queue-resource).\n\nIf the queue is already configured for the maximum allowed queue size (5000), one possible workaround is to create multiple queues and distribute the `<Enqueue>` requests between them.\n",
    "causes": "A full queue can indicate higher `<Enqueue>` volume, longer queue times, or an incorrectly configured queue's maxSize.",
    "solutions": "A queue's maxSize can be adjusted to a maximum of 5000. Use the [Queue API](/docs/voice/api/queue-resource) to identify the current maxSize and adjust accordingly. If a waitUrl is provided for `<Enqueue>`, the parameters MaxQueueSize and CurrentQueueSize are included in the Webhook request to the waitUrl. Your application can use this information to determine queue capacity and adjust max queue size via the [API](/docs/voice/api/queue-resource). If the queue is already configured for the maximum allowed queue size (5000), one possible workaround is to create multiple queues and distribute the `<Enqueue>` requests between them.",
    "description": "The targeted queue has reached its maxSize limit. Once the queue reaches the limit, new requests to queue calls using `<Enqueue>` will be rejected.",
    "date_created": "2020-07-24T20:57:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14210,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Queue: Invalid whisper method",
    "secondary_message": "The whisper method is invalid. You must specify one of 'GET' or 'POST'.",
    "product": null,
    "docs": "\n## Description\n\nThe whisper method is invalid. You must specify one of `GET` or `POST`.\n",
    "causes": null,
    "solutions": null,
    "description": "The whisper method is invalid. You must specify one of `GET` or `POST`.",
    "date_created": "2016-03-31T17:14:11Z",
    "last_updated": "2020-08-04T10:00:26.225Z"
  },
  {
    "code": 14211,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Queue: Invalid whisper url",
    "secondary_message": "The whisper url is invalid. #### Possible Solutions Make sure you submit a fully qualified URL including: \\* protocol (http:// or https://) \\* hostname \\* file path \\* properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "product": null,
    "docs": "\n## Description\n\nThe whisper url is invalid.\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n\nTwilio must be able to reach this URL over the public Internet.\n",
    "causes": null,
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "description": "The whisper url is invalid.",
    "date_created": "2016-03-31T17:14:11Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 14212,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Queue: queue name too short",
    "secondary_message": "The name of the queue must be at least 1 character long.",
    "product": null,
    "docs": "\n## Description\n\nThe name of the queue must be at least 1 character long.\n",
    "causes": null,
    "solutions": null,
    "description": "The name of the queue must be at least 1 character long.",
    "date_created": "2016-03-31T17:14:12Z",
    "last_updated": "2020-08-04T10:00:26.172Z"
  },
  {
    "code": 14213,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Queue: queue name too long",
    "secondary_message": "The name of the queue must be shorter than 64 characters.",
    "product": null,
    "docs": "\n## Description\n\nThe name of the queue must be shorter than 64 characters.\n",
    "causes": null,
    "solutions": null,
    "description": "The name of the queue must be shorter than 64 characters.",
    "date_created": "2016-03-31T17:14:12Z",
    "last_updated": "2020-08-04T10:00:26.148Z"
  },
  {
    "code": 14214,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Queue: Invalid Call Sid. Unable to dequeue",
    "secondary_message": "Provided DequeueCallSid is invalid.",
    "product": null,
    "docs": "\n## Description\n\nProvided DequeueCallSid is invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided DequeueCallSid is invalid.",
    "date_created": "2016-04-29T22:19:58.856Z",
    "last_updated": "2016-04-29T22:19:58.856Z"
  },
  {
    "code": 14215,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Queue: Invalid ReservationSid. Unable to dequeue",
    "secondary_message": "Provided ReservationSid is invalid.",
    "product": null,
    "docs": "\n## Description\n\nProvided ReservationSid is invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided ReservationSid is invalid.",
    "date_created": "2016-03-31T17:14:12Z",
    "last_updated": "2020-08-04T10:00:26.124Z"
  },
  {
    "code": 14216,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Queue: Invalid ActivitySid provided for postWorkActivitySid",
    "secondary_message": "Provided ActivitySid for postWorkActivitySid is invalid.",
    "product": null,
    "docs": "\n## Description\n\nProvided ActivitySid for postWorkActivitySid is invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided ActivitySid for postWorkActivitySid is invalid.",
    "date_created": "2016-04-29T21:25:21.633Z",
    "last_updated": "2016-04-29T21:25:21.633Z"
  },
  {
    "code": 14217,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Queue: Could not find or accept provided reservationSid",
    "secondary_message": "Provided ReservationSid could not be found or has been canceled / rescinded.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nProvided ReservationSid could not be found or has been canceled / rescinded.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided ReservationSid could not be found or has been canceled / rescinded.",
    "date_created": "2017-11-06T21:16:58Z",
    "last_updated": "2020-08-04T10:00:16.347Z"
  },
  {
    "code": 14218,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial->Queue: Could not update worker to provided activity",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYou see this error when `<Dial><Queue>` cannot find or accept the `reservationSid` provided for a TaskRouter call bridge. When you bridge a call with `reservationSid`, Twilio marks the pending Reservation as accepted; if the Reservation is invalid or has already been accepted, the dequeue attempt fails.\n\n### Possible causes\n\n- The `reservationSid` is not valid for the pending Reservation that `<Dial><Queue>` is trying to bridge.\n- The Reservation was already accepted through the TaskRouter REST API or an assignment instruction before the bridge happened.\n- The linked Task state was modified before TwiML could manage the reservation lifecycle.\n\n### Possible solutions\n\n- Pass a valid pending Reservation SID in `reservationSid` when you bridge the call with `<Dial><Queue>`.\n- Accept the Reservation only through the `<Dial><Queue>` flow, and avoid accepting it earlier in your application or in TaskRouter.\n- If you execute additional logic before bridging the call, keep the Reservation pending until the bridge occurs and set a long enough Reservation Timeout for the workflow.\n\n#### Additional resources\n\n- [TwiML Voice: `<Queue>`](/docs/voice/twiml/queue)\n- [Queueing Twilio calls with TaskRouter](/docs/taskrouter/twiml-queue-calls)\n- [Error and Warning Dictionary](/docs/api/errors)\n",
    "causes": "* The `reservationSid` is not valid for the pending Reservation that `<Dial><Queue>` is trying to bridge.\n* The Reservation was already accepted through the TaskRouter REST API or an assignment instruction before the bridge happened.\n* The linked Task state was modified before TwiML could manage the reservation lifecycle.",
    "solutions": "* Pass a valid pending Reservation SID in `reservationSid` when you bridge the call with `<Dial><Queue>`.\n* Accept the Reservation only through the `<Dial><Queue>` flow, and avoid accepting it earlier in your application or in TaskRouter.\n* If you execute additional logic before bridging the call, keep the Reservation pending until the bridge occurs and set a long enough Reservation Timeout for the workflow.",
    "description": "You see this error when `<Dial><Queue>` cannot find or accept the `reservationSid` provided for a TaskRouter call bridge. When you bridge a call with `reservationSid`, Twilio marks the pending Reservation as accepted; if the Reservation is invalid or has already been accepted, the dequeue attempt fails.",
    "date_created": "2020-03-10T23:58:24Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 14219,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TaskRouter Dial Queue not supported in this realm",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTaskRouter Dial Queue not supported in this realm\n\n### Possible causes\n\nTaskRouter Dial Queue not supported in this realm\n\n### Possible solutions\n\nUse TaskRouter Dial Queue in supported realm\n",
    "causes": "TaskRouter Dial Queue not supported in this realm",
    "solutions": "Use TaskRouter Dial Queue in supported realm",
    "description": "TaskRouter Dial Queue not supported in this realm",
    "date_created": "2020-08-13T16:28:41Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14220,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Provided Workflow was not a valid sid",
    "secondary_message": "Provided workflow sid was not valid.",
    "product": null,
    "docs": "\n## Description\n\nProvided Workflow is invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided Workflow is invalid.",
    "date_created": "2016-03-31T17:14:13Z",
    "last_updated": "2020-08-04T10:00:26.099Z"
  },
  {
    "code": 14221,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Provided Attributes JSON was not valid",
    "secondary_message": "Provided Attributes is not valid JSON.",
    "product": null,
    "docs": "\n## Description\n\nProvided Attributes is not valid JSON.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided Attributes is not valid JSON.",
    "date_created": "2016-03-31T17:14:13Z",
    "last_updated": "2020-08-04T10:00:26.078Z"
  },
  {
    "code": 14222,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Could not create Task",
    "secondary_message": "The Task attributes could not be matched a Workflow.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nCould not match the task to a target given the defined attributes.\n",
    "causes": null,
    "solutions": null,
    "description": "Could not match the task to a target given the defined attributes.",
    "date_created": "2017-12-15T21:31:29Z",
    "last_updated": "2020-08-04T10:00:15.479Z"
  },
  {
    "code": 14223,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Enqueue: Unable to cleanup task",
    "secondary_message": "Unable to cancel the task created by Enqueue upon a TwimL error or task hangup.",
    "product": null,
    "docs": "\n## Description\n\nUnable to cancel the task created by Enqueue upon a TwimL error or task hangup.\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to cancel the task created by Enqueue upon a TwimL error or task hangup.",
    "date_created": "2016-03-31T17:14:13Z",
    "last_updated": "2020-08-04T10:00:26.057Z"
  },
  {
    "code": 14226,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TaskRouter Enqueue not supported in this realm",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTaskRouter Enqueue not supported in this realm\n\n### Possible causes\n\nTaskRouter Enqueue not supported in this realm\n\n### Possible solutions\n\nUse TaskRouter Enqueue in supported realm\n",
    "causes": "TaskRouter Enqueue not supported in this realm",
    "solutions": "Use TaskRouter Enqueue in supported realm",
    "description": "TaskRouter Enqueue not supported in this realm",
    "date_created": "2020-08-13T16:27:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14230,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Invalid WorkflowSid",
    "secondary_message": "Provided workflow sid was not valid.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nProvided Workflow is invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided Workflow is invalid.",
    "date_created": "2016-04-27T19:44:58Z",
    "last_updated": "2020-08-04T10:00:21.862Z"
  },
  {
    "code": 14231,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Provided Attributes was not valid JSON ",
    "secondary_message": "Provided attributes is not valid JSON",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nProvided Attributes is not valid JSON.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided Attributes is not valid JSON.",
    "date_created": "2016-04-27T19:45:43Z",
    "last_updated": "2020-08-04T10:00:21.844Z"
  },
  {
    "code": 14232,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Invalid Priority",
    "secondary_message": "Provided priority is not a valid integer",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nProvided Priority is invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided Priority is invalid.",
    "date_created": "2016-04-27T19:46:04Z",
    "last_updated": "2020-08-04T10:00:21.827Z"
  },
  {
    "code": 14233,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Invalid Timeout",
    "secondary_message": "Provided timeout is not a valid integer",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nProvided Timeout is invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "Provided Timeout is invalid.",
    "date_created": "2016-04-27T19:46:24Z",
    "last_updated": "2020-08-04T10:00:21.81Z"
  },
  {
    "code": 14234,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Unable to create task",
    "secondary_message": "Unable to create the task created by Conference",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nUnable to create the Task specified under Conference upon a TwiML error.\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to create the Task specified under Conference upon a TwiML error.",
    "date_created": "2016-04-27T19:46:44Z",
    "last_updated": "2020-08-04T10:00:21.792Z"
  },
  {
    "code": 14235,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Unable to cleanup task",
    "secondary_message": "Unable to cancel the task created by Conference upon a TwiML error or task hangup.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nUnable to cancel the Task created by Conference upon a TwiML error or task hangup.\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to cancel the Task created by Conference upon a TwiML error or task hangup.",
    "date_created": "2016-04-27T19:47:14Z",
    "last_updated": "2020-08-04T10:00:21.775Z"
  },
  {
    "code": 14236,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Invalid ReservationSid",
    "secondary_message": "Provided ReservationSid on Conference is invalid",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nThe provided ReservationSid on the Conference TwiML was invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "The provided ReservationSid on the Conference TwiML was invalid.",
    "date_created": "2016-04-27T19:47:38Z",
    "last_updated": "2020-08-04T10:00:21.759Z"
  },
  {
    "code": 14237,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Invalid PostWorkActivitySid",
    "secondary_message": "Provided PostWorkActivitySid on Conference is invalid",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nThe provided PostWorkActivitySid on the Conference TwiML was an invalid ActivitySid.\n",
    "causes": null,
    "solutions": null,
    "description": "The provided PostWorkActivitySid on the Conference TwiML was an invalid ActivitySid.",
    "date_created": "2016-04-27T19:48:00Z",
    "last_updated": "2020-08-04T10:00:21.742Z"
  },
  {
    "code": 14238,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Unable to accept Reservation",
    "secondary_message": "Unable to accept the Reservation",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nUnable to accept or find the provided Reservation.\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to accept or find the provided Reservation.",
    "date_created": "2016-04-27T19:48:23Z",
    "last_updated": "2020-08-04T10:00:21.72Z"
  },
  {
    "code": 14239,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dial->Conference: Unable to update Worker",
    "secondary_message": "Unable to update Worker to provided PostWorkActivitySid",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nUnable to update the Worker to the provided ActivitySid.\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to update the Worker to the provided ActivitySid.",
    "date_created": "2016-04-27T19:48:45Z",
    "last_updated": "2020-08-04T10:00:21.699Z"
  },
  {
    "code": 14240,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Max concurrent Workers exceeded",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nMax concurrent Workers exceeded\n\n### Possible causes\n\nMax concurrent worker limit met/exceeded\n\n### Possible solutions\n\nReduce TaskRouter Workers currently in \"Active\" status\n",
    "causes": "Max concurrent worker limit met/exceeded",
    "solutions": "Reduce TaskRouter Workers currently in \"Active\" status",
    "description": "Max concurrent Workers exceeded",
    "date_created": "2020-04-29T17:04:39Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14241,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "start_date passed to TaskRouter statistics is older than 30 days.",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nStarting Nov. 30, 2021 we will no longer return data older than 30 days, and instead return a 400-response for requests with `<start_date>` older than 30 days.\n\n### Possible causes\n\n`<start_date>` is older than 30 days.\n\n### Possible solutions\n\nPass a `<start_date>` that is within 30 days.\n",
    "causes": "`<start_date>` is older than 30 days.",
    "solutions": "Pass a `<start_date>` that is within 30 days.",
    "description": "Starting Nov. 30, 2021 we will no longer return data older than 30 days, and instead return a 400-response for requests with `<start_date>` older than 30 days.",
    "date_created": "2021-08-26T16:59:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 14300,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Start: Invalid nested noun value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns this error when `<Start>` or `<Stop>` contains a nested noun that does not match the verb's supported TwiML structure. For Voice call recording and real-time transcription, use `<Start><Recording>` or `<Start><Transcription>`, and stop them with matching `<Stop>` instructions when you need to reference them by `name`.\n\n### Possible causes\n\n- You nested a noun under `<Start>` or `<Stop>` that the verb does not support. For Voice, `<Start>` is used with `<Recording>` or `<Transcription>`, and `<Stop>` is used with the matching noun.\n- You used `<Stop>` to end a recording or transcription that was never started with a `name`, so Twilio cannot match the stop request to the active session.\n- The TwiML is malformed or the noun is not nested directly inside the verb you intended to use. TwiML is an XML instruction set, and nouns must be nested inside the correct verb.\n\n### Possible solutions\n\n- Replace the invalid nested noun with a supported Voice noun. Use `<Start><Recording>` to begin call recording, or `<Start><Transcription>` to start real-time transcription.\n- If you need to stop a recording later, give the recording a unique `name` and stop it with `<Stop><Recording name=\"...\"/>`.\n- If you need to stop a real-time transcription later, provide a `name` and stop it with `<Stop><Transcription name=\"...\"/>`, or stop it through the Transcriptions subresource API.\n- Validate the returned TwiML before you send it to Twilio so every noun is nested under the correct verb.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice: Recording](/docs/voice/twiml/recording)\n- [TwiML Voice: Transcription](/docs/voice/twiml/transcription)\n",
    "causes": "* You nested a noun under `<Start>` or `<Stop>` that the verb does not support. For Voice, `<Start>` is used with `<Recording>` or `<Transcription>`, and `<Stop>` is used with the matching noun.\n* You used `<Stop>` to end a recording or transcription that was never started with a `name`, so Twilio cannot match the stop request to the active session.\n* The TwiML is malformed or the noun is not nested directly inside the verb you intended to use. TwiML is an XML instruction set, and nouns must be nested inside the correct verb.",
    "solutions": "* Replace the invalid nested noun with a supported Voice noun. Use `<Start><Recording>` to begin call recording, or `<Start><Transcription>` to start real-time transcription.\n* If you need to stop a recording later, give the recording a unique `name` and stop it with `<Stop><Recording name=\"...\"/>`.\n* If you need to stop a real-time transcription later, provide a `name` and stop it with `<Stop><Transcription name=\"...\"/>`, or stop it through the Transcriptions subresource API.\n* Validate the returned TwiML before you send it to Twilio so every noun is nested under the correct verb.",
    "description": "Twilio returns this error when `<Start>` or `<Stop>` contains a nested noun that does not match the verb's supported TwiML structure. For Voice call recording and real-time transcription, use `<Start><Recording>` or `<Start><Transcription>`, and stop them with matching `<Stop>` instructions when you need to reference them by `name`.",
    "date_created": "2020-03-11T00:02:52Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 15000,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Call Progress: Internal Twilio Error",
    "secondary_message": "An internal error has occurred that prevented Twilio from processing your Call Progress Event.",
    "product": null,
    "docs": "\n## Description\n\nAn internal error has occurred that prevented Twilio from processing your Call Progress Event.\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": null,
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "An internal error has occurred that prevented Twilio from processing your Call Progress Event.",
    "date_created": "2016-03-31T17:14:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 15001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Call Progress: Account Queue Full",
    "secondary_message": "The account callback queue for this account was full.\n\n#### Possible Causes\n\n- Your application is not responding to Call Progress Events in a timely manner leading to too many queued callbacks.\n- There was a network disruption between Twilio and your web server.\n\n#### Possible Solutions\n\n- Please ensure your application is responding to callbacks in a timely manner.",
    "product": null,
    "docs": "\n## Description\n\nThe account callback queue for this account was full.\n\n### Possible causes\n\n- Your application is not responding to Call Progress Events in a timely manner leading to too many queued callbacks.\n- There was a network disruption between Twilio and your web server.\n\n### Possible solutions\n\n- Please ensure your application is responding to callbacks in a timely manner.\n",
    "causes": "* Your application is not responding to Call Progress Events in a timely manner leading to too many queued callbacks.\n* There was a network disruption between Twilio and your web server.",
    "solutions": "* Please ensure your application is responding to callbacks in a timely manner.",
    "description": "The account callback queue for this account was full.",
    "date_created": "2016-04-29T21:21:54.308Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 15002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Call Progress: Queue Timeout",
    "secondary_message": "A callback request timed out in the callback queue.",
    "product": null,
    "docs": "\n## Description\n\nA callback request timed out in the callback queue.\n\n### Possible causes\n\n- Your application is not responding to Call Progress Events in a timely manner leading to queued callbacks expiring before they are sent.\n- There was a network disruption between Twilio and your web server.\n\n### Possible solutions\n\n- Please ensure your application is responding to callbacks in a timely manner.\n",
    "causes": "* Your application is not responding to Call Progress Events in a timely manner leading to queued callbacks expiring before they are sent.\n* There was a network disruption between Twilio and your web server.",
    "solutions": "* Please ensure your application is responding to callbacks in a timely manner.",
    "description": "A callback request timed out in the callback queue.",
    "date_created": "2016-03-31T17:14:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 15003,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Call Progress: Warning Response to Callback URL",
    "secondary_message": "Got an HTTP warning in response to the callback URL.",
    "product": null,
    "docs": "\n## Description\n\nGot an HTTP warning in response to the callback URL.\n\n### Possible causes\n\n- Your application returned a 4xx or 5xx HTTP response to Twilio.\n\n### Possible solutions\n\nEnsure your application responds to callbacks with:\n\n- `200 OK`\n- `Content-Type`: text/xml\n- Valid TwiML\n\nOr respond with 204 No Content and an empty response body.\n",
    "causes": "* Your application returned a 4xx or 5xx HTTP response to Twilio.",
    "solutions": "Ensure your application responds to callbacks with: - `200 OK`\n- `Content-Type`: text/xml\n- Valid TwiML Or respond with 204 No Content and an empty response body.",
    "description": "Got an HTTP warning in response to the callback URL.",
    "date_created": "2016-03-31T17:14:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 15004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Action Callback URL must be an absolute URL when using TwiML to update in-progress calls",
    "secondary_message": "Use absolute URLs when updating in-progress calls with TwiML",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe TwiML provided for updating the in-progress call must use absolute URL for action callback.\n\n### Possible causes\n\nA relative URL is provided for action callbacks when updating in-progress call with TwiML.\n\n### Possible solutions\n\nProvide an absolute URL for the action attribute when updating in-progress call with TwiML.\n",
    "causes": "A relative URL is provided for action callbacks when updating in-progress call with TwiML.",
    "solutions": "Provide an absolute URL for the action attribute when updating in-progress call with TwiML.",
    "description": "The TwiML provided for updating the in-progress call must use absolute URL for action callback.",
    "date_created": "2021-01-13T19:35:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 15009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Internal Server Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe requested resource failed to complete the request.\n\n### Possible causes\n\nThe requested resource failed to complete the request.\n\n### Possible solutions\n\nThe request should be retried using exponential backoff strategy until it succeeds.\n",
    "causes": "The requested resource failed to complete the request.",
    "solutions": "The request should be retried using exponential backoff strategy until it succeeds.",
    "description": "The requested resource failed to complete the request.",
    "date_created": "2020-09-29T19:34:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 15010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conference Event: Internal Twilio Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nAn internal error has occurred that prevented Twilio from processing your Conference Event.\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": null,
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "An internal error has occurred that prevented Twilio from processing your Conference Event.",
    "date_created": "2016-05-04T00:08:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 15011,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conference Event: Error Response to Callback URL",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nGot an HTTP error in response to the callback URL\n\n### Possible causes\n\n- Your application returned a 4xx or 5xx HTTP response to Twilio.\n\n### Possible solutions\n\n- Please ensure your application is responding to callbacks with a `200 OK`.\n",
    "causes": "* Your application returned a 4xx or 5xx HTTP response to Twilio.",
    "solutions": "* Please ensure your application is responding to callbacks with a `200 OK`.",
    "description": "Got an HTTP error in response to the callback URL",
    "date_created": "2016-05-04T00:10:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16000,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Whisper Not Available on Twilio Conference",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when you try to use `whisper` or coaching on a standard Voice Conference. Whispering is available only on Agent Conference, and Twilio Conference supports participant coaching in that mode.\n\n### Possible causes\n\n- You attempted to set up `whisper` on a conference that was created without Agent Conference enabled.\n- Your account is configured for standard Conference instead of Agent Conference, so the conference leg does not support agent whispering.\n\n### Possible solutions\n\n- Enable Agent Conference in the Twilio Console conference settings, then create the conference again with Agent Conference enabled.\n- Use the Agent Conference coaching flow when you need a supervisor to speak privately to one participant without others hearing the audio.\n\n#### Additional resources\n\n- [Voice Conference](/docs/voice/conference)\n- [TwiML Voice: `<Conference>`](/docs/voice/twiml/conference)\n",
    "causes": "* You attempted to set up `whisper` on a conference that was created without Agent Conference enabled.\n* Your account is configured for standard Conference instead of Agent Conference, so the conference leg does not support agent whispering.",
    "solutions": "* Enable Agent Conference in the Twilio Console conference settings, then create the conference again with Agent Conference enabled.\n* Use the Agent Conference coaching flow when you need a supervisor to speak privately to one participant without others hearing the audio.",
    "description": "This error occurs when you try to use `whisper` or coaching on a standard Voice Conference. Whispering is available only on Agent Conference, and Twilio Conference supports participant coaching in that mode.",
    "date_created": "2017-02-24T00:20:34Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conference is not bridged",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe conference you tried to access is not currently active. Twilio creates a conference when the first participant connects, but the conference does not start until it is bridged. If you configure a moderator, the conference does not start until the moderator joins.\n\n### Possible causes\n\n- The conference has only one participant, so it has not bridged yet.\n- The conference is moderated, and the moderator has not joined yet.\n- The conference has already ended because all participants left, or the moderator left or was disconnected.\n\n### Possible solutions\n\n- Retry after the conference is active and bridged. Twilio starts the conference when the second participant joins, or when the moderator joins in a moderated conference.\n- If you use `startConferenceOnEnter=\"false\"`, make sure a participant with `startConferenceOnEnter=\"true\"` joins, or have the moderator join to begin the conference.\n- Use the Conference resource or `statusCallback` events to track conference state.\n- If the conference has completed, create a new conference and add participants there.\n\n#### Additional resources\n\n- [Voice Conference](/docs/voice/conference)\n- [Conferences resource](/docs/voice/api/conference-resource)\n",
    "causes": "* The conference has only one participant, so it has not bridged yet.\n* The conference is moderated, and the moderator has not joined yet.\n* The conference has already ended because all participants left, or the moderator left or was disconnected.",
    "solutions": "* Retry after the conference is active and bridged. Twilio starts the conference when the second participant joins, or when the moderator joins in a moderated conference.\n* If you use `startConferenceOnEnter=\"false\"`, make sure a participant with `startConferenceOnEnter=\"true\"` joins, or have the moderator join to begin the conference.\n* Use the Conference resource or `statusCallback` events to track conference state.\n* If the conference has completed, create a new conference and add participants there.",
    "description": "The conference you tried to access is not currently active. Twilio creates a conference when the first participant connects, but the conference does not start until it is bridged. If you configure a moderator, the conference does not start until the moderator joins.",
    "date_created": "2019-03-01T21:01:20Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to validate conference attributes",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when Twilio cannot validate one or more `<Conference>` attributes on a Voice conference. Check the attribute values, URL formats, and limits against the supported `<Conference>` options.\n\n### Possible causes\n\n- `statusCallbackEvent` includes a value outside `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, or `announcement`.\n- `recordingStatusCallbackEvent` includes a value outside `in-progress`, `completed`, or `absent`.\n- One or more URL attributes, such as `waitUrl`, `statusCallback`, `recordingStatusCallback`, or `eventCallbackUrl`, is missing or is not a relative or absolute URL.\n- A method attribute uses a value other than `GET` or `POST`.\n- `maxParticipants` is greater than 250, `participantLabel` is longer than 128 characters or is not unique, or `coach` is not a Call SID for a call already connected to the conference.\n\n### Possible solutions\n\n- Update each `<Conference>` attribute to use only supported values and formats. Use boolean values where required, use the documented event names, and keep `maxParticipants` at 250 or below.\n- Provide valid relative or absolute URLs for `waitUrl`, `statusCallback`, `recordingStatusCallback`, and `eventCallbackUrl`, and use `GET` or `POST` for `waitMethod`, `statusCallbackMethod`, and `recordingStatusCallbackMethod`.\n- Keep `participantLabel` unique and within 128 characters. If you use `coach`, set it to a Call SID that is already active in the conference.\n- Prefer `recordingStatusCallback` over `eventCallbackUrl`, because `eventCallbackUrl` is deprecated and Twilio does not send `eventCallbackUrl` requests when `recordingStatusCallback` is provided.\n\n#### Additional resources\n\n- [TwiML Voice: `<Conference>`](/docs/voice/twiml/conference)\n- [Voice Conference](/docs/voice/conference)\n",
    "causes": "* `statusCallbackEvent` includes a value outside `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, or `announcement`.\n* `recordingStatusCallbackEvent` includes a value outside `in-progress`, `completed`, or `absent`.\n* One or more URL attributes, such as `waitUrl`, `statusCallback`, `recordingStatusCallback`, or `eventCallbackUrl`, is missing or is not a relative or absolute URL.\n* A method attribute uses a value other than `GET` or `POST`.\n* `maxParticipants` is greater than 250, `participantLabel` is longer than 128 characters or is not unique, or `coach` is not a Call SID for a call already connected to the conference.",
    "solutions": "* Update each `<Conference>` attribute to use only supported values and formats. Use boolean values where required, use the documented event names, and keep `maxParticipants` at 250 or below.\n* Provide valid relative or absolute URLs for `waitUrl`, `statusCallback`, `recordingStatusCallback`, and `eventCallbackUrl`, and use `GET` or `POST` for `waitMethod`, `statusCallbackMethod`, and `recordingStatusCallbackMethod`.\n* Keep `participantLabel` unique and within 128 characters. If you use `coach`, set it to a Call SID that is already active in the conference.\n* Prefer `recordingStatusCallback` over `eventCallbackUrl`, because `eventCallbackUrl` is deprecated and Twilio does not send `eventCallbackUrl` requests when `recordingStatusCallback` is provided.",
    "description": "This error occurs when Twilio cannot validate one or more `<Conference>` attributes on a Voice conference. Check the attribute values, URL formats, and limits against the supported `<Conference>` options.",
    "date_created": "2019-03-01T21:02:11Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Could not recognize conference sid or friendly name",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio could not recognize the provided conference sid or friendly name. Please see https://www.twilio.com/docs/voice/twiml/conference for more documentation.\n",
    "causes": null,
    "solutions": null,
    "description": "Twilio could not recognize the provided conference sid or friendly name. Please see https://www.twilio.com/docs/voice/twiml/conference for more documentation.",
    "date_created": "2019-03-01T21:07:56Z",
    "last_updated": "2020-08-04T10:00:10.12Z"
  },
  {
    "code": 16010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conference Event: Internal Twilio Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio encountered an internal error while processing a conference event for a `Conference`. When you set `statusCallbackEvent`, Twilio sends conference state-change webhooks to the `statusCallback` URL, and you can review fired events in the conference logs in the Console.\n\n### Possible causes\n\n- Twilio hit a transient internal service error while generating or delivering the conference event.\n- Twilio attempted to send the event to the `statusCallback` URL for a conference that was configured to emit conference events, but the webhook request failed before it could be delivered.\n\n### Possible solutions\n\n- Retry the request later. Twilio internal errors can be transient.\n- Check the conference logs in the Console to confirm which event fired and when it failed.\n- Check the error logs for the exact error, potential causes, suggested solutions, and the HTTP request and response associated with the webhook request.\n- Open the `statusCallback` URL in your browser and verify the endpoint responds without errors.\n- Make sure the callback URL does not return an HTTP `301` or `302` redirect. Twilio follows redirects, but it will not include the original parameters on the follow-up request.\n\n#### Additional resources\n\n- [TwiML `<Conference>`](/docs/voice/twiml/conference)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* Twilio hit a transient internal service error while generating or delivering the conference event.\n* Twilio attempted to send the event to the `statusCallback` URL for a conference that was configured to emit conference events, but the webhook request failed before it could be delivered.",
    "solutions": "* Retry the request later. Twilio internal errors can be transient.\n* Check the conference logs in the Console to confirm which event fired and when it failed.\n* Check the error logs for the exact error, potential causes, suggested solutions, and the HTTP request and response associated with the webhook request.\n* Open the `statusCallback` URL in your browser and verify the endpoint responds without errors.\n* Make sure the callback URL does not return an HTTP `301` or `302` redirect. Twilio follows redirects, but it will not include the original parameters on the follow-up request.",
    "description": "Twilio encountered an internal error while processing a conference event for a `Conference`. When you set `statusCallbackEvent`, Twilio sends conference state-change webhooks to the `statusCallback` URL, and you can review fired events in the conference logs in the Console.",
    "date_created": "2019-03-01T21:11:00Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16011,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conference Event: Error Response to Callback URL",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns This error when it receives an error response while sending a conference event to the callback URL configured on the conference. Conference events are sent to the `statusCallback` URL, and the events that trigger those requests are controlled by `statusCallbackEvent`. Twilio expects status callback webhooks to return a simple `200 OK` response.\n\n### Possible causes\n\n- The `statusCallback` URL configured for the conference is incorrect, or the first participant set a different URL than the one you intended, because later participants cannot override it.\n- Your webhook endpoint returned a non-`200 OK` response, such as a `4xx` or `5xx`, when Twilio sent the conference event callback.\n- Your webhook handler does not accept the request method Twilio is using. For conference status callbacks, `statusCallbackMethod` defaults to `POST`.\n\n### Possible solutions\n\n- Verify the `statusCallback` URL for the conference and make sure the first participant to join supplies the correct value, since later `statusCallback` values are ignored.\n- Update your webhook handler so it successfully receives the conference event request and returns `200 OK`.\n- Confirm the endpoint accepts the configured request method, and use `POST` unless you explicitly configured a different `statusCallbackMethod`.\n\n#### Additional resources\n\n- [TwiML Voice: `<Conference>`](/docs/voice/twiml/conference)\n- [Voice Conference](/docs/voice/conference)\n- [Webhooks FAQ](/docs/usage/webhooks/webhooks-faq)\n",
    "causes": "* The `statusCallback` URL configured for the conference is incorrect, or the first participant set a different URL than the one you intended, because later participants cannot override it.\n* Your webhook endpoint returned a non-`200 OK` response, such as a `4xx` or `5xx`, when Twilio sent the conference event callback.\n* Your webhook handler does not accept the request method Twilio is using. For conference status callbacks, `statusCallbackMethod` defaults to `POST`.",
    "solutions": "* Verify the `statusCallback` URL for the conference and make sure the first participant to join supplies the correct value, since later `statusCallback` values are ignored.\n* Update your webhook handler so it successfully receives the conference event request and returns `200 OK`.\n* Confirm the endpoint accepts the configured request method, and use `POST` unless you explicitly configured a different `statusCallbackMethod`.",
    "description": "Twilio returns This error when it receives an error response while sending a conference event to the callback URL configured on the conference. Conference events are sent to the `statusCallback` URL, and the events that trigger those requests are controlled by `statusCallbackEvent`. Twilio expects status callback webhooks to return a simple `200 OK` response.",
    "date_created": "2019-03-01T21:13:16Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16020,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conference is full",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA participant has attempted to join a conference that has reached its maximum participant capacity.\n\nPlease refer to https://www.twilio.com/docs/voice/twiml/conference for documentation on conference participant capacity.\n",
    "causes": null,
    "solutions": null,
    "description": "A participant has attempted to join a conference that has reached its maximum participant capacity. Please refer to https://www.twilio.com/docs/voice/twiml/conference for documentation on conference participant capacity.",
    "date_created": "2019-03-01T21:15:13Z",
    "last_updated": "2020-08-04T10:00:10.054Z"
  },
  {
    "code": 16021,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to join conference due to account concurrency limit exceeded",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA conference participant could not be created because your account was at or above its concurrent participant limit. This error is different from 16020, which is returned when a conference reaches maximum participant capacity.\n\n### Possible causes\n\n- Your account reached the account-wide concurrent participant limit for Voice Conference. The default limit is 5,000 concurrent participants across all conferences in an account.\n- Your application attempted to create conference participants before earlier participants had disconnected. Creating conference participants via the API counts toward concurrency.\n\n### Possible solutions\n\n- Retry the request after active participants disconnect and your account is back under the limit.\n- Reduce the number of simultaneous conference participant creations in your application.\n- If you regularly need more concurrent conference participants, contact your Twilio account team to request a higher limit.\n\n#### Additional resources\n\n- [Voice Conference](/docs/voice/conference)\n- [TwiML Voice: `<Conference>`](/docs/voice/twiml/conference)\n",
    "causes": "* Your account reached the account-wide concurrent participant limit for Voice Conference. The default limit is 5,000 concurrent participants across all conferences in an account.\n* Your application attempted to create conference participants before earlier participants had disconnected. Creating conference participants via the API counts toward concurrency.",
    "solutions": "* Retry the request after active participants disconnect and your account is back under the limit.\n* Reduce the number of simultaneous conference participant creations in your application.\n* If you regularly need more concurrent conference participants, contact your Twilio account team to request a higher limit.",
    "description": "A conference participant could not be created because your account was at or above its concurrent participant limit. This error is different from 16020, which is returned when a conference reaches maximum participant capacity.",
    "date_created": "2019-03-01T21:19:28Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16022,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conference does not exist or is completed",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when a request targets a conference that does not exist or is no longer active. Conference participant operations work only with active conferences, and a request fails when the specified `ConferenceSid` is not active.\n\n### Possible causes\n\n- You submitted a `ConferenceSid` that does not belong to an active conference. Requests against a non-active conference fail.\n- The conference ended before the request completed. A conference ends when the last participant leaves or when a participant with `endConferenceOnExit=\"true\"` leaves.\n- You tried to retrieve or update participants after the conference reached `completed` status. Participant resources are available only for active conferences.\n\n### Possible solutions\n\n- Confirm that the conference is still active before you add, retrieve, update, or remove participants. If you use `FriendlyName`, create the conference by adding the first participant with that name.\n- Make participant requests before the conference ends. Do not reuse a completed conference for additional participant operations.\n- Use `statusCallback` and `statusCallbackEvent` to watch for conference lifecycle events, including `end`, and stop participant actions once the conference is over.\n\n#### Additional resources\n\n- [Conferences Participants subresource](/docs/voice/api/conference-participant-resource)\n- [TwiML Voice: `<Conference>`](/docs/voice/twiml/conference)\n",
    "causes": "* You submitted a `ConferenceSid` that does not belong to an active conference. Requests against a non-active conference fail.\n* The conference ended before the request completed. A conference ends when the last participant leaves or when a participant with `endConferenceOnExit=\"true\"` leaves.\n* You tried to retrieve or update participants after the conference reached `completed` status. Participant resources are available only for active conferences.",
    "solutions": "* Confirm that the conference is still active before you add, retrieve, update, or remove participants. If you use `FriendlyName`, create the conference by adding the first participant with that name.\n* Make participant requests before the conference ends. Do not reuse a completed conference for additional participant operations.\n* Use `statusCallback` and `statusCallbackEvent` to watch for conference lifecycle events, including `end`, and stop participant actions once the conference is over.",
    "description": "This error occurs when a request targets a conference that does not exist or is no longer active. Conference participant operations work only with active conferences, and a request fails when the specified `ConferenceSid` is not active.",
    "date_created": "2019-03-01T21:22:31Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial->Conference: Invalid participant label, must not exceed 128 characters, must not be a CallSid, must not contain '/'",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe participant label specified in an API call to create a voice conference participant was invalid. It may not exceed 128 characters, it may not be a CallSid, and it may not contain a '/' (even in URL encoded form %2F).\n\n### Possible causes\n\nA `POST` to conference participants call to the Twilio API specified a participant label which is greater than 128 characters or which resembles a CallSid (\"CA\" followed by 32 lowercase hexadecimal characters), or contains the '/' character or URL encoded '/' character (%2F).\n\n### Possible solutions\n\nShorten the length of the ParticipantLabel parameter, avoid using a call SID and avoid including '/' characters.\n",
    "causes": "A `POST` to conference participants call to the Twilio API specified a participant label which is greater than 128 characters or which resembles a CallSid (\"CA\" followed by 32 lowercase hexadecimal characters), or contains the '/' character or URL encoded '/' character (%2F).",
    "solutions": "Shorten the length of the ParticipantLabel parameter, avoid using a call SID and avoid including '/' characters.",
    "description": "The participant label specified in an API call to create a voice conference participant was invalid. It may not exceed 128 characters, it may not be a CallSid, and it may not contain a '/' (even in URL encoded form %2F).",
    "date_created": "2020-04-23T21:37:19Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16024,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid participant label, must not exceed 128 characters, must not be a CallSid, must not contain '/'",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe participant label specified in an API call to create a voice conference participant was invalid. It may not exceed 128 characters, it may not be a CallSid, and it may not contain a '/' (even in URL encoded form %2F).\n\n### Possible causes\n\nA `POST` to conference participants call to the Twilio API specified a participant label which is greater than 128 characters or which resembles a CallSid (\"CA\" followed by 32 lowercase hexadecimal characters), or contains the '/' character or URL encoded '/' character (%2F).\n\n### Possible solutions\n\nShorten the length of the ParticipantLabel parameter, avoid using a call SID and avoid including '/' characters.\n",
    "causes": "A `POST` to conference participants call to the Twilio API specified a participant label which is greater than 128 characters or which resembles a CallSid (\"CA\" followed by 32 lowercase hexadecimal characters), or contains the '/' character or URL encoded '/' character (%2F).",
    "solutions": "Shorten the length of the ParticipantLabel parameter, avoid using a call SID and avoid including '/' characters.",
    "description": "The participant label specified in an API call to create a voice conference participant was invalid. It may not exceed 128 characters, it may not be a CallSid, and it may not contain a '/' (even in URL encoded form %2F).",
    "date_created": "2020-04-23T21:38:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16025,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dial->Conference: Participant label is in use by another participant",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe participant label specified as an attribute on the conference noun in twiml is already in use by another active participant in the same conference.\n\n### Possible causes\n\n1. The same static twiml specifying a participant label was served to two difference calls\n2. Dynamically generated twiml specified the same participant label for two different calls\n3. The participant label specified in the twiml Is the same as one specified for an outbound participant that was already added to the conference using the Twilio API\n\n### Possible solutions\n\nUse a label value which uniquely identifies this participant within the conference\n",
    "causes": "1. The same static twiml specifying a participant label was served to two difference calls\n2. Dynamically generated twiml specified the same participant label for two different calls\n3. The participant label specified in the twiml Is the same as one specified for an outbound participant that was already added to the conference using the Twilio API",
    "solutions": "Use a label value which uniquely identifies this participant within the conference",
    "description": "The participant label specified as an attribute on the conference noun in twiml is already in use by another active participant in the same conference.",
    "date_created": "2020-04-23T21:40:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16026,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant label is in use by another participant",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe participant label specified in an API call to create a voice conference participant is already in use by another active participant in the same conference.\n\n### Possible causes\n\n1. The specified label was already used in another API call to add a participant to the conference.\n2. The specified label was already used in twiml (Dial Conference) to add an inbound participant to the conference\n\n### Possible solutions\n\nUse a label value which uniquely identifies this participant within the conference.\n",
    "causes": "1. The specified label was already used in another API call to add a participant to the conference.\n2. The specified label was already used in twiml (Dial Conference) to add an inbound participant to the conference",
    "solutions": "Use a label value which uniquely identifies this participant within the conference.",
    "description": "The participant label specified in an API call to create a voice conference participant is already in use by another active participant in the same conference.",
    "date_created": "2020-04-23T21:41:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16027,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant to be whispered is on hold",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe participant to be whispered is on hold, so the coach to the participant cannot be added to the conference.\n\n### Possible causes\n\nThe participant to be whispered is on hold.\n\n### Possible solutions\n\nValidate that this call is connecting to the correct conference and the call SID specified is also in the conference.\n",
    "causes": "The participant to be whispered is on hold.",
    "solutions": "Validate that this call is connecting to the correct conference and the call SID specified is also in the conference.",
    "description": "The participant to be whispered is on hold, so the coach to the participant cannot be added to the conference.",
    "date_created": "2020-12-03T23:56:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16028,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant to be whispered is not present in the conference",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe participant to be whispered is not present in the conference, so the coach to the participant cannot be added to the conference.\n\n### Possible causes\n\nThis may because the specified participant is not yet connected to the conference or no longer connected to the conference.\n\n### Possible solutions\n\nValidate that this call is connecting to the correct conference and the call SID specified is also in the conference.\n",
    "causes": "This may because the specified participant is not yet connected to the conference or no longer connected to the conference.",
    "solutions": "Validate that this call is connecting to the correct conference and the call SID specified is also in the conference.",
    "description": "The participant to be whispered is not present in the conference, so the coach to the participant cannot be added to the conference.",
    "date_created": "2020-12-03T23:57:39Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16029,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conference: Invalid Verb used in announceUrl TwiML",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe TwiML that executes via the announceUrl can only contain Say, Play, and Redirect verbs. Dial, Gather, and Record are not allowed.\n\n### Possible causes\n\n### Possible solutions\n",
    "causes": "",
    "solutions": "",
    "description": "The TwiML that executes via the announceUrl can only contain Say, Play, and Redirect verbs. Dial, Gather, and Record are not allowed.",
    "date_created": "2021-02-04T19:02:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16030,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Participant failed to be added to the conference",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio encountered an unexpected internal error while attempting to add a participant to an active conference.\n\n### Possible causes\n\n- Twilio hit an internal error while processing the request to add the participant to the conference.\n\n### Possible solutions\n\n- Retry the request later. Twilio identifies this as an internal error and recommends trying again.\n- If you create participants with `ConferenceSid`, make sure the conference is active before you send the request; if the specified conference is not active, the request fails.\n\n#### Additional resources\n\n- [Conferences Participants subresource](/docs/voice/api/conference-participant-resource)\n- [TwiML `<Conference>`](/docs/voice/twiml/conference)\n",
    "causes": "* Twilio hit an internal error while processing the request to add the participant to the conference.",
    "solutions": "* Retry the request later. Twilio identifies this as an internal error and recommends trying again.\n* If you create participants with `ConferenceSid`, make sure the conference is active before you send the request; if the specified conference is not active, the request fails.",
    "description": "Twilio encountered an unexpected internal error while attempting to add a participant to an active conference.",
    "date_created": "2025-02-25T21:54:23Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16099,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unexpected conference status",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error means the conference is not in the status required for the operation you're trying to perform. A conference can be `init`, `in-progress`, or `completed`, and participant actions only apply to active, in-progress conferences. Use `statusCallback` to track conference and participant state changes instead of polling.\n\n### Possible causes\n\n- You tried to manage a participant after the conference had already ended. The Participant subresource only manages active participants of in-progress conferences, and ended conferences do not return associated participants.\n- You tried to act on the conference before it reached `in-progress`. A conference is created when the first participant connects, but it does not start until the second participant joins or a moderator joins, if one is configured.\n- You identified the conference by `friendly_name` and matched the wrong instance. Multiple conferences can share the same `friendly_name`, and only one of those conferences can be in-progress at a time.\n\n### Possible solutions\n\n- Wait until the conference is `in-progress` before adding, muting, removing, or inspecting participants. Use `statusCallback` to react to conference and participant changes.\n- Use the specific `ConferenceSid` for the conference instance you want to manage. Do not rely on `friendly_name` when more than one conference can exist with the same name.\n- If the conference has already ended, capture participant details from `statusCallback` or use the Voice Insights API for post-call participant data.\n\n#### Additional resources\n\n- [Conferences resource](/docs/voice/api/conference-resource)\n- [Conferences Participants subresource](/docs/voice/api/conference-participant-resource)\n",
    "causes": "* You tried to manage a participant after the conference had already ended. The Participant subresource only manages active participants of in-progress conferences, and ended conferences do not return associated participants.\n* You tried to act on the conference before it reached `in-progress`. A conference is created when the first participant connects, but it does not start until the second participant joins or a moderator joins, if one is configured.\n* You identified the conference by `friendly_name` and matched the wrong instance. Multiple conferences can share the same `friendly_name`, and only one of those conferences can be in-progress at a time.",
    "solutions": "* Wait until the conference is `in-progress` before adding, muting, removing, or inspecting participants. Use `statusCallback` to react to conference and participant changes.\n* Use the specific `ConferenceSid` for the conference instance you want to manage. Do not rely on `friendly_name` when more than one conference can exist with the same name.\n* If the conference has already ended, capture participant details from `statusCallback` or use the Voice Insights API for post-call participant data.",
    "description": "This error means the conference is not in the status required for the operation you're trying to perform. A conference can be `init`, `in-progress`, or `completed`, and participant actions only apply to active, in-progress conferences. Use `statusCallback` to track conference and participant state changes instead of polling.",
    "date_created": "2019-03-01T21:24:07Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Recording unavailable - failed to be started",
    "secondary_message": "Recording was not started because the associated call or conference was not in an active state",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRecording was not started because the associated call or conference was not in an active state\n",
    "causes": null,
    "solutions": null,
    "description": "Recording was not started because the associated call or conference was not in an active state",
    "date_created": "2017-07-25T21:32:50Z",
    "last_updated": "2020-08-04T03:00:20.209Z"
  },
  {
    "code": 16101,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Voice Recording : Unavailable because duration is too short",
    "secondary_message": "Recording is unavailable because the duration was shorter than the minimum required duration.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns this warning when a voice recording is shorter than the minimum duration required for the recording workflow. With `<Record>`, the final duration can be shorter than the time spent recording when Twilio trims leading or trailing silence or when no RTP audio data is received during recording.\n\n### Possible causes\n\n- The caller ended the recording before enough audio was captured, such as by hanging up, pressing a `finishOnKey` digit, or reaching `maxLength`.\n- `trim-silence` removed leading or trailing silence, which made the final recording shorter.\n- Twilio did not receive RTP audio data during the recording, so the effective duration was shorter than expected.\n\n### Possible solutions\n\n- Keep the caller on the line long enough to capture audio that meets your minimum duration requirements.\n- Review `timeout`, `finishOnKey`, and `maxLength` so the recording does not end before you capture enough audio.\n- Set `trim` to `do-not-trim` if you need to preserve leading and trailing silence in the final recording.\n\n#### Additional resources\n\n- [TwiML Voice: `<Record>`](/docs/voice/twiml/record)\n- [Recordings resource](/docs/voice/api/recording)\n",
    "causes": "* The caller ended the recording before enough audio was captured, such as by hanging up, pressing a `finishOnKey` digit, or reaching `maxLength`.\n* `trim-silence` removed leading or trailing silence, which made the final recording shorter.\n* Twilio did not receive RTP audio data during the recording, so the effective duration was shorter than expected.",
    "solutions": "* Keep the caller on the line long enough to capture audio that meets your minimum duration requirements.\n* Review `timeout`, `finishOnKey`, and `maxLength` so the recording does not end before you capture enough audio.\n* Set `trim` to `do-not-trim` if you need to preserve leading and trailing silence in the final recording.",
    "description": "Twilio returns this warning when a voice recording is shorter than the minimum duration required for the recording workflow. With `<Record>`, the final duration can be shorter than the time spent recording when Twilio trims leading or trailing silence or when no RTP audio data is received during recording.",
    "date_created": "2018-11-28T16:47:44Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16102,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Voice Recording: Unavailable because recording is silent",
    "secondary_message": "Recording was detected as silent and not stored. As a result, it is unavailable for access.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio does not store a recording when the audio is silent and your account is set to automatically delete silent recordings. In that case, the recording is marked as `absent` and is unavailable for access.\n\n### Possible causes\n\n- The recording contained only silence.\n- Silent recordings are configured to be automatically deleted on your account.\n\n### Possible solutions\n\n- Contact Twilio Support to change the silent-recording deletion setting if you need to retain silent recordings.\n- If you do not need to keep silent recordings, no action is required.\n\n#### Additional resources\n\n- [TwiML Voice: `<Recording>`](/docs/voice/twiml/recording)\n- [Recordings resource](/docs/voice/api/recording)\n",
    "causes": "* The recording contained only silence.\n* Silent recordings are configured to be automatically deleted on your account.",
    "solutions": "* Contact Twilio Support to change the silent-recording deletion setting if you need to retain silent recordings.\n* If you do not need to keep silent recordings, no action is required.",
    "description": "Twilio does not store a recording when the audio is silent and your account is set to automatically delete silent recordings. In that case, the recording is marked as `absent` and is unavailable for access.",
    "date_created": "2018-11-28T16:42:38Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16103,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Recording unavailable - internal error",
    "secondary_message": "Recording was not created and stored properly due to an internal transient error and is unavailable for access.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRecording was not created and stored properly due to an internal transient error and is unavailable for access.\n",
    "causes": null,
    "solutions": null,
    "description": "Recording was not created and stored properly due to an internal transient error and is unavailable for access.",
    "date_created": "2017-07-25T21:48:05Z",
    "last_updated": "2020-08-04T03:00:20.1Z"
  },
  {
    "code": 16104,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Voice Recording: Unavailable due to encryption failure",
    "secondary_message": "Recording was not stored due to a public key encryption failure. (only applicable if call recording encryption feature enabled)",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error means Twilio could not store a recording because public key encryption failed. It applies only when Voice Recording Encryption is enabled. When this happens, Twilio deletes the recording file, sets the Recording resource `Status` to `failed`, returns `ErrorCode` `16104`, and leaves `EncryptionDetails` `null`.\n\n### Possible causes\n\n- No public keys are available on the account.\n- An intermittent Twilio system issue interrupted encryption.\n\n### Possible solutions\n\n- Create a Twilio Public Key resource, then enable Voice Recording Encryption in `Programmable Voice > Settings` and select the key you want Twilio to use.\n- Review the notification in the Debugger so you can confirm whether the failure was caused by public-key inaccessibility or an internal system issue.\n- After you fix the public-key configuration or the service issue clears, record again. The failed recording file is deleted and is not available for access.\n\n#### Additional resources\n\n- [Voice Recording Encryption](/docs/voice/tutorials/voice-recording-encryption)\n- [Recordings resource](/docs/voice/api/recording)\n",
    "causes": "* No public keys are available on the account.\n* An intermittent Twilio system issue interrupted encryption.",
    "solutions": "* Create a Twilio Public Key resource, then enable Voice Recording Encryption in `Programmable Voice > Settings` and select the key you want Twilio to use.\n* Review the notification in the Debugger so you can confirm whether the failure was caused by public-key inaccessibility or an internal system issue.\n* After you fix the public-key configuration or the service issue clears, record again. The failed recording file is deleted and is not available for access.",
    "description": "This error means Twilio could not store a recording because public key encryption failed. It applies only when Voice Recording Encryption is enabled. When this happens, Twilio deletes the recording file, sets the Recording resource `Status` to `failed`, returns `ErrorCode` `16104`, and leaves `EncryptionDetails` `null`.",
    "date_created": "2017-08-25T22:23:16Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16105,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Voice Recording: Unavailable due to no valid public keys",
    "secondary_message": "Recording was not stored due to no valid public keys on the account (only applicable if call recording encryption feature enabled)",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nVoice Recording Encryption is enabled, but Twilio can't store this recording because the account has no valid public keys. This only applies when call recording encryption is enabled.\n\n### Possible causes\n\n- Voice Recording Encryption is enabled, but the account does not have a valid Twilio Public Key resource.\n- The account has not been configured with a public key for Voice Recording Encryption.\n\n### Possible solutions\n\n- Create a valid Twilio Public Key resource, then select it in Programmable Voice > Settings before you record calls.\n- If you do not need encrypted recordings, disable Voice Recording Encryption.\n\n#### Additional resources\n\n- [Voice Recording Encryption](/docs/voice/tutorials/voice-recording-encryption)\n- [Credentials PublicKey Resource](/docs/iam/credentialpublickey-resource)\n- [Recordings resource](/docs/voice/api/recording)\n",
    "causes": "* Voice Recording Encryption is enabled, but the account does not have a valid Twilio Public Key resource.\n* The account has not been configured with a public key for Voice Recording Encryption.",
    "solutions": "* Create a valid Twilio Public Key resource, then select it in Programmable Voice > Settings before you record calls.\n* If you do not need encrypted recordings, disable Voice Recording Encryption.",
    "description": "Voice Recording Encryption is enabled, but Twilio can't store this recording because the account has no valid public keys. This only applies when call recording encryption is enabled.",
    "date_created": "2017-08-25T22:27:42Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Voice Recording: Unavailable due to internal encryption error",
    "secondary_message": "Recording was not stored due to a transient internal encryption error (only applicable if call recording encryption feature enabled)",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRecording was not stored because Twilio encountered a transient internal encryption error while processing the recording. This applies only when call recording encryption is enabled.\n\n### Possible causes\n\n- Voice Recording Encryption was enabled, and Twilio encountered a transient internal encryption error while encrypting the recording.\n- The recording failed during the internal encryption step before Twilio could store it.\n\n### Possible solutions\n\n- Retry the call or recording request after a short delay.\n- If the error continues, contact Twilio Support.\n\n#### Additional resources\n\n- [Voice Recording Encryption](/docs/voice/tutorials/voice-recording-encryption)\n- [Recordings resource](/docs/voice/api/recording)\n",
    "causes": "* Voice Recording Encryption was enabled, and Twilio encountered a transient internal encryption error while encrypting the recording.\n* The recording failed during the internal encryption step before Twilio could store it.",
    "solutions": "* Retry the call or recording request after a short delay.\n* If the error continues, contact Twilio Support.",
    "description": "Recording was not stored because Twilio encountered a transient internal encryption error while processing the recording. This applies only when call recording encryption is enabled.",
    "date_created": "2017-08-25T22:29:47Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16107,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Voice Recording: Encrypted with alternate public key",
    "secondary_message": "Recording was encrypted with alternate public key because the one configured on the account is invalid or deleted. (only applicable if call recording encryption feature enabled)",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nWhen Voice Recording Encryption is enabled, Twilio encrypts the recording with an alternate public key if the configured key cannot be retrieved or is no longer usable. Twilio reports the key that was actually used in `EncryptionDetails.public_key_sid` and sends a notification to the account, which you can review in the Console Debugger. This applies only when call recording encryption is enabled.\n\n### Possible causes\n\n- The public key configured for Voice Recording Encryption is invalid.\n- The configured public key was deleted from the account.\n- Twilio could not determine or retrieve the configured key and fell back to the most recently added retrievable public key.\n\n### Possible solutions\n\n- Create a valid Twilio Public Key resource and paste the full contents of `public_key.pem`, including the `BEGIN PUBLIC KEY` and `END PUBLIC KEY` lines.\n- Update `Programmable Voice > Settings` to select the correct public key for Voice Recording Encryption.\n- Check `EncryptionDetails.public_key_sid` and the Console Debugger notification to confirm which public key Twilio used.\n- Replace any deleted or invalid key before you create additional recordings.\n\n#### Additional resources\n\n- [Voice Recording Encryption](/docs/voice/tutorials/voice-recording-encryption)\n- [Recordings resource](/docs/voice/api/recording)\n- [Credentials PublicKey resource](/docs/iam/credentialpublickey-resource)\n",
    "causes": "* The public key configured for Voice Recording Encryption is invalid.\n* The configured public key was deleted from the account.\n* Twilio could not determine or retrieve the configured key and fell back to the most recently added retrievable public key.",
    "solutions": "* Create a valid Twilio Public Key resource and paste the full contents of `public_key.pem`, including the `BEGIN PUBLIC KEY` and `END PUBLIC KEY` lines.\n* Update `Programmable Voice > Settings` to select the correct public key for Voice Recording Encryption.\n* Check `EncryptionDetails.public_key_sid` and the Console Debugger notification to confirm which public key Twilio used.\n* Replace any deleted or invalid key before you create additional recordings.",
    "description": "When Voice Recording Encryption is enabled, Twilio encrypts the recording with an alternate public key if the configured key cannot be retrieved or is no longer usable. Twilio reports the key that was actually used in `EncryptionDetails.public_key_sid` and sends a notification to the account, which you can review in the Console Debugger. This applies only when call recording encryption is enabled.",
    "date_created": "2017-08-25T22:30:45Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16108,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Voice Recording: Request failed due to concurrent recordings",
    "secondary_message": "The request failed because there is more than one active recording for the provided CallSID",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when you try to update a recording on a call or conference that has more than one active recording. Use `Twilio.CURRENT` only when there is a single active recording; otherwise, reference the recording with its Recording SID.\n\n### Possible causes\n\n- You used `Twilio.CURRENT` on a call or conference with multiple active recordings.\n- The request targeted a recording without specifying a Recording SID for a call or conference that had concurrent recordings.\n\n### Possible solutions\n\n- Use the Recording SID to identify the specific recording you want to pause, resume, or stop.\n- Use `Twilio.CURRENT` only when the call or conference has one active recording.\n\n#### Additional resources\n\n- [Recordings resource](/docs/voice/api/recording)\n- [TwiML Voice: `<Recording>`](/docs/voice/twiml/recording)\n",
    "causes": "* You used `Twilio.CURRENT` on a call or conference with multiple active recordings.\n* The request targeted a recording without specifying a Recording SID for a call or conference that had concurrent recordings.",
    "solutions": "* Use the Recording SID to identify the specific recording you want to pause, resume, or stop.\n* Use `Twilio.CURRENT` only when the call or conference has one active recording.",
    "description": "This error occurs when you try to update a recording on a call or conference that has more than one active recording. Use `Twilio.CURRENT` only when there is a single active recording; otherwise, reference the recording with its Recording SID.",
    "date_created": "2018-03-28T22:05:11Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16109,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Voice Recording: Cannot fetch .mp3 encrypted recording",
    "secondary_message": "Recording cannot be retrieved in .mp3 format when call recording encryption feature is enabled on the account. Please request with .wav format.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nUse the Recordings resource to fetch voice recording media as `.wav` or `.mp3`. When Voice Recording Encryption is enabled, request the recording as `.wav` instead of `.mp3`. To decrypt an encrypted recording, retrieve `EncryptionDetails` from the Recording resource and use the matching private key.\n\n### Possible causes\n\n- Voice Recording Encryption is enabled on the account, and the request appends `.mp3` to the recording URI.\n- The recording is encrypted, and the request is trying to fetch the media in a format that is not supported for encrypted recordings.\n\n### Possible solutions\n\n- Request the recording media as `.wav` by omitting the extension or using `.wav` on the Recording URI.\n- Retrieve the recording metadata, read `EncryptionDetails`, and decrypt the recording with the private key that matches the configured public key.\n\n#### Additional resources\n\n- [Recordings resource](/docs/voice/api/recording)\n- [Voice Recording Encryption](/docs/voice/tutorials/voice-recording-encryption)\n",
    "causes": "* Voice Recording Encryption is enabled on the account, and the request appends `.mp3` to the recording URI.\n* The recording is encrypted, and the request is trying to fetch the media in a format that is not supported for encrypted recordings.",
    "solutions": "* Request the recording media as `.wav` by omitting the extension or using `.wav` on the Recording URI.\n* Retrieve the recording metadata, read `EncryptionDetails`, and decrypt the recording with the private key that matches the configured public key.",
    "description": "Use the Recordings resource to fetch voice recording media as `.wav` or `.mp3`. When Voice Recording Encryption is enabled, request the recording as `.wav` instead of `.mp3`. To decrypt an encrypted recording, retrieve `EncryptionDetails` from the Recording resource and use the matching private key.",
    "date_created": "2019-02-07T20:04:51Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 16110,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Internal failure when bulk deleting recordings from your account",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nDespite our best efforts, we have failed to delete some or all of the selected recordings. The operation has been cancelled.\n\n### Possible causes\n\nThere was an internal failure when processing your request. This action will not be retried.\n\n### Possible solutions\n\n- Please retry the delete operation with the same parameters.\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and which filter was used to select the recordings.\n",
    "causes": "There was an internal failure when processing your request. This action will not be retried.",
    "solutions": "* Please retry the delete operation with the same parameters.\n* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and which filter was used to select the recordings.",
    "description": "Despite our best efforts, we have failed to delete some or all of the selected recordings. The operation has been cancelled.",
    "date_created": "2019-09-16T09:03:27Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16111,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Recording: Upload file to external AWS S3 bucket failed (Invalid Configuration)",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio failed to upload the recording file to the external AWS S3 bucket specified in Voice Settings due to an invalid configuration. The recording file has been deleted, and if the resource exists, the resource has been marked as \"failed\".\n\n### Possible causes\n\n- Invalid S3 bucket URL\n- Invalid AWS S3 bucket credentials\n- AWS S3 bucket credentials not found in Credential Storage\n\n### Possible solutions\n\n- Ensure AWS S3 bucket credentials are valid and available in Credential Storage\n- Set a valid S3 bucket URL\n- Disable external storage\n- Ensure External Storage settings are provided for each home region you want to use\n",
    "causes": "* Invalid S3 bucket URL\n* Invalid AWS S3 bucket credentials\n* AWS S3 bucket credentials not found in Credential Storage",
    "solutions": "* Ensure AWS S3 bucket credentials are valid and available in Credential Storage\n* Set a valid S3 bucket URL\n* Disable external storage\n* Ensure External Storage settings are provided for each home region you want to use",
    "description": "Twilio failed to upload the recording file to the external AWS S3 bucket specified in Voice Settings due to an invalid configuration. The recording file has been deleted, and if the resource exists, the resource has been marked as \"failed\".",
    "date_created": "2021-11-17T18:52:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16112,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Recording: Upload file to external AWS S3 bucket failed (Access Denied)",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio failed to upload the recording file to the external AWS S3 bucket specified in Voice Settings due to access denied. The recording file has been deleted, and the resource has been marked as \"failed\".\n\n### Possible causes\n\n- AWS credentials does not have enough permissions to upload to the bucket\n- The external S3 bucket has SSE-S3 enabled, only SSE-KMS is supported\n\n### Possible solutions\n\n- Ensure AWS S3 bucket credentials are valid and have enough permission to access\n- If SSE-S3 is enabled, please consider switching to SSE-KMS\n- Disable external storage\n",
    "causes": "* AWS credentials does not have enough permissions to upload to the bucket\n* The external S3 bucket has SSE-S3 enabled, only SSE-KMS is supported",
    "solutions": "* Ensure AWS S3 bucket credentials are valid and have enough permission to access\n* If SSE-S3 is enabled, please consider switching to SSE-KMS\n* Disable external storage",
    "description": "Twilio failed to upload the recording file to the external AWS S3 bucket specified in Voice Settings due to access denied. The recording file has been deleted, and the resource has been marked as \"failed\".",
    "date_created": "2021-11-17T18:53:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16113,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Voice Recording: Cannot download a dual-channel presentation of a mono recording",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA recording created as a mono recording cannot be downloaded as a dual-channel audio file.\n\n### Possible causes\n\n- The recording was requested as a mono recording upon creation\n\n### Possible solutions\n\n- Retry download without specifying a channel count\n",
    "causes": "* The recording was requested as a mono recording upon creation",
    "solutions": "* Retry download without specifying a channel count",
    "description": "A recording created as a mono recording cannot be downloaded as a dual-channel audio file.",
    "date_created": "2022-02-16T20:58:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 16114,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Recording: Resource not in a state to accept recording action request",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio timed out on the recording action because the resource was undergoing modification and was not in an actionable state.\n\n### Possible causes\n\nCustomer initiated a SIP transfer for a recorded call, and the transfer was in-progress when Twilio received the recording action request\n\n### Possible solutions\n\nRetry the recording action request\n",
    "causes": "Customer initiated a SIP transfer for a recorded call, and the transfer was in-progress when Twilio received the recording action request",
    "solutions": "Retry the recording action request",
    "description": "Twilio timed out on the recording action because the resource was undergoing modification and was not in an actionable state.",
    "date_created": "2025-12-05T20:49:36.241Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 17000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Forbidden to access data",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error code is returned when an account is trying to access a resource created by another account. Note: parent accounts can access subaccount resources, but subaccounts cannot access parent account resources, or other subaccounts under the same parent account.\n\n### Possible causes\n\nThis error code is also returned when an account is attempting to access a resource where Voice Insights Advanced Features has not been enabled on that account.\n\n### Possible solutions\n\nOnce enabled future calls will be retrievable via API.\n",
    "causes": "This error code is also returned when an account is attempting to access a resource where Voice Insights Advanced Features has not been enabled on that account.",
    "solutions": "Once enabled future calls will be retrievable via API.",
    "description": "This error code is returned when an account is trying to access a resource created by another account. Note: parent accounts can access subaccount resources, but subaccounts cannot access parent account resources, or other subaccounts under the same parent account.",
    "date_created": "2020-09-29T19:23:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 17001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Completed summary for this call wasn't found",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error code is returned by the /Summary API when a completed summary is requested and it doesn't exist.\n\n### Possible causes\n\nThe call SID for the call is valid, but the call summarization process was not complete at the time of the request. Summarization takes 30 minutes to complete.\n\n### Possible solutions\n\nTo see results immediately, use the ProcessingState=partial query parameter, which will return a 200, but the response will contain only a partial or incomplete information until the summarization is completed.\n",
    "causes": "The call SID for the call is valid, but the call summarization process was not complete at the time of the request. Summarization takes 30 minutes to complete.",
    "solutions": "To see results immediately, use the ProcessingState=partial query parameter, which will return a 200, but the response will contain only a partial or incomplete information until the summarization is completed.",
    "description": "This error code is returned by the /Summary API when a completed summary is requested and it doesn't exist.",
    "date_created": "2020-09-29T19:25:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 17002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "This call ended more than 30 days ago",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe requested resource's call\\_sid is valid, but the call ended more than 30 days before the request was made.\n\n### Possible causes\n\nVoice Insights only stores 30 days worth of call data.\n\n### Possible solutions\n\nDo not request Voice Insights resources for calls that ended more than 30 days ago.\n",
    "causes": "Voice Insights only stores 30 days worth of call data.",
    "solutions": "Do not request Voice Insights resources for calls that ended more than 30 days ago.",
    "description": "The requested resource's call\\_sid is valid, but the call ended more than 30 days before the request was made.",
    "date_created": "2020-09-29T19:30:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 17007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Insights Advanced Features not enabled",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe requested resource's call\\_sid is valid, but it ended before the Voice Insights product was last enabled for the requester's account.\n\n### Possible causes\n\nVoice Insights Advanced Features not enabled on the account when the call was made.\n\n### Possible solutions\n\nEnable Voice Insights Advanced Features for API access to future calls.\n",
    "causes": "Voice Insights Advanced Features not enabled on the account when the call was made.",
    "solutions": "Enable Voice Insights Advanced Features for API access to future calls.",
    "description": "The requested resource's call\\_sid is valid, but it ended before the Voice Insights product was last enabled for the requester's account.",
    "date_created": "2020-09-29T19:32:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 17008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Internal Server Error - Query Timeout",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nQuery Timeout\n\n### Possible causes\n\nThe requested resource exceeded the time limit for the data to be fetched from the underlying data store.\n\n### Possible solutions\n\nThe request should be retried using exponential backoff strategy until it succeeds.\n",
    "causes": "The requested resource exceeded the time limit for the data to be fetched from the underlying data store.",
    "solutions": "The request should be retried using exponential backoff strategy until it succeeds.",
    "description": "Query Timeout",
    "date_created": "2020-09-29T19:33:39Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 17009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Internal Server Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe requested resource failed to complete the request.\n\n### Possible causes\n\nThe requested resource failed to complete the request.\n\n### Possible solutions\n\nThe request should be retried using exponential backoff strategy until it succeeds.\n",
    "causes": "The requested resource failed to complete the request.",
    "solutions": "The request should be retried using exponential backoff strategy until it succeeds.",
    "description": "The requested resource failed to complete the request.",
    "date_created": "2020-09-29T19:35:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 17400,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid query parameter",
    "secondary_message": "Invalid query parameter",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInvalid query parameter has been passed in the request.\n\n### Possible causes\n\nInvalid format for country code, SIP URI, Client address, or phone number. Wildcard searches.\n\n### Possible solutions\n\nUtilize only two-character country code; e.g. US Do not attempt wildcard searches; e.g. from=+1206\\* Use E.164 address format for telephone numbers; e.g. +14258675309 Use SIP URI format; e.g. sip:user@domain.com Use Client address format; e.g. client:username\n",
    "causes": "Invalid format for country code, SIP URI, Client address, or phone number. Wildcard searches.",
    "solutions": "Utilize only two-character country code; e.g. US Do not attempt wildcard searches; e.g. from=+1206\\* Use E.164 address format for telephone numbers; e.g. +14258675309 Use SIP URI format; e.g. sip:user@domain.com Use Client address format; e.g. client:username",
    "description": "Invalid query parameter has been passed in the request.",
    "date_created": "2021-08-19T13:17:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid document submission",
    "secondary_message": "The uploaded document does not match the Regulatory Requirements criteria. Please upload a Supporting Document that matches the necessary Regulatory Requirements.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe document you have uploaded does not match our Regulatory Requirements criteria.\n\n### Possible causes\n\nThe document you have uploaded does not match our acceptable documentation for the Regulatory Requirements.\n\n### Possible solutions\n\nPlease re-submit after uploading a Supporting Document according to our Guidelines. https://www.twilio.com/en-us/guidelines/regulatory\n",
    "causes": "The document you have uploaded does not match our acceptable documentation for the Regulatory Requirements.",
    "solutions": "Please re-submit after uploading a Supporting Document according to our Guidelines. https://www.twilio.com/en-us/guidelines/regulatory",
    "description": "The document you have uploaded does not match our Regulatory Requirements criteria.",
    "date_created": "2024-07-17T09:33:04Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Illegible or blurry document submission",
    "secondary_message": "The document you have uploaded is not legible. Please re-submit a clear copy of the supporting document.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe document you have uploaded is not legible or blurry.\n\n### Possible causes\n\nBlur or bad quality image uploaded.\n\n### Possible solutions\n\nPlease re-submit after uploading a clear copy of the supporting document\n",
    "causes": "Blur or bad quality image uploaded.",
    "solutions": "Please re-submit after uploading a clear copy of the supporting document",
    "description": "The document you have uploaded is not legible or blurry.",
    "date_created": "2024-07-04T09:44:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Expired or invalid document submission",
    "secondary_message": "The submitted Supporting Document is expired or is invalid. Please resubmit a valid supporting document.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe supporting document you submitted is either expired or invalid.\n\n### Possible causes\n\nThe Supporting Document you uploaded has expired or it does not show an expiration date.\n\n### Possible solutions\n\nPlease resubmit with a valid supporting document.\n",
    "causes": "The Supporting Document you uploaded has expired or it does not show an expiration date.",
    "solutions": "Please resubmit with a valid supporting document.",
    "description": "The supporting document you submitted is either expired or invalid.",
    "date_created": "2024-07-04T09:45:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Redactions in document.",
    "secondary_message": "The submitted Supporting Document had redactions or covered information. Re-upload the Supporting Document without any redactions or covered portions.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe supporting document you submitted had redactions or covered information that is required for the regulatory requirement.\n\n### Possible causes\n\nUploading a document with obscured or redacted information.\n\n### Possible solutions\n\nRe-upload the Supporting Document without any redactions or covered portions. For any ID document, make sure to provide a color copy of the ID document without any reductions. Make sure that all the edges of the ID document and MRZ data for passports are visible.\n",
    "causes": "Uploading a document with obscured or redacted information.",
    "solutions": "Re-upload the Supporting Document without any redactions or covered portions. For any ID document, make sure to provide a color copy of the ID document without any reductions. Make sure that all the edges of the ID document and MRZ data for passports are visible.",
    "description": "The supporting document you submitted had redactions or covered information that is required for the regulatory requirement.",
    "date_created": "2024-07-04T09:47:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing information",
    "secondary_message": "There is missing information. Please fill out the required form fields.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nOne or more of the required criteria is missing.\n\n### Possible causes\n\nYou may have missed sharing the required information.\n\n### Possible solutions\n\nPlease fill out the required form fields and resubmit the bundle.\n",
    "causes": "You may have missed sharing the required information.",
    "solutions": "Please fill out the required form fields and resubmit the bundle.",
    "description": "One or more of the required criteria is missing.",
    "date_created": "2024-07-04T09:48:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Information does not match the supporting document",
    "secondary_message": "The information does not match the regulatory requirement.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe information you shared does not match the supporting document.\n\n### Possible causes\n\nThe information you shared does not match the supporting document.\n\n### Possible solutions\n\nYou may have attached the wrong document or shared inaccurate information.\n",
    "causes": "The information you shared does not match the supporting document.",
    "solutions": "You may have attached the wrong document or shared inaccurate information.",
    "description": "The information you shared does not match the supporting document.",
    "date_created": "2024-07-17T09:38:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Incomplete document submission.",
    "secondary_message": "The Proof of Identity document needs to show the front and back of the ID. Please upload a copy of both sides in a single document.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Proof of Identity needs to show the front and back of the ID. Your uploaded proof of Identity does not have both sides.\n\n### Possible causes\n\nYour uploaded proof of Identity does not have both sides.\n\n### Possible solutions\n\nPlease upload a copy of both sides and make sure to upload them in one document.\n",
    "causes": "Your uploaded proof of Identity does not have both sides.",
    "solutions": "Please upload a copy of both sides and make sure to upload them in one document.",
    "description": "The Proof of Identity needs to show the front and back of the ID. Your uploaded proof of Identity does not have both sides.",
    "date_created": "2024-07-04T09:59:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Name mismatch (Proof of Identity)",
    "secondary_message": "The name on the Proof of Identity document does not match what's submitted in the first name / last name fields. Please ensure the document and field information match.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe individual's name on the Proof of Identity document does not match the information entered in the Bundle.\n\n### Possible causes\n\nThe name on the Proof of Identity document does not match what's submitted in the first name / last name fields.\n\n### Possible solutions\n\nPlease ensure the names match exactly and that all the individual's last names are provided. Please amend firstly the name in the Business & legal representative information / Individual information section of the bundle, and then in the Bundle fields under the uploaded supporting document.\n",
    "causes": "The name on the Proof of Identity document does not match what's submitted in the first name / last name fields.",
    "solutions": "Please ensure the names match exactly and that all the individual's last names are provided. Please amend firstly the name in the Business & legal representative information / Individual information section of the bundle, and then in the Bundle fields under the uploaded supporting document.",
    "description": "The individual's name on the Proof of Identity document does not match the information entered in the Bundle.",
    "date_created": "2024-07-04T10:01:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Nationality mismatch (Proof of Identity)",
    "secondary_message": "There is a mismatch between the nationality provided in the form and the Proof of Identity document. Please ensure that the information matches between form fields and Proof of Identity document.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe information about the nationality provided in the Bundle does not match the information on the upload Proof of Identity.\n\n### Possible causes\n\nYou may have uploaded a wrong document.\n\n### Possible solutions\n\nPlease resubmit with the appropriate identity document. Please ensure the document uploaded and the information you provided match.\n",
    "causes": "You may have uploaded a wrong document.",
    "solutions": "Please resubmit with the appropriate identity document. Please ensure the document uploaded and the information you provided match.",
    "description": "The information about the nationality provided in the Bundle does not match the information on the upload Proof of Identity.",
    "date_created": "2024-07-04T10:02:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Business registration number mismatch.",
    "secondary_message": "Business registration number does not match with the local company register or the excerpt from the commercial register that you may have submitted. Please resubmit with the accurate Business Registration number.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe business registration number provided does not match the supporting document.\n\n### Possible causes\n\nThe submitted business registration number does not align with the local company register or excerpt from the commercial register.\n\n### Possible solutions\n\nPlease resubmit with the accurate business registration number to ensure it matches the local company register or commercial register.\n",
    "causes": "The submitted business registration number does not align with the local company register or excerpt from the commercial register.",
    "solutions": "Please resubmit with the accurate business registration number to ensure it matches the local company register or commercial register.",
    "description": "The business registration number provided does not match the supporting document.",
    "date_created": "2024-07-17T09:41:23Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18011,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Business name mismatch",
    "secondary_message": "Business name provided does not match with the domestic company register or excerpt from the commercial register that you may have submitted. Please resubmit with the accurate business name.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe business name provided does not match with the supporting document.\n\n### Possible causes\n\nThe business name and registration information do not align with the local company register or excerpt from the commercial register.\n\n### Possible solutions\n\nPlease resubmit with the accurate business name and the corresponding business registration number.\n",
    "causes": "The business name and registration information do not align with the local company register or excerpt from the commercial register.",
    "solutions": "Please resubmit with the accurate business name and the corresponding business registration number.",
    "description": "The business name provided does not match with the supporting document.",
    "date_created": "2024-07-17T09:42:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18012,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Require domestic address.",
    "secondary_message": "The phone number type you selected requires a valid domestic address on the document. Please resubmit a document with a valid address and ensure you've selected the desired phone number type.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe phone number type you selected requires a valid domestic address.\n\n### Possible causes\n\n- You may have submitted an international address.\n- Your address is not a valid address.\n\n### Possible solutions\n\nPlease resubmit with a valid address or create a new bundle selecting the appropriate phone number type.\n",
    "causes": "* You may have submitted an international address.\n* Your address is not a valid address.",
    "solutions": "Please resubmit with a valid address or create a new bundle selecting the appropriate phone number type.",
    "description": "The phone number type you selected requires a valid domestic address.",
    "date_created": "2024-07-04T10:04:04Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18013,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Require domestic emergency address.",
    "secondary_message": "This phone number type requires a valid domestic emergency address on the document. Please resubmit a document with a valid domestic address and ensure you've selected the desired phone number type.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThis phone number type requires a valid domestic emergency address.\n\n### Possible causes\n\n- You may have submitted an international address. - Your address is not a valid address.\n\n### Possible solutions\n\nPlease resubmit with a valid domestic address or create a new bundle selecting the appropriate phone number type.\n",
    "causes": "* You may have submitted an international address. - Your address is not a valid address.",
    "solutions": "Please resubmit with a valid domestic address or create a new bundle selecting the appropriate phone number type.",
    "description": "This phone number type requires a valid domestic emergency address.",
    "date_created": "2024-07-17T09:44:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18014,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid or incomplete address provided.",
    "secondary_message": "The address you have provided is not valid. Please resubmit the bundle with the correct address.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe address you have provided is not valid.\n\n### Possible causes\n\nThe submitted address does not meet our requirements.\n\n### Possible solutions\n\nPlease resubmit the bundle with the correct address.\n",
    "causes": "The submitted address does not meet our requirements.",
    "solutions": "Please resubmit the bundle with the correct address.",
    "description": "The address you have provided is not valid.",
    "date_created": "2024-07-04T10:04:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18015,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid or incomplete emergency address provided.",
    "secondary_message": "The emergency address you have provided is not valid. Please resubmit the bundle with the correct address.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe emergency address you have provided is not valid.\n\n### Possible causes\n\nThe submitted emergency address does not meet our requirements.\n\n### Possible solutions\n\nPlease resubmit the bundle with the correct address.\n",
    "causes": "The submitted emergency address does not meet our requirements.",
    "solutions": "Please resubmit the bundle with the correct address.",
    "description": "The emergency address you have provided is not valid.",
    "date_created": "2024-07-17T09:46:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18016,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Address mismatch.",
    "secondary_message": "The address does not match exactly with the Supporting Document. Please amend the Address fields to match the document's address.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe address you have provided does not match with the supporting document.\n\n### Possible causes\n\nThere may be a typo when submitting the address information.\n\n### Possible solutions\n\nPlease amend the data entered in the Address fields to match exactly the address in the documents you have provided.\n",
    "causes": "There may be a typo when submitting the address information.",
    "solutions": "Please amend the data entered in the Address fields to match exactly the address in the documents you have provided.",
    "description": "The address you have provided does not match with the supporting document.",
    "date_created": "2024-07-04T10:06:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18017,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Address not found",
    "secondary_message": "The Proof of Identity document does not show a visible address. Please upload a Supporting Document with a visible address.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe supporting document does not provide an address.\n\n### Possible causes\n\nThe identity document that you submitted for address document does not have the address\n\n### Possible solutions\n\nPlease upload a Supporting Document that shows an address.\n",
    "causes": "The identity document that you submitted for address document does not have the address",
    "solutions": "Please upload a Supporting Document that shows an address.",
    "description": "The supporting document does not provide an address.",
    "date_created": "2024-07-17T09:47:23Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18018,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "PO Box not allowed.",
    "secondary_message": "The address you shared is a PO Box address, which is not acceptable. Please share a full physical address.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nA PO Box address is not allowed.\n\n### Possible causes\n\nPO Box address is not acceptable.\n\n### Possible solutions\n\nPlease share a full physical address.\n",
    "causes": "PO Box address is not acceptable.",
    "solutions": "Please share a full physical address.",
    "description": "A PO Box address is not allowed.",
    "date_created": "2024-07-04T10:11:11Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18019,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Proof of Identity Required for Authorized Representative.",
    "secondary_message": "We require Proof of Identity for the Authorized Representative. Please provide a government-issued ID or passport for the Authorized Representative.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nWe require proof of identity for the Authorized Representative.\n\n### Possible causes\n\nWe could not verify the identity of the Authorized Representative.\n\n### Possible solutions\n\nPlease provide a government-issued ID or passport for the Authorized Representative to fulfill this requirement.\n",
    "causes": "We could not verify the identity of the Authorized Representative.",
    "solutions": "Please provide a government-issued ID or passport for the Authorized Representative to fulfill this requirement.",
    "description": "We require proof of identity for the Authorized Representative.",
    "date_created": "2024-07-04T10:11:56Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18020,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Proof of authorized representative’s association with the business required.",
    "secondary_message": "The Authorized Representative is not shown on the Business Registration. Please upload a Supporting Document that shows the Authorized Representative of the business.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nNeed document to verify authorized representative's association with the business.\n\n### Possible causes\n\nThe authorized representative is not on the business registration.\n\n### Possible solutions\n\nPlease upload a Supporting Document that shows the Authorized Representative as part of the business.\n",
    "causes": "The authorized representative is not on the business registration.",
    "solutions": "Please upload a Supporting Document that shows the Authorized Representative as part of the business.",
    "description": "Need document to verify authorized representative's association with the business.",
    "date_created": "2024-07-04T10:12:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Name mismatch (Proof of Address)",
    "secondary_message": "The name on the Proof of Address document does not match what's submitted in the first name / last name fields. Please ensure the document and field information match.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe individual's name on the Proof of Address document does not match the information entered in the Bundle.\n\n### Possible causes\n\nThe name on the Proof of Address document does not match what's submitted in the first name / last name fields. Please ensure the document and field information match.\n\n### Possible solutions\n\nPlease ensure the names match exactly and that all the individual's last names are provided. Please amend firstly the name in the Business & legal representative information / Individual information section of the bundle, and then in the Bundle fields under the uploaded supporting document.\n",
    "causes": "The name on the Proof of Address document does not match what's submitted in the first name / last name fields. Please ensure the document and field information match.",
    "solutions": "Please ensure the names match exactly and that all the individual's last names are provided. Please amend firstly the name in the Business & legal representative information / Individual information section of the bundle, and then in the Bundle fields under the uploaded supporting document.",
    "description": "The individual's name on the Proof of Address document does not match the information entered in the Bundle.",
    "date_created": "2024-07-04T10:15:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18022,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outdated Proof of Address document",
    "secondary_message": "The address document you shared is outdated. If you are an individual, please share the document issued in the last three months. If you are a business, please share the document issued within the last year.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe address document you shared is outdated.\n\n### Possible causes\n\nThe address document contains a date that is in the past.\n\n### Possible solutions\n\nIf you are an individual, please share the document issued in the last three months. If you are a business, please share the document issued within the last year.\n",
    "causes": "The address document contains a date that is in the past.",
    "solutions": "If you are an individual, please share the document issued in the last three months. If you are a business, please share the document issued within the last year.",
    "description": "The address document you shared is outdated.",
    "date_created": "2024-07-04T10:16:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Document contains an inactive business",
    "secondary_message": "The status of your entity is listed as inactive in your local business registry. Please upload a Business Document showing a currently active business registration.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe status of your entity is listed as inactive in your local business registry. Please upload a Business Document showing a currently active business registration.\n\n### Possible causes\n\nThe status of your entity provided in the Business Document is listed as inactive in your local business registry.\n\n### Possible solutions\n\nPlease upload a Business Document showing a currently active business registration.\n",
    "causes": "The status of your entity provided in the Business Document is listed as inactive in your local business registry.",
    "solutions": "Please upload a Business Document showing a currently active business registration.",
    "description": "The status of your entity is listed as inactive in your local business registry. Please upload a Business Document showing a currently active business registration.",
    "date_created": "2024-10-08T20:09:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18024,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to upload an unprocessable document",
    "secondary_message": "A document could not be uploaded either because it is corrupted or could not be parsed or processed. Please resubmit with a valid/uncorrupted file.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nA document could not be uploaded either because it is corrupted or could not be parsed or processed.\n\n### Possible causes\n\nThe file type does not match the file content or the file corrupt/invalid.\n\n### Possible solutions\n\nPlease resubmit with a valid/uncorrupted file.\n",
    "causes": "The file type does not match the file content or the file corrupt/invalid.",
    "solutions": "Please resubmit with a valid/uncorrupted file.",
    "description": "A document could not be uploaded either because it is corrupted or could not be parsed or processed.",
    "date_created": "2025-01-07T22:00:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18025,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Document rejected (number type restricted)",
    "secondary_message": "Document was rejected since the account is not allowed to purchase this number type. Please contact support for any questions.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nDocument was rejected since the account is not allowed to purchase this number type. Please contact support for any questions.\n\n### Possible causes\n\nDocument was rejected since the account is not allowed to purchase this number type.\n\n### Possible solutions\n\nPlease contact support for any questions.\n",
    "causes": "Document was rejected since the account is not allowed to purchase this number type.",
    "solutions": "Please contact support for any questions.",
    "description": "Document was rejected since the account is not allowed to purchase this number type. Please contact support for any questions.",
    "date_created": "2025-05-19T18:05:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18036,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "One or more of the required information is missing.",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nOne or more of the following required information is missing: Birth Date, Birth Place, Tax Number, Document Number, Issue Date.\n\n### Possible causes\n\nYou may have missed to input the required information.\n\n### Possible solutions\n\nPlease fill out the required fields in the form.\n",
    "causes": "You may have missed to input the required information.",
    "solutions": "Please fill out the required fields in the form.",
    "description": "One or more of the following required information is missing: Birth Date, Birth Place, Tax Number, Document Number, Issue Date.",
    "date_created": "2024-07-04T09:50:05Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18037,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing information in the form",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nOne of more of the information in the forms are missing.\n\n### Possible causes\n\nYou may have missed sharing the required information.\n\n### Possible solutions\n\nPlease fill out the required form fields and resubmit the bundle.\n",
    "causes": "You may have missed sharing the required information.",
    "solutions": "Please fill out the required form fields and resubmit the bundle.",
    "description": "One of more of the information in the forms are missing.",
    "date_created": "2024-07-04T09:51:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18038,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Information does not match the supporting document",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe information you shared does not match the supporting document.\n\n### Possible causes\n\nYou may have attached the wrong document or shared inaccurate information.\n\n### Possible solutions\n\nPlease amend the information and resubmit the bundle.\n",
    "causes": "You may have attached the wrong document or shared inaccurate information.",
    "solutions": "Please amend the information and resubmit the bundle.",
    "description": "The information you shared does not match the supporting document.",
    "date_created": "2024-07-04T09:55:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18039,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The phone number type you selected requires a valid domestic address.",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe phone number type you selected requires a valid local address. Please resubmit a local address or create a new bundle selecting the appropriate phone number type.\n\n### Possible causes\n\nx\n\n### Possible solutions\n\nx\n",
    "causes": "x",
    "solutions": "x",
    "description": "The phone number type you selected requires a valid local address. Please resubmit a local address or create a new bundle selecting the appropriate phone number type.",
    "date_created": "2024-07-04T09:56:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18050,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Issue with the Supporting Document(s)",
    "secondary_message": "There is an issue with one or more of your Supporting Documents. Please review each rejection reason for the Supporting Document(s).",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThere is an issue with your Supporting Document(s).\n\n### Possible causes\n\nOne or more of your Supporting Documents has been reviewed and was found to have issues.\n\n### Possible solutions\n\nPlease review the Supporting Documents for any rejection reason(s), and resubmit with correct Supporting Documents.\n",
    "causes": "One or more of your Supporting Documents has been reviewed and was found to have issues.",
    "solutions": "Please review the Supporting Documents for any rejection reason(s), and resubmit with correct Supporting Documents.",
    "description": "There is an issue with your Supporting Document(s).",
    "date_created": "2024-10-08T20:11:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18051,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Issue with the inputs you provided",
    "secondary_message": "There is an issue with the inputs you provided, more details will be sent to the Authorized Representative's email.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThere is an issue with the inputs you provided, please check the email sent to the Authorized Representative for the details.\n\n### Possible causes\n\nOne of the inputs (information or documents) you provided has issues.\n\n### Possible solutions\n\nPlease check the Authorized Representative's email for the details on the issue, please resubmit the bundle after rectifying the issue mentioned in the email.\n",
    "causes": "One of the inputs (information or documents) you provided has issues.",
    "solutions": "Please check the Authorized Representative's email for the details on the issue, please resubmit the bundle after rectifying the issue mentioned in the email.",
    "description": "There is an issue with the inputs you provided, please check the email sent to the Authorized Representative for the details.",
    "date_created": "2024-10-08T20:13:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18052,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Under age Individual",
    "secondary_message": "We do not permit underage individuals on our platform. Please resubmit for an individual with acceptable age (over the age of 13 in the US and UK or 16, in the EEA).",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nWe do not permit underage individuals on our platform.\n\n### Possible causes\n\nThe Authorized Representative's age is under 18 years, which is considered underage to use Twilio's products.\n\n### Possible solutions\n\nPlease resubmit for an individual with acceptable age. Please make sure to take necessary steps to remove underaged person's personal information from the Bundle.\n",
    "causes": "The Authorized Representative's age is under 18 years, which is considered underage to use Twilio's products.",
    "solutions": "Please resubmit for an individual with acceptable age. Please make sure to take necessary steps to remove underaged person's personal information from the Bundle.",
    "description": "We do not permit underage individuals on our platform.",
    "date_created": "2024-10-08T20:14:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18053,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to verify association between business name and website",
    "secondary_message": "The business name does not match the website SSL certificate, or the website URL, or the association cannot be verified.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe association between business name and website cannot be verified.\n\n### Possible causes\n\nThe business name does not match the website SSL certificate, or the website URL.\n\n### Possible solutions\n\nPlease reach out to us via email numbers-regulatory-review@twilio.com and share the details of how the company and website are connected.\n",
    "causes": "The business name does not match the website SSL certificate, or the website URL.",
    "solutions": "Please reach out to us via email numbers-regulatory-review@twilio.com and share the details of how the company and website are connected.",
    "description": "The association between business name and website cannot be verified.",
    "date_created": "2024-10-08T20:15:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18054,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid phone number",
    "secondary_message": "The phone number you provided is not valid. Please review and provide a valid phone number in E164 format.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe phone number you provided is not valid.\n\n### Possible causes\n\nThe phone number format is incorrect or or contains errors.\n\n### Possible solutions\n\nPlease review and provide a valid phone number in E164 format.\n",
    "causes": "The phone number format is incorrect or or contains errors.",
    "solutions": "Please review and provide a valid phone number in E164 format.",
    "description": "The phone number you provided is not valid.",
    "date_created": "2024-10-08T20:17:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18055,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid email",
    "secondary_message": "The email you provided is not valid. Please resubmit the bundle with a valid email address.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe email you provided is not valid.\n\n### Possible causes\n\nThe email format is incorrect or contains errors.\n\n### Possible solutions\n\nPlease check and resubmit the bundle with a valid email address and continue.\n",
    "causes": "The email format is incorrect or contains errors.",
    "solutions": "Please check and resubmit the bundle with a valid email address and continue.",
    "description": "The email you provided is not valid.",
    "date_created": "2024-10-08T20:18:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18056,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing Work Email for Authorized Representative",
    "secondary_message": "We require the work email of the Authorized Representative. Please resubmit with a work email of the Authorized Representative.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nMissing Work Email for Authorized Representative.\n\n### Possible causes\n\nThe work email of the Authorized Representative was not provided.\n\n### Possible solutions\n\nPlease ensure you provide the work email of the Authorized Representative to proceed.\n",
    "causes": "The work email of the Authorized Representative was not provided.",
    "solutions": "Please ensure you provide the work email of the Authorized Representative to proceed.",
    "description": "Missing Work Email for Authorized Representative.",
    "date_created": "2024-10-08T20:19:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18057,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Validation Issue for Authorized Representative",
    "secondary_message": "The digital validation for the authorized representative has failed. Please resubmit with an identity document for the Authorized Representative.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe digital validation for the authorized representative has failed.\n\n### Possible causes\n\nThere was an issue verifying the identity of the authorized representative.\n\n### Possible solutions\n\nPlease share a different authorized representative or reach out to us via email numbers-regulatory-review@twilio.com and share the details of how the company and website are connected.\n",
    "causes": "There was an issue verifying the identity of the authorized representative.",
    "solutions": "Please share a different authorized representative or reach out to us via email numbers-regulatory-review@twilio.com and share the details of how the company and website are connected.",
    "description": "The digital validation for the authorized representative has failed.",
    "date_created": "2024-10-08T20:20:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18058,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing Tax ID",
    "secondary_message": "Authorized Representative's Tax ID is missing. Please amend the Tax ID Number field in the Business & Legal Representative Information section to the Authorized Representative´s personal tax ID.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn Authorized Representative's Tax ID is missing.\n\n### Possible causes\n\nAn Authorized Representative's Tax ID is missing.\n\n### Possible solutions\n\nPlease amend the Tax ID Number field in the Business & Legal Representative Information section to the Authorized Representative´s personal tax ID.\n",
    "causes": "An Authorized Representative's Tax ID is missing.",
    "solutions": "Please amend the Tax ID Number field in the Business & Legal Representative Information section to the Authorized Representative´s personal tax ID.",
    "description": "An Authorized Representative's Tax ID is missing.",
    "date_created": "2024-10-08T20:21:11Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18059,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing/Invalid Photo ID",
    "secondary_message": "An Authorized Representative's government-issued photo ID document missing or invalid. Please resubmit with a valid supporting document.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn Authorized Representative's government-issued photo ID document missing or invalid.\n\n### Possible causes\n\n- Missing government-issued photo ID\n- Invalid Photo ID (ex: expired or incorrect name)\n\n### Possible solutions\n\nEnsure the dates are current and the information on the Photo ID matches the Authorized Individual's information and resubmit with a valid government-issued Photo ID.\n",
    "causes": "* Missing government-issued photo ID\n* Invalid Photo ID (ex: expired or incorrect name)",
    "solutions": "Ensure the dates are current and the information on the Photo ID matches the Authorized Individual's information and resubmit with a valid government-issued Photo ID.",
    "description": "An Authorized Representative's government-issued photo ID document missing or invalid.",
    "date_created": "2024-10-08T20:22:20Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18060,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Commercial registration copy not submitted",
    "secondary_message": "Excerpt from the commercial register is missing, which is a required supporting document. Please re-submit after uploading the excerpt from the commercial register",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nExcerpt from the commercial register is missing, which is a required supporting document.\n\n### Possible causes\n\nMissed uploading or upload failure\n\n### Possible solutions\n\nPlease re-submit after uploading the excerpt from the commercial register.\n",
    "causes": "Missed uploading or upload failure",
    "solutions": "Please re-submit after uploading the excerpt from the commercial register.",
    "description": "Excerpt from the commercial register is missing, which is a required supporting document.",
    "date_created": "2024-10-08T20:23:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18061,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid excerpt from the commercial register",
    "secondary_message": "We are unable to validate your company registration from the government database, please resubmit with a current and accurate excerpt from the commercial register.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nWe are unable to validate your company registration from the government database, please resubmit with a current and accurate excerpt from the commercial register.\n\n### Possible causes\n\n- There is a mistake in the registration number, either on the document or in the bundle information\n- Your registration may have expired\n- Registration database might have a technical glitch\n\n### Possible solutions\n\nPlease upload a business registration or excerpt from the commercial registry as a Supporting Document and ensure it matches the information provided in the Bundle.\n",
    "causes": "* There is a mistake in the registration number, either on the document or in the bundle information\n* Your registration may have expired\n* Registration database might have a technical glitch",
    "solutions": "Please upload a business registration or excerpt from the commercial registry as a Supporting Document and ensure it matches the information provided in the Bundle.",
    "description": "We are unable to validate your company registration from the government database, please resubmit with a current and accurate excerpt from the commercial register.",
    "date_created": "2024-10-08T20:24:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18062,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Business Details contain an inactive business",
    "secondary_message": "The status of your entity is listed as inactive in your local business registry. Please amend the business details to include an active business registration.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe status of your entity is listed as inactive in your local business registry.\n\n### Possible causes\n\nThe status of your entity provided in the business details is listed as inactive in your local business registry.\n\n### Possible solutions\n\nPlease amend the business details to include an active business registration.\n",
    "causes": "The status of your entity provided in the business details is listed as inactive in your local business registry.",
    "solutions": "Please amend the business details to include an active business registration.",
    "description": "The status of your entity is listed as inactive in your local business registry.",
    "date_created": "2024-10-08T20:25:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18063,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Phone Number purchase restricted ",
    "secondary_message": "This account is not allowed to purchase this number type. Please contact support for any questions.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThis account is not allowed to purchase this number type. Please contact support for any questions.\n\n### Possible causes\n\nThis account is not allowed to purchase this phone number type.\n\n### Possible solutions\n\nPlease contact support to get further assistance.\n",
    "causes": "This account is not allowed to purchase this phone number type.",
    "solutions": "Please contact support to get further assistance.",
    "description": "This account is not allowed to purchase this number type. Please contact support for any questions.",
    "date_created": "2025-05-19T18:07:56Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18064,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Ineligible for business bundle",
    "secondary_message": "The information provided does not meet our business criteria. Please consider resubmitting as an individual.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe information provided does not meet our business criteria.\n\n### Possible causes\n\nBusiness bundles are not available to individuals or sole traders/proprietors.\n\n### Possible solutions\n\nPlease consider resubmitting as an individual or contact support.\n",
    "causes": "Business bundles are not available to individuals or sole traders/proprietors.",
    "solutions": "Please consider resubmitting as an individual or contact support.",
    "description": "The information provided does not meet our business criteria.",
    "date_created": "2025-05-29T21:20:51.314Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18099,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Rejected test bundle",
    "secondary_message": "The information was rejected since API request marked it as a test. Resubmit with the IsTest parameter to False or omitted if it should be considered for approval.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe information was rejected since API request marked it as a test.\n\n### Possible causes\n\nThe API request to submit this bundle set the IsTest parameter to true.\n\n### Possible solutions\n\nResubmit the bundle with the IsTest parameter to False or omitted if it should be considered for approval\n",
    "causes": "The API request to submit this bundle set the IsTest parameter to true.",
    "solutions": "Resubmit the bundle with the IsTest parameter to False or omitted if it should be considered for approval",
    "description": "The information was rejected since API request marked it as a test.",
    "date_created": "2025-01-24T17:27:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Connections: Cannot enable connection without templates",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA connection must have templates attatched to be enabled.\n\n### Possible causes\n\nThe connection does not have any attatched templates.\n\n### Possible solutions\n\nAttach at least one template to a connection and try again.\n",
    "causes": "The connection does not have any attatched templates.",
    "solutions": "Attach at least one template to a connection and try again.",
    "description": "A connection must have templates attatched to be enabled.",
    "date_created": "2021-02-11T23:29:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Connections: Cannot delete active connection",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA connection must be disabled before deletion.\n\n### Possible causes\n\nThe connection is enabled.\n\n### Possible solutions\n\nDisable the connection and try again.\n",
    "causes": "The connection is enabled.",
    "solutions": "Disable the connection and try again.",
    "description": "A connection must be disabled before deletion.",
    "date_created": "2021-02-11T23:31:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18155,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template: Cannot find schema",
    "secondary_message": "Schema doesn't exist",
    "product": null,
    "docs": "\n## Description\n\nCannot find schema\n\n### Possible causes\n\nRequested schema doesn't exist in the schema respository\n\n### Possible solutions\n\nPlease create the schema in the schema repository\n",
    "causes": "Requested schema doesn't exist in the schema respository",
    "solutions": "Please create the schema in the schema repository",
    "description": "Cannot find schema",
    "date_created": "2020-12-01T00:37:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18156,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template: Invalid unique identifier",
    "secondary_message": "Unique identifier doesn't exist in the source object fields",
    "product": null,
    "docs": "\n## Description\n\nInvalid unique identifier\n\n### Possible causes\n\nUnique identifier does not match any of the fields in the source schema\n\n### Possible solutions\n\nPlease provide a unique identifier that matches one of the fields in the source schema\n",
    "causes": "Unique identifier does not match any of the fields in the source schema",
    "solutions": "Please provide a unique identifier that matches one of the fields in the source schema",
    "description": "Invalid unique identifier",
    "date_created": "2020-12-01T00:38:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18157,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Templates: Incompatible source and destination schemas",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe source schema does not match the destination schema\n\n### Possible causes\n\nSource schema and destination schema are not compatible\n\n### Possible solutions\n\nPlease provide a source and destination schema that match\n",
    "causes": "Source schema and destination schema are not compatible",
    "solutions": "Please provide a source and destination schema that match",
    "description": "The source schema does not match the destination schema",
    "date_created": "2021-02-10T20:52:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18204,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transformations: Invalid source/destination fields",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid source/destination field\n\n### Possible causes\n\nRequested source/destination fields doesn't exist for the provided integration\n\n### Possible solutions\n\nPlease contact Twilio customer support\n",
    "causes": "Requested source/destination fields doesn't exist for the provided integration",
    "solutions": "Please contact Twilio customer support",
    "description": "Invalid source/destination field",
    "date_created": "2020-12-01T00:43:18Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18404,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Connectors: Not Found",
    "secondary_message": "Resource not found",
    "product": null,
    "docs": "\n## Description\n\nFailed to find a match for the request\n\n### Possible causes\n\nThe specified resource is no longer available\n\n### Possible solutions\n\nCheck that the specified resource still exists\n",
    "causes": "The specified resource is no longer available",
    "solutions": "Check that the specified resource still exists",
    "description": "Failed to find a match for the request",
    "date_created": "2021-02-10T20:39:50Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18500,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Internal Twillio Error: Check errors for more details ",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInternal Server Error\n\n### Possible causes\n\nCheck errors for more details\n\n### Possible solutions\n\nPlease retry or contact Twilio customer support\n",
    "causes": "Check errors for more details",
    "solutions": "Please retry or contact Twilio customer support",
    "description": "Internal Server Error",
    "date_created": "2020-12-01T00:58:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18601,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The association between business name and website cannot be verified",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe association between business name and website cannot be verified\n\n### Possible causes\n\nThe business name does not match the website SSL certificate, or the website URL\n\n### Possible solutions\n\nPlease edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.\n",
    "causes": "The business name does not match the website SSL certificate, or the website URL",
    "solutions": "Please edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.",
    "description": "The association between business name and website cannot be verified",
    "date_created": "2024-02-22T03:23:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18602,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Business ID you provided could not be verified",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Business ID you provided could not be verified.\n\n### Possible causes\n\nYou may have provided an inaccurate business ID or the Business ID is invalid / expired.\n\n### Possible solutions\n\nPlease feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.\n\nPlease be sure to use the legal company name and EIN number found in your Tax records.\n",
    "causes": "You may have provided an inaccurate business ID or the Business ID is invalid / expired.",
    "solutions": "Please feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications. Please be sure to use the legal company name and EIN number found in your Tax records.",
    "description": "The Business ID you provided could not be verified.",
    "date_created": "2024-02-22T03:25:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18603,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The address could not be verified",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe address you provided could not be verified.\n\n### Possible causes\n\nThe address is not found in an authoritative address database.\n\n### Possible solutions\n\nPlease feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.\n",
    "causes": "The address is not found in an authoritative address database.",
    "solutions": "Please feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.",
    "description": "The address you provided could not be verified.",
    "date_created": "2024-02-22T03:31:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18604,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to verify Authorized representative #1",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nUnable to verify Authorized representative #1\n\n### Possible causes\n\nUnable to verify Authorized representative #1's identity or their affiliation with the business.\n\n### Possible solutions\n\nPlease feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.\n",
    "causes": "Unable to verify Authorized representative #1's identity or their affiliation with the business.",
    "solutions": "Please feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.",
    "description": "Unable to verify Authorized representative #1",
    "date_created": "2024-02-22T03:32:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18605,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to verify Authorized representative #2. ",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nUnable to verify Authorized representative #2\n\n### Possible causes\n\nUnable to verify Authorized representative #2's identity or their affiliation with the business.\n\n### Possible solutions\n\nPlease feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.\n",
    "causes": "Unable to verify Authorized representative #2's identity or their affiliation with the business.",
    "solutions": "Please feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.",
    "description": "Unable to verify Authorized representative #2",
    "date_created": "2024-02-22T03:33:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18606,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Email domain doesn't match the website domain",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Email domain doesn't match the website domain\n\n### Possible causes\n\nThe domain of the email address you provided doesn't match the website domain.\n\n### Possible solutions\n\nPlease feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.\n",
    "causes": "The domain of the email address you provided doesn't match the website domain.",
    "solutions": "Please feel free to edit the Business Profile & update the missing information. You can also reach out to our support team at trusthub-verify@twilio.com for any additional clarifications.",
    "description": "The Email domain doesn't match the website domain",
    "date_created": "2024-02-22T03:34:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18607,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Customer Profile or Trust Product is not eligible to be copied",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou can not copy the customer profile or trust product\n\n### Possible causes\n\nThe customer profile is not eligible to be copied\n\n### Possible solutions\n\nPlease move forward without copying the customer profile or trust product\n",
    "causes": "The customer profile is not eligible to be copied",
    "solutions": "Please move forward without copying the customer profile or trust product",
    "description": "You can not copy the customer profile or trust product",
    "date_created": "2024-02-27T02:28:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18608,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Customer Profile or Trust Product is already copied",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou already copied the customer profile or trust product\n\n### Possible causes\n\nYou already copied.\n\n### Possible solutions\n\nSince the customer profile or trust product is already copied, please move forward without any additional action\n",
    "causes": "You already copied.",
    "solutions": "Since the customer profile or trust product is already copied, please move forward without any additional action",
    "description": "You already copied the customer profile or trust product",
    "date_created": "2024-02-27T02:29:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18609,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Ineligible Business Registration Authority",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe provided business registration authority is not an EIN (Employer Identification Number) or DUN (Data Universal Numbering System) number.\n\n### Possible causes\n\nThe submitted business registration authority does not meet the eligibility requirements for the US Voice Integrity/CNAM trust product.\n\n### Possible solutions\n\nPlease resubmit your registration using either an EIN or a DUN number.\n",
    "causes": "The submitted business registration authority does not meet the eligibility requirements for the US Voice Integrity/CNAM trust product.",
    "solutions": "Please resubmit your registration using either an EIN or a DUN number.",
    "description": "The provided business registration authority is not an EIN (Employer Identification Number) or DUN (Data Universal Numbering System) number.",
    "date_created": "2024-04-21T22:59:27Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 18610,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Customer Profile or Trust Product cannot be copied due to a deleted Address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nCustomer Profile or Trust Product requested cannot be copied due to a deleted Address.\n\n### Possible causes\n\nThe Address linked to the Customer Profile or Trust Product was deleted.\n\n### Possible solutions\n\nCreate a new Address on your Account or Sub-Account (if you don't already have one) and reach out to [Twilio Support](https://support.twilio.com/hc/en-us) to link it to the Customer Profile or Trust Product that you wish to copy.\n",
    "causes": "The Address linked to the Customer Profile or Trust Product was deleted.",
    "solutions": "Create a new Address on your Account or Sub-Account (if you don't already have one) and reach out to [Twilio Support](https://support.twilio.com/hc/en-us) to link it to the Customer Profile or Trust Product that you wish to copy.",
    "description": "Customer Profile or Trust Product requested cannot be copied due to a deleted Address.",
    "date_created": "2024-08-13T07:25:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Required header missing",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA valid auth account header is required\n\n### Possible causes\n\nThe auth account header is missing in the request\n\n### Possible solutions\n\nAdd the auth account header to the request\n",
    "causes": "The auth account header is missing in the request",
    "solutions": "Add the auth account header to the request",
    "description": "A valid auth account header is required",
    "date_created": "2020-06-08T17:31:20Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Contact with the unique_customer_provided_id provided already exists",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nunique\\_customer\\_provided\\_id already exists\n\n### Possible causes\n\nAn existing contact has the same unique\\_customer\\_provided\\_id value provided in the request\n\n### Possible solutions\n\nProvide different unique\\_customer\\_provided\\_id or remove the existing one\n",
    "causes": "An existing contact has the same unique\\_customer\\_provided\\_id value provided in the request",
    "solutions": "Provide different unique\\_customer\\_provided\\_id or remove the existing one",
    "description": "unique\\_customer\\_provided\\_id already exists",
    "date_created": "2020-07-21T18:31:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid or missing Contact input",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request body provided has some errors\n\n### Possible causes\n\nA required field is missing, duplicate field or invalid field name.\n\n### Possible solutions\n\nReview the request body and the API documentation for more information\n",
    "causes": "A required field is missing, duplicate field or invalid field name.",
    "solutions": "Review the request body and the API documentation for more information",
    "description": "The request body provided has some errors",
    "date_created": "2020-07-21T18:39:38Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Contact validation error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe data provided in the request body is invalid\n\n### Possible causes\n\nInvalid string length, invalid data type\n\n### Possible solutions\n\nReview the request body and the API documentation for more information\n",
    "causes": "Invalid string length, invalid data type",
    "solutions": "Review the request body and the API documentation for more information",
    "description": "The data provided in the request body is invalid",
    "date_created": "2020-07-21T18:48:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid contact search request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe search parameter provided is not valid\n\n### Possible solutions\n\nReview the API documentation for more information\n",
    "causes": "The search parameter provided is not valid",
    "solutions": "Review the API documentation for more information",
    "description": "",
    "date_created": "2020-07-21T18:48:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19011,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "When updating a contact, invalid JSON syntax or invalid field that cannot be updated by this endpoint",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid JSON or fields other than first\\_name, middle\\_name, last\\_name, legal\\_name, preferred\\_name, unique\\_customer\\_provided\\_id or custom\\_fields exist in update contact request\n\n### Possible causes\n\nUser provided an invalid JSON or trying to update fields other than first\\_name, middle\\_name, last\\_name, legal\\_name, preferred\\_name, unique\\_customer\\_provided\\_id or custom\\_fields of a contact\n\n### Possible solutions\n\nFix JSON input or change update contact request to update only first\\_name, middle\\_name, last\\_name, legal\\_name, preferred\\_name, unique\\_customer\\_provided\\_id or custom\\_fields\n",
    "causes": "User provided an invalid JSON or trying to update fields other than first\\_name, middle\\_name, last\\_name, legal\\_name, preferred\\_name, unique\\_customer\\_provided\\_id or custom\\_fields of a contact",
    "solutions": "Fix JSON input or change update contact request to update only first\\_name, middle\\_name, last\\_name, legal\\_name, preferred\\_name, unique\\_customer\\_provided\\_id or custom\\_fields",
    "description": "Invalid JSON or fields other than first\\_name, middle\\_name, last\\_name, legal\\_name, preferred\\_name, unique\\_customer\\_provided\\_id or custom\\_fields exist in update contact request",
    "date_created": "2020-08-07T22:45:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19012,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "When updating a contact at least one field should be updated",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nNo contact updates provided in the request\n\n### Possible causes\n\nUser has not provided contact updates\n\n### Possible solutions\n\nWhen updating a contact at least one field should be updated\n",
    "causes": "User has not provided contact updates",
    "solutions": "When updating a contact at least one field should be updated",
    "description": "No contact updates provided in the request",
    "date_created": "2020-08-07T22:46:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19013,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "At least one of the following fields is required for a contact: first_name, middle_name, last_name, legal_name, preferred_name, unique_customer_provided_id or channel",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nContact should contain at least one required field\n\n### Possible causes\n\nContact does not possess even one required field\n\n### Possible solutions\n\nContact should contain at least one of the following fields - first\\_name, middle\\_name, last\\_name, legal\\_name, preferred\\_name, unique\\_customer\\_provided\\_id or channel\n",
    "causes": "Contact does not possess even one required field",
    "solutions": "Contact should contain at least one of the following fields - first\\_name, middle\\_name, last\\_name, legal\\_name, preferred\\_name, unique\\_customer\\_provided\\_id or channel",
    "description": "Contact should contain at least one required field",
    "date_created": "2020-08-07T22:47:45Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19014,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Can fetch contact either by unique_customer_provided_id or channel ",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nContact fetch request should contain unique\\_customer\\_provided\\_id or channel, not both\n\n### Possible causes\n\nContact fetch request contains both unique\\_customer\\_provided\\_id and channel\n\n### Possible solutions\n\nContact can be fetched either by unique\\_customer\\_provided\\_id or by channel\n",
    "causes": "Contact fetch request contains both unique\\_customer\\_provided\\_id and channel",
    "solutions": "Contact can be fetched either by unique\\_customer\\_provided\\_id or by channel",
    "description": "Contact fetch request should contain unique\\_customer\\_provided\\_id or channel, not both",
    "date_created": "2020-08-07T22:48:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19020,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Contact with the provided channel value already exists",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nChannel value already exists\n\n### Possible causes\n\nAn existing contact has the same channel value provided in the request\n\n### Possible solutions\n\nChannel value has to be unique for contact, use different channel value or update the existing one\n",
    "causes": "An existing contact has the same channel value provided in the request",
    "solutions": "Channel value has to be unique for contact, use different channel value or update the existing one",
    "description": "Channel value already exists",
    "date_created": "2020-07-21T20:14:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Only one channel can be set as primary",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nis\\_primary can be set to true only for one channel\n\n### Possible causes\n\nRequest with is\\_primary set to True for more than one channel\n\n### Possible solutions\n\nEnsure only each channel has only 1 is\\_primary set to true\n",
    "causes": "Request with is\\_primary set to True for more than one channel",
    "solutions": "Ensure only each channel has only 1 is\\_primary set to true",
    "description": "is\\_primary can be set to true only for one channel",
    "date_created": "2020-07-21T20:15:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19022,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid channel",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequest with a channel that is not supported\n\n### Possible causes\n\nChannel other than: email, sms, voice, messenger, whatsapp\n\n### Possible solutions\n\nOnly email, sms, voice, messenger or whatsapp are valid channels\n",
    "causes": "Channel other than: email, sms, voice, messenger, whatsapp",
    "solutions": "Only email, sms, voice, messenger or whatsapp are valid channels",
    "description": "Request with a channel that is not supported",
    "date_created": "2020-07-21T20:15:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid channel type",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n\n## Description\nTwilio returns this error when a request includes an invalid channel type. This usually happens when rich content falls back to a channel that does not support the content type you sent.\n\n### Possible causes\n- You are sending rich content and the message falls back to a channel that does not support that content type.\n- Your template does not include a fallback content type that matches the destination channel. Twilio uses fallback content types so a single template can deliver rich content to one channel and plain text or media to another.\n\n### Possible solutions\n- Add a `twilio/text` fallback when the message can fall back to SMS. Twilio supports `twilio/text` as a fallback content type for mixed-channel messaging.\n- Add a `twilio/media` fallback when the message can fall back to MMS. Twilio supports `twilio/media` for MMS and other rich messaging channels.\n- When you use Content Templates, include fallback content types for each supported channel before you send the message. Twilio lets you specify fallback content types when rich content is not supported.\n\n#### Additional resources\n- [Channel Fallback](/docs/comms/channel-fallback)\n- [twilio/text](/docs/content/twilio-text)\n- [twilio/media](/docs/content/twilio-media)\n",
    "causes": "* You are sending rich content and the message falls back to a channel that does not support that content type.\n* Your template does not include a fallback content type that matches the destination channel. Twilio uses fallback content types so a single template can deliver rich content to one channel and plain text or media to another.",
    "solutions": "* Add a `twilio/text` fallback when the message can fall back to SMS. Twilio supports `twilio/text` as a fallback content type for mixed-channel messaging.\n* Add a `twilio/media` fallback when the message can fall back to MMS. Twilio supports `twilio/media` for MMS and other rich messaging channels.\n* When you use Content Templates, include fallback content types for each supported channel before you send the message. Twilio lets you specify fallback content types when rich content is not supported.",
    "description": "Twilio returns this error when a request includes an invalid channel type. This usually happens when rich content falls back to a channel that does not support the content type you sent.",
    "date_created": "2020-07-21T20:16:40Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 19024,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid channel input",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequest body is not valid\n\n### Possible causes\n\nRequired field is missing or field provided is invalid or duplicated\n\n### Possible solutions\n\nReview the request body and the API documentation for more information\n",
    "causes": "Required field is missing or field provided is invalid or duplicated",
    "solutions": "Review the request body and the API documentation for more information",
    "description": "Request body is not valid",
    "date_created": "2020-07-21T20:17:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19025,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel validation error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request body has invalid inputs\n\n### Possible causes\n\nInvalid length, email or phone in invalid format\n\n### Possible solutions\n\nReview the request body and the API documentation for more information\n",
    "causes": "Invalid length, email or phone in invalid format",
    "solutions": "Review the request body and the API documentation for more information",
    "description": "The request body has invalid inputs",
    "date_created": "2020-07-21T20:18:05Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19026,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum number of channels allowed reached",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nMaximum number of channels of the same type allowed reached\n\n### Possible causes\n\nAttempt to create more than 5 channels of the same type\n\n### Possible solutions\n\nOnly 5 channels of the same type are allowed\n",
    "causes": "Attempt to create more than 5 channels of the same type",
    "solutions": "Only 5 channels of the same type are allowed",
    "description": "Maximum number of channels of the same type allowed reached",
    "date_created": "2020-07-21T20:19:01Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19027,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Channel Description",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe channel description provided in the request is invalid\n\n### Possible causes\n\nChannel description is over 100 chars\n\n### Possible solutions\n\nChannel description must be under 100 chars\n",
    "causes": "Channel description is over 100 chars",
    "solutions": "Channel description must be under 100 chars",
    "description": "The channel description provided in the request is invalid",
    "date_created": "2020-07-21T20:20:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19028,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel value can not be updated",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nChannel value can not be updated\n\n### Possible causes\n\nThe channel value provided in the request is different from the existing one\n\n### Possible solutions\n\nRemove channel value from the request or Delete the existing channel and create a then new one with the new value\n",
    "causes": "The channel value provided in the request is different from the existing one",
    "solutions": "Remove channel value from the request or Delete the existing channel and create a then new one with the new value",
    "description": "Channel value can not be updated",
    "date_created": "2020-07-21T20:21:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19029,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "When updating a channel at least one field should be updated",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nNo channel updates provided in the request\n\n### Possible causes\n\nUser has not provided channel updates\n\n### Possible solutions\n\nWhen updating a channel at least one field should be updated\n",
    "causes": "User has not provided channel updates",
    "solutions": "When updating a channel at least one field should be updated",
    "description": "No channel updates provided in the request",
    "date_created": "2020-08-07T22:50:51Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19030,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid location type",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequest with an invalid location type\n\n### Possible causes\n\nLocation type other than: work, home, other\n\n### Possible solutions\n\nOnly use work, home, other as location type\n",
    "causes": "Location type other than: work, home, other",
    "solutions": "Only use work, home, other as location type",
    "description": "Request with an invalid location type",
    "date_created": "2020-07-21T20:23:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19031,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum number of locations allowed reached ",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nMaximum number of locations allowed reached\n\n### Possible causes\n\nAttempt to create more than 5 locations\n\n### Possible solutions\n\nRemove an existing location to add a new one\n",
    "causes": "Attempt to create more than 5 locations",
    "solutions": "Remove an existing location to add a new one",
    "description": "Maximum number of locations allowed reached",
    "date_created": "2020-07-21T20:23:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19032,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid location input",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequest body is not valid\n\n### Possible causes\n\nA Required field is missing or field is invalid or duplicated\n\n### Possible solutions\n\nReview the request body and the API documentation for more information\n",
    "causes": "A Required field is missing or field is invalid or duplicated",
    "solutions": "Review the request body and the API documentation for more information",
    "description": "Request body is not valid",
    "date_created": "2020-07-21T20:24:37Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19033,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Location validation error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request body has invalid inputs\n\n### Possible causes\n\nInvalid length, invalid data type\n\n### Possible solutions\n\nReview the request body and the API documentation for more information\n",
    "causes": "Invalid length, invalid data type",
    "solutions": "Review the request body and the API documentation for more information",
    "description": "The request body has invalid inputs",
    "date_created": "2020-07-21T20:25:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19034,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid country code",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nCountry code provided in the request is not valid\n\n### Possible causes\n\nCountry code is not in the ISO 3166-1 alpha-2 country code of the address format\n\n### Possible solutions\n\nUpdate the country code to match ISO 3166-1 alpha-2 country code of the address format\n",
    "causes": "Country code is not in the ISO 3166-1 alpha-2 country code of the address format",
    "solutions": "Update the country code to match ISO 3166-1 alpha-2 country code of the address format",
    "description": "Country code provided in the request is not valid",
    "date_created": "2020-07-21T20:26:00Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19035,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid page size, it must be between 1 and 25 if specified",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe page size provided in the request is not valid\n\n### Possible causes\n\nPage size specified greater than 25 or less than 1\n\n### Possible solutions\n\nPage size must be between 1 and 25\n",
    "causes": "Page size specified greater than 25 or less than 1",
    "solutions": "Page size must be between 1 and 25",
    "description": "The page size provided in the request is not valid",
    "date_created": "2020-07-21T20:26:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19036,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid page token",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe page token provided in the request is not valid\n\n### Possible causes\n\nPage token provided is not an integer\n\n### Possible solutions\n\nPage token must be an integer\n",
    "causes": "Page token provided is not an integer",
    "solutions": "Page token must be an integer",
    "description": "The page token provided in the request is not valid",
    "date_created": "2020-07-21T20:27:36Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19037,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "When updating a location at least one field should be updated",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nNo location updates provided in the request\n\n### Possible causes\n\nUser has not provided location updates\n\n### Possible solutions\n\nWhen updating a location at least one field should be updated\n",
    "causes": "User has not provided location updates",
    "solutions": "When updating a location at least one field should be updated",
    "description": "No location updates provided in the request",
    "date_created": "2020-08-07T22:52:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19038,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Page token must be bigger than or equal to 0",
    "secondary_message": null,
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\nGet chat messages PageToken is smaller than 0\n\n### Possible solutions\n\nMake sure PageToken query parameter is not smaller than 0\n",
    "causes": "Get chat messages PageToken is smaller than 0",
    "solutions": "Make sure PageToken query parameter is not smaller than 0",
    "description": "",
    "date_created": "2022-02-15T10:27:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19040,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Custom Field provided is not defined",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe custom field provided in the request does not exist\n\n### Possible causes\n\nRequest with a custom\\_field that is not defined\n\n### Possible solutions\n\nUse custom field definition API to define the custom field first\n",
    "causes": "Request with a custom\\_field that is not defined",
    "solutions": "Use custom field definition API to define the custom field first",
    "description": "The custom field provided in the request does not exist",
    "date_created": "2020-07-21T20:32:36Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19041,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid or missing Custom Field input",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequest body is not valid\n\n### Possible causes\n\nCustom field value is missing, Custom Field value is invalid and/or Custom Field is duplicated\n\n### Possible solutions\n\nReview the request body and the API documentation for more information\n",
    "causes": "Custom field value is missing, Custom Field value is invalid and/or Custom Field is duplicated",
    "solutions": "Review the request body and the API documentation for more information",
    "description": "Request body is not valid",
    "date_created": "2020-07-21T20:33:19Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19042,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Custom Field validation error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request body has invalid inputs\n\n### Possible causes\n\nInvalid length for custom field, data type mismatch and/or date in invalid format\n\n### Possible solutions\n\nReview the request body and the API documentation for more information\n",
    "causes": "Invalid length for custom field, data type mismatch and/or date in invalid format",
    "solutions": "Review the request body and the API documentation for more information",
    "description": "The request body has invalid inputs",
    "date_created": "2020-07-21T20:34:04Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19043,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Field definition name already exists",
    "secondary_message": null,
    "product": "Account, Sendgrid",
    "docs": "\n## Description\n\nThis error is returned when a request attempts to create or rename a custom field definition to a `name` that is already present for the account. Field definition names must be unique. Field definition `name` values are enforced as case-insensitively unique in the SendGrid Marketing Campaigns API, which manages custom field definitions.\n\n### Possible causes\n\n- The `name` supplied in `POST /v3/marketing/field_definitions` matches (case-insensitively) an existing custom field definition.\n- An update via `PATCH /v3/marketing/field_definitions/{custom_field_id}` attempts to change `name` to one that already exists.\n\n### Possible solutions\n\n- Choose a unique `name` value; uniqueness is case-insensitive, so avoid names that differ only by letter case.\n- List existing definitions first with `GET /v3/marketing/field_definitions` and verify that the desired `name` is not already present (including case-insensitive matches).\n- If you intended to modify an existing definition, update it using `PATCH /v3/marketing/field_definitions/{custom_field_id}` rather than creating a new one.\n- If you must replace an existing definition, remove it with `DELETE /v3/marketing/field_definitions/{custom_field_id}` before creating a new one (only custom fields can be deleted).\n\n#### Additional resources\n\n- [Create Custom Field Definition](/docs/sendgrid/api-reference/custom-fields/create-custom-field-definition)\n- [Get All Field Definitions](/docs/sendgrid/api-reference/custom-fields/get-all-field-definitions)\n- [Update Custom Field Definition](/docs/sendgrid/api-reference/custom-fields/update-custom-field-definition)\n",
    "causes": "* The `name` supplied in `POST /v3/marketing/field_definitions` matches (case-insensitively) an existing custom field definition.\n* An update via `PATCH /v3/marketing/field_definitions/{custom_field_id}` attempts to change `name` to one that already exists.",
    "solutions": "* Choose a unique `name` value; uniqueness is case-insensitive, so avoid names that differ only by letter case.\n* List existing definitions first with `GET /v3/marketing/field_definitions` and verify that the desired `name` is not already present (including case-insensitive matches).\n* If you intended to modify an existing definition, update it using `PATCH /v3/marketing/field_definitions/{custom_field_id}` rather than creating a new one.\n* If you must replace an existing definition, remove it with `DELETE /v3/marketing/field_definitions/{custom_field_id}` before creating a new one (only custom fields can be deleted).",
    "description": "This error is returned when a request attempts to create or rename a custom field definition to a `name` that is already present for the account. Field definition names must be unique. Field definition `name` values are enforced as case-insensitively unique in the SendGrid Marketing Campaigns API, which manages custom field definitions.",
    "date_created": "2020-07-21T20:35:12Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 19044,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Field definition name exceeded maximum length",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThe custom field in the request is more than 100 chars long\n\n### Possible causes\n\nRequest with a custom field name greater than 100 chars\n\n### Possible solutions\n\nUpdate custom field name to be 100 chars or less\n",
    "causes": "Request with a custom field name greater than 100 chars",
    "solutions": "Update custom field name to be 100 chars or less",
    "description": "The custom field in the request is more than 100 chars long",
    "date_created": "2020-07-21T20:35:50Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19045,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Field definition type is invalid; data types that are supported are text, date, and number",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThe custom field type provided in the request is not valid\n\n### Possible causes\n\nRequest with a custom field type other than Text, Number or Date\n\n### Possible solutions\n\nCustom field type can be only Text, Number or Date\n",
    "causes": "Request with a custom field type other than Text, Number or Date",
    "solutions": "Custom field type can be only Text, Number or Date",
    "description": "The custom field type provided in the request is not valid",
    "date_created": "2020-07-21T20:36:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19046,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Number of custom field definitions exceeded limit",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nMaximum number of custom field definition allowed is 2000\n\n### Possible causes\n\nAttempt to create more custom fields definitions than allowed\n\n### Possible solutions\n\nDelete an existing custom field before adding a new one\n",
    "causes": "Attempt to create more custom fields definitions than allowed",
    "solutions": "Delete an existing custom field before adding a new one",
    "description": "Maximum number of custom field definition allowed is 2000",
    "date_created": "2020-07-21T20:37:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19047,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Field definition name cannot be empty",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\nThis error occurs when a request attempts to create or update a custom field definition without providing a non-empty field name.\n\n### Possible causes\n- Attempt to create a custom field definition with an empty value for the field name.\n\n### Possible solutions\n- Update the request to include a valid, non-empty field name before submitting.\n\n#### Additional resources\n- [Error and Warning Dictionary](/docs/api/errors)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* Attempt to create a custom field definition with an empty value for the field name.",
    "solutions": "* Update the request to include a valid, non-empty field name before submitting.",
    "description": "This error occurs when a request attempts to create or update a custom field definition without providing a non-empty field name.",
    "date_created": "2020-08-17T18:23:43Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 19048,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Input request body is not properly json formatted",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nInput request body is not properly json formatted\n\n### Possible causes\n\nUnique in the request is missing or request contains invalid form data\n\n### Possible solutions\n\nProvide correct request with unique and form data\n",
    "causes": "Unique in the request is missing or request contains invalid form data",
    "solutions": "Provide correct request with unique and form data",
    "description": "Input request body is not properly json formatted",
    "date_created": "2020-08-17T18:30:02Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19049,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Custom field definition provided is not defined",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThe custom field definition provided in the request does not exist\n\n### Possible causes\n\nRequest with a custom field definition that is not defined\n\n### Possible solutions\n\nUse custom field definition API to define the custom field first\n",
    "causes": "Request with a custom field definition that is not defined",
    "solutions": "Use custom field definition API to define the custom field first",
    "description": "The custom field definition provided in the request does not exist",
    "date_created": "2020-08-11T18:00:39Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19050,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Server Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nWe're having trouble completing your request\n\n### Possible solutions\n\nReach Customer Support or Try again later\n",
    "causes": "We're having trouble completing your request",
    "solutions": "Reach Customer Support or Try again later",
    "description": "",
    "date_created": "2020-07-21T20:38:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19052,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid page size for custom field definition",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nInvalid page size for custom field definition\n\n### Possible causes\n\nInvalid value for page size in the request URL (not an integer; not within a valid range)\n\n### Possible solutions\n\nChange the value to a parsable integer or to be within the valid range of 1 to 2000\n",
    "causes": "Invalid value for page size in the request URL (not an integer; not within a valid range)",
    "solutions": "Change the value to a parsable integer or to be within the valid range of 1 to 2000",
    "description": "Invalid page size for custom field definition",
    "date_created": "2020-08-18T01:04:02Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19053,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Field definition name cannot be a duplicate of an existing Twilio-defined field",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nRequest with input field names using reserved words\n\n### Possible causes\n\nAttempt to create custom field definition using reserved words\n\n### Possible solutions\n\nUpdate input field name with unreserved words\n",
    "causes": "Attempt to create custom field definition using reserved words",
    "solutions": "Update input field name with unreserved words",
    "description": "Request with input field names using reserved words",
    "date_created": "2020-08-17T18:32:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19054,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Expected Unique form key in input request is missing",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nExpected Unique form key in input request is missing\n\n### Possible causes\n\nAttempt to create custom field definition without Unique form key\n\n### Possible solutions\n\nProvide Unique form key in input request\n",
    "causes": "Attempt to create custom field definition without Unique form key",
    "solutions": "Provide Unique form key in input request",
    "description": "Expected Unique form key in input request is missing",
    "date_created": "2020-08-17T18:35:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19055,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "When updating a channel, invalid JSON syntax or invalid field that cannot be updated by this endpoint",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nInvalid JSON or fields other than type, description and is\\_primary exist in update channel request\n\n### Possible causes\n\nUser provided an invalid JSON or trying to update fields other than type, description and is\\_primary of a channel\n\n### Possible solutions\n\nFix JSON input or change update channel request to update only type, description and is\\_primary\n",
    "causes": "User provided an invalid JSON or trying to update fields other than type, description and is\\_primary of a channel",
    "solutions": "Fix JSON input or change update channel request to update only type, description and is\\_primary",
    "description": "Invalid JSON or fields other than type, description and is\\_primary exist in update channel request",
    "date_created": "2020-08-07T22:53:01Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19056,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Input request content type is invalid",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThis error is returned when an API request's `Content-Type` header is not one of the formats Twilio APIs accept for requests, causing Twilio to reject the payload. Twilio's error entry lists this as \"Input request content type is invalid,\" and Twilio documents that API requests must use `application/x-www-form-urlencoded` or `multipart/form-data`.\n\n### Possible causes\n\n- The request was sent with `application/json` instead of `application/x-www-form-urlencoded` or `multipart/form-data` required for Twilio REST API requests. Some endpoints explicitly document `application/x-www-form-urlencoded` as the encoding type.\n- The body encoding does not match the declared `Content-Type` header (for example, JSON data while declaring `application/x-www-form-urlencoded`). Twilio guidance emphasizes that body content must align with the declared content type.\n- An endpoint that expects file uploads was called without providing the appropriate `Content-Type` and payload format (for example, media upload workflows that require setting `Content-Type` to the file's MIME type and sending the file content accordingly).\n\n### Possible solutions\n\n- Set the `Content-Type` header to an accepted type for Twilio API requests—`application/x-www-form-urlencoded` or `multipart/form-data`—and ensure the payload is encoded to match.\n- Check the specific endpoint's API reference for its required encoding and adjust your request accordingly (for example, some Messaging resources state \"Encoding type: application/x-www-form-urlencoded\").\n- For media or file-upload endpoints, set `Content-Type` to the correct MIME type and send the payload in the documented format (e.g., binary body when instructed).\n\n#### Additional resources\n\n- [Twilio API requests](/docs/usage/requests-to-twilio)\n- [Services resource](/docs/messaging/api/service-resource)\n- [Webhooks security](/docs/usage/webhooks/webhooks-security)\n",
    "causes": "* The request was sent with `application/json` instead of `application/x-www-form-urlencoded` or `multipart/form-data` required for Twilio REST API requests. Some endpoints explicitly document `application/x-www-form-urlencoded` as the encoding type.\n* The body encoding does not match the declared `Content-Type` header (for example, JSON data while declaring `application/x-www-form-urlencoded`). Twilio guidance emphasizes that body content must align with the declared content type.\n* An endpoint that expects file uploads was called without providing the appropriate `Content-Type` and payload format (for example, media upload workflows that require setting `Content-Type` to the file's MIME type and sending the file content accordingly).",
    "solutions": "* Set the `Content-Type` header to an accepted type for Twilio API requests—`application/x-www-form-urlencoded` or `multipart/form-data`—and ensure the payload is encoded to match.\n* Check the specific endpoint's API reference for its required encoding and adjust your request accordingly (for example, some Messaging resources state \"Encoding type: application/x-www-form-urlencoded\").\n* For media or file-upload endpoints, set `Content-Type` to the correct MIME type and send the payload in the documented format (e.g., binary body when instructed).",
    "description": "This error is returned when an API request's `Content-Type` header is not one of the formats Twilio APIs accept for requests, causing Twilio to reject the payload. Twilio's error entry lists this as \"Input request content type is invalid,\" and Twilio documents that API requests must use `application/x-www-form-urlencoded` or `multipart/form-data`.",
    "date_created": "2020-08-17T18:37:05Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 19057,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Server unavailable or busy",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\nThis error indicates Twilio's API endpoint was temporarily unavailable or too busy to process the request. It commonly corresponds to transient server-side conditions such as HTTP `503 Service unavailable` or an internal `500 Server error`.\n\n### Possible causes\n- A transient outage or degradation causing Twilio to return HTTP `503 Service unavailable` for your API request.\n- An internal Twilio error resulting in an HTTP `500 Server error`.\n\n### Possible solutions\n- Retry the request with exponential backoff. Transient server or connectivity issues often resolve on subsequent attempts.\n- If you expect spikes or sustained high usage, slow down request rates and monitor for ongoing incidents. We recommend adjusting traffic and following status guidance.\n- Capture and log the `Twilio-Request-Id` response header for each attempt. Include it when contacting Support to expedite investigation.\n- Optionally specify a Twilio Edge Location for API requests to keep ingress close to your infrastructure, which can improve resilience and latency.\n\n#### Additional resources\n- [Twilio API responses](/docs/usage/twilios-response)\n- [API best practices](/docs/usage/rest-api-best-practices)\n- [Edge Locations](/docs/global-infrastructure/edge-locations)\n",
    "causes": "* A transient outage or degradation causing Twilio to return HTTP `503 Service unavailable` for your API request.\n* An internal Twilio error resulting in an HTTP `500 Server error`.",
    "solutions": "* Retry the request with exponential backoff. Transient server or connectivity issues often resolve on subsequent attempts.\n* If you expect spikes or sustained high usage, slow down request rates and monitor for ongoing incidents. We recommend adjusting traffic and following status guidance.\n* Capture and log the `Twilio-Request-Id` response header for each attempt. Include it when contacting Support to expedite investigation.\n* Optionally specify a Twilio Edge Location for API requests to keep ingress close to your infrastructure, which can improve resilience and latency.",
    "description": "This error indicates Twilio's API endpoint was temporarily unavailable or too busy to process the request. It commonly corresponds to transient server-side conditions such as HTTP `503 Service unavailable` or an internal `500 Server error`.",
    "date_created": "2020-09-23T19:22:25Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 19201,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "No parameters provided",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nExpected a minimum of 1 optional parameter\n\n### Possible causes\n\nThe request expected at least 1 optional parameter, but none were provided\n\n### Possible solutions\n\nAdd a parameter or confirm that the existing parameters are not misspelled\n",
    "causes": "The request expected at least 1 optional parameter, but none were provided",
    "solutions": "Add a parameter or confirm that the existing parameters are not misspelled",
    "description": "Expected a minimum of 1 optional parameter",
    "date_created": "2024-09-03T13:01:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19202,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid request body",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nOne or more required fields (fieldname1, fieldname2) are missing, or the request body format is incorrect\n\n### Possible causes\n\nRequest body is not formatted correctly according to the API specifications\n\n### Possible solutions\n\nVerify that the request body format adheres to the API specifications\n",
    "causes": "Request body is not formatted correctly according to the API specifications",
    "solutions": "Verify that the request body format adheres to the API specifications",
    "description": "One or more required fields (fieldname1, fieldname2) are missing, or the request body format is incorrect",
    "date_created": "2024-09-03T13:02:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 19203,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid page size",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nSpecified page size is out of allowed range or is not a number\n\n### Possible causes\n\nSize specified greater than 1000 or less than 1, non-numeric\n\n### Possible solutions\n\nSpecify a numeric page size between 1 and 1000\n",
    "causes": "Size specified greater than 1000 or less than 1, non-numeric",
    "solutions": "Specify a numeric page size between 1 and 1000",
    "description": "Specified page size is out of allowed range or is not a number",
    "date_created": "2024-09-03T13:03:45Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20001,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Unknown parameters",
    "secondary_message": "One or more parameters you sent the REST API were not recognized and were ignored. No harm done, but make sure that you didn't mis-type the parameter you really wanted to send.",
    "product": null,
    "docs": "\n## Description\n\nOne or more parameters you sent the REST API were not recognized and were ignored. No harm done, but make sure that you didn't mis-type the parameter you really wanted to send.\n",
    "causes": null,
    "solutions": null,
    "description": "One or more parameters you sent the REST API were not recognized and were ignored. No harm done, but make sure that you didn't mis-type the parameter you really wanted to send.",
    "date_created": "2016-03-31T17:13:50Z",
    "last_updated": "2020-08-04T10:00:27.463Z"
  },
  {
    "code": 20002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid FriendlyName",
    "secondary_message": "Many Twilio resources take descriptive names to help you remember what they are. However, such \"FriendlyNames\" must be between 1 and 64 characters long.",
    "product": null,
    "docs": "\n## Description\n\nMany Twilio resources take descriptive names to help you remember what they are. However, such \"FriendlyNames\" must be between 1 and 64 characters long.\n",
    "causes": null,
    "solutions": null,
    "description": "Many Twilio resources take descriptive names to help you remember what they are. However, such \"FriendlyNames\" must be between 1 and 64 characters long.",
    "date_created": "2016-03-31T17:13:51Z",
    "last_updated": "2020-08-04T10:00:27.445Z"
  },
  {
    "code": 20003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Permission Denied",
    "secondary_message": "You lack permission to the resource and method you requested.",
    "product": null,
    "docs": "\n## Description\n\n#### Authenticating requests to the Twilio API\n\nAll requests to sensitive areas of the Twilio API must use [HTTP Basic Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication). Authenticate using your Account SID as the username, and your Auth Token as the password. Both can be found in the [Twilio Console](/console/account/settings).\n\nYou can also generate revocable [API Keys](/docs/iam/api-keys/key-resource-v2010) to authenticate.\n\nYou can also use [OAuth Access token](/docs/iam/oauth-apps/overview) to authenticate.\n\nYou may want to consider using a [Twilio helper library](/docs/libraries) (available in PHP, .NET, Java, Ruby, Python and Node.js) as they will take care of authentication for you.\n\n### Possible causes\n\n- Using the wrong combination of Account SID and Auth Token\n- Using Test Credentials to access your Live Account\n- Using subaccount credentials to access master account\n- Previous Auth Token has been deleted\n- Attempted API Key has been deleted\n- Account is suspended or closed\n- Extra characters or spaces in the supplied credentials\n- Web proxy is stripping out credentials before forwarding to Twilio\n- Using JWT with Auth Token rather than API Key\n- Attempted API Key is for the incorrect Twilio Region\n- OAuth access token is incorrect or expired\n\n### Possible solutions\n\n- Verify the Account SID and Auth Token are correct\n- Verify the correct Account is being accessed\n- Ensure the Account is active, not suspended or closed\n- Ensure no extra characters or spaces are being included\n- Ensure JWT is only used with API Key\n- Ensure the API Key's Twilio Region matches the request's specified Twilio Region\n- Generate new OAuth access token and try again\n",
    "causes": "* Using the wrong combination of Account SID and Auth Token\n* Using Test Credentials to access your Live Account\n* Using subaccount credentials to access master account\n* Previous Auth Token has been deleted\n* Attempted API Key has been deleted\n* Account is suspended or closed\n* Extra characters or spaces in the supplied credentials\n* Web proxy is stripping out credentials before forwarding to Twilio\n* Using JWT with Auth Token rather than API Key\n* Attempted API Key is for the incorrect Twilio Region\n* OAuth access token is incorrect or expired",
    "solutions": "* Verify the Account SID and Auth Token are correct\n* Verify the correct Account is being accessed\n* Ensure the Account is active, not suspended or closed\n* Ensure no extra characters or spaces are being included\n* Ensure JWT is only used with API Key\n* Ensure the API Key's Twilio Region matches the request's specified Twilio Region\n* Generate new OAuth access token and try again",
    "description": "",
    "date_created": "2016-03-31T17:13:51Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Method not allowed",
    "secondary_message": "The resource you accessed is valid, but the HTTP method you attempted to use is not supported for the resource. For example, you cannot DELETE your own account.",
    "product": null,
    "docs": "\n## Description\n\nThe resource you accessed is valid, but the HTTP method you attempted to use is not supported for the resource. For example, you cannot `DELETE` your own account.\n",
    "causes": null,
    "solutions": null,
    "description": "The resource you accessed is valid, but the HTTP method you attempted to use is not supported for the resource. For example, you cannot `DELETE` your own account.",
    "date_created": "2016-03-31T17:13:51Z",
    "last_updated": "2020-08-04T10:00:27.409Z"
  },
  {
    "code": 20005,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Account not active",
    "secondary_message": "Your Twilio account is not active, potentially because you ran out of funds, or you have not yet activated your free trial.",
    "product": null,
    "docs": "\n## Description\n\nYour Twilio account is not active, potentially because you ran out of funds, or you have not yet activated your free trial.\n",
    "causes": null,
    "solutions": null,
    "description": "Your Twilio account is not active, potentially because you ran out of funds, or you have not yet activated your free trial.",
    "date_created": "2016-03-31T17:13:52Z",
    "last_updated": "2020-08-04T10:00:27.391Z"
  },
  {
    "code": 20006,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Access Denied",
    "secondary_message": "You don't have sufficient privileges to access the requested resource. The user on whose behalf you are attempting to access the API may have revoked your privileges, or you may need to request greater privileges from the user.",
    "product": null,
    "docs": "\n## Description\n\nYou don't have sufficient privileges to access the requested resource. The user on whose behalf you are attempting to access the API may have revoked your privileges, or you may need to request greater privileges from the user.\n",
    "causes": null,
    "solutions": null,
    "description": "You don't have sufficient privileges to access the requested resource. The user on whose behalf you are attempting to access the API may have revoked your privileges, or you may need to request greater privileges from the user.",
    "date_created": "2016-03-31T17:14:14Z",
    "last_updated": "2020-08-04T10:00:25.964Z"
  },
  {
    "code": 20007,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Page size too large",
    "secondary_message": "You've requested a page size that is too large. The maximum page size is 1000.",
    "product": null,
    "docs": "\n## Description\n\nYou've requested a page size that is too large. The maximum page size is 1000.\n\n### Possible solutions\n\n- Decrease the page size in your request.\n",
    "causes": null,
    "solutions": "* Decrease the page size in your request.",
    "description": "You've requested a page size that is too large. The maximum page size is 1000.",
    "date_created": "2016-03-31T17:14:30Z",
    "last_updated": "2020-08-04T10:00:24.826Z"
  },
  {
    "code": 20008,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Test Credentials",
    "secondary_message": "Currently only a handful of API resources can be tested with your test credentials. Trying to authenticate with your test credentials to other resources will return a Forbidden error message. For a full list of supported resources, please see our [Test Credentials](/docs/api/rest/test-credentials) page.",
    "product": null,
    "docs": "\n## Description\n\nCurrently only a handful of API resources can be tested with your test credentials. Trying to authenticate with your test credentials to other resources will return a Forbidden error message. For a full list of supported resources, please see our [Test Credentials](/docs/iam/test-credentials) page.\n",
    "causes": null,
    "solutions": null,
    "description": "Currently only a handful of API resources can be tested with your test credentials. Trying to authenticate with your test credentials to other resources will return a Forbidden error message. For a full list of supported resources, please see our [Test Credentials](/docs/iam/test-credentials) page.",
    "date_created": "2016-03-31T17:14:14Z",
    "last_updated": "2020-08-04T10:00:25.906Z"
  },
  {
    "code": 20009,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Cannot delete this resource before it is complete",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYou attempted to delete a call or message resource before it was completed. If you are attempting to delete a call, wait until the call is completed and try your request again. If you are attempting to delete a message, wait several minutes and try again.\n\nIf you're seeing a message in the logs that you have already deleted, please allow up to 14 days for our systems to completely remove this record before reaching out to support.\n\n### Possible causes\n\n- You requested the call or message be deleted before all of Twilio's systems finished processing it.\n- In rare cases, a message or call record may take up to 14 days to be finalized and able to be deleted.\n\n### Possible solutions\n\n- If you are attempting to delete a call, verify that the call is not still in-progress.\n- If you are attempting to delete a call or message shortly after sending or receiving it, please wait at least 1 minute to make your `DELETE` request. If you receive this error after waiting 1 minute, wait several minutes and retry deletion again.\n- If you encounter this issue frequently even when waiting several minutes before deleting a message or a completed call, please [contact Twilio support](https://www.twilio.com/console/support/tickets/create) with examples of affected Call or Message SIDs.\n- For the highest level of privacy for Twilio SMS messages, apply for [message redaction](https://ahoy.twilio.com/message-redaction) which can automatically redact message bodies or phone numbers immediately after a message is sent or received.\n",
    "causes": "* You requested the call or message be deleted before all of Twilio's systems finished processing it.\n* In rare cases, a message or call record may take up to 14 days to be finalized and able to be deleted.",
    "solutions": "* If you are attempting to delete a call, verify that the call is not still in-progress.\n* If you are attempting to delete a call or message shortly after sending or receiving it, please wait at least 1 minute to make your `DELETE` request. If you receive this error after waiting 1 minute, wait several minutes and retry deletion again.\n* If you encounter this issue frequently even when waiting several minutes before deleting a message or a completed call, please [contact Twilio support](https://www.twilio.com/console/support/tickets/create) with examples of affected Call or Message SIDs.\n* For the highest level of privacy for Twilio SMS messages, apply for [message redaction](https://ahoy.twilio.com/message-redaction) which can automatically redact message bodies or phone numbers immediately after a message is sent or received.",
    "description": "You attempted to delete a call or message resource before it was completed. If you are attempting to delete a call, wait until the call is completed and try your request again. If you are attempting to delete a message, wait several minutes and try again. If you're seeing a message in the logs that you have already deleted, please allow up to 14 days for our systems to completely remove this record before reaching out to support.",
    "date_created": "2017-03-03T21:14:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Action disabled for account",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe action you attempted to perform has been disabled for your account. Please contact Customer Support for assistance.\n",
    "causes": null,
    "solutions": null,
    "description": "The action you attempted to perform has been disabled for your account. Please contact Customer Support for assistance.",
    "date_created": "2017-03-03T21:15:29Z",
    "last_updated": "2020-08-04T10:00:20.199Z"
  },
  {
    "code": 20011,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid TLS version",
    "secondary_message": "Service requires TLSv1.2",
    "product": null,
    "docs": "\n## Description\n\n### Invalid TLS version\n\nThe request was rejected because it was not correctly configured to use TLSv1.2. All new accounts are [required to use TLSv1.2 with supported ciphers suites](https://support.twilio.com/hc/en-us/articles/360007724794).\n\n### Possible solutions\n\n- Reconfigure request to use a supported cipher suite for TLSv1.2\n- Review these [tips for upgrading your environment to TLSv1.2](https://support.twilio.com/hc/en-us/articles/360006751753)\n",
    "causes": null,
    "solutions": "* Reconfigure request to use a supported cipher suite for TLSv1.2\n* Review these [tips for upgrading your environment to TLSv1.2](https://support.twilio.com/hc/en-us/articles/360006751753)",
    "description": "",
    "date_created": "2019-01-30T22:44:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 20012,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid TLSv1.2 Cipher Suite",
    "secondary_message": "Request is not configured with a PCI compliant cipher suite",
    "product": null,
    "docs": "\n## Description\n\nThe request was rejected because it was not correctly configured to use TLSv1.2. All new accounts are [required to use TLSv1.2 with supported ciphers suites](https://support.twilio.com/hc/en-us/articles/360007724794).\n\n### Possible solutions\n\n- Reconfigure request to use a supported cipher suite for TLSv1.2\n- Review these [tips for upgrading your environment to TLSv1.2](https://support.twilio.com/hc/en-us/articles/360006751753)\n\n#### Supported Cipher Suites:\n\n- TLS\\_ECDHE\\_RSA\\_WITH\\_AES\\_128\\_GCM\\_SHA256 (ecdh\\_x25519) - A\n- TLS\\_ECDHE\\_RSA\\_WITH\\_AES\\_128\\_CBC\\_SHA256 (ecdh\\_x25519) - A\n- TLS\\_ECDHE\\_RSA\\_WITH\\_AES\\_128\\_CBC\\_SHA (ecdh\\_x25519) - A\n- TLS\\_ECDHE\\_RSA\\_WITH\\_AES\\_256\\_GCM\\_SHA384 (ecdh\\_x25519) - A\n- TLS\\_ECDHE\\_RSA\\_WITH\\_AES\\_256\\_CBC\\_SHA384 (ecdh\\_x25519) - A\n- TLS\\_ECDHE\\_RSA\\_WITH\\_AES\\_256\\_CBC\\_SHA (ecdh\\_x25519) - A\n- TLS\\_RSA\\_WITH\\_AES\\_128\\_GCM\\_SHA256 (rsa 2048) - A\n- TLS\\_RSA\\_WITH\\_AES\\_128\\_CBC\\_SHA256 (rsa 2048) - A\n- TLS\\_RSA\\_WITH\\_AES\\_128\\_CBC\\_SHA (rsa 2048) - A\n- TLS\\_RSA\\_WITH\\_AES\\_256\\_GCM\\_SHA384 (rsa 2048) - A\n- TLS\\_RSA\\_WITH\\_AES\\_256\\_CBC\\_SHA256 (rsa 2048) - A\n- TLS\\_RSA\\_WITH\\_AES\\_256\\_CBC\\_SHA (rsa 2048) - A\n- TLS\\_RSA\\_WITH\\_3DES\\_EDE\\_CBC\\_SHA (rsa 2048) - C\n\n### Possible causes\n\nSupported Cipher Suites list is not reflecting the reality.\n\n### Possible solutions\n\nChanged with the real list which is checked\n",
    "causes": "Supported Cipher Suites list is not reflecting the reality.",
    "solutions": "* Reconfigure request to use a supported cipher suite for TLSv1.2\n* Review these [tips for upgrading your environment to TLSv1.2](https://support.twilio.com/hc/en-us/articles/360006751753)",
    "description": "The request was rejected because it was not correctly configured to use TLSv1.2. All new accounts are [required to use TLSv1.2 with supported ciphers suites](https://support.twilio.com/hc/en-us/articles/360007724794).",
    "date_created": "2019-01-30T22:43:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 20020,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "No update/state change is observed for the data entered",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nNo update/state change is observed for the data entered\n\n### Possible causes\n\n- The data already exist in T-Mobile SDG Service Provisioning API\n\n### Possible solutions\n\n- If data is needed to be updated in T-Mobile SDG Service Provisioning API the request must have updated fields\n",
    "causes": "* The data already exist in T-Mobile SDG Service Provisioning API",
    "solutions": "* If data is needed to be updated in T-Mobile SDG Service Provisioning API the request must have updated fields",
    "description": "No update/state change is observed for the data entered",
    "date_created": "2020-10-13T21:53:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone number rejected by T-Mobile SDG Service Provisioning API",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nException received while creating application address in SDG Service Provisioning API: Invalid short code And enum server status is: FAILURE\n\n### Possible causes\n\n- The phone number was rejected by T-Mobile SDG Service Provisioning API\n\n### Possible solutions\n\n- Check the phone number\n",
    "causes": "* The phone number was rejected by T-Mobile SDG Service Provisioning API",
    "solutions": "* Check the phone number",
    "description": "Exception received while creating application address in SDG Service Provisioning API: Invalid short code And enum server status is: FAILURE",
    "date_created": "2020-10-13T22:02:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone number is not correct: it cannot be null or have non-decimal symbols",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nPhone number is not correct: it cannot be null and have non-decimal symbols\n\n### Possible causes\n\n- The phone number entered is not correct: either it is null or it has non-decimal symbols.\n\n### Possible solutions\n\n- Check the phone number\n",
    "causes": "* The phone number entered is not correct: either it is null or it has non-decimal symbols.",
    "solutions": "* Check the phone number",
    "description": "Phone number is not correct: it cannot be null and have non-decimal symbols",
    "date_created": "2020-10-12T22:15:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20101,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Access Token",
    "secondary_message": null,
    "product": "Account, Iam, Programmable Voice, Programmable Video, Connect, Sync",
    "docs": "\n## Description\nThe Access Token provided to the Twilio API was invalid.\n\nTwilio Access Tokens are short-lived `JWT` credentials used to authenticate client-side SDKs for Voice, Conversations, Sync, and Video, with a maximum configurable lifetime of up to 24 hours.\n\n### Possible causes\n- The value supplied is not a valid Twilio Access Token (for example, it is not a `JWT` with the required header and payload structure expected by Twilio Access Tokens).\n\n### Possible solutions\n- Regenerate a fresh Access Token on your server using your Account SID and an API Key/Secret, following the Access Token creation guide.\n- Ensure the token header contains `typ`=`\"JWT\"`, `alg`=`\"HS256\"`, and `cty`=`\"twilio-fpa;v=1\"`.\n- Verify the payload fields: `iss` must be the API Key SID used to sign the token and `sub` must be the Twilio Account SID the token is scoped to; include standard claims like `jti`, `iat`, and set `exp` within the allowed window.\n- Keep tokens short-lived (maximum 24 hours) and generate them per-session as recommended.\n- Include the product-specific grants required by your SDK. For example, Video requires an `identity` grant and a `VideoGrant`.\n- Use the Twilio Console Debugger and Error Logs to inspect failing requests and review error details during troubleshooting.\n\n#### Additional resources\n- [Access Tokens](/docs/iam/access-tokens)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n",
    "causes": "* The value supplied is not a valid Twilio Access Token (for example, it is not a `JWT` with the required header and payload structure expected by Twilio Access Tokens).",
    "solutions": "* Regenerate a fresh Access Token on your server using your Account SID and an API Key/Secret, following the Access Token creation guide.\n* Ensure the token header contains `typ`=`\"JWT\"`, `alg`=`\"HS256\"`, and `cty`=`\"twilio-fpa;v=1\"`.\n* Verify the payload fields: `iss` must be the API Key SID used to sign the token and `sub` must be the Twilio Account SID the token is scoped to; include standard claims like `jti`, `iat`, and set `exp` within the allowed window.\n* Keep tokens short-lived (maximum 24 hours) and generate them per-session as recommended.\n* Include the product-specific grants required by your SDK. For example, Video requires an `identity` grant and a `VideoGrant`.\n* Use the Twilio Console Debugger and Error Logs to inspect failing requests and review error details during troubleshooting.",
    "description": "The Access Token provided to the Twilio API was invalid. Twilio Access Tokens are short-lived `JWT` credentials used to authenticate client-side SDKs for Voice, Conversations, Sync, and Video, with a maximum configurable lifetime of up to 24 hours.",
    "date_created": "2016-04-01T06:43:22Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20102,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Access Token header",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\nThis error occurs when the header of the Access Token sent to a Twilio API does not meet Twilio's expected format/values for a JWT header.\n\nTwilio Access Tokens are JWTs whose header must include the fields `typ`, `alg`, and `cty` with specific required values. If these are missing or incorrect, the token will be rejected.\n\n### Possible causes\n- The Access Token header does not contain the required `typ` field with value `JWT`.\n- The Access Token header uses an unsupported signing algorithm (e.g., anything other than `HS256`) in the `alg` field.\n- The Access Token header omits the `cty` field or sets it to a value other than `twilio-fpa;v=1`.\n\n### Possible solutions\n- Regenerate the Access Token using a Twilio SDK `AccessToken` helper to ensure the header is formed correctly, then serialize with `toJwt()`.\n- Verify the header fields and values before issuing tokens:\n  - Set `typ` to `JWT`.\n  - Set `alg` to `HS256`.\n  - Set `cty` to `twilio-fpa;v=1`.\n\n#### Additional resources\n- [Access Tokens](/docs/iam/access-tokens)\n- [Issuing Sync Tokens](/docs/sync/identity-and-access-tokens)\n- [Generate Twilio Access Tokens in Python](https://www.twilio.com/en-us/blog/twilio-access-tokens-python)\n",
    "causes": "* The Access Token header does not contain the required `typ` field with value `JWT`.\n* The Access Token header uses an unsupported signing algorithm (e.g., anything other than `HS256`) in the `alg` field.\n* The Access Token header omits the `cty` field or sets it to a value other than `twilio-fpa;v=1`.",
    "solutions": "* Regenerate the Access Token using a Twilio SDK `AccessToken` helper to ensure the header is formed correctly, then serialize with `toJwt()`.\n* Verify the header fields and values before issuing tokens:\n  * Set `typ` to `JWT`.\n  * Set `alg` to `HS256`.\n  * Set `cty` to `twilio-fpa;v=1`.",
    "description": "This error occurs when the header of the Access Token sent to a Twilio API does not meet Twilio's expected format/values for a JWT header. Twilio Access Tokens are JWTs whose header must include the fields `typ`, `alg`, and `cty` with specific required values. If these are missing or incorrect, the token will be rejected.",
    "date_created": "2016-04-01T06:49:49Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20103,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Access Token issuer/subject",
    "secondary_message": "Invalid Access Token issuer or subject",
    "product": "Account",
    "docs": "\n## Description\n\nThe issuer or subject of the Access Token provided to the Twilio API was invalid.\n\n**Issuer:** The [API Key](/docs/iam/api-keys/key-resource-v2010) used to sign the the token.\n\n**Subject:** The Twilio Account SID from your [Live Credentials](/console/account/settings).\n\n### Possible causes\n\n- Account is inactive or suspended.\n- Account SID is incorrect.\n- API Key is incorrect or has been deleted.\n\n### Possible solutions\n\n- Ensure the account is active and there are enough funds available.\n- Ensure the Account SID is correct and is from your Live Credentials.\n- Make sure that the API Key used to sign the request is correct and associated with the supplied Account SID.\n\nTo check whether the Access Token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io/).\n\nAccess Tokens are used by multiple Twilio SDKs, including Programmable Voice, Programmable Video, and Programmable Chat. For the details of Twilio's specific Access Token implementation and the requirements of the issuer and subject fields, see [the documentation](/docs/iam/access-tokens).\n",
    "causes": "* Account is inactive or suspended.\n* Account SID is incorrect.\n* API Key is incorrect or has been deleted.",
    "solutions": "* Ensure the account is active and there are enough funds available.\n* Ensure the Account SID is correct and is from your Live Credentials.\n* Make sure that the API Key used to sign the request is correct and associated with the supplied Account SID. To check whether the Access Token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io/). Access Tokens are used by multiple Twilio SDKs, including Programmable Voice, Programmable Video, and Programmable Chat. For the details of Twilio's specific Access Token implementation and the requirements of the issuer and subject fields, see [the documentation](/docs/iam/access-tokens).",
    "description": "The issuer or subject of the Access Token provided to the Twilio API was invalid. **Issuer:** The [API Key](/docs/iam/api-keys/key-resource-v2010) used to sign the the token. **Subject:** The Twilio Account SID from your [Live Credentials](/console/account/settings).",
    "date_created": "2016-04-01T06:51:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20104,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Access Token expired or expiration date invalid",
    "secondary_message": null,
    "product": "Account, Iam",
    "docs": "\n## Description\n\nThis warning occurs when the Access Token sent to a Twilio API is no longer valid because its `exp` claim is in the past, the expiration time in the token is invalid, or the expiration was set beyond the maximum allowed lifetime. Access Token lifetimes are configurable up to 24 hours, and tokens should be as short-lived as feasible for your application. You can also validate token structure with standard JWT tools.\n\nAccess Tokens are used by multiple Twilio client SDKs, including Voice, Conversations, Sync, and Video.\n\n### Possible causes\n\n- The token's `exp` claim indicates a time that has already passed, so the Access Token has expired.\n- The expiration time in the token is invalid (for example, not a valid value), causing the token to be rejected.\n- The expiration time was set too far in the future, exceeding the maximum allowed lifetime for Access Tokens (up to 24 hours).\n\n### Possible solutions\n\n- Regenerate the Access Token with an appropriate `ttl` that does not exceed 24 hours, following the guidance to keep tokens as short-lived as feasible.\n- Implement client-side handling to refresh Access Tokens before they expire using the SDKs' token update/expiration mechanisms.\n- Verify the token is well-formed and that time-based claims (such as `exp`) are set correctly according to JWT/Access Token requirements before sending requests.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [Voice SDK Error Codes](/docs/voice/sdks/error-codes)\n- [Best Practices for Building with Sync SDKs](/docs/sync/sdks-best-practices)\n",
    "causes": "* The token's `exp` claim indicates a time that has already passed, so the Access Token has expired.\n* The expiration time in the token is invalid (for example, not a valid value), causing the token to be rejected.\n* The expiration time was set too far in the future, exceeding the maximum allowed lifetime for Access Tokens (up to 24 hours).",
    "solutions": "* Regenerate the Access Token with an appropriate `ttl` that does not exceed 24 hours, following the guidance to keep tokens as short-lived as feasible.\n* Implement client-side handling to refresh Access Tokens before they expire using the SDKs' token update/expiration mechanisms.\n* Verify the token is well-formed and that time-based claims (such as `exp`) are set correctly according to JWT/Access Token requirements before sending requests.",
    "description": "This warning occurs when the Access Token sent to a Twilio API is no longer valid because its `exp` claim is in the past, the expiration time in the token is invalid, or the expiration was set beyond the maximum allowed lifetime. Access Token lifetimes are configurable up to 24 hours, and tokens should be as short-lived as feasible for your application. You can also validate token structure with standard JWT tools. Access Tokens are used by multiple Twilio client SDKs, including Voice, Conversations, Sync, and Video.",
    "date_created": "2016-04-01T06:53:53Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20105,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Access Token not yet valid",
    "secondary_message": null,
    "product": "Account, Programmable Video",
    "docs": "\n## Description\n\nThis error indicates that the Access Token presented to Twilio is not valid yet. Twilio Access Tokens are JSON Web Tokens that can include an optional `nbf` claim which defines the earliest time the token is accepted; if `nbf` is in the future relative to the validating system, the request will fail with this error.\n\n### Possible causes\n\n- The token's `nbf` (not-before) claim is set to a future timestamp, so the token is not yet accepted for use.\n- Clock drift or incorrect system time on the machine generating or validating the token causes the current time to fall before the token's validity start.\n- In Programmable Video apps, attempting to connect with a token before it becomes valid triggers an SDK error corresponding to this code.\n\n### Possible solutions\n\n- Ensure the system time on token-issuing and validating hosts is correct; resolve any clock drift so the current time is on or after the token's intended start.\n- When creating Access Tokens, avoid setting `nbf` in the future unless required; if used, set `nbf` to the current epoch time so the token is immediately valid, and ensure `iat` reflects the actual issuance time.\n- Reissue the token closer to the time of use (with an appropriate `ttl`) so it becomes valid when needed; Access Tokens are short-lived (maximum 24 hours).\n- For Video SDK apps, wait until the token becomes valid or obtain a fresh token before calling `connect` to a Room to avoid the corresponding SDK error.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [User Identity & Access Tokens for Programmable Video](/docs/video/tutorials/user-identity-access-tokens)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* The token's `nbf` (not-before) claim is set to a future timestamp, so the token is not yet accepted for use.\n* Clock drift or incorrect system time on the machine generating or validating the token causes the current time to fall before the token's validity start.\n* In Programmable Video apps, attempting to connect with a token before it becomes valid triggers an SDK error corresponding to this code.",
    "solutions": "* Ensure the system time on token-issuing and validating hosts is correct; resolve any clock drift so the current time is on or after the token's intended start.\n* When creating Access Tokens, avoid setting `nbf` in the future unless required; if used, set `nbf` to the current epoch time so the token is immediately valid, and ensure `iat` reflects the actual issuance time.\n* Reissue the token closer to the time of use (with an appropriate `ttl`) so it becomes valid when needed; Access Tokens are short-lived (maximum 24 hours).\n* For Video SDK apps, wait until the token becomes valid or obtain a fresh token before calling `connect` to a Room to avoid the corresponding SDK error.",
    "description": "This error indicates that the Access Token presented to Twilio is not valid yet. Twilio Access Tokens are JSON Web Tokens that can include an optional `nbf` claim which defines the earliest time the token is accepted; if `nbf` is in the future relative to the validating system, the request will fail with this error.",
    "date_created": "2016-04-01T06:57:16Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20106,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Access Token grants",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nTwilio accepted the Access Token's signature and issuer, but rejected the token because the `grants` claim was invalid, could not be parsed, or did not permit the requested operation.\n\n### Possible causes\n\n- The token's `grants` claim did not include the product-specific grant required for the SDK or API being used (for example, Video requires a mandatory `video` grant).\n- The `grants` object was malformed or used unrecognized fields, so Twilio could not parse it.\n- A required field inside a product grant was missing or incorrect (for example, `SyncGrant` requires a `serviceSid`).\n- A token generated for one product type was attempted in a different context (for example, a Verify Push Access Token used with client-side SDKs), which is not supported.\n\n### Possible solutions\n\n- Regenerate the Access Token server-side and ensure the `grants` claim includes at least one correct, product-specific grant for the capability you need; use Twilio server-side SDK helpers to construct grants and tokens.\n- For Video, include a `VideoGrant`; to limit access to a single Room, set the `room` value within that grant (for example, using `AccessToken.VideoGrant`).\n- For Sync, include a `SyncGrant` and provide the required `serviceSid`.\n- If you're using Verify Push, create a product-specific Access Token using the Verify Access Token resource instead of reusing tokens from other products.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [User Identity & Access Tokens for Programmable Video](/docs/video/tutorials/user-identity-access-tokens)\n- [Issuing Sync Tokens](/docs/sync/identity-and-access-tokens)\n",
    "causes": "* The token's `grants` claim did not include the product-specific grant required for the SDK or API being used (for example, Video requires a mandatory `video` grant).\n* The `grants` object was malformed or used unrecognized fields, so Twilio could not parse it.\n* A required field inside a product grant was missing or incorrect (for example, `SyncGrant` requires a `serviceSid`).\n* A token generated for one product type was attempted in a different context (for example, a Verify Push Access Token used with client-side SDKs), which is not supported.",
    "solutions": "* Regenerate the Access Token server-side and ensure the `grants` claim includes at least one correct, product-specific grant for the capability you need; use Twilio server-side SDK helpers to construct grants and tokens.\n* For Video, include a `VideoGrant`; to limit access to a single Room, set the `room` value within that grant (for example, using `AccessToken.VideoGrant`).\n* For Sync, include a `SyncGrant` and provide the required `serviceSid`.\n* If you're using Verify Push, create a product-specific Access Token using the Verify Access Token resource instead of reusing tokens from other products.",
    "description": "Twilio accepted the Access Token's signature and issuer, but rejected the token because the `grants` claim was invalid, could not be parsed, or did not permit the requested operation.",
    "date_created": "2016-04-01T07:00:25Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20107,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Access Token signature",
    "secondary_message": "Invalid Access Token signature",
    "product": "Account",
    "docs": "\n## Description\n\nThe signature for the Access Token provided was invalid.\n\nCheck that your code is correctly generating signatures using the algorithm and format expected by the Twilio API.\n\nTo check whether the Access Token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io/).\n\nAccess Tokens are used by multiple Twilio SDKs, including Programmable Voice, Programmable Video, and Programmable Chat. For the details of Twilio's specific Access Token implementation, see [the documentation](/docs/iam/access-tokens).\n\n### Possible causes\n\n- The supplied Account SID, API Key or API Secret is incorrect.\n\n### Possible solutions\n\n- Ensure you're using the correct Account SID for your [Live API Credentials](/console/account/settings).\n- Verify the API Key was generated for the same account as the supplied Account SID. (The API Secret is not the same as the Account Auth Token.)\n- Verify the API Secret is correct for the API Key being used and that no extra characters are included.\n- Check if the API Secret passes signature validation when used at [jwt.io](https://jwt.io/).\n- Generate a new API Key and Secret for the Account SID and try again.\n",
    "causes": "* The supplied Account SID, API Key or API Secret is incorrect.",
    "solutions": "* Ensure you're using the correct Account SID for your [Live API Credentials](/console/account/settings).\n* Verify the API Key was generated for the same account as the supplied Account SID. (The API Secret is not the same as the Account Auth Token.)\n* Verify the API Secret is correct for the API Key being used and that no extra characters are included.\n* Check if the API Secret passes signature validation when used at [jwt.io](https://jwt.io/).\n* Generate a new API Key and Secret for the Account SID and try again.",
    "description": "The signature for the Access Token provided was invalid. Check that your code is correctly generating signatures using the algorithm and format expected by the Twilio API. To check whether the Access Token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io/). Access Tokens are used by multiple Twilio SDKs, including Programmable Voice, Programmable Video, and Programmable Chat. For the details of Twilio's specific Access Token implementation, see [the documentation](/docs/iam/access-tokens).",
    "date_created": "2016-04-01T07:02:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20151,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Authentication Failed",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThis error indicates that authentication with the provided `JWT` failed when Twilio attempted to validate the token for an API/SDK request. It is listed in Twilio's Error and Warning Dictionary as Authentication Failed under API errors. Twilio Access Tokens are `JWT`s used to authenticate client-side SDKs, and incorrect or invalid tokens will fail authentication.\n\n### Possible causes\n\n- Invalid `JWT` header.\n- Invalid `iss` or `sub` values in the token.\n- Invalid claim set in the token payload.\n- Token time-related issues, such as expiration set in the future, expired or invalid expiration, or expiration exceeding the maximum allowed lifetime.\n\n### Possible solutions\n\n- Re-generate the Access Token on your server using the correct API Key SID and secret, and ensure the token header and payload are properly formed: `typ` must be `JWT`, `alg` must be `HS256`, and `cty` must be `twilio-fpa;v=1`; include required claims like `iss` (API Key SID), `sub` (Account SID), `iat`, and appropriate `grants`.\n- Verify token lifetime settings: set `exp` within the permitted window (tokens are short‑lived and have a maximum age of 24 hours) and avoid setting `nbf` in the future relative to the server time. If needed, reissue a fresh token.\n- Use the Twilio Console Debugger and error logs to inspect the specific event and any accompanying, more granular token error codes to pinpoint the underlying cause.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* Invalid `JWT` header.\n* Invalid `iss` or `sub` values in the token.\n* Invalid claim set in the token payload.\n* Token time-related issues, such as expiration set in the future, expired or invalid expiration, or expiration exceeding the maximum allowed lifetime.",
    "solutions": "* Re-generate the Access Token on your server using the correct API Key SID and secret, and ensure the token header and payload are properly formed: `typ` must be `JWT`, `alg` must be `HS256`, and `cty` must be `twilio-fpa;v=1`; include required claims like `iss` (API Key SID), `sub` (Account SID), `iat`, and appropriate `grants`.\n* Verify token lifetime settings: set `exp` within the permitted window (tokens are short‑lived and have a maximum age of 24 hours) and avoid setting `nbf` in the future relative to the server time. If needed, reissue a fresh token.\n* Use the Twilio Console Debugger and error logs to inspect the specific event and any accompanying, more granular token error codes to pinpoint the underlying cause.",
    "description": "This error indicates that authentication with the provided `JWT` failed when Twilio attempted to validate the token for an API/SDK request. It is listed in Twilio's Error and Warning Dictionary as Authentication Failed under API errors. Twilio Access Tokens are `JWT`s used to authenticate client-side SDKs, and incorrect or invalid tokens will fail authentication.",
    "date_created": "2017-05-05T15:59:36Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20152,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Header",
    "secondary_message": null,
    "product": "Account, Iam",
    "docs": "\n## Description\n\nThis error occurs when the header portion of the JWT presented for Public Key Client Validation does not meet Twilio's required structure or values (for example, missing required fields or using unsupported algorithms).\n\n### Possible causes\n\n- The JWT header omits required fields such as `cty`, `alg`, or `kid`, which Twilio marks as required for Public Key Client Validation.\n- The `cty` value is not exactly `twilio-pkrv;v=1`.\n- The `alg` value is not one of `RS256` or `PS256`, which are the only algorithms Twilio supports for this feature.\n- The `typ` value is set to something other than `JWT` (other values are rejected), or the header is otherwise malformed.\n- The JWT components are not correctly base64url-encoded and concatenated as `<base64URLencoded header>.<base64URLencoded claims>.<base64URLencoded signature>`.\n\n### Possible solutions\n\n- Construct the JWT header with the exact fields and values Twilio requires:\n  - Set `cty` to `twilio-pkrv;v=1`.\n  - Use `alg` as `RS256` or `PS256` only.\n  - Include `kid` referencing the `CredentialSid` for the uploaded public key.\n  - Use `typ` as `JWT` or omit it (defaults to `JWT`).\n- Ensure the JWT is base64url-encoded and formed as `<base64URLencoded header>.<base64URLencoded claims>.<base64URLencoded signature>`.\n- Upload your public key and reference it via the `CredentialSid` in `kid` so Twilio can validate the signature.\n- Attach the generated JWT to your API request using the `Twilio-Client-Validation` header.\n\n#### Additional resources\n\n- [Public Key Client Validation Quickstart](/docs/iam/pkcv/quickstart)\n- [Get Started with Public Key Client Validation](/docs/iam/pkcv)\n- [Credentials API](/docs/iam/credentials/api)\n",
    "causes": "* The JWT header omits required fields such as `cty`, `alg`, or `kid`, which Twilio marks as required for Public Key Client Validation.\n* The `cty` value is not exactly `twilio-pkrv;v=1`.\n* The `alg` value is not one of `RS256` or `PS256`, which are the only algorithms Twilio supports for this feature.\n* The `typ` value is set to something other than `JWT` (other values are rejected), or the header is otherwise malformed.\n* The JWT components are not correctly base64url-encoded and concatenated as `<base64URLencoded header>.<base64URLencoded claims>.<base64URLencoded signature>`.",
    "solutions": "* Construct the JWT header with the exact fields and values Twilio requires:\n  * Set `cty` to `twilio-pkrv;v=1`.\n  * Use `alg` as `RS256` or `PS256` only.\n  * Include `kid` referencing the `CredentialSid` for the uploaded public key.\n  * Use `typ` as `JWT` or omit it (defaults to `JWT`).\n* Ensure the JWT is base64url-encoded and formed as `<base64URLencoded header>.<base64URLencoded claims>.<base64URLencoded signature>`.\n* Upload your public key and reference it via the `CredentialSid` in `kid` so Twilio can validate the signature.\n* Attach the generated JWT to your API request using the `Twilio-Client-Validation` header.",
    "description": "This error occurs when the header portion of the JWT presented for Public Key Client Validation does not meet Twilio's required structure or values (for example, missing required fields or using unsupported algorithms).",
    "date_created": "2017-05-05T16:04:34Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20153,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Issuer Or Subject",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThis error occurs when the issuer or subject of the JSON Web Token provided to the Twilio API is invalid.\n\nFor Public Key Client Validation, the `iss` claim must be an API Key SID and the `sub` claim must be the Account SID.\n\n### Possible causes\n\n- The `iss` claim is missing.\n- The issuer entity (API Key) is suspended in Twilio.\n- The `sub` claim is missing.\n- The subject entity (account) is suspended in Twilio.\n- The API Key SID in `iss` is not associated with the Account SID in `sub`.\n\n### Possible solutions\n\n- If using Public Key Client Validation, ensure the account and the API key are valid and not suspended.\n- Verify that both `iss` and `sub` claims are present and correctly set: API Key SID in `iss` and Account SID in `sub`.\n- Confirm that the API Key used to sign the token is associated with the specified account.\n- If needed, validate that the token is structurally sound using standard JWT tooling.\n\n#### Additional resources\n\n- [Public Key Client Validation Quickstart](/docs/iam/pkcv/quickstart)\n- [Get Started with Public Key Client Validation](/docs/iam/pkcv)\n- [REST API: Credentials](/docs/iam/credentials/api)\n",
    "causes": "* The `iss` claim is missing.\n* The issuer entity (API Key) is suspended in Twilio.\n* The `sub` claim is missing.\n* The subject entity (account) is suspended in Twilio.\n* The API Key SID in `iss` is not associated with the Account SID in `sub`.",
    "solutions": "* If using Public Key Client Validation, ensure the account and the API key are valid and not suspended.\n* Verify that both `iss` and `sub` claims are present and correctly set: API Key SID in `iss` and Account SID in `sub`.\n* Confirm that the API Key used to sign the token is associated with the specified account.\n* If needed, validate that the token is structurally sound using standard JWT tooling.",
    "description": "This error occurs when the issuer or subject of the JSON Web Token provided to the Twilio API is invalid. For Public Key Client Validation, the `iss` claim must be an API Key SID and the `sub` claim must be the Account SID.",
    "date_created": "2017-05-05T16:05:37Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20154,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Claim Set",
    "secondary_message": null,
    "product": "Account, Iam",
    "docs": "\n## Description\n\nThis error indicates that the JWT was parsed successfully, but one or more claims in the payload are invalid.\n\n### Possible causes\n\n- One of the required claims is missing from the payload.\n- For Public Key Client Validation, the payload must include the `hrh` and `rqh` claims; `hrh` is the semicolon-delimited list of lowercase headers used in the request-hash calculation (must at least include `Host` and `Authorization`), and `rqh` is the hash of the canonicalized HTTP request. Omitting or misformatting these claims will invalidate the set.\n- For Public Key Client Validation, required payload claims include `iss`, `sub`, and `exp`; tokens received after `exp` (allowing for clock skew) or with `exp - nbf` exceeding the documented maximum are rejected, which makes the claim set invalid.\n\n### Possible solutions\n\n- Ensure you are using the latest Twilio Helper Library so required JWT claims are produced correctly.\n- When using Public Key Client Validation:\n  - Include both `hrh` and `rqh` in the payload; ensure `hrh` lists `Host` and `Authorization`.\n  - Attach the JWT on requests via the `Twilio-Client-Validation` header.\n  - Verify `iss`, `sub`, `exp`, and (if used) `nbf` satisfy the documented constraints, including the maximum allowed `exp - nbf` window.\n- If you only need to confirm that the token is well-formed (structure/signature presence), use a standard JWT inspection tool before retesting.\n\n#### Additional resources\n\n- [Public Key Client Validation Quickstart](/docs/iam/pkcv/quickstart)\n- [Access Tokens](/docs/iam/access-tokens)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* One of the required claims is missing from the payload.\n* For Public Key Client Validation, the payload must include the `hrh` and `rqh` claims; `hrh` is the semicolon-delimited list of lowercase headers used in the request-hash calculation (must at least include `Host` and `Authorization`), and `rqh` is the hash of the canonicalized HTTP request. Omitting or misformatting these claims will invalidate the set.\n* For Public Key Client Validation, required payload claims include `iss`, `sub`, and `exp`; tokens received after `exp` (allowing for clock skew) or with `exp - nbf` exceeding the documented maximum are rejected, which makes the claim set invalid.",
    "solutions": "* Ensure you are using the latest Twilio Helper Library so required JWT claims are produced correctly.\n* When using Public Key Client Validation:\n  * Include both `hrh` and `rqh` in the payload; ensure `hrh` lists `Host` and `Authorization`.\n  * Attach the JWT on requests via the `Twilio-Client-Validation` header.\n  * Verify `iss`, `sub`, `exp`, and (if used) `nbf` satisfy the documented constraints, including the maximum allowed `exp - nbf` window.\n* If you only need to confirm that the token is well-formed (structure/signature presence), use a standard JWT inspection tool before retesting.",
    "description": "This error indicates that the JWT was parsed successfully, but one or more claims in the payload are invalid.",
    "date_created": "2017-05-05T16:08:16Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20155,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Expiration Time In The Future",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThe JWT provided to the Twilio API is not yet valid. This typically indicates that the token's valid start time has not been reached.\n\n### Possible causes\n\n- The system clock on the server that generates the token is inaccurate (clock drift), causing the token to appear not yet valid.\n- The token includes an `nbf` value that is in the future relative to current time; tokens are not accepted before the `nbf` timestamp.\n\n### Possible solutions\n\n- Correct the server's system time so that token generation uses the current time; then retry the request.\n- Remove the optional `nbf` claim or ensure `nbf` is set to a time that is at or before the moment the token will be used.\n- Inspect the token to verify time-based claims (`nbf`, `iat`, `exp`) are reasonable and consistent with Twilio's expectations; regenerate the token immediately before use if needed.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [20105: Access Token not yet valid](/docs/api/errors/20105)\n- [20157: Expiration Time Exceeds Maximum Time Allowed](/docs/api/errors/20157)\n",
    "causes": "* The system clock on the server that generates the token is inaccurate (clock drift), causing the token to appear not yet valid.\n* The token includes an `nbf` value that is in the future relative to current time; tokens are not accepted before the `nbf` timestamp.",
    "solutions": "* Correct the server's system time so that token generation uses the current time; then retry the request.\n* Remove the optional `nbf` claim or ensure `nbf` is set to a time that is at or before the moment the token will be used.\n* Inspect the token to verify time-based claims (`nbf`, `iat`, `exp`) are reasonable and consistent with Twilio's expectations; regenerate the token immediately before use if needed.",
    "description": "The JWT provided to the Twilio API is not yet valid. This typically indicates that the token's valid start time has not been reached.",
    "date_created": "2017-05-05T16:11:20Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20156,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Expired or Invalid Expiration in Token",
    "secondary_message": null,
    "product": "Account, Iam",
    "docs": "\n## Description\n\nThis error occurs when the JSON Web Token provided to the Twilio API has already expired, or the expiration value in the token is invalid.\n\n### Possible causes\n\n- The system that generates the token has incorrect clock time, causing the token's `exp` to be evaluated as expired or outside allowed clock skew.\n- The token's `exp` claim is not a valid expiration timestamp or is set in the past.\n\n### Possible solutions\n\n- Regenerate a fresh Access Token and ensure you set an appropriate `ttl` (in seconds) so the resulting `exp` is valid and not already expired.\n- Keep your token-issuing server's clock synchronized (e.g., via NTP). Tokens received after `exp` (beyond permitted clock skew) are rejected; ensure clock drift is minimized.\n- Implement token refresh/rotation in your client using the SDK's token update mechanisms so clients do not continue using expired tokens.\n- Use Twilio Helper Libraries to construct tokens to avoid common mistakes in claim formatting and signing.\n- If you are unsure whether the token is well-formed, validate its structure with a JWT inspection tool before retrying. (This workflow is referenced on the official 20156 page.)\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [Public Key Client Validation Quickstart](/docs/iam/pkcv/quickstart)\n",
    "causes": "* The system that generates the token has incorrect clock time, causing the token's `exp` to be evaluated as expired or outside allowed clock skew.\n* The token's `exp` claim is not a valid expiration timestamp or is set in the past.",
    "solutions": "* Regenerate a fresh Access Token and ensure you set an appropriate `ttl` (in seconds) so the resulting `exp` is valid and not already expired.\n* Keep your token-issuing server's clock synchronized (e.g., via NTP). Tokens received after `exp` (beyond permitted clock skew) are rejected; ensure clock drift is minimized.\n* Implement token refresh/rotation in your client using the SDK's token update mechanisms so clients do not continue using expired tokens.\n* Use Twilio Helper Libraries to construct tokens to avoid common mistakes in claim formatting and signing.\n* If you are unsure whether the token is well-formed, validate its structure with a JWT inspection tool before retrying. (This workflow is referenced on the official 20156 page.)",
    "description": "This error occurs when the JSON Web Token provided to the Twilio API has already expired, or the expiration value in the token is invalid.",
    "date_created": "2017-05-05T16:12:14Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20157,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Expiration Time Exceeds Maximum Time Allowed",
    "secondary_message": null,
    "product": "Account, Iam",
    "docs": "\n## Description\n\nThis error occurs when the expiration time used while creating an Access Token `JWT` exceeds 24 hours, which is the maximum allowed lifetime. This behavior is documented on the error page and the Access Tokens overview, which states tokens are \"configurable for up to 24 hours.\"\n\n### Possible causes\n\n- The `ttl` parameter provided when generating the Access Token is greater than 86400 seconds (24 hours). The Access Tokens overview sets a 24-hour maximum and specifies `ttl` is expressed in seconds.\n- The token's `exp` claim is set so that its lifetime exceeds 24 hours relative to issuance; Access Tokens are `JWT`s that include an `exp` claim as shown in Twilio's examples.\n- Passing time values in milliseconds instead of seconds for `ttl`, inadvertently creating a value above the 24-hour maximum. Twilio materials indicate `ttl` is in seconds and blog guidance notes the maximum must be given as 86400 seconds.\n\n### Possible solutions\n\n- Set the Access Token `ttl` to a value at or below 86400 seconds, and in general keep it as short as feasible for your application (best practice noted by Twilio).\n- If you manually construct tokens, compute `exp` so that it does not exceed 24 hours after issuance, or rely on the helper to set `exp` based on `ttl`. Twilio's examples show the `exp` claim and parameterization for `ttl`.\n- Ensure you are providing `ttl` in seconds, not milliseconds; for example, 3600 for one hour or 86400 for the maximum. Twilio documentation specifies `ttl` is in seconds, and the Twilio blog reiterates the 24-hour limit as 86400 seconds.\n- Implement short-lived tokens with periodic refresh in clients where applicable; Twilio recommends shorter token lifetimes and details token refresh patterns (for example, in Sync SDK guidance).\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [Create Access Tokens for Conversations](/docs/conversations/create-tokens)\n- [Best Practices for Building with Sync SDKs](/docs/sync/sdks-best-practices)\n",
    "causes": "* The `ttl` parameter provided when generating the Access Token is greater than 86400 seconds (24 hours). The Access Tokens overview sets a 24-hour maximum and specifies `ttl` is expressed in seconds.\n* The token's `exp` claim is set so that its lifetime exceeds 24 hours relative to issuance; Access Tokens are `JWT`s that include an `exp` claim as shown in Twilio's examples.\n* Passing time values in milliseconds instead of seconds for `ttl`, inadvertently creating a value above the 24-hour maximum. Twilio materials indicate `ttl` is in seconds and blog guidance notes the maximum must be given as 86400 seconds.",
    "solutions": "* Set the Access Token `ttl` to a value at or below 86400 seconds, and in general keep it as short as feasible for your application (best practice noted by Twilio).\n* If you manually construct tokens, compute `exp` so that it does not exceed 24 hours after issuance, or rely on the helper to set `exp` based on `ttl`. Twilio's examples show the `exp` claim and parameterization for `ttl`.\n* Ensure you are providing `ttl` in seconds, not milliseconds; for example, 3600 for one hour or 86400 for the maximum. Twilio documentation specifies `ttl` is in seconds, and the Twilio blog reiterates the 24-hour limit as 86400 seconds.\n* Implement short-lived tokens with periodic refresh in clients where applicable; Twilio recommends shorter token lifetimes and details token refresh patterns (for example, in Sync SDK guidance).",
    "description": "This error occurs when the expiration time used while creating an Access Token `JWT` exceeds 24 hours, which is the maximum allowed lifetime. This behavior is documented on the error page and the Access Tokens overview, which states tokens are \"configurable for up to 24 hours.\"",
    "date_created": "2017-05-05T16:12:57Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20159,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Signature",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThis error occurs when the JWT provided to the Twilio API has an invalid or mismatching signature.\n\n### Possible causes\n\nThe public key referenced in the JWT does not match the actual private key used to sign the token.\n\n### Possible solutions\n\n- Ensure the private key used to sign the JWT corresponds to the public key identifier referenced in the token.\n- If needed, validate the JWT's structure and signature using standard JWT tooling before retrying.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [API keys overview](/docs/iam/api-keys)\n- [Public Key Client Validation Quickstart](/docs/iam/pkcv/quickstart)\n",
    "causes": "The public key referenced in the JWT does not match the actual private key used to sign the token.",
    "solutions": "* Ensure the private key used to sign the JWT corresponds to the public key identifier referenced in the token.\n* If needed, validate the JWT's structure and signature using standard JWT tooling before retrying.",
    "description": "This error occurs when the JWT provided to the Twilio API has an invalid or mismatching signature.",
    "date_created": "2017-05-05T16:14:06Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20160,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Token",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThis error occurs when the token presented to the Twilio API is not a valid `JWT`. Twilio Access Tokens are `JWT`s used by client SDKs and must follow the JSON Web Token structure and constraints documented by Twilio.\n\n### Possible causes\n\n- The token is not a properly formed `JWT` (Twilio Access Tokens are composed of three parts: `header`, `payload`, and `signature`).\n- The `JWT` `header` is not set as required (for example, `typ` must be `\"JWT\"`, `alg` must be `\"HS256\"`, and `cty` must be `\"twilio-fpa;v=1\"`).\n- The token was generated or signed without the correct API Key SID/Secret for the account (the `iss` identifies the API Key and the `signature` is created using the API Key Secret).\n- A Restricted API Key was used to create an Access Token for client-side SDKs (not supported).\n\n### Possible solutions\n\n- Re-generate the Access Token on your server using Twilio SDKs and the correct credentials (Account SID, API Key SID, and API Key Secret).\n- Ensure the token's `header` fields meet Twilio's requirements and the `alg` is `HS256`.\n- Verify the token lifetime: Access Tokens have a maximum age of 24 hours and should be created with the shortest feasible `ttl`.\n- Use a Main or Standard API Key when creating Access Tokens; do not use a Restricted API Key.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [20156: Expired or Invalid Expiration in Token](/docs/api/errors/20156)\n- [20159: Invalid Signature](/docs/api/errors/20159)\n",
    "causes": "* The token is not a properly formed `JWT` (Twilio Access Tokens are composed of three parts: `header`, `payload`, and `signature`).\n* The `JWT` `header` is not set as required (for example, `typ` must be `\"JWT\"`, `alg` must be `\"HS256\"`, and `cty` must be `\"twilio-fpa;v=1\"`).\n* The token was generated or signed without the correct API Key SID/Secret for the account (the `iss` identifies the API Key and the `signature` is created using the API Key Secret).\n* A Restricted API Key was used to create an Access Token for client-side SDKs (not supported).",
    "solutions": "* Re-generate the Access Token on your server using Twilio SDKs and the correct credentials (Account SID, API Key SID, and API Key Secret).\n* Ensure the token's `header` fields meet Twilio's requirements and the `alg` is `HS256`.\n* Verify the token lifetime: Access Tokens have a maximum age of 24 hours and should be created with the shortest feasible `ttl`.\n* Use a Main or Standard API Key when creating Access Tokens; do not use a Restricted API Key.",
    "description": "This error occurs when the token presented to the Twilio API is not a valid `JWT`. Twilio Access Tokens are `JWT`s used by client SDKs and must follow the JSON Web Token structure and constraints documented by Twilio.",
    "date_created": "2017-05-05T16:14:48Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20161,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Programmable Chat: Parameters are not specified for update request",
    "secondary_message": null,
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nUpdate request doesn't contain any parameters\n\n### Possible causes\n\n- You may have passed parameters, but named them incorrectly.\n- You may have forgotten to pass form-encoded parameters with your request\n\n### Possible solutions\n\nCompare your request with the documentation for this resource. Be sure you are submitting form-encoded parameters.\n",
    "causes": "* You may have passed parameters, but named them incorrectly.\n* You may have forgotten to pass form-encoded parameters with your request",
    "solutions": "Compare your request with the documentation for this resource. Be sure you are submitting form-encoded parameters.",
    "description": "Update request doesn't contain any parameters",
    "date_created": "2020-02-27T11:22:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20162,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "A conflicting resource update is in progress",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThe requested resource is already being updated simultaneously by another API request. The last request will be rejected to avoid inconsistent state.\n\n### Possible causes\n\nThe same API resource is being updated by multiple simultaneous API requests from different threads in a conflicting fashion.\n\n### Possible solutions\n\n- Implement an operation retrier and repeat the failed API requests after an interval of time using, exponential backoff algorithm.\n- Serialize your API requests that modify the same resources, and wait until the original request completes and returns an API response, before sending any successive modifications.\n",
    "causes": "The same API resource is being updated by multiple simultaneous API requests from different threads in a conflicting fashion.",
    "solutions": "* Implement an operation retrier and repeat the failed API requests after an interval of time using, exponential backoff algorithm.\n* Serialize your API requests that modify the same resources, and wait until the original request completes and returns an API response, before sending any successive modifications.",
    "description": "The requested resource is already being updated simultaneously by another API request. The last request will be rejected to avoid inconsistent state.",
    "date_created": "2020-02-27T11:18:50Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20403,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "403 Forbidden",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nTwilio returns this error when the account lacks permission to access the Twilio API. This commonly occurs when an account is suspended or closed. For assistance, contact Twilio Support via the Console or Help Center.\n\n### Possible causes\n\n- The account has been suspended or closed, which prevents API access.\n- The credentials used do not include permission for the resource. For example, using a restricted API key without the required permission set.\n- A recent rotation of the `Auth Token` caused dependent Services or Functions (Classic) to temporarily use an outdated token, resulting in 403 responses until propagation completes.\n\n### Possible solutions\n\n- Review the project's status in Console and, if suspended or closed, reach out to Twilio Support to restore access.\n- If you are using Restricted API Keys, add the necessary permission for the endpoint you are calling or switch to a `Standard` or `Main` API key where appropriate.\n- If you recently rotated your `Auth Token`, wait at least one minute for propagation and ensure all code, Services, and Functions reference the updated token.\n\n#### Additional resources\n\n- [Requests to Twilio](/docs/usage/requests-to-twilio)\n- [Restricted API keys](/docs/iam/api-keys/restricted-api-keys)\n- [REST API: Auth Token](/docs/iam/api/authtoken)\n",
    "causes": "* The account has been suspended or closed, which prevents API access.\n* The credentials used do not include permission for the resource. For example, using a restricted API key without the required permission set.\n* A recent rotation of the `Auth Token` caused dependent Services or Functions (Classic) to temporarily use an outdated token, resulting in 403 responses until propagation completes.",
    "solutions": "* Review the project's status in Console and, if suspended or closed, reach out to Twilio Support to restore access.\n* If you are using Restricted API Keys, add the necessary permission for the endpoint you are calling or switch to a `Standard` or `Main` API key where appropriate.\n* If you recently rotated your `Auth Token`, wait at least one minute for propagation and ensure all code, Services, and Functions reference the updated token.",
    "description": "Twilio returns this error when the account lacks permission to access the Twilio API. This commonly occurs when an account is suspended or closed. For assistance, contact Twilio Support via the Console or Help Center.",
    "date_created": "2016-04-01T14:31:42Z",
    "last_updated": "2026-03-19T15:18:23Z"
  },
  {
    "code": 20404,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Found",
    "secondary_message": "The resource was not found.",
    "product": "Account",
    "docs": "\n## Description\n\nThe resource was not found. Here are some examples of cases that may trigger a 404 error.\n\n- Requesting a resource for a sid that does not exist, for example\n\n  ```bash\n    GET verify.twilio.com/v2/Services/VA123/VE123\r\n    Or \r\n    POST verify.twilio.com/v2/Services/VA123/VerificationCheck\r\n\r\n         1. The resource has never existed (incorrect SID).\r\n         2. The resource existed but has been deleted.\r\n         3. The resource is a Verification SID that has been \"soft deleted\" after the \r\n             verification process is completed or expired. When a verification is \r\n             approved or expires, Twilio performs a \"soft delete\" on the verification \r\n             record. This means that while the record is no longer active and cannot \r\n             be retrieved through the API, it is still stored in Twilio's system for \r\n             compliance and auditing purposes. As a result, any subsequent \r\n             requests to the Verification SID's REST API resource will return a 20404 \r\n             error, indicating that the resource is not found. \r\n\r\n    GET /2010-04-01/Accounts/AC123/Calls/CA123\n  ```\n\n  where CA123 is not a call sid that exists for your account\n- Trying to retrieve a resource that doesn't exist, for example\n\n  ```bash\n    GET /2010-04-01/Accounts/AC123/TwilioCalls/CA123\n  ```\n\n  where the resource name is Calls, not TwilioCalls. Note that the API is case sensitive, so requesting \"calls\" instead of \"Calls\" will also return a 404.\n- Missing a sid in the request path. For example, let's say I accidentally don't set a value for a call sid, using the PHP helper library:\n\n  ```bash\n    $callSid = null;\r\n    $client->account->calls->get($callSid);\n  ```\n\n  This may turn into\n\n  ```bash\n    GET /2010-04-01/Accounts/AC123/Calls/.json\n  ```\n\n  because of the nonexistent sid, which may 404 your request or give you back a result you were not expecting. Or, you may initialize the client with an empty string for an account sid, which means the URL will get truncated in the middle (note the consecutive slashes):\n\n  ```bash\n    GET /2010-04-01/Accounts//Calls/CA123.json\n  ```\n- Using a base URL that is not `https://api.twilio.com`. For example, making requests to `https://twilio.com` or `https://www.twilio.com` will not work.\n\n### Possible causes\n\n-\n\n### Possible solutions\n\n-\n",
    "causes": "*",
    "solutions": "*",
    "description": "The resource was not found. Here are some examples of cases that may trigger a 404 error. - Requesting a resource for a sid that does not exist, for example\n\n  ```bash\n    GET verify.twilio.com/v2/Services/VA123/VE123\r\n    Or \r\n    POST verify.twilio.com/v2/Services/VA123/VerificationCheck\r\n\r\n         1. The resource has never existed (incorrect SID).\r\n         2. The resource existed but has been deleted.\r\n         3. The resource is a Verification SID that has been \"soft deleted\" after the \r\n             verification process is completed or expired. When a verification is \r\n             approved or expires, Twilio performs a \"soft delete\" on the verification \r\n             record. This means that while the record is no longer active and cannot \r\n             be retrieved through the API, it is still stored in Twilio's system for \r\n             compliance and auditing purposes. As a result, any subsequent \r\n             requests to the Verification SID's REST API resource will return a 20404 \r\n             error, indicating that the resource is not found. \r\n\r\n    GET /2010-04-01/Accounts/AC123/Calls/CA123\n  ```\n\n  where CA123 is not a call sid that exists for your account\n- Trying to retrieve a resource that doesn't exist, for example\n\n  ```bash\n    GET /2010-04-01/Accounts/AC123/TwilioCalls/CA123\n  ```\n\n  where the resource name is Calls, not TwilioCalls. Note that the API is case sensitive, so requesting \"calls\" instead of \"Calls\" will also return a 404.\n- Missing a sid in the request path. For example, let's say I accidentally don't set a value for a call sid, using the PHP helper library:\n\n  ```bash\n    $callSid = null;\r\n    $client->account->calls->get($callSid);\n  ```\n\n  This may turn into\n\n  ```bash\n    GET /2010-04-01/Accounts/AC123/Calls/.json\n  ```\n\n  because of the nonexistent sid, which may 404 your request or give you back a result you were not expecting. Or, you may initialize the client with an empty string for an account sid, which means the URL will get truncated in the middle (note the consecutive slashes):\n\n  ```bash\n    GET /2010-04-01/Accounts//Calls/CA123.json\n  ```\n- Using a base URL that is not `https://api.twilio.com`. For example, making requests to `https://twilio.com` or `https://www.twilio.com` will not work.",
    "date_created": "2017-05-03T21:16:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20409,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conflict",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThe request could not be completed due to a conflict with the current state of the target resource.\n\n### Possible causes\n\nThe resource is not in a state that allows this modification.\n\n### Possible solutions\n\nWait until the resource is in a modifiable state.\n",
    "causes": "The resource is not in a state that allows this modification.",
    "solutions": "Wait until the resource is in a modifiable state.",
    "description": "The request could not be completed due to a conflict with the current state of the target resource.",
    "date_created": "2020-04-03T19:50:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20410,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Gone",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when you request a discontinued messaging API. The API is no longer available.\n\n### Possible causes\n\n- You are sending messages through a discontinued API.\n- You are still using the legacy `SMS/Messages` endpoint.\n\n### Possible solutions\n\n- Update your integration to use the current Messaging API endpoints.\n- Replace any requests to the legacy `SMS/Messages` URI with the `Messages` resource URI.\n- Review the current Messaging API and `Messages` resource documentation before you deploy changes.\n\n#### Additional resources\n\n- [Messaging API overview](/docs/messaging/api)\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Switching from SMS/Messages resource URI to Messages resource URI](https://help.twilio.com/articles/223181028-Switching-from-SMS-Messages-resource-URI-to-Messages-resource-URI-)\n",
    "causes": "* You are sending messages through a discontinued API.\n* You are still using the legacy `SMS/Messages` endpoint.",
    "solutions": "* Update your integration to use the current Messaging API endpoints.\n* Replace any requests to the legacy `SMS/Messages` URI with the `Messages` resource URI.\n* Review the current Messaging API and `Messages` resource documentation before you deploy changes.",
    "description": "Twilio returns this error when you request a discontinued messaging API. The API is no longer available.",
    "date_created": "2023-02-24T21:26:52Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 20412,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Precondition Failed",
    "secondary_message": "The resource does not meet one of preconditions defined by the request.",
    "product": null,
    "docs": "\n## Description\n\nThe resource does not meet one of preconditions defined by the request.\n\n### Possible causes\n\n- An ETag was included in an If-Match header, but the resource's current ETag does not match the ETag provided in the request.\n\n### Possible solutions\n\n- Retrieve the resource to obtain the current ETag, and then retry the request with the correct ETag in the If-Match header.\n",
    "causes": "* An ETag was included in an If-Match header, but the resource's current ETag does not match the ETag provided in the request.",
    "solutions": "* Retrieve the resource to obtain the current ETag, and then retry the request with the correct ETag in the If-Match header.",
    "description": "The resource does not meet one of preconditions defined by the request.",
    "date_created": "2016-12-06T23:56:19.441Z",
    "last_updated": "2026-03-12T13:44:18-04:00"
  },
  {
    "code": 20413,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Request Entity Too Large",
    "secondary_message": "Request entity is larger than limits defined",
    "product": null,
    "docs": "\n## Description\n\n### Request entity is larger than limits defined\n\nRequest entity is larger than limits defined by the server.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-10-10T09:44:56Z",
    "last_updated": "2020-08-04T10:00:12.257Z"
  },
  {
    "code": 20415,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unsupported Media Type",
    "secondary_message": "The request contains a media type which is not supported by Twilio.",
    "product": null,
    "docs": "\n## Description\n\nThe request contains a media type which is not supported by Twilio.\n",
    "causes": null,
    "solutions": null,
    "description": "The request contains a media type which is not supported by Twilio.",
    "date_created": "2016-12-07T00:09:31.028Z",
    "last_updated": "2016-12-07T00:09:31.028Z"
  },
  {
    "code": 20422,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Parameter",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request contained malformed or semantically incorrect parameters.\n\nCommon occurrences:\n\n- Lacking a specified `Content-Type` header field\n- Invalid or missing XML data\n- Invalid parameter type or value\n\n### Is the request safe to retry?\n\nA 422 request is never processed and is always safe to retry.\n",
    "causes": null,
    "solutions": null,
    "description": "The request contained malformed or semantically incorrect parameters. Common occurrences: - Lacking a specified `Content-Type` header field\n- Invalid or missing XML data\n- Invalid parameter type or value",
    "date_created": "2019-01-30T16:11:48Z",
    "last_updated": "2020-08-04T10:00:10.994Z"
  },
  {
    "code": 20423,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid SID",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request contained at least one parameter what is incorrect SID but has to be.\n\n### Is the request safe to retry?\n\nA 422 request is never processed and is always safe to retry.\n",
    "causes": null,
    "solutions": null,
    "description": "The request contained at least one parameter what is incorrect SID but has to be.",
    "date_created": "2019-01-30T16:17:11Z",
    "last_updated": "2020-08-04T10:00:10.976Z"
  },
  {
    "code": 20426,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Upgrade Required",
    "secondary_message": "The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",
    "product": null,
    "docs": "\n## Description\n\nThe server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.\n\n### TLS and cipher suite upgrade requirements\n\nIn moving towards a more secure posture with regards to [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security), we require that all new accounts must use TLS v1.2 or later. All customers must use TLS > 1.2 starting June 26, 2019.\n\nCustomers running older operating systems or legacy network software may need to upgrade their systems to be compatible with these changes. If you've received Error 20426, you likely need to upgrade your system.\n\nTo learn more about these changes, see our support site's FAQ on [Twilio REST API's TLS and Cipher Suite Security Changes](https://support.twilio.com/hc/en-us/articles/360007820133-FAQ-Twilio-REST-API-s-TLS-and-Cipher-Suite-Security-Changes-for-June-2019)\n\n### Tips for upgrading your environment\n\nTo learn more about Twilio's TLS and cipher requirements, please reference [this support article](https://support.twilio.com/hc/en-us/articles/360006751753-Tips-for-Upgrading-Your-Environment-to-Support-Twilio-REST-API-s-TLS-and-Strong-Cipher-Suite-Changes) where you can learn more about understanding failure signatures, which components to upgrade, and verifying your upgrade.\n",
    "causes": null,
    "solutions": null,
    "description": "The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.",
    "date_created": "2019-01-30T22:49:37Z",
    "last_updated": "2020-08-04T10:00:10.866Z"
  },
  {
    "code": 20429,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Too many requests",
    "secondary_message": "Your account is sending too many concurrent Rest API requests to Twilio servers.",
    "product": "Account",
    "docs": "\n## Description\n\nTwilio returns this error when your account exceeds allowed concurrency to Twilio's REST API (HTTP 429 Too Many Requests). Requests that receive 429 responses aren't processed and are safe to retry after backing off.\n\n### Possible causes\n\n- Excessive concurrent REST API requests from the account, exceeding platform concurrency limits.\n- Multiple verification starts initiated in a short period for the same phone number, triggering a concurrency safeguard on Verify endpoints (HTTP 429).\n- Built-in Verify attempt limits reached, such as max send attempts or max check attempts, which return HTTP 429.\n- Exceeding Verify Service Rate Limits that you configure (for example, per phone number or other keys), enforced when starting verifications.\n- Polling verification status above the documented per-minute/hour/day limits.\n\n### Possible solutions\n\n- Implement retries with exponential backoff; 429 responses are safe to retry.\n- Throttle or queue requests to reduce concurrent API calls to Twilio until you remain under concurrency limits.\n- For verification flows, avoid repeatedly starting new verifications for the same number; complete the lifecycle by checking the existing verification or allow it to expire before starting another.\n- Define and tune Verify Service Rate Limits (for example, per phone number, IP, or session) and pass the appropriate keys when starting verifications.\n- Reduce verification status polling to stay within the documented limits.\n- Monitor Twilio response headers like Twilio-Concurrent-Requests to understand current load and adjust client behavior.\n\n#### Additional resources\n\n- [API best practices](/docs/usage/rest-api-best-practices)\n- [Rate limits and timeouts](/docs/verify/api/rate-limits-and-timeouts)\n- [Protect your Verify application with Service Rate Limits](/docs/verify/api/programmable-rate-limits)\n- [Service Rate Limits](/docs/verify/api/service-rate-limits)\n- [Twilio API response Error 429 \"Too Many Requests\"](https://help.twilio.com/hc/en-us/articles/360044308153-Twilio-API-response-Error-429-Too-Many-Requests)\n",
    "causes": "* Excessive concurrent REST API requests from the account, exceeding platform concurrency limits.\n* Multiple verification starts initiated in a short period for the same phone number, triggering a concurrency safeguard on Verify endpoints (HTTP 429).\n* Built-in Verify attempt limits reached, such as max send attempts or max check attempts, which return HTTP 429.\n* Exceeding Verify Service Rate Limits that you configure (for example, per phone number or other keys), enforced when starting verifications.\n* Polling verification status above the documented per-minute/hour/day limits.",
    "solutions": "* Implement retries with exponential backoff; 429 responses are safe to retry.\n* Throttle or queue requests to reduce concurrent API calls to Twilio until you remain under concurrency limits.\n* For verification flows, avoid repeatedly starting new verifications for the same number; complete the lifecycle by checking the existing verification or allow it to expire before starting another.\n* Define and tune Verify Service Rate Limits (for example, per phone number, IP, or session) and pass the appropriate keys when starting verifications.\n* Reduce verification status polling to stay within the documented limits.\n* Monitor Twilio response headers like Twilio-Concurrent-Requests to understand current load and adjust client behavior.",
    "description": "Twilio returns this error when your account exceeds allowed concurrency to Twilio's REST API (HTTP 429 Too Many Requests). Requests that receive 429 responses aren't processed and are safe to retry after backing off.",
    "date_created": "2016-03-31T17:13:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20500,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal Server Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Twilio API encountered an error when processing your request. This generally indicates an error in the server handling logic or a timeout in the API. We apologize for the inconvenience.\n\n### I'm seeing a lot of these\n\nIf you are seeing a consistent pattern of 500 server errors coming from the Twilio API, check our [status page](http://status.twilio.com/) for more details. If our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\n\n### Is the request safe to retry?\n\n`GET` and `DELETE` requests are always safe for you to retry as they are idempotent. Some `POST` requests are idempotent by nature - purchasing a specific phone number, or hanging up a call - and while these may return different HTTP status codes on each attempt, the end state of the system will be the same whether you make the request one time or ten.\n\nOther `POST` requests - sending an SMS or triggering an outbound call - are not idempotent. If you get a 500 Server Error on these requests, and you retry the request, it is possible for a customer to receive multiple messages or calls from your application.\n",
    "causes": null,
    "solutions": null,
    "description": "The Twilio API encountered an error when processing your request. This generally indicates an error in the server handling logic or a timeout in the API. We apologize for the inconvenience.",
    "date_created": "2017-06-22T15:02:09Z",
    "last_updated": "2020-08-04T10:00:18.283Z"
  },
  {
    "code": 20502,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Bad Gateway",
    "secondary_message": "The upstream server responded with an error to a Twilio request.",
    "product": null,
    "docs": "\n## Description\n\nThe upstream server responded with an error to a Twilio request.\n",
    "causes": null,
    "solutions": null,
    "description": "The upstream server responded with an error to a Twilio request.",
    "date_created": "2016-12-06T23:19:08.631Z",
    "last_updated": "2016-12-06T23:19:08.631Z"
  },
  {
    "code": 20503,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Service unavailable",
    "secondary_message": "Service is unavailable",
    "product": null,
    "docs": "\n## Description\n\n### Service unavailable\n\nThe requested Twilio Service is temporarily unavailable.\n\n### Possible solutions\n\n- Try again a few times with exponential back-off\n- If the problem persists, please [contact support](https://www.twilio.com/help/contact).\n",
    "causes": null,
    "solutions": "* Try again a few times with exponential back-off\n* If the problem persists, please [contact support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2017-07-06T13:43:21Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 20504,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Twilio Internal Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio's platform encountered an internal error while processing this message.\n\n### Possible causes\n\n- If this message was being processed during an incident, it is possible that this message was affected. See [Twilio's status page](https://status.twilio.com/) for ongoing and historical incidents.\n- There was an unrecoverable anomaly that occurred while processing this particular message.\n\n### Possible solutions\n\n- Try sending the message again.\n- If the subsequent attempt also fails with this error, [contact support](https://support.twilio.com/hc/en-us/articles/360048500694-Contacting-Twilio-Support) referencing the affected Message Sids for further troubleshooting.\n",
    "causes": "* If this message was being processed during an incident, it is possible that this message was affected. See [Twilio's status page](https://status.twilio.com/) for ongoing and historical incidents.\n* There was an unrecoverable anomaly that occurred while processing this particular message.",
    "solutions": "* Try sending the message again.\n* If the subsequent attempt also fails with this error, [contact support](https://support.twilio.com/hc/en-us/articles/360048500694-Contacting-Twilio-Support) referencing the affected Message Sids for further troubleshooting.",
    "description": "Twilio's platform encountered an internal error while processing this message.",
    "date_created": "2024-08-05T16:25:18Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 20604,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Removed, Can be replaced",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n-\n\n### Possible causes\n\n-\n\n### Possible solutions\n\n-\n",
    "causes": "*",
    "solutions": "*",
    "description": "*",
    "date_created": "2025-01-30T13:14:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Accounts Resource",
    "secondary_message": "Errors related to the Accounts resource",
    "product": null,
    "docs": "\n## Description\n\nErrors related to the Accounts resource\n",
    "causes": null,
    "solutions": null,
    "description": "Errors related to the Accounts resource",
    "date_created": "2016-03-31T17:13:52Z",
    "last_updated": "2020-08-04T10:00:27.351Z"
  },
  {
    "code": 21101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Subaccounts cannot contain subaccounts",
    "secondary_message": "A subaccount cannot contain nested subaccounts. Only a root account may contain subaccounts.",
    "product": null,
    "docs": "\n## Description\n\nA subaccount cannot contain nested subaccounts. Only a root account may contain subaccounts.\n",
    "causes": null,
    "solutions": null,
    "description": "A subaccount cannot contain nested subaccounts. Only a root account may contain subaccounts.",
    "date_created": "2016-03-31T17:13:52Z",
    "last_updated": "2020-08-04T10:00:27.333Z"
  },
  {
    "code": 21102,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Reached maximum number of Services",
    "secondary_message": "Reached maximum number of Services per parent account and product",
    "product": "Account",
    "docs": "\n## Description\n\n### Possible causes\n\nYou have attempted to create a Service, but your parent account already has the maximum amount for this product.\n\n### Possible solutions\n\n- Contact support to increase your Service limit\n- Delete some of your Services\n",
    "causes": "You have attempted to create a Service, but your parent account already has the maximum amount for this product.",
    "solutions": "* Contact support to increase your Service limit\n* Delete some of your Services",
    "description": "",
    "date_created": "2018-01-19T11:42:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21200,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Calls Resource",
    "secondary_message": "Errors related to the Calls resource",
    "product": null,
    "docs": "\n## Description\n\nErrors related to the Calls resource\n",
    "causes": null,
    "solutions": null,
    "description": "Errors related to the Calls resource",
    "date_created": "2016-03-31T17:13:53Z",
    "last_updated": "2020-08-04T10:00:27.314Z"
  },
  {
    "code": 21201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No Called number specified",
    "secondary_message": "You attempted to initiate an outbound phone call, but you did not specify what number to call in the Called POST parameter",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, but you did not specify what number to call in the 'To' `POST` parameter\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call, but you did not specify what number to call in the 'To' `POST` parameter",
    "date_created": "2016-03-31T17:13:53Z",
    "last_updated": "2020-08-04T10:00:27.297Z"
  },
  {
    "code": 21202,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Called number is a premium number",
    "secondary_message": "You attempted to initiate an outboud phone call to a \"premium\" phone number, such as a toll 976 line.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call to a \"premium\" phone number, such as a toll 976 line.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call to a \"premium\" phone number, such as a toll 976 line.",
    "date_created": "2016-03-31T17:13:53Z",
    "last_updated": "2020-08-04T10:00:27.276Z"
  },
  {
    "code": 21203,
    "log_level": "ERROR",
    "log_type": null,
    "message": "International calling not enabled",
    "secondary_message": "You attempted to initiate an outbound phone call to an international phone number, which is not currently supported.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call to an international phone number, which is not currently supported.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call to an international phone number, which is not currently supported.",
    "date_created": "2016-03-31T17:13:54Z",
    "last_updated": "2020-08-04T10:00:27.258Z"
  },
  {
    "code": 21204,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Call already initiated",
    "secondary_message": "You should never receive this error",
    "product": null,
    "docs": "\n## Description\n\nYou should never receive this error\n",
    "causes": null,
    "solutions": null,
    "description": "You should never receive this error",
    "date_created": "2016-03-31T17:13:54Z",
    "last_updated": "2020-08-04T10:00:27.241Z"
  },
  {
    "code": 21205,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid URL",
    "secondary_message": "You attempted to initiate an outbound phone call, but the URL you specified to handle the call was not a valid URL.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, but the URL you specified to handle the call was not a valid URL.\n\nIf you specified an Application Sid for your outbound phone call, the application must have a valid VoiceUrl or the call will fail.\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n\nTwilio must be able to reach this URL over the public Internet.\n",
    "causes": null,
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "description": "You attempted to initiate an outbound phone call, but the URL you specified to handle the call was not a valid URL. If you specified an Application Sid for your outbound phone call, the application must have a valid VoiceUrl or the call will fail.",
    "date_created": "2016-03-31T17:13:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21206,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid SendDigits",
    "secondary_message": "You attempted to initiate an outbound phone call, and you included a `SendDigits` parameter that wasn't valid. `SendDigits` is optional, and specifies that Twilio should simulate sending keypad digits when the party answers. `SendDigits` may contain numbers, the `#` and `*` characters, the letters `A`, `B`, `C`, `D`, as well as lowercase `w` to \"wait\" for half a second or uppercase `W` to \"wait\" for a full second.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, and you included a `SendDigits` parameter that wasn't valid. `SendDigits` is optional, and specifies that Twilio should simulate sending keypad digits when the party answers. `SendDigits` may contain numbers, the `#` and `*` characters, the letters `A`, `B`, `C`, `D`, as well as lowercase `w` to \"wait\" for half a second or uppercase `W` to \"wait\" for a full second.\n\n### Possible causes\n\nThe parameter `SendDigits` includes an invalid character.\n\n### Possible solutions\n\nEnsure the `SendDigits` parameter only contains the characters: `0123456789ABCD*#wW`.\n",
    "causes": "The parameter `SendDigits` includes an invalid character.",
    "solutions": "Ensure the `SendDigits` parameter only contains the characters: `0123456789ABCD*#wW`.",
    "description": "You attempted to initiate an outbound phone call, and you included a `SendDigits` parameter that wasn't valid. `SendDigits` is optional, and specifies that Twilio should simulate sending keypad digits when the party answers. `SendDigits` may contain numbers, the `#` and `*` characters, the letters `A`, `B`, `C`, `D`, as well as lowercase `w` to \"wait\" for half a second or uppercase `W` to \"wait\" for a full second.",
    "date_created": "2016-03-31T17:13:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21207,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid IfMachine",
    "secondary_message": "You attempted to initiate an outbound phone call, but you sent an invalid IfMachine parameter. Twilio can determine if an answering machine or voicemail has answered the call, and behave differently if it has. Valid options for IfMachine are \"Continue\" (continue with the call, progressing after the beep), \"Hangup\" (immediately hangup the call) or \"False\" (don't determine if a machine has answered).",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, but you sent an invalid IfMachine parameter. Twilio can determine if an answering machine or voicemail has answered the call, and behave differently if it has. Valid options for IfMachine are \"Continue\" (continue with the call, progressing after the beep), \"Hangup\" (immediately hangup the call) or \"False\" (don't determine if a machine has answered).\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call, but you sent an invalid IfMachine parameter. Twilio can determine if an answering machine or voicemail has answered the call, and behave differently if it has. Valid options for IfMachine are \"Continue\" (continue with the call, progressing after the beep), \"Hangup\" (immediately hangup the call) or \"False\" (don't determine if a machine has answered).",
    "date_created": "2016-03-31T17:13:55Z",
    "last_updated": "2020-08-04T10:00:27.187Z"
  },
  {
    "code": 21208,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Timeout",
    "secondary_message": "You attempted to initiate an outbound phone call, but you sent an invalid Timeout parameter. The timeoutspecifes how long Twilio should let the phone ring before giving up, and is useful if you want to have Twilio hangup before an answering machine picks up. You may specify any positive, whole integer for the Timeout parameter.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, but you sent an invalid Timeout parameter. The timeout specifes how long Twilio should let the phone ring before giving up, and is useful if you want to have Twilio hangup before an answering machine picks up. You may specify any positive, whole integer for the Timeout parameter.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call, but you sent an invalid Timeout parameter. The timeout specifes how long Twilio should let the phone ring before giving up, and is useful if you want to have Twilio hangup before an answering machine picks up. You may specify any positive, whole integer for the Timeout parameter.",
    "date_created": "2016-03-31T17:13:55Z",
    "last_updated": "2020-08-04T10:00:27.169Z"
  },
  {
    "code": 21209,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Method",
    "secondary_message": "You attempted to initiate an outbound phone call, but you sent a Method paramter that was invalid. Method specifies what HTTP method Twilio should use in contacting your web server. Possible values are GET and POST.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, but you sent a Method parameter that was invalid. Method specifies what HTTP method Twilio should use in contacting your web server. Possible values are `GET` and `POST`.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call, but you sent a Method parameter that was invalid. Method specifies what HTTP method Twilio should use in contacting your web server. Possible values are `GET` and `POST`.",
    "date_created": "2016-03-31T17:13:56Z",
    "last_updated": "2020-08-04T10:00:27.151Z"
  },
  {
    "code": 21210,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'From' phone number not verified",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, but the 'From' number you specified is not a verified number for your account. In order to use a phone number as the Caller ID on outgoing calls, you must first verify your ownership of that phone number.\n\nYou can verify phone numbers in the Console [here](https://www.twilio.com/console/phone-numbers/verified).\n\n### Test Credentials\n\nIf you received this error while trying to authenticate with your Test Credentials, you probably tried to make a test call with a `From` number from your live account. The only number that can be used to queue `successful` calls with your Test Credentials is `+15005550006`. For more information, read our documentation on [the `From` number for making calls with your test credentials](/docs/iam/test-credentials#test-sms-messages-parameters-From).\n\n### Possible causes\n\nThe From number used to make outbound call not a Twilio number or not a verified caller ID\n\n### Possible solutions\n\n[phone number verification on Console](https://www.twilio.com/console/phone-numbers/verified)\n",
    "causes": "The From number used to make outbound call not a Twilio number or not a verified caller ID",
    "solutions": "[phone number verification on Console](https://www.twilio.com/console/phone-numbers/verified)",
    "description": "You attempted to initiate an outbound phone call, but the 'From' number you specified is not a verified number for your account. In order to use a phone number as the Caller ID on outgoing calls, you must first verify your ownership of that phone number. You can verify phone numbers in the Console [here](https://www.twilio.com/console/phone-numbers/verified).",
    "date_created": "2016-03-31T17:13:56Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21211,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid 'To' Phone Number",
    "secondary_message": "You attempted to initiate an outbound phone call or send a message, but the `To` phone number you supplied was not a valid phone number or was incorrectly formatted. Twilio accepts phone numbers in [E164 format](http://en.wikipedia.org/wiki/E.164): `[+] [country code] [subscriber number including area code]`.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call or send a message, but the `To` phone number you supplied was not a valid phone number or was incorrectly formatted. Twilio accepts phone numbers in [E164 format](http://en.wikipedia.org/wiki/E.164): `[+] [country code] [subscriber number including area code]`.\n\n### Possible causes\n\n- The formatting of the `To` number you supplied was invalid.\n- You attempted to send a message or place a call from a Twilio number to itself (i.e. putting the same Twilio number in the `To` and `From` parameters).\n- You attempted to send a message to Short Code.\n- You attempted to send a message to an Alphanumeric Sender ID.\n- You attempted to send a message to a `To` number with an invalid prefix using a Messaging Service.\n\n### Possible solutions\n\n- Ensure you have formatted your phone numbers in [E164 format](http://en.wikipedia.org/wiki/E.164): `[+] [country code] [subscriber number including area code]`.\n- Ensure you have used the correct [country calling code](https://en.wikipedia.org/wiki/List_of_country_calling_codes#Alphabetical_listing_by_country_or_region) for the phone number you are calling.\n- Ensure you are not attempting to call or message from a Twilio number to itself.\n- Ensure you are not attempting to send messages to Short Codes or Alphanumeric Sender IDs. These sender types cannot receive messages from Twilio numbers.\n- Review the 'To' number for any typos or incorrect input methods.\n- If you are using a third party integration, test your API request in the [Try it out](https://console.twilio.com/us1/develop/sms/try-it-out/send-an-sms) section of the Twilio console. If this is successful, you may need to contact the third party to ensure they are not making unexpected changes to your `To` parameter.\n- When sending messages using a Messaging Service, instead of formatting a `To` number with an invalid prefix, remove the prefix and send directly to the `To` number using [E164 format](http://en.wikipedia.org/wiki/E.164): `[+] [country code] [subscriber number including area code]`. If the `To` number is able to accept RCS messages and there is an RCS Agent available in the Messaging Service Sender Pool, it will be selected to send to the given `To` number.\n",
    "causes": "* The formatting of the `To` number you supplied was invalid.\n* You attempted to send a message or place a call from a Twilio number to itself (i.e. putting the same Twilio number in the `To` and `From` parameters).\n* You attempted to send a message to Short Code.\n* You attempted to send a message to an Alphanumeric Sender ID.\n* You attempted to send a message to a `To` number with an invalid prefix using a Messaging Service.",
    "solutions": "* Ensure you have formatted your phone numbers in [E164 format](http://en.wikipedia.org/wiki/E.164): `[+] [country code] [subscriber number including area code]`.\n* Ensure you have used the correct [country calling code](https://en.wikipedia.org/wiki/List_of_country_calling_codes#Alphabetical_listing_by_country_or_region) for the phone number you are calling.\n* Ensure you are not attempting to call or message from a Twilio number to itself.\n* Ensure you are not attempting to send messages to Short Codes or Alphanumeric Sender IDs. These sender types cannot receive messages from Twilio numbers.\n* Review the 'To' number for any typos or incorrect input methods.\n* If you are using a third party integration, test your API request in the [Try it out](https://console.twilio.com/us1/develop/sms/try-it-out/send-an-sms) section of the Twilio console. If this is successful, you may need to contact the third party to ensure they are not making unexpected changes to your `To` parameter.\n* When sending messages using a Messaging Service, instead of formatting a `To` number with an invalid prefix, remove the prefix and send directly to the `To` number using [E164 format](http://en.wikipedia.org/wiki/E.164): `[+] [country code] [subscriber number including area code]`. If the `To` number is able to accept RCS messages and there is an RCS Agent available in the Messaging Service Sender Pool, it will be selected to send to the given `To` number.",
    "description": "You attempted to initiate an outbound phone call or send a message, but the `To` phone number you supplied was not a valid phone number or was incorrectly formatted. Twilio accepts phone numbers in [E164 format](http://en.wikipedia.org/wiki/E.164): `[+] [country code] [subscriber number including area code]`.",
    "date_created": "2016-03-31T17:13:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21212,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid 'From' Number",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call or message, but the `From` parameter you supplied was not a valid phone number, Alphanumeric Sender ID or approved WhatsApp Sender.\n\nTwilio accepts phone numbers in [E.164 format](/docs/glossary/what-e164) (i.e. \"+1 format\"), 10-digit US and Canadian numbers with any combination of non-digit separators, or Alphanumeric Sender IDs (SMS only) with up to 11 alphanumeric characters \\[a-zA-Z0-9]. Refer to [this page](https://support.twilio.com/hc/en-us/articles/223133867-Using-Alphanumeric-Sender-ID-with-Messaging-Services) for acceptable characters.\n\nThe number must not be on a do-not-originate (DNO) list, and Alphanumeric Sender IDs may not be generic.\n\n### Possible causes\n\n- You have supplied a phone number that was not in [E.164 format](/docs/glossary/what-e164).\n- Your `From` phone number is on a do-not-originate (DNO) list.\n- Your [Alphanumeric Sender ID](/docs/glossary/what-alphanumeric-sender-id) is blocked or too generic.\n- You are trying to use an Alphanumeric Sender ID on Trial Account. Trial accounts [cannot send from Alphanumeric Sender IDs](/docs/usage/tutorials/how-to-use-your-free-trial-account#sending-sms-and-mms-messages).\n- Your WhatsApp Sender is not approved.\n- You attempted to send a message with a `From` number that has an invalid prefix, using a Messaging Service.\n\n### Possible solutions\n\n- Ensure your number is formatted in [E.164 format](/docs/glossary/what-e164).\n- Ensure that your `From` number is assigned and not on a do-not-originate (DNO) list.\n- Ensure you are not using an [alphanumeric sender ID](/docs/glossary/what-alphanumeric-sender-id) that is too generic (for example, \"SMS\" or \"INFO\").\n- If you are getting this error when using a non-generic alphanumeric sender ID, please [submit a support ticket](https://www.twilio.com/console/support/tickets/create) for further assistance.\n- If you are using an Alphanumeric Sender ID on a Trial Account, upgrade your account.\n- If you are using a WhatsApp Sender, check that your [sender is approved](https://console.twilio.com/us1/develop/sms/senders/whatsapp-senders) and that you have followed the [onboarding instructions](/docs/whatsapp).\n- If you are sending messages using a Messaging Service, and you wish to utilize an RCS Agent in your Sender Pool that falls back to SMS, [send the message from a MessagingServiceSid](/docs/messaging/services#send-a-message-with-a-messaging-service-1).\n",
    "causes": "* You have supplied a phone number that was not in [E.164 format](/docs/glossary/what-e164).\n* Your `From` phone number is on a do-not-originate (DNO) list.\n* Your [Alphanumeric Sender ID](/docs/glossary/what-alphanumeric-sender-id) is blocked or too generic.\n* You are trying to use an Alphanumeric Sender ID on Trial Account. Trial accounts [cannot send from Alphanumeric Sender IDs](/docs/usage/tutorials/how-to-use-your-free-trial-account#sending-sms-and-mms-messages).\n* Your WhatsApp Sender is not approved.\n* You attempted to send a message with a `From` number that has an invalid prefix, using a Messaging Service.",
    "solutions": "* Ensure your number is formatted in [E.164 format](/docs/glossary/what-e164).\n* Ensure that your `From` number is assigned and not on a do-not-originate (DNO) list.\n* Ensure you are not using an [alphanumeric sender ID](/docs/glossary/what-alphanumeric-sender-id) that is too generic (for example, \"SMS\" or \"INFO\").\n* If you are getting this error when using a non-generic alphanumeric sender ID, please [submit a support ticket](https://www.twilio.com/console/support/tickets/create) for further assistance.\n* If you are using an Alphanumeric Sender ID on a Trial Account, upgrade your account.\n* If you are using a WhatsApp Sender, check that your [sender is approved](https://console.twilio.com/us1/develop/sms/senders/whatsapp-senders) and that you have followed the [onboarding instructions](/docs/whatsapp).\n* If you are sending messages using a Messaging Service, and you wish to utilize an RCS Agent in your Sender Pool that falls back to SMS, [send the message from a MessagingServiceSid](/docs/messaging/services#send-a-message-with-a-messaging-service-1).",
    "description": "You attempted to initiate an outbound phone call or message, but the `From` parameter you supplied was not a valid phone number, Alphanumeric Sender ID or approved WhatsApp Sender. Twilio accepts phone numbers in [E.164 format](/docs/glossary/what-e164) (i.e. \"+1 format\"), 10-digit US and Canadian numbers with any combination of non-digit separators, or Alphanumeric Sender IDs (SMS only) with up to 11 alphanumeric characters \\[a-zA-Z0-9]. Refer to [this page](https://support.twilio.com/hc/en-us/articles/223133867-Using-Alphanumeric-Sender-ID-with-Messaging-Services) for acceptable characters. The number must not be on a do-not-originate (DNO) list, and Alphanumeric Sender IDs may not be generic.",
    "date_created": "2016-03-31T17:13:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21213,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Caller phone number is required",
    "secondary_message": "You attempted to initiate an outbound phone call, but you forgot to send a Caller parameter. Caller is required, and tells Twilio what Caller ID to use for the phone call.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, but you forgot to include a 'From' parameter. The 'From' parameter is required, and tells Twilio what Caller ID to use for the phone call.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call, but you forgot to include a 'From' parameter. The 'From' parameter is required, and tells Twilio what Caller ID to use for the phone call.",
    "date_created": "2016-03-31T17:13:58Z",
    "last_updated": "2020-08-04T10:00:27.082Z"
  },
  {
    "code": 21214,
    "log_level": "ERROR",
    "log_type": null,
    "message": "'To' phone number cannot be reached",
    "secondary_message": "You attempted to initiate an outbound phone call to a phone number that cannot be reached. Please check the number and try again.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call to a phone number that cannot be reached. Please check the number and try again.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call to a phone number that cannot be reached. Please check the number and try again.",
    "date_created": "2016-03-31T17:14:15Z",
    "last_updated": "2020-08-04T10:00:25.879Z"
  },
  {
    "code": 21215,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Geo Permission configuration is not permitting call",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call to a phone number that is not enabled on your account.\n\n### Possible causes\n\nUser dialed a destination your application is not enabled to support calling to.\n\n### Possible solutions\n\nPlease check your [Voice Dialing Geographic Permissions](https://www.twilio.com/console/voice/calls/geo-permissions), fix it, and try again.\n",
    "causes": "User dialed a destination your application is not enabled to support calling to.",
    "solutions": "Please check your [Voice Dialing Geographic Permissions](https://www.twilio.com/console/voice/calls/geo-permissions), fix it, and try again.",
    "description": "You attempted to initiate an outbound phone call to a phone number that is not enabled on your account.",
    "date_created": "2016-03-31T17:14:15Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21216,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "API: Call blocked by Twilio",
    "secondary_message": null,
    "product": "Programmable Voice, Trust-Hub",
    "docs": "\n## Description\n\nTwilio blocked the outbound call before connecting it to the destination. This error can occur when the destination is classified as high risk for fraud, when the route cannot be used for regulatory reasons, or when you place a call to a `+1` destination without a valid Primary Customer Profile on your account.\n\n### Possible causes\n\n- The destination is in a high-risk fraud range that Twilio blocks to reduce exposure to toll fraud.\n- Regulatory restrictions prevent calls to the destination.\n- Your account is placing a call to a `+1` destination and does not have a valid Primary Customer Profile. This can occur when:\n  - Your account does not have a Primary Customer Profile.\n  - Your account has an Individual Customer Profile that was approved after October 2025. Individual profiles approved after this date do not satisfy the Primary Customer Profile requirement for +1 calling.\n\n### Possible solutions\n\n- If the destination is legitimate and appears to be blocked in error, contact Support from Console or through the Help Center and include the destination number and your business use case.\n- If you need to place calls to `+1` destinations, verify that your account has a Primary Customer Profile in Trust Hub on the main account in Console. If your account only has an Individual Customer Profile approved after October 2025, create a Business Customer Profile and submit it for review, then retry the call after the profile reaches `Twilio Approved` status. For more details, see [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379).\n- Review your Voice Dialing Geographic Permissions and enable only the countries and number ranges you expect to call. This reduces your exposure to toll fraud.\n- Validate destination numbers in your application and rate-limit outbound call requests so abusive traffic is less likely to trigger fraud controls.\n\n#### Additional resources\n\n- [Dialing Permissions overview](/docs/voice/api/dialing-permissions-resources)\n- [Console: Create a Primary Customer Profile](/docs/trust-hub/trusthub-rest-api/console-create-a-primary-customer-profile)\n- [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379)\n- [Anti-Fraud Developer's Guide](/docs/usage/anti-fraud-developer-guide)\n",
    "causes": "* The destination is in a high-risk fraud range that Twilio blocks to reduce exposure to toll fraud.\n* Regulatory restrictions prevent calls to the destination.\n* Your account is placing a call to a `+1` destination and does not have a valid Primary Customer Profile. This can occur when:\n  * Your account does not have a Primary Customer Profile.\n  * Your account has an Individual Customer Profile that was approved after October 2025. Individual profiles approved after this date do not satisfy the Primary Customer Profile requirement for +1 calling.",
    "solutions": "* If the destination is legitimate and appears to be blocked in error, contact Support from Console or through the Help Center and include the destination number and your business use case.\n* If you need to place calls to `+1` destinations, verify that your account has a Primary Customer Profile in Trust Hub on the main account in Console. If your account only has an Individual Customer Profile approved after October 2025, create a Business Customer Profile and submit it for review, then retry the call after the profile reaches `Twilio Approved` status. For more details, see [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379).\n* Review your Voice Dialing Geographic Permissions and enable only the countries and number ranges you expect to call. This reduces your exposure to toll fraud.\n* Validate destination numbers in your application and rate-limit outbound call requests so abusive traffic is less likely to trigger fraud controls.",
    "description": "Twilio blocked the outbound call before connecting it to the destination. This error can occur when the destination is classified as high risk for fraud, when the route cannot be used for regulatory reasons, or when you place a call to a `+1` destination without a valid Primary Customer Profile on your account.",
    "date_created": "2016-03-31T17:14:15Z",
    "last_updated": "2026-04-01T10:42:11+01:00"
  },
  {
    "code": 21217,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone number does not appear to be valid",
    "secondary_message": "You attempted to initiate an outbound phone call to an invalid phone number. Please check the phone number and try again.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call to an invalid phone number.\\\nPlease check the phone number and try again.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call to an invalid phone number.\\\nPlease check the phone number and try again.",
    "date_created": "2016-03-31T17:14:15Z",
    "last_updated": "2020-08-04T10:00:25.822Z"
  },
  {
    "code": 21218,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid ApplicationSid",
    "secondary_message": "You attempted to initiate an outbound phone call with an invalid ApplicationSid. The application may not exist anymore or may not be available within your account.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call with an invalid ApplicationSid. The application may not exist anymore or may not be available within your account.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call with an invalid ApplicationSid. The application may not exist anymore or may not be available within your account.",
    "date_created": "2016-03-31T17:14:16Z",
    "last_updated": "2020-08-04T10:00:25.804Z"
  },
  {
    "code": 21219,
    "log_level": "ERROR",
    "log_type": null,
    "message": "'To' phone number not verified",
    "secondary_message": "You attempted to initiate an outbound phone call from a trial account, but the 'To' number you specified is not a verified number for your account. In order to make calls during a free trial, you must first verify your ownership of the phone number being called. You can verify phone numbers from the [phone numbers section](/user/account/phone-numbers) of your account portal.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call from a trial account, but the 'To' number you specified is not a verified number for your account. In order to make calls during a free trial, you must first verify your ownership of the phone number being called.\n\nYou can verify phone numbers from the [phone numbers section](/user/account/phone-numbers) of your account portal.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to initiate an outbound phone call from a trial account, but the 'To' number you specified is not a verified number for your account. In order to make calls during a free trial, you must first verify your ownership of the phone number being called. You can verify phone numbers from the [phone numbers section](/user/account/phone-numbers) of your account portal.",
    "date_created": "2016-03-31T17:14:16Z",
    "last_updated": "2020-08-04T10:00:25.786Z"
  },
  {
    "code": 21220,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid call state",
    "secondary_message": "You attempted a realtime operation on a Call that was not in-progress. Calls that have completed cannot be recorded or redirected.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted a realtime operation on a Call that was not in-progress. Calls that have completed cannot be recorded or redirected.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted a realtime operation on a Call that was not in-progress. Calls that have completed cannot be recorded or redirected.",
    "date_created": "2016-03-31T17:14:16Z",
    "last_updated": "2020-08-04T10:00:25.767Z"
  },
  {
    "code": 21221,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid SipAuthUsername. Must be fewer than 256 chars",
    "secondary_message": "The SipAuthUsername you specified was longer than 255 characters.",
    "product": null,
    "docs": "\n## Description\n\nThe SipAuthUsername you specified was longer than 255 characters.\n",
    "causes": null,
    "solutions": null,
    "description": "The SipAuthUsername you specified was longer than 255 characters.",
    "date_created": "2016-03-31T17:14:17Z",
    "last_updated": "2020-08-04T10:00:25.75Z"
  },
  {
    "code": 21222,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid SipAuthUsername. Illegal chars",
    "secondary_message": "The SipAuthUsername you specified contained characters not allowed in SIP.",
    "product": null,
    "docs": "\n## Description\n\nThe SipAuthUsername you specified contained characters not allowed in SIP.\n",
    "causes": null,
    "solutions": null,
    "description": "The SipAuthUsername you specified contained characters not allowed in SIP.",
    "date_created": "2016-03-31T17:14:17Z",
    "last_updated": "2020-08-04T10:00:25.732Z"
  },
  {
    "code": 21223,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid SipAuthPassword. Must be fewer than 256 chars",
    "secondary_message": "The SipAuthPassword you specified contained too many characters.",
    "product": null,
    "docs": "\n## Description\n\nThe SipAuthPassword you specified contained too many characters.\n",
    "causes": null,
    "solutions": null,
    "description": "The SipAuthPassword you specified contained too many characters.",
    "date_created": "2016-03-31T17:14:17Z",
    "last_updated": "2020-08-04T10:00:25.713Z"
  },
  {
    "code": 21224,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid SipAuthPassword. Illegal chars",
    "secondary_message": "The SipAuthUsername you specified contained characters not allowed in SIP.",
    "product": null,
    "docs": "\n## Description\n\nThe SipAuthUsername you specified contained characters not allowed in SIP.\n",
    "causes": null,
    "solutions": null,
    "description": "The SipAuthUsername you specified contained characters not allowed in SIP.",
    "date_created": "2016-03-31T17:14:18Z",
    "last_updated": "2020-08-04T10:00:25.694Z"
  },
  {
    "code": 21225,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SipAuthPassword is required when providing SipAuthUsername",
    "secondary_message": "You must specify a SipAuthPassword if you are also using SipAuthUsername.",
    "product": null,
    "docs": "\n## Description\n\nYou must specify a SipAuthPassword if you are also using SipAuthUsername.\n",
    "causes": null,
    "solutions": null,
    "description": "You must specify a SipAuthPassword if you are also using SipAuthUsername.",
    "date_created": "2016-03-31T17:14:18Z",
    "last_updated": "2020-08-04T10:00:25.675Z"
  },
  {
    "code": 21226,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP calling not enabled for this account",
    "secondary_message": "Your account is not enabled for SIP calling.",
    "product": null,
    "docs": "\n## Description\n\nYour account is not enabled for SIP calling.\n",
    "causes": null,
    "solutions": null,
    "description": "Your account is not enabled for SIP calling.",
    "date_created": "2016-03-31T17:14:18Z",
    "last_updated": "2020-08-04T10:00:25.654Z"
  },
  {
    "code": 21227,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Headers portion of SIP URI must be fewer than 1024 chars",
    "secondary_message": "The headers you are sending must be fewer than 1024 characters.",
    "product": null,
    "docs": "\n## Description\n\nThe headers you are sending must be fewer than 1024 characters.\n",
    "causes": null,
    "solutions": null,
    "description": "The headers you are sending must be fewer than 1024 characters.",
    "date_created": "2016-03-31T17:14:19Z",
    "last_updated": "2020-08-04T10:00:25.635Z"
  },
  {
    "code": 21228,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid SIP Header. Illegal chars in header name",
    "secondary_message": "The header you passed has characters not allowed in SIP.",
    "product": null,
    "docs": "\n## Description\n\nThe header you passed has characters not allowed in SIP.\n",
    "causes": null,
    "solutions": null,
    "description": "The header you passed has characters not allowed in SIP.",
    "date_created": "2016-03-31T17:14:19Z",
    "last_updated": "2020-08-04T10:00:25.616Z"
  },
  {
    "code": 21229,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid SIP Header. Illegal chars in header value",
    "secondary_message": "The header value you passed has characters not allowed in SIP.",
    "product": null,
    "docs": "\n## Description\n\nThe header value you passed has characters not allowed in SIP.\n",
    "causes": null,
    "solutions": null,
    "description": "The header value you passed has characters not allowed in SIP.",
    "date_created": "2016-03-31T17:14:19Z",
    "last_updated": "2020-08-04T10:00:25.597Z"
  },
  {
    "code": 21230,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Maximum Domains Reached",
    "secondary_message": "An account cannot have more than 100 domains.",
    "product": null,
    "docs": "\n## Description\n\nAn account cannot have more than 100 domains.\n",
    "causes": null,
    "solutions": null,
    "description": "An account cannot have more than 100 domains.",
    "date_created": "2016-03-31T17:14:31Z",
    "last_updated": "2020-08-04T10:00:24.744Z"
  },
  {
    "code": 21231,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Domain Validation Error",
    "secondary_message": "One of the parameters passed when creating or updating a SIP domain was incorrect. Please see the response body for more details.",
    "product": null,
    "docs": "\n## Description\n\nOne of the parameters passed when creating or updating a SIP domain was incorrect. This may be caused by the IP Access Control List SID already being associated with the Domain.\n",
    "causes": null,
    "solutions": null,
    "description": "One of the parameters passed when creating or updating a SIP domain was incorrect. This may be caused by the IP Access Control List SID already being associated with the Domain.",
    "date_created": "2016-03-31T17:14:31Z",
    "last_updated": "2020-08-04T10:00:24.725Z"
  },
  {
    "code": 21232,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Domain",
    "secondary_message": "The domain name requested is invalid, already in use or a subdomain of a domain you do not control. Please see the response body for more details.",
    "product": null,
    "docs": "\n## Description\n\nThe domain name requested is invalid, already in use or a subdomain of a domain you do not control. This is likely because the parent domain does not exist or because neither the account sid or its parent account controls the parent domain.\n",
    "causes": null,
    "solutions": null,
    "description": "The domain name requested is invalid, already in use or a subdomain of a domain you do not control. This is likely because the parent domain does not exist or because neither the account sid or its parent account controls the parent domain.",
    "date_created": "2016-03-31T17:14:32Z",
    "last_updated": "2020-08-04T10:00:24.684Z"
  },
  {
    "code": 21233,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Domain still has subdomains",
    "secondary_message": "You cannot delete a domain while subdomains of it exist.",
    "product": null,
    "docs": "\n## Description\n\nYou cannot delete a domain while subdomains of it exist.\n",
    "causes": null,
    "solutions": null,
    "description": "You cannot delete a domain while subdomains of it exist.",
    "date_created": "2016-03-31T17:14:32Z",
    "last_updated": "2020-08-04T10:00:24.664Z"
  },
  {
    "code": 21234,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Machine Detection configuration value",
    "secondary_message": "You attempted to initiate an outbound call, but you provided a Machine Detection configuration value that is not allowed",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns this error when the `MachineDetection` value in a Voice request is not one of the supported AMD values, or when one of the optional AMD tuning parameters falls outside its allowed range. AMD is supported on the Calls API, Participants API, `<Dial><Number>`, and `<Dial><Sip>`.\n\n### Possible causes\n\n- `MachineDetection` is set to a value other than `Enable` or `DetectMessageEnd`.\n- One or more AMD tuning parameters is outside its allowed range: `MachineDetectionTimeout`, `MachineDetectionSpeechThreshold`, `MachineDetectionSpeechEndThreshold`, or `MachineDetectionSilenceTimeout`.\n\n### Possible solutions\n\n- Set `MachineDetection` to `Enable` for early human or machine detection, or to `DetectMessageEnd` if you need to wait for the end of a voicemail greeting.\n- Keep AMD tuning parameters within their supported ranges: `MachineDetectionTimeout` between `3` and `59`, `MachineDetectionSpeechThreshold` between `1000` and `6000`, `MachineDetectionSpeechEndThreshold` between `500` and `5000`, and `MachineDetectionSilenceTimeout` between `2000` and `10000`.\n\n#### Additional resources\n\n- [Answering Machine Detection](/docs/voice/answering-machine-detection)\n- [Programmable Voice API Overview](/docs/voice/api)\n",
    "causes": "* `MachineDetection` is set to a value other than `Enable` or `DetectMessageEnd`.\n* One or more AMD tuning parameters is outside its allowed range: `MachineDetectionTimeout`, `MachineDetectionSpeechThreshold`, `MachineDetectionSpeechEndThreshold`, or `MachineDetectionSilenceTimeout`.",
    "solutions": "* Set `MachineDetection` to `Enable` for early human or machine detection, or to `DetectMessageEnd` if you need to wait for the end of a voicemail greeting.\n* Keep AMD tuning parameters within their supported ranges: `MachineDetectionTimeout` between `3` and `59`, `MachineDetectionSpeechThreshold` between `1000` and `6000`, `MachineDetectionSpeechEndThreshold` between `500` and `5000`, and `MachineDetectionSilenceTimeout` between `2000` and `10000`.",
    "description": "Twilio returns this error when the `MachineDetection` value in a Voice request is not one of the supported AMD values, or when one of the optional AMD tuning parameters falls outside its allowed range. AMD is supported on the Calls API, Participants API, `<Dial><Number>`, and `<Dial><Sip>`.",
    "date_created": "2019-02-04T23:25:55Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 21235,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "IP Access Control List Validation Error",
    "secondary_message": "One of the parameters passed when creating or updating an IP Access Control List was incorrect.",
    "product": null,
    "docs": "\n## Description\n\nOne of the parameters passed when creating or updating an IP Access Control List was incorrect.\n\n### Possible causes\n\n- An IP Access Control List or IP Address with the same FriendlyName may already exist.\n- The IP Access Control List may already contain that IP Address\n\n### Possible solutions\n\n- Use a different FriendlyName\n- Make sure the IP Access Control List does not already contain that IP Address.\n",
    "causes": "* An IP Access Control List or IP Address with the same FriendlyName may already exist.\n* The IP Access Control List may already contain that IP Address",
    "solutions": "* Use a different FriendlyName\n* Make sure the IP Access Control List does not already contain that IP Address.",
    "description": "One of the parameters passed when creating or updating an IP Access Control List was incorrect.",
    "date_created": "2020-08-04T02:02:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21236,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "IP Access Control List Dependencies Violation",
    "secondary_message": "You cannot delete an IP Access Control List that is still mapped to a SIP Domain.",
    "product": null,
    "docs": "\n## Description\n\nYou cannot delete an IP Access Control List that is still mapped to a SIP Domain.\n\n### Possible causes\n\n- Your IP Access Control List is still mapped to a SIP Domain.\n\n### Possible solutions\n\n- Remove the IP Access Control list from your SIP Domain before trying to delete it.\n",
    "causes": "* Your IP Access Control List is still mapped to a SIP Domain.",
    "solutions": "* Remove the IP Access Control list from your SIP Domain before trying to delete it.",
    "description": "You cannot delete an IP Access Control List that is still mapped to a SIP Domain.",
    "date_created": "2020-08-04T02:08:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21237,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum IP Addresses Reached for List",
    "secondary_message": "IP Access control lists cannot contain more than 25 Addresses.",
    "product": null,
    "docs": "\n## Description\n\nIP Access control lists cannot contain more than 25 Addresses.\n\n### Possible causes\n\n- IP Access control lists cannot contain more than 25 Addresses.\n\n### Possible solutions\n\n- Remove IP Addresses from your IP Access Control List if you must create new ones.\n",
    "causes": "* IP Access control lists cannot contain more than 25 Addresses.",
    "solutions": "* Remove IP Addresses from your IP Access Control List if you must create new ones.",
    "description": "IP Access control lists cannot contain more than 25 Addresses.",
    "date_created": "2020-08-04T02:14:19Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21238,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Address Validation Error",
    "secondary_message": "One of the parameters passed when creating or updating an Address was incorrect.",
    "product": null,
    "docs": "\n## Description\n\nOne of the parameters passed when creating or updating an Address was incorrect.\n\n### Possible causes\n\n- One of the parameters passed when creating or updating an Address was incorrect.\n\n### Possible solutions\n\n- Ensure that you are creating a valid Address.\n",
    "causes": "* One of the parameters passed when creating or updating an Address was incorrect.",
    "solutions": "* Ensure that you are creating a valid Address.",
    "description": "One of the parameters passed when creating or updating an Address was incorrect.",
    "date_created": "2020-08-04T02:20:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21239,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum Credential Lists Reached",
    "secondary_message": "An account cannot have more than 100 IP Access Control Lists.",
    "product": null,
    "docs": "\n## Description\n\nAn account cannot have more than 100 IP Access Control Lists.\n\n### Possible causes\n\n- An account cannot have more than 100 IP Access Control Lists.\n\n### Possible solutions\n\n- Delete an existing IP Access Control List if you must create more.\n",
    "causes": "* An account cannot have more than 100 IP Access Control Lists.",
    "solutions": "* Delete an existing IP Access Control List if you must create more.",
    "description": "An account cannot have more than 100 IP Access Control Lists.",
    "date_created": "2020-08-04T02:22:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21240,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Credential List Validation Error",
    "secondary_message": "One of the parameters passed when creating or updating a Credential List was incorrect.",
    "product": null,
    "docs": "\n## Description\n\nOne of the parameters passed when creating or updating a Credential List was incorrect.\n\n### Possible causes\n\n- A Credential List with the same FriendlyName may already exist\n- A Username was not provided. A Username must be provided and it must have 32 characters or less\n- The password was not provided. A password is required that meets the following criteria:\n\n  - Minimum 12 characters\n  - At least one mixed case\n  - At least one digit\n\n### Possible solutions\n\n- Ensure that your Credential List meets the validation requirements.\n",
    "causes": "* A Credential List with the same FriendlyName may already exist\n* A Username was not provided. A Username must be provided and it must have 32 characters or less\n* The password was not provided. A password is required that meets the following criteria:\n\n  * Minimum 12 characters\n  * At least one mixed case\n  * At least one digit",
    "solutions": "* Ensure that your Credential List meets the validation requirements.",
    "description": "One of the parameters passed when creating or updating a Credential List was incorrect.",
    "date_created": "2020-08-04T02:28:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21241,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Credential List Dependencies Violation",
    "secondary_message": "You cannot delete a Credential List that is still mapped to a SIP Domain.",
    "product": null,
    "docs": "\n## Description\n\nYou cannot delete a Credential List that is still mapped to a SIP Domain.\n\n### Possible causes\n\n- You cannot delete a Credential List that is still mapped to a SIP Domain.\n\n### Possible solutions\n\n- Remove the Credential List from any mapped SIP Domains before deleting.\n",
    "causes": "* You cannot delete a Credential List that is still mapped to a SIP Domain.",
    "solutions": "* Remove the Credential List from any mapped SIP Domains before deleting.",
    "description": "You cannot delete a Credential List that is still mapped to a SIP Domain.",
    "date_created": "2020-08-04T02:34:01Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21242,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum Credentials Reached for List",
    "secondary_message": "Credential Lists cannot contain more than 1000 Credentials.",
    "product": null,
    "docs": "\n## Description\n\nCredential Lists cannot contain more than 1000 Credentials.\n\n### Possible causes\n\n- Credential Lists cannot contain more than 1000 Credentials.\n\n### Possible solutions\n\n- Delete Credentials from your Credential List if you must create more.\n",
    "causes": "* Credential Lists cannot contain more than 1000 Credentials.",
    "solutions": "* Delete Credentials from your Credential List if you must create more.",
    "description": "Credential Lists cannot contain more than 1000 Credentials.",
    "date_created": "2020-08-04T02:35:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21243,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Credential Validation Error",
    "secondary_message": "One of the parameters passed when creating or updating a Credential was incorrect. Please see the response body for more details.",
    "product": null,
    "docs": "\n## Description\n\nOne of the parameters passed when creating or updating a Credential was incorrect. Please see the response body for more details.\n\n### Possible causes\n\n- One of the parameters passed when creating or updating a Credential was incorrect.\n\n### Possible solutions\n\n- Please see the response body for more details.\n",
    "causes": "* One of the parameters passed when creating or updating a Credential was incorrect.",
    "solutions": "* Please see the response body for more details.",
    "description": "One of the parameters passed when creating or updating a Credential was incorrect. Please see the response body for more details.",
    "date_created": "2020-08-04T02:37:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21244,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum Number of Trunks reached",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- Maximum Number of Trunks reached.\n\n### Possible solutions\n\n- Please see limits allowed, visit [Trunking Key Concepts](/docs/sip-trunking/scale-and-limits).\n",
    "causes": "* Maximum Number of Trunks reached.",
    "solutions": "* Please see limits allowed, visit [Trunking Key Concepts](/docs/sip-trunking/scale-and-limits).",
    "description": "",
    "date_created": "2017-03-11T21:05:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21245,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Trunk Validation Error",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- Cannot use another account's SID as the Termination URI for this Trunk\n- Cannot create more than one Trunk with the same Termination URI\n- Credential List or IP-ACL already associated with Trunk\n\n### Possible solutions\n\n- Please update your Trunk settings to avoid the conditions stated above. Learn more: [Configure Trunks](/docs/sip-trunking#configure-trunks).\n",
    "causes": "* Cannot use another account's SID as the Termination URI for this Trunk\n* Cannot create more than one Trunk with the same Termination URI\n* Credential List or IP-ACL already associated with Trunk",
    "solutions": "* Please update your Trunk settings to avoid the conditions stated above. Learn more: [Configure Trunks](/docs/sip-trunking#configure-trunks).",
    "description": "",
    "date_created": "2017-03-11T21:06:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21246,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "deprecated - this error code is open for use",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n### Possible solutions\n",
    "causes": "",
    "solutions": "",
    "description": "",
    "date_created": "2021-09-02T16:16:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21247,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Trunk Dependencies",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- Cannot create subdomain because parent domain does not exist/account does not own it\n- Cannot delete trunk while it has subdomains\n- Cannot rename subdomain because parent domain does not exist/account doesn't own it\n- Cannot rename domain while it has subdomains\n\n### Possible solutions\n\n- One of these constraints in the \"Possible Causes\" has been be violated, please review your Termination URI (Domain name).\n",
    "causes": "* Cannot create subdomain because parent domain does not exist/account does not own it\n* Cannot delete trunk while it has subdomains\n* Cannot rename subdomain because parent domain does not exist/account doesn't own it\n* Cannot rename domain while it has subdomains",
    "solutions": "* One of these constraints in the \"Possible Causes\" has been be violated, please review your Termination URI (Domain name).",
    "description": "",
    "date_created": "2017-03-11T21:07:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21248,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Trunk Domain already taken",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- This Termination URI (Domain) is not available.\n\n### Possible solutions\n\n- Please review your Termination URI (Domain name) and select a different one.\n",
    "causes": "* This Termination URI (Domain) is not available.",
    "solutions": "* Please review your Termination URI (Domain name) and select a different one.",
    "description": "",
    "date_created": "2017-03-11T21:08:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21249,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum Origination URIs reached  ",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- You've configured the maximum number of Origination URIs allowed for your Trunk.\n\n### Possible solutions\n\n- Please see [Multiple Origination URIs](/docs/sip-trunking#multiple-orig-uris) for more information.\n",
    "causes": "* You've configured the maximum number of Origination URIs allowed for your Trunk.",
    "solutions": "* Please see [Multiple Origination URIs](/docs/sip-trunking#multiple-orig-uris) for more information.",
    "description": "",
    "date_created": "2017-03-11T21:09:20Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21250,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "deprecated ",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n### Possible solutions\n",
    "causes": "",
    "solutions": "",
    "description": "",
    "date_created": "2021-09-02T16:15:00Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21251,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Trunking CPS change not allowed",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- This CPS change is not allowed.\n\n### Possible solutions\n\n- This CPS change is not allowed, kindly contact Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "* This CPS change is not allowed.",
    "solutions": "* This CPS change is not allowed, kindly contact Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "",
    "date_created": "2017-03-11T21:11:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21252,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Region",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Region requested is not valid.\n\n### Possible solutions\n\n- Please see [Localized Termination URIs](/docs/sip-trunking#localized-termination-uris) for more information on the valid Elastic SIP Trunking Regions.\n",
    "causes": "* The Region requested is not valid.",
    "solutions": "* Please see [Localized Termination URIs](/docs/sip-trunking#localized-termination-uris) for more information on the valid Elastic SIP Trunking Regions.",
    "description": "",
    "date_created": "2017-03-11T21:13:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21253,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max Connection Policies Reached",
    "secondary_message": "An account cannot have more than 10000 Connection Policies.",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nAn account cannot have more than 10000 Connection Policies.\n\n### Possible causes\n\n- An account cannot have more than 10000 Connection Policies.\n\n### Possible solutions\n\n- Delete an existing Connection Policy if you must create more.\n",
    "causes": "* An account cannot have more than 10000 Connection Policies.",
    "solutions": "* Delete an existing Connection Policy if you must create more.",
    "description": "An account cannot have more than 10000 Connection Policies.",
    "date_created": "2020-08-21T20:41:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21254,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max Connection Policy Entries Reached",
    "secondary_message": "A Connection Policy cannot have more than 10 entries.",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nA Connection Policy cannot have more than 10 entries.\n\n### Possible causes\n\n- A Connection Policy cannot have more than 10 entries.\n\n### Possible solutions\n\n- Delete an existing entry from the Connection Policy if you must create more.\n",
    "causes": "* A Connection Policy cannot have more than 10 entries.",
    "solutions": "* Delete an existing entry from the Connection Policy if you must create more.",
    "description": "A Connection Policy cannot have more than 10 entries.",
    "date_created": "2020-08-21T20:45:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21255,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum IP Access Control Lists reached",
    "secondary_message": "You cannot have more than 1000 IP Access Control Lists.",
    "product": null,
    "docs": "\n## Description\n\nYou cannot have more than 1000 IP Access Control Lists.\n\n### Possible causes\n\n- You cannot have more than 1000 IP Access Control Lists.\n\n### Possible solutions\n\n- Remove current IP Access Control Lists if you must create new ones.\n",
    "causes": "* You cannot have more than 1000 IP Access Control Lists.",
    "solutions": "* Remove current IP Access Control Lists if you must create new ones.",
    "description": "You cannot have more than 1000 IP Access Control Lists.",
    "date_created": "2020-08-04T01:30:00Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21256,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid ruleset",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nThe ruleset is invalid\n\n### Possible causes\n\nThe json format of the ruleset does not match the spec or duplicate rule name.\n\n### Possible solutions\n\nFollow the json format for the ruleset found in the spec and use a valid ruleset.\n",
    "causes": "The json format of the ruleset does not match the spec or duplicate rule name.",
    "solutions": "Follow the json format for the ruleset found in the spec and use a valid ruleset.",
    "description": "The ruleset is invalid",
    "date_created": "2021-09-16T19:30:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21257,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid SIP Manipulation Policy SID",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nOperation could not be performed because the SIP Manipulation Policy SID does not exist.\n\n### Possible causes\n\nSIP Manipulation Policy SID is incorrect.\n\n### Possible solutions\n\nVerify the SIP Manipulation Policy SID is valid.\n",
    "causes": "SIP Manipulation Policy SID is incorrect.",
    "solutions": "Verify the SIP Manipulation Policy SID is valid.",
    "description": "Operation could not be performed because the SIP Manipulation Policy SID does not exist.",
    "date_created": "2021-09-16T19:31:45Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21258,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid SIP Manipulation Policy",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nThere was a validation error for the Sip Manipulation Policy in question.\n\n### Possible causes\n\nReference the docs for configuration information - https://www.twilio.com/docs/sip-trunking/sip-header-manipulation\n\n### Possible solutions\n\nReference the docs for a possible configuation solition - https://www.twilio.com/docs/sip-trunking/sip-header-manipulation\n",
    "causes": "Reference the docs for configuration information - https://www.twilio.com/docs/sip-trunking/sip-header-manipulation",
    "solutions": "Reference the docs for a possible configuation solition - https://www.twilio.com/docs/sip-trunking/sip-header-manipulation",
    "description": "There was a validation error for the Sip Manipulation Policy in question.",
    "date_created": "2021-09-16T19:32:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21259,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum number of SIP Manipulation Polies per account reached",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nYour account already has the maximum number of Sip Manipulation Policies allowed.\n\n### Possible causes\n\nThe number of Sip Manipulation Policies per account cannot exceed the limit. See https://www.twilio.com/docs/sip-trunking/sip-header-manipulation\n\n### Possible solutions\n\nRemove unused Sip Manipulation Policies.\n",
    "causes": "The number of Sip Manipulation Policies per account cannot exceed the limit. See https://www.twilio.com/docs/sip-trunking/sip-header-manipulation",
    "solutions": "Remove unused Sip Manipulation Policies.",
    "description": "Your account already has the maximum number of Sip Manipulation Policies allowed.",
    "date_created": "2021-09-16T19:34:08Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21260,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum number of actions per rule reached",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nThis rule already has the maximum number of actions allowed.\n\n### Possible causes\n\nThe number of actions in a given rule cannot exceed the limit. See https://www.twilio.com/docs/sip-trunking/sip-header-manipulation\n\n### Possible solutions\n\nOptimize your rule by removing unused actions.\n",
    "causes": "The number of actions in a given rule cannot exceed the limit. See https://www.twilio.com/docs/sip-trunking/sip-header-manipulation",
    "solutions": "Optimize your rule by removing unused actions.",
    "description": "This rule already has the maximum number of actions allowed.",
    "date_created": "2021-09-16T19:35:05Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21261,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum number of conditions per rule reached",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nThis rule already has the maximum number of conditions allowed.\n\n### Possible causes\n\nThe number of conditions in a given rule cannot exceed the limit. See https://www.twilio.com/docs/sip-trunking/sip-header-manipulation\n\n### Possible solutions\n\nOptimize your rule by removing unused conditions.\n",
    "causes": "The number of conditions in a given rule cannot exceed the limit. See https://www.twilio.com/docs/sip-trunking/sip-header-manipulation",
    "solutions": "Optimize your rule by removing unused conditions.",
    "description": "This rule already has the maximum number of conditions allowed.",
    "date_created": "2021-09-16T19:36:00Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21262,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "No AMD status callback URL provided",
    "secondary_message": "No Answering Machine Detection status callback URL was provided for this call.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nAnswering Machine Detection was enabled on this call, but no AMD status callback URL was provided, so Twilio has no where to send the results when they are returned. AMD results will still be available in the /Calls resource once the call is complete.\n\n### Possible causes\n\nNo AMD status callback URL was provided\n\n### Possible solutions\n\nProvide an AMD status callback URL when enabling Answering Machine Detection\n",
    "causes": "No AMD status callback URL was provided",
    "solutions": "Provide an AMD status callback URL when enabling Answering Machine Detection",
    "description": "Answering Machine Detection was enabled on this call, but no AMD status callback URL was provided, so Twilio has no where to send the results when they are returned. AMD results will still be available in the /Calls resource once the call is complete.",
    "date_created": "2022-08-25T01:37:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21263,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid Answering Machine Detection Parameters",
    "secondary_message": "Answering Machine Detection parameters specific to POST to /Calls API have been passed in POST to /Participants, `<Dial><Number>`, or `<Dial><Sip>`",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInvalid Answering Machine Detection Parameters\n\n### Possible causes\n\nAsyncAmd, AsyncAmdStatusCallback, and/or AsyncAmdStatusCallbackMethod parameters from `POST` to /Calls API have been passed in a `POST` to /Participants API, or added to `<Dial><Number>` or `<Dial><Sip>` TwiML.\n\n### Possible solutions\n\nDo not include AsyncAmd, AsyncAmdStatusCallback, or AsyncAmdStatusCallbackMethod parameters in `POST` requests made to /Participants API and in TwiML responses that include `<Dial><Number>` or `<Dial><Sip>` with Answering Machine Detection enabled.\n",
    "causes": "AsyncAmd, AsyncAmdStatusCallback, and/or AsyncAmdStatusCallbackMethod parameters from `POST` to /Calls API have been passed in a `POST` to /Participants API, or added to `<Dial><Number>` or `<Dial><Sip>` TwiML.",
    "solutions": "Do not include AsyncAmd, AsyncAmdStatusCallback, or AsyncAmdStatusCallbackMethod parameters in `POST` requests made to /Participants API and in TwiML responses that include `<Dial><Number>` or `<Dial><Sip>` with Answering Machine Detection enabled.",
    "description": "Invalid Answering Machine Detection Parameters",
    "date_created": "2022-08-25T01:47:01Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21264,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "‘From’ phone number not verified",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYou received an inbound phone call to a Twilio phone number owned by your trial account, but the 'From' number is not a [Verified Caller ID](https://support.twilio.com/hc/en-us/articles/223180048-How-to-Add-and-Remove-a-Verified-Phone-Number-or-Caller-ID-with-Twilio) on your account. In order to receive calls to a Twilio number during a free trial, you must first verify your ownership of the phone number that is placing the call.\n\n### Possible causes\n\nThe 'From' number of the inbound call is not a [Verified Caller ID](https://support.twilio.com/hc/en-us/articles/223180048-How-to-Add-and-Remove-a-Verified-Phone-Number-or-Caller-ID-with-Twilio). Trial accounts can only receive inbound calls from verified phone numbers.\n\n### Possible solutions\n\nYou can verify phone numbers from the [phone numbers section](https://www.twilio.com/user/account/phone-numbers) of your account portal.\n",
    "causes": "The 'From' number of the inbound call is not a [Verified Caller ID](https://support.twilio.com/hc/en-us/articles/223180048-How-to-Add-and-Remove-a-Verified-Phone-Number-or-Caller-ID-with-Twilio). Trial accounts can only receive inbound calls from verified phone numbers.",
    "solutions": "You can verify phone numbers from the [phone numbers section](https://www.twilio.com/user/account/phone-numbers) of your account portal.",
    "description": "You received an inbound phone call to a Twilio phone number owned by your trial account, but the 'From' number is not a [Verified Caller ID](https://support.twilio.com/hc/en-us/articles/223180048-How-to-Add-and-Remove-a-Verified-Phone-Number-or-Caller-ID-with-Twilio) on your account. In order to receive calls to a Twilio number during a free trial, you must first verify your ownership of the phone number that is placing the call.",
    "date_created": "2023-09-27T00:07:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21265,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'To' number cannot be a Short Code",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou attempted to send an SMS, but the `To` phone number you supplied was a [Short Code](/docs/glossary/what-is-a-short-code). Twilio numbers cannot send messages to short codes at this time whether they are Twilio short codes or external short codes.\n\n### Possible causes\n\nYou attempted to send an SMS to Short Code.\n\n### Possible solutions\n\nEnsure you are not attempting to send messages to Short Codes. These sender types cannot receive messages from Twilio numbers.\n",
    "causes": "You attempted to send an SMS to Short Code.",
    "solutions": "Ensure you are not attempting to send messages to Short Codes. These sender types cannot receive messages from Twilio numbers.",
    "description": "You attempted to send an SMS, but the `To` phone number you supplied was a [Short Code](/docs/glossary/what-is-a-short-code). Twilio numbers cannot send messages to short codes at this time whether they are Twilio short codes or external short codes.",
    "date_created": "2024-07-10T08:39:46Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21266,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'To' and 'From' numbers cannot be the same",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou attempted to send an SMS, but the `To` phone number you supplied is the same as the `From` number.\n\n### Possible causes\n\nYou attempted to send an SMS from a Twilio number to itself (i.e. putting the same Twilio number in the `To` and `From` parameters).\n\n### Possible solutions\n\nEnsure you are not attempting to send a message from a Twilio number to itself.\n",
    "causes": "You attempted to send an SMS from a Twilio number to itself (i.e. putting the same Twilio number in the `To` and `From` parameters).",
    "solutions": "Ensure you are not attempting to send a message from a Twilio number to itself.",
    "description": "You attempted to send an SMS, but the `To` phone number you supplied is the same as the `From` number.",
    "date_created": "2024-07-10T08:44:56Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21267,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Alphanumeric Sender ID cannot be used as the 'From' number on trial accounts",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou attempted to send an SMS from a Trial Account using an Alphanumeric Sender ID as the `From` parameter.\n\n### Possible causes\n\nYou are trying to use an Alphanumeric Sender ID on a Trial Account. Trial accounts [cannot send from Alphanumeric Sender IDs](/docs/usage/tutorials/how-to-use-your-free-trial-account#sending-sms-and-mms-messages)\n\n### Possible solutions\n\nIf you are using an Alphanumeric Sender ID on a Trial Account, [upgrade your account](/docs/usage/tutorials/how-to-use-your-free-trial-account#how-to-upgrade-your-account).\n",
    "causes": "You are trying to use an Alphanumeric Sender ID on a Trial Account. Trial accounts [cannot send from Alphanumeric Sender IDs](/docs/usage/tutorials/how-to-use-your-free-trial-account#sending-sms-and-mms-messages)",
    "solutions": "If you are using an Alphanumeric Sender ID on a Trial Account, [upgrade your account](/docs/usage/tutorials/how-to-use-your-free-trial-account#how-to-upgrade-your-account).",
    "description": "You attempted to send an SMS from a Trial Account using an Alphanumeric Sender ID as the `From` parameter.",
    "date_created": "2024-07-10T08:52:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21268,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sending to Premium rate or Information Service numbers is not allowed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio doesn't allow sending SMS messages to premium rate or information service numbers.\n\n### Possible causes\n\nYou attempted to send an SMS to premium rate or information service numbers.\n\n### Possible solutions\n\nTwilio doesn't allow sending SMS messages to premium rate or information service numbers.\n",
    "causes": "You attempted to send an SMS to premium rate or information service numbers.",
    "solutions": "Twilio doesn't allow sending SMS messages to premium rate or information service numbers.",
    "description": "Twilio doesn't allow sending SMS messages to premium rate or information service numbers.",
    "date_created": "2024-07-10T08:54:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21300,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid BYOC trunk SID",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYou have specified a BYOC trunk SID that is malformed or non-existent.\n\n### Possible causes\n\n- The SID in question is not formatted correctly. A valid BYOC trunk SID starts with prefix \"BY\" and is 34 characters in length.\n- The BYOC trunk identified by the SID does not exist. If it existed in the past, it has since been removed.\n- The BYOC trunk exists but ownership is with a different account.\n\n### Possible solutions\n\nMake sure you submit the SID of a BYOC trunk that you can locate within your account.\n",
    "causes": "* The SID in question is not formatted correctly. A valid BYOC trunk SID starts with prefix \"BY\" and is 34 characters in length.\n* The BYOC trunk identified by the SID does not exist. If it existed in the past, it has since been removed.\n* The BYOC trunk exists but ownership is with a different account.",
    "solutions": "Make sure you submit the SID of a BYOC trunk that you can locate within your account.",
    "description": "You have specified a BYOC trunk SID that is malformed or non-existent.",
    "date_created": "2020-01-17T19:31:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21301,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot create application: application limit exceeded",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCannot create application: application limit exceeded\n\n### Possible causes\n\nYou have attempted to create a new application that exceeds the limit of 1000 applications.\n\n### Possible solutions\n\nDelete or update application in order to create new application.\n",
    "causes": "You have attempted to create a new application that exceeds the limit of 1000 applications.",
    "solutions": "Delete or update application in order to create new application.",
    "description": "Cannot create application: application limit exceeded",
    "date_created": "2020-03-30T19:08:19Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21302,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Approaching application creation limit ",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio raises 21302 when your account is approaching the limit of 1000 TwiML applications. TwiML Applications can be managed in the Console or through the Applications Resource.\n\n### Possible causes\n\n- You are approaching the limit of 1000 TwiML applications.\n\n### Possible solutions\n\n- Delete or update existing applications instead of creating new applications.\n- Review your existing TwiML Applications in the Console or with the Applications Resource before creating more.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [REST API: Applications](/docs/usage/api/applications)\n- [TwiML Voice: `<Application>` usage](/docs/voice/twiml/dial/application/usage)\n",
    "causes": "* You are approaching the limit of 1000 TwiML applications.",
    "solutions": "* Delete or update existing applications instead of creating new applications.\n* Review your existing TwiML Applications in the Console or with the Applications Resource before creating more.",
    "description": "Twilio raises 21302 when your account is approaching the limit of 1000 TwiML applications. TwiML Applications can be managed in the Console or through the Applications Resource.",
    "date_created": "2020-04-27T22:13:38Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 21401,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Phone Number",
    "secondary_message": "The phone number you specified was not a valid North American (US or Canadian) number. Twilio accepts only 10 digit US domestic and Canadian phone numbers, with or without a leading \"1\" or \"+1\", with any combination of character separators. For example, these are all valid: 415-867-5309, 4158675309, +1 (415) 867 5309.",
    "product": null,
    "docs": "\n## Description\n\n### Invalid Phone Number\n\nThe phone number you specified was not a valid SMS-enabled phone number or alphanumeric sender ID.\n\nIf a phone number was used, this number must be one you have purchased from or ported to Twilio in [E.164 format](http://en.wikipedia.org/wiki/E.164).\n\nAlphanumeric sender IDs can only be used with [accepted characters](/docs/messaging/api#alpha-sender-id) when messaging [countries where this feature is supported](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID).\n\n### Possible causes\n\nThe phone number is not supported in North America.\n\n### Possible solutions\n\nTry using a different phone number: https://www.twilio.com/phone-numbers\n",
    "causes": "The phone number is not supported in North America.",
    "solutions": "Try using a different phone number: https://www.twilio.com/phone-numbers",
    "description": "",
    "date_created": "2016-03-31T17:13:58Z",
    "last_updated": "2026-03-25T16:35:39-05:00"
  },
  {
    "code": 21402,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Url",
    "secondary_message": "You attempted to update the URL handler associated with a phone number, but the URL you specified was not valid. You must specify a valid URL, beginning with http or https, such as http://mycompany.com/callHandler",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to update the URL handler associated with a phone number, but the URL you specified was not valid.\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n\nTwilio must be able to reach this URL over the public Internet.\n",
    "causes": null,
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "description": "You attempted to update the URL handler associated with a phone number, but the URL you specified was not valid.",
    "date_created": "2016-03-31T17:13:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21403,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Method",
    "secondary_message": "You attempted to update the HTTP method that Twilio uses when somebody calls your phone number, but the Method you supplied was not valid. Valid Method values are GET or POST.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to update the HTTP method that Twilio uses when somebody calls your phone number, but the Method you supplied was not valid. Valid Method values are `GET` or `POST`.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to update the HTTP method that Twilio uses when somebody calls your phone number, but the Method you supplied was not valid. Valid Method values are `GET` or `POST`.",
    "date_created": "2016-03-31T17:13:59Z",
    "last_updated": "2020-08-04T10:00:27.028Z"
  },
  {
    "code": 21404,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Inbound Phone number not available to trial account",
    "secondary_message": "You attempted to get a phone number using the REST API, but your Twilio Free Trial Account does not support having your own phone number. Please upgrade to a Full Twilio Account in order to enable this feature.",
    "product": null,
    "docs": "\n## Description\n\nPurchasing phone numbers is a feature that is only available for upgraded accounts. Please upgrade to a Full Twilio Account in order to purchase numbers.\n\nYou can upgrade from the [billing section](/user/billing) of your account portal.\n",
    "causes": null,
    "solutions": null,
    "description": "Purchasing phone numbers is a feature that is only available for upgraded accounts. Please upgrade to a Full Twilio Account in order to purchase numbers. You can upgrade from the [billing section](/user/billing) of your account portal.",
    "date_created": "2016-03-31T17:13:59Z",
    "last_updated": "2020-08-04T10:00:27.009Z"
  },
  {
    "code": 21405,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Cannot set VoiceFallbackUrl without setting Url",
    "secondary_message": "You cannot set a fallback URL without specifying a primary URL",
    "product": null,
    "docs": "\n## Description\n\nYou cannot set a fallback URL without specifying a primary URL\n",
    "causes": null,
    "solutions": null,
    "description": "You cannot set a fallback URL without specifying a primary URL",
    "date_created": "2016-03-31T17:14:19Z",
    "last_updated": "2020-08-04T10:00:25.579Z"
  },
  {
    "code": 21406,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Cannot set SmsFallbackUrl without setting SmsUrl",
    "secondary_message": "You cannot set a fallback URL without specifying a primary URL",
    "product": null,
    "docs": "\n## Description\n\nYou cannot set a fallback URL without specifying a primary URL\n",
    "causes": null,
    "solutions": null,
    "description": "You cannot set a fallback URL without specifying a primary URL",
    "date_created": "2016-03-31T17:14:20Z",
    "last_updated": "2020-08-04T10:00:25.558Z"
  },
  {
    "code": 21407,
    "log_level": "ERROR",
    "log_type": null,
    "message": "This Phone Number type does not support SMS",
    "secondary_message": "This phone number type does not support SMS. You cannot set SmsUrl, SmsMethod, SmsFallbackUrl, or SmsFallbackMethod",
    "product": null,
    "docs": "\n## Description\n\nThis phone number type does not support SMS. You cannot set SmsUrl, SmsMethod, SmsFallbackUrl, or SmsFallbackMethod\n",
    "causes": null,
    "solutions": null,
    "description": "This phone number type does not support SMS. You cannot set SmsUrl, SmsMethod, SmsFallbackUrl, or SmsFallbackMethod",
    "date_created": "2016-03-31T17:14:20Z",
    "last_updated": "2020-08-04T10:00:25.541Z"
  },
  {
    "code": 21408,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message is blocked or permissions are disabled for the region indicated by the 'To' number",
    "secondary_message": "Permission to send an SMS or MMS has not been enabled for the region indicated by the 'To' number",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have attempted to send an SMS or MMS to a region that has not been enabled in your account's [Messaging Geo-Permissions](https://console.twilio.com/us1/develop/sms/settings/geo-permissions) settings. These settings exist to help you ensure you only send SMS or MMS to the countries or regions you operate in, and avoid unexpected charges.\n\n### Possible causes\n\n- You have attempted to send an SMS or MMS to a region that has not been enabled in your account's [Messaging Geo-Permissions](https://console.twilio.com/us1/develop/sms/settings/geo-permissions) settings. These settings exist to help you ensure you only send SMS or MMS to the countries or regions you operate in, and avoid unexpected charges.\n- You have attempted to send a message to a region not supported by Twilio, such as traffic to recipients in Iran. For WhatsApp and RCS this includes all 'To' numbers that begin with the +98 prefix.\n\n### Possible solutions\n\nIf you wish to send messages to this region, please enable the relevant permissions on your account using the [Messaging Geographic Permissions](https://console.twilio.com/us1/develop/sms/settings/geo-permissions) page.\n\nNote: To align with evolving regulatory requirements, Twilio has stopped delivering voice, messaging, and email traffic to recipients in Iran starting March 15, 2025 and Syria & Cuba starting September 15, 2025. Hence messages to Iran, Syria & Cuba can't be resumed using Geo Permissions.\n",
    "causes": "* You have attempted to send an SMS or MMS to a region that has not been enabled in your account's [Messaging Geo-Permissions](https://console.twilio.com/us1/develop/sms/settings/geo-permissions) settings. These settings exist to help you ensure you only send SMS or MMS to the countries or regions you operate in, and avoid unexpected charges.\n* You have attempted to send a message to a region not supported by Twilio, such as traffic to recipients in Iran. For WhatsApp and RCS this includes all 'To' numbers that begin with the +98 prefix.",
    "solutions": "If you wish to send messages to this region, please enable the relevant permissions on your account using the [Messaging Geographic Permissions](https://console.twilio.com/us1/develop/sms/settings/geo-permissions) page. Note: To align with evolving regulatory requirements, Twilio has stopped delivering voice, messaging, and email traffic to recipients in Iran starting March 15, 2025 and Syria & Cuba starting September 15, 2025. Hence messages to Iran, Syria & Cuba can't be resumed using Geo Permissions.",
    "description": "You have attempted to send an SMS or MMS to a region that has not been enabled in your account's [Messaging Geo-Permissions](https://console.twilio.com/us1/develop/sms/settings/geo-permissions) settings. These settings exist to help you ensure you only send SMS or MMS to the countries or regions you operate in, and avoid unexpected charges.",
    "date_created": "2016-03-31T17:14:20Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21409,
    "log_level": "ERROR",
    "log_type": null,
    "message": "VoiceCallerIdLookup cannot be set for this phone number",
    "secondary_message": "You attempted to set the VoiceCallerIdLookup for a phone number using the REST API, but the number does not support this feature.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to set the VoiceCallerIdLookup for a phone number using the REST API, but the number does not support this feature.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to set the VoiceCallerIdLookup for a phone number using the REST API, but the number does not support this feature.",
    "date_created": "2016-03-31T17:13:59Z",
    "last_updated": "2020-08-04T10:00:26.966Z"
  },
  {
    "code": 21420,
    "log_level": "ERROR",
    "log_type": null,
    "message": "ApplicationSid is not accessible",
    "secondary_message": "You specified a VoiceApplicationSid or SmsApplicationSid for a new phone number that is not controlled by your account, or is invalid. Please specify an ApplicationSid that you've created in your [Account Dashboard](/user/account/apps).",
    "product": null,
    "docs": "\n## Description\n\nYou specified a VoiceApplicationSid or SmsApplicationSid for a new phone number that is not controlled by your account, or is invalid. Please specify an ApplicationSid that you've created in your [Account Dashboard](/user/account/apps).\n",
    "causes": null,
    "solutions": null,
    "description": "You specified a VoiceApplicationSid or SmsApplicationSid for a new phone number that is not controlled by your account, or is invalid. Please specify an ApplicationSid that you've created in your [Account Dashboard](/user/account/apps).",
    "date_created": "2016-03-31T17:14:20Z",
    "last_updated": "2020-08-04T10:00:25.499Z"
  },
  {
    "code": 21421,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone Number is invalid",
    "secondary_message": "You tried to purchase a phone number for your account that was an invalid number. Please specify a valid phone number in E.164 format.",
    "product": null,
    "docs": "\n## Description\n\nYou tried to purchase or lookup a phone number that is invalid or add a phone number to a Messaging Service with an invalid Phone Number SID.\n\n### Possible causes\n\n- You tried to purchase or lookup a phone number that is invalid.\n- You tried to add an invalid Phone Number SID or Short Code SID to a Messaging Service.\n\n### Possible solutions\n\n- For phone number lookup or purchase, please specify a valid phone number in E.164 format.\n- For adding a Phone Number to a Messaging Service, verify that the Phone Number SID or Short Code SID is correct and formatted properly, then retry the request.\n",
    "causes": "* You tried to purchase or lookup a phone number that is invalid.\n* You tried to add an invalid Phone Number SID or Short Code SID to a Messaging Service.",
    "solutions": "* For phone number lookup or purchase, please specify a valid phone number in E.164 format.\n* For adding a Phone Number to a Messaging Service, verify that the Phone Number SID or Short Code SID is correct and formatted properly, then retry the request.",
    "description": "You tried to purchase or lookup a phone number that is invalid or add a phone number to a Messaging Service with an invalid Phone Number SID.",
    "date_created": "2016-03-31T17:14:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21422,
    "log_level": "ERROR",
    "log_type": null,
    "message": "PhoneNumber is not available",
    "secondary_message": "You tried to purchase a phone number that is not available for purchase. This error can be triggered in a few ways: - Twilio does not own the phone number in question. - Twilio owns the number, but it is reserved for another account.",
    "product": null,
    "docs": "\n## Description\n\nYou tried to purchase a phone number that is not available for purchase.\n\nThis error can be triggered in a few ways:\n\n- Twilio does not own the phone number in question.\n- Twilio owns the number, but it is reserved for another account.\n",
    "causes": null,
    "solutions": null,
    "description": "You tried to purchase a phone number that is not available for purchase. This error can be triggered in a few ways: - Twilio does not own the phone number in question.\n- Twilio owns the number, but it is reserved for another account.",
    "date_created": "2016-03-31T17:14:21Z",
    "last_updated": "2020-08-04T10:00:25.461Z"
  },
  {
    "code": 21449,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Number already can be used for outgoing calls and messages",
    "secondary_message": "The number you attempted to add as an Outgoing Caller ID to your account already can be used for outgoing calls and messages.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe number you attempted to add as an Outgoing Caller ID to your account already can be used for outgoing calls and messages.\n",
    "causes": null,
    "solutions": null,
    "description": "The number you attempted to add as an Outgoing Caller ID to your account already can be used for outgoing calls and messages.",
    "date_created": "2018-01-16T12:08:00Z",
    "last_updated": "2020-08-04T10:00:15.293Z"
  },
  {
    "code": 21450,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone number already validated on your account",
    "secondary_message": "You attempted to add an Outgoing Caller ID to your account, but that number is already verified as an Outgoing Caller ID on your account.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to verify a phone number for your account, but that number is already verified for your account.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to verify a phone number for your account, but that number is already verified for your account.",
    "date_created": "2016-03-31T17:13:59Z",
    "last_updated": "2020-08-04T10:00:26.945Z"
  },
  {
    "code": 21451,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid area code",
    "secondary_message": "You attempted to get a phone number for your account, but the AreaCode parameter you specified was not a valid North American area code. AreaCode is optional, and for Local phone numbers, may be any US or Canadian area code, or for TollFree numbers, may be one of 800,888,877 or 866.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to get a phone number for your account, but the AreaCode parameter you specified was not a valid North American area code. AreaCode is optional, and for Local phone numbers, may be any US or Canadian area code, or for TollFree numbers, may be one of 800,888,877 or 866.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to get a phone number for your account, but the AreaCode parameter you specified was not a valid North American area code. AreaCode is optional, and for Local phone numbers, may be any US or Canadian area code, or for TollFree numbers, may be one of 800,888,877 or 866.",
    "date_created": "2016-03-31T17:14:00Z",
    "last_updated": "2020-08-04T10:00:26.927Z"
  },
  {
    "code": 21452,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No phone numbers found in area code",
    "secondary_message": "You attempted to get a phone number for your account, but Twilio couldn't find any numbers in the area you specified. You may try again with a different AreaCode or contact us to request a number in a certain area. We can usually accommodate such requests within a few days.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to get a phone number for your account, but Twilio couldn't find any numbers in the area you specified. You may try again with a different AreaCode or contact us to request a number in a certain area. We can usually accommodate such requests within a few days.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to get a phone number for your account, but Twilio couldn't find any numbers in the area you specified. You may try again with a different AreaCode or contact us to request a number in a certain area. We can usually accommodate such requests within a few days.",
    "date_created": "2016-03-31T17:14:00Z",
    "last_updated": "2020-08-04T10:00:26.909Z"
  },
  {
    "code": 21453,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone number already validated on another account",
    "secondary_message": "You attempted to validate your phone number to activate your Twilio Free Trial Account, but that phone number is already associated with another Free Trial Account. You can only open one Free Trial Account per phone number.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to verify your phone number to activate your Twilio Free Trial Account, but that phone number is already associated with another Free Trial Account. You can only open one Free Trial Account per phone number.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to verify your phone number to activate your Twilio Free Trial Account, but that phone number is already associated with another Free Trial Account. You can only open one Free Trial Account per phone number.",
    "date_created": "2016-03-31T17:14:00Z",
    "last_updated": "2020-08-04T10:00:26.891Z"
  },
  {
    "code": 21454,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid CallDelay",
    "secondary_message": "Call delay specified must be an integer between 0 and 60, specifying the number of seconds to delay before initiating the validation call.",
    "product": null,
    "docs": "\n## Description\n\nCall delay specified must be an integer between 0 and 60, specifying the number of seconds to delay before initiating the validation call.\n\n### Possible causes\n\n- Make sure to enter an integer between 0 and 60.\n",
    "causes": "* Make sure to enter an integer between 0 and 60.",
    "solutions": null,
    "description": "Call delay specified must be an integer between 0 and 60, specifying the number of seconds to delay before initiating the validation call.",
    "date_created": "2016-03-31T17:14:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21455,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid PlayUrl",
    "secondary_message": "PlayUrl must be a valid URL using the HTTP or HTTPS protocol.",
    "product": null,
    "docs": "\n## Description\n\nThe URL given to play during validation isn't a valid URL.\n\n### Possible causes\n",
    "causes": "",
    "solutions": null,
    "description": "The URL given to play during validation isn't a valid URL.",
    "date_created": "2016-03-31T17:14:01Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21456,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid CallbackUrl",
    "secondary_message": "CallbackUrl must be a valid URL using the HTTP or HTTPS protol.",
    "product": null,
    "docs": "\n## Description\n\nThe callback URL given to callback after validation isn't a valid URL.\n\n### Possible causes\n",
    "causes": "",
    "solutions": null,
    "description": "The callback URL given to callback after validation isn't a valid URL.",
    "date_created": "2016-03-31T17:14:01Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21457,
    "log_level": "ERROR",
    "log_type": null,
    "message": "AreaCode Parameter not Supported",
    "secondary_message": "The AreaCode parameter for provisioning numbers is not supported on the IncomingPhoneNumbers/Local & IncomingPhoneNumbers/TollFree sub-resources.",
    "product": null,
    "docs": "\n## Description\n\nThe AreaCode parameter for provisioning numbers is not supported on the IncomingPhoneNumbers/Local & IncomingPhoneNumbers/TollFree sub-resources.\n",
    "causes": null,
    "solutions": null,
    "description": "The AreaCode parameter for provisioning numbers is not supported on the IncomingPhoneNumbers/Local & IncomingPhoneNumbers/TollFree sub-resources.",
    "date_created": "2016-03-31T17:14:21Z",
    "last_updated": "2020-08-04T10:00:25.443Z"
  },
  {
    "code": 21458,
    "log_level": "ERROR",
    "log_type": null,
    "message": "PhoneNumber Provisioning Type Mismatch",
    "secondary_message": "The type of a PhoneNumber (toll-free or not) did not match the type of the IncomingPhoneNumbers sub-resource (Local or TollFree). #### Possible Causes \\* Make sure to provision toll-free numbers from the IncomingPhoneNumbers/TollFree resource or directly from the IncomingPhoneNumbers/ resource. \\* Make sure to provision non-toll-free numbers from the IncomingPhoneNumbers/Local resource or directly from the IncomingPhoneNumbers/ resource.",
    "product": null,
    "docs": "\n## Description\n\nThe type of a PhoneNumber (toll-free or not) did not match the type of the IncomingPhoneNumbers sub-resource (Local or TollFree).\n\n### Possible causes\n\n- Make sure to provision toll-free numbers from the IncomingPhoneNumbers/TollFree resource or directly from the IncomingPhoneNumbers/ resource.\n- Make sure to provision non-toll-free numbers from the IncomingPhoneNumbers/Local resource or directly from the IncomingPhoneNumbers/ resource.\n",
    "causes": "* Make sure to provision toll-free numbers from the IncomingPhoneNumbers/TollFree resource or directly from the IncomingPhoneNumbers/ resource.\n* Make sure to provision non-toll-free numbers from the IncomingPhoneNumbers/Local resource or directly from the IncomingPhoneNumbers/ resource.",
    "solutions": null,
    "description": "The type of a PhoneNumber (toll-free or not) did not match the type of the IncomingPhoneNumbers sub-resource (Local or TollFree).",
    "date_created": "2016-03-31T17:14:21Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21459,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone number is blacklisted for verification",
    "secondary_message": "This phone number has been blacklisted and cannot be verified on any Twilio account. Usually, this occurs because of suspected fraudulent use or violations of Twilio's Acceptable Use Policy. If you believe this number should not be blacklisted, please [contact support](/help/contact).",
    "product": null,
    "docs": "\n## Description\n\nThis phone number has been blacklisted and cannot be verified on any Twilio account. Usually, this occurs because of suspected fraudulent use or violations of Twilio's Acceptable Use Policy. If you believe this number should not be blacklisted, please [contact support](/help/contact).\n",
    "causes": null,
    "solutions": null,
    "description": "This phone number has been blacklisted and cannot be verified on any Twilio account. Usually, this occurs because of suspected fraudulent use or violations of Twilio's Acceptable Use Policy. If you believe this number should not be blacklisted, please [contact support](/help/contact).",
    "date_created": "2016-04-29T21:19:20.353Z",
    "last_updated": "2016-04-29T21:19:20.353Z"
  },
  {
    "code": 21460,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Phone Number is being migrated to use a new Regulatory System ",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nTwilio is moving to a new Regulatory System for Phone Number Provisioning. Your account is in the process of migration to the new system and so some functionality may not be updated temporarily. You can continue to you update once the migration completes. Please [contact support](/help/contact) if you have futher questions.\n\n### Possible causes\n\nAccount is in migration to Regulatory System and hence some functionality cannot be updated.\n\n### Possible solutions\n\nThis is just temporary.\n",
    "causes": "Account is in migration to Regulatory System and hence some functionality cannot be updated.",
    "solutions": "This is just temporary.",
    "description": "Twilio is moving to a new Regulatory System for Phone Number Provisioning. Your account is in the process of migration to the new system and so some functionality may not be updated temporarily. You can continue to you update once the migration completes. Please [contact support](/help/contact) if you have futher questions.",
    "date_created": "2019-07-20T01:22:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21470,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid AccountSid",
    "secondary_message": "The AccountSid you specified was not a valid AccountSid identifier. AccountSid's are 34 character strings that represent the Twilio Account . For example, AC44CE4123947237834573457345347567.",
    "product": null,
    "docs": "\n## Description\n\nThe AccountSid you specified was not a valid AccountSid identifier. AccountSid's are 34 character strings that represent the Twilio Account . For example, AC44CE4123947237834573457345347567.\n",
    "causes": null,
    "solutions": null,
    "description": "The AccountSid you specified was not a valid AccountSid identifier. AccountSid's are 34 character strings that represent the Twilio Account . For example, AC44CE4123947237834573457345347567.",
    "date_created": "2016-03-31T17:14:22Z",
    "last_updated": "2020-08-04T10:00:25.405Z"
  },
  {
    "code": 21471,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Account does not exist",
    "secondary_message": "The AccountSid you specified does not exist. AccountSids are 34 character strings that represent the Twilio Account. For example, AC44CE4123947237834573457345347567.",
    "product": null,
    "docs": "\n## Description\n\nThe AccountSid you specified does not exist. AccountSids are 34 character strings that represent the Twilio Account. For example, AC44CE4123947237834573457345347567.\n",
    "causes": null,
    "solutions": null,
    "description": "The AccountSid you specified does not exist. AccountSids are 34 character strings that represent the Twilio Account. For example, AC44CE4123947237834573457345347567.",
    "date_created": "2016-03-31T17:14:22Z",
    "last_updated": "2020-08-04T10:00:25.371Z"
  },
  {
    "code": 21472,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Account is not active",
    "secondary_message": "The AccountSid you specified is not an active Twilio Account. To transfer the account, you must supply an Active 34 character AccountSid .",
    "product": null,
    "docs": "\n## Description\n\nThe AccountSid you specified is not an active Twilio Account. To transfer the account, you must supply an Active 34 character AccountSid .\n",
    "causes": null,
    "solutions": null,
    "description": "The AccountSid you specified is not an active Twilio Account. To transfer the account, you must supply an Active 34 character AccountSid .",
    "date_created": "2016-03-31T17:14:22Z",
    "last_updated": "2020-08-04T10:00:25.353Z"
  },
  {
    "code": 21473,
    "log_level": "ERROR",
    "log_type": null,
    "message": "AccountSid you are transferring to is not related to the originating owner of the phone number",
    "secondary_message": "The AccountSid you specified is neither parent nor child of the originating Account owner. Please make sure that the subaccount or parent account is related to the current owner you are transferring from or to.",
    "product": null,
    "docs": "\n## Description\n\nThe AccountSid you specified is neither parent nor child of the originating Account owner. Please make sure that the subaccount or parent account is related to the current owner you are transferring from or to.\n",
    "causes": null,
    "solutions": null,
    "description": "The AccountSid you specified is neither parent nor child of the originating Account owner. Please make sure that the subaccount or parent account is related to the current owner you are transferring from or to.",
    "date_created": "2016-03-31T17:14:23Z",
    "last_updated": "2020-08-04T10:00:25.329Z"
  },
  {
    "code": 21474,
    "log_level": "ERROR",
    "log_type": null,
    "message": "API User must be the parent account to transfer phone numbers.",
    "secondary_message": "The API user can not be a subaccount, must be a parent account to transfer phone numbers between parent and child accounts.",
    "product": null,
    "docs": "\n## Description\n\nThe API user can not be a subaccount, must be a parent account to transfer phone numbers between parent and child accounts.\n",
    "causes": null,
    "solutions": null,
    "description": "The API user can not be a subaccount, must be a parent account to transfer phone numbers between parent and child accounts.",
    "date_created": "2016-03-31T17:14:23Z",
    "last_updated": "2020-08-04T10:00:25.311Z"
  },
  {
    "code": 21475,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to update Status, invalid Status.",
    "secondary_message": "The Status you specified must be one of the following strings: 'active', 'suspended', or 'closed'.",
    "product": null,
    "docs": "\n## Description\n\nThe Status you specified must be one of the following strings: 'active', 'suspended', or 'closed'.\n",
    "causes": null,
    "solutions": null,
    "description": "The Status you specified must be one of the following strings: 'active', 'suspended', or 'closed'.",
    "date_created": "2016-03-31T17:14:23Z",
    "last_updated": "2020-08-04T10:00:25.294Z"
  },
  {
    "code": 21476,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to update Status for subaccount, parent account is suspended.",
    "secondary_message": "Unable to update Status for subaccount, parent account is suspended. The account needs to be in good standing to continue using the subaccount feature.",
    "product": null,
    "docs": "\n## Description\n\nUnable to update Status for subaccount, parent account is suspended. The account needs to be in good standing to continue using the subaccount feature.\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to update Status for subaccount, parent account is suspended. The account needs to be in good standing to continue using the subaccount feature.",
    "date_created": "2016-03-31T17:14:24Z",
    "last_updated": "2020-08-04T10:00:25.253Z"
  },
  {
    "code": 21477,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to update Status for parent accounts",
    "secondary_message": "Unable to update Status for parent accounts, status updates restricted to subaccounts only",
    "product": null,
    "docs": "\n## Description\n\nUnable to update Status for parent accounts, status updates restricted to subaccounts only\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to update Status for parent accounts, status updates restricted to subaccounts only",
    "date_created": "2016-03-31T17:14:24Z",
    "last_updated": "2020-08-04T10:00:25.235Z"
  },
  {
    "code": 21478,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to update Status for subaccount, subaccount has been suspended by Twilio",
    "secondary_message": "Unable to update Status for subaccounts that have been suspended externally by Twilio. Please contact customer support: http://www.twilio.com/help",
    "product": null,
    "docs": "\n## Description\n\nUnable to update Status for subaccounts that have been suspended externally by Twilio. Please contact customer support: http://www.twilio.com/help\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to update Status for subaccounts that have been suspended externally by Twilio. Please contact customer support: http://www.twilio.com/help",
    "date_created": "2016-03-31T17:14:24Z",
    "last_updated": "2020-08-04T10:00:25.219Z"
  },
  {
    "code": 21479,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to update Status for subaccount, subaccount has been closed.",
    "secondary_message": "Unable to update Status for subaccount, subaccount is closed and can not be re-opened.",
    "product": null,
    "docs": "\n## Description\n\nUnable to update Status for subaccount, subaccount is closed and can not be re-opened.\n",
    "causes": null,
    "solutions": null,
    "description": "Unable to update Status for subaccount, subaccount is closed and can not be re-opened.",
    "date_created": "2016-03-31T17:14:24Z",
    "last_updated": "2020-08-04T10:00:25.173Z"
  },
  {
    "code": 21480,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Reached maximum number of subaccounts",
    "secondary_message": "Reached maximum number of subaccounts, please contact [Twilio](/help) if you want to create more subaccounts.",
    "product": null,
    "docs": "\n## Description\n\nReached maximum number of subaccounts, please contact [Twilio](/help) if you want to create more subaccounts.\n",
    "causes": null,
    "solutions": null,
    "description": "Reached maximum number of subaccounts, please contact [Twilio](/help) if you want to create more subaccounts.",
    "date_created": "2016-03-31T17:14:25Z",
    "last_updated": "2020-08-04T10:00:25.155Z"
  },
  {
    "code": 21481,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid PageToken",
    "secondary_message": "The PageToken in the requested URL was not valid.",
    "product": "Account",
    "docs": "\n## Description\n\nThe `PageToken` in the requested URL was not valid. If you are paging through a result set, be sure you are requesting the provided paging urls in the Twilio API response.\n",
    "causes": null,
    "solutions": null,
    "description": "The `PageToken` in the requested URL was not valid. If you are paging through a result set, be sure you are requesting the provided paging urls in the Twilio API response.",
    "date_created": "2017-05-03T21:24:06Z",
    "last_updated": "2020-08-04T10:00:19.161Z"
  },
  {
    "code": 21501,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Resource not available",
    "secondary_message": "The resource you requested is not (yet) available.",
    "product": null,
    "docs": "\n## Description\n\nThe resource you requested is not (yet) available.\n\n### Possible causes\n\n- Most likely you're fetching a Recording resource that is temporarily performing some post-processing, and will be available momentarily.\n\n### Possible solutions\n\n- Retry the HTTP request again. The Retry-After header will tell you when to retry. Within a couple seconds should be ample.\n",
    "causes": "* Most likely you're fetching a Recording resource that is temporarily performing some post-processing, and will be available momentarily.",
    "solutions": "* Retry the HTTP request again. The Retry-After header will tell you when to retry. Within a couple seconds should be ample.",
    "description": "The resource you requested is not (yet) available.",
    "date_created": "2016-03-31T17:14:01Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21502,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid callback url",
    "secondary_message": "The callback url provided is not a valid URL.",
    "product": null,
    "docs": "\n## Description\n\nThe callback url provided is not a valid URL.\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n\nTwilio must be able to reach this URL over the public Internet.\n",
    "causes": null,
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "description": "The callback url provided is not a valid URL.",
    "date_created": "2016-03-31T17:14:02Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21503,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid transcription type",
    "secondary_message": "The transcription type you provided is not a valid choice. You may use one of: fast, accurate or all.",
    "product": null,
    "docs": "\n## Description\n\nThe transcription value you provided is invalid. You may use one of: \"true\" or \"false\".\n",
    "causes": null,
    "solutions": null,
    "description": "The transcription value you provided is invalid. You may use one of: \"true\" or \"false\".",
    "date_created": "2016-03-31T17:14:02Z",
    "last_updated": "2020-08-04T10:00:26.781Z"
  },
  {
    "code": 21504,
    "log_level": "ERROR",
    "log_type": null,
    "message": "RecordingSid is required.",
    "secondary_message": "You POSTed to the /Accounts/\\{AccountSid}/Transcriptions resource, but you did not include a RecordingSid.",
    "product": null,
    "docs": "\n## Description\n\nYou `POST`ed to the /Accounts/\\{AccountSid}/Transcriptions resource, but you did not include a RecordingSid.\n",
    "causes": null,
    "solutions": null,
    "description": "You `POST`ed to the /Accounts/{AccountSid}/Transcriptions resource, but you did not include a RecordingSid.",
    "date_created": "2016-03-31T17:14:02Z",
    "last_updated": "2020-08-04T10:00:26.764Z"
  },
  {
    "code": 21601,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone number is not a valid SMS-capable inbound phone number",
    "secondary_message": "The phone number you provided as the FROM field to initiate an outbound SMS is not an incoming phone number assigned to your account. Only phone numbers that you buy from Twilio can be used for outgoing SMSes. In particular, 3rd party phone numbers such as validated CallerIDs cannot be used to send SMSs.",
    "product": null,
    "docs": "\n## Description\n\nThe phone number you provided as the FROM field to initiate an outbound message is not an incoming phone number assigned to your account. Only phone numbers that you buy from Twilio can be used for outgoing messages. In particular, 3rd party phone numbers such as validated CallerIDs cannot be used to send messages.\n",
    "causes": null,
    "solutions": null,
    "description": "The phone number you provided as the FROM field to initiate an outbound message is not an incoming phone number assigned to your account. Only phone numbers that you buy from Twilio can be used for outgoing messages. In particular, 3rd party phone numbers such as validated CallerIDs cannot be used to send messages.",
    "date_created": "2016-03-31T17:14:25Z",
    "last_updated": "2020-08-04T10:00:25.138Z"
  },
  {
    "code": 21602,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message body is required",
    "secondary_message": "You must specify content (text or media) for your message.",
    "product": null,
    "docs": "\n## Description\n\nThe `Body` OR `MediaURL` parameter is required to send a Message with Twilio.\n\n### Possible causes\n\nYou may have attempted to send a message without a `Body` or `MediaURL` parameter.\n\n### Possible solutions\n\nRetry your message including a body or a link to some media. For sample code that shows how to send an SMS message with Twilio's supported helper libraries, cURL, or the Twilio CLI, please see [this short tutorial](/docs/messaging/quickstart)\n",
    "causes": "You may have attempted to send a message without a `Body` or `MediaURL` parameter.",
    "solutions": "Retry your message including a body or a link to some media. For sample code that shows how to send an SMS message with Twilio's supported helper libraries, cURL, or the Twilio CLI, please see [this short tutorial](/docs/messaging/quickstart)",
    "description": "The `Body` OR `MediaURL` parameter is required to send a Message with Twilio.",
    "date_created": "2016-03-31T17:14:02Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21603,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "A 'From' or 'MessagingServiceSid' parameter is required to send a message",
    "secondary_message": "Make sure to specify a valid Twilio Phone Number, Alpha Sender ID, or Messaging Service SID in your API requests",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe 'From' parameter in your API request to send an outbound message did not include a valid [Twilio Number](/user/account/phone-numbers/), [Alphanumeric Sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Alphanumeric-Sender-ID-for-Twilio-Programmable-SMS), or [Messaging Service SID](/docs/messaging/services).\n\nYou can provide any of the above sender types in your From parameter. You may also provide a Messaging Service SID using the dedicated 'MessagingServiceSid' parameter, either instead of or in addition to a specific 'From' parameter.\n\n### Possible causes\n\n- You did not specify a 'From' parameter in your API request\n\n### Possible solutions\n\n- Specify a valid [Twilio Number](/user/account/phone-numbers/), [Alphanumeric Sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Alphanumeric-Sender-ID-for-Twilio-Programmable-SMS), or [Messaging Service SID](/docs/messaging/services) as the 'From' parameter in your API request\n- Specify a valid Messaging Service SID as the 'MessagingServiceSid' parameter in your API request\n",
    "causes": "* You did not specify a 'From' parameter in your API request",
    "solutions": "* Specify a valid [Twilio Number](/user/account/phone-numbers/), [Alphanumeric Sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Alphanumeric-Sender-ID-for-Twilio-Programmable-SMS), or [Messaging Service SID](/docs/messaging/services) as the 'From' parameter in your API request\n* Specify a valid Messaging Service SID as the 'MessagingServiceSid' parameter in your API request",
    "description": "The 'From' parameter in your API request to send an outbound message did not include a valid [Twilio Number](/user/account/phone-numbers/), [Alphanumeric Sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Alphanumeric-Sender-ID-for-Twilio-Programmable-SMS), or [Messaging Service SID](/docs/messaging/services). You can provide any of the above sender types in your From parameter. You may also provide a Messaging Service SID using the dedicated 'MessagingServiceSid' parameter, either instead of or in addition to a specific 'From' parameter.",
    "date_created": "2016-03-31T17:14:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21604,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The destination 'To' phone number is required to send an SMS",
    "secondary_message": "Make sure to specify a valid phone number as the recipient of the SMS.",
    "product": null,
    "docs": "\n## Description\n\n### 'To' phone number is required to send a Message\n\nMake sure to specify a valid phone number as the recipient of the message.\n\n### Possible causes\n\n- 'To' phone number is not specified\n- Your request is not formatted as `application/x-www-form-urlencoded`\n\n### Possible solutions\n\n- Make sure to include a 'To' phone number\n- Check that you are submitting your request as `application/x-www-form-urlencoded` and not as `json`.\n",
    "causes": "* 'To' phone number is not specified\n* Your request is not formatted as `application/x-www-form-urlencoded`",
    "solutions": "* Make sure to include a 'To' phone number\n* Check that you are submitting your request as `application/x-www-form-urlencoded` and not as `json`.",
    "description": "",
    "date_created": "2016-03-31T17:14:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21605,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum body length is 160 characters (old API endpoint)",
    "secondary_message": "You are using the deprecated /SMS/Messages API endpoint, which supports up to 160 characters per message. To send up to 1600 characters per message, switch to our upgraded /Messages endpoint.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Maximum body length is 160 characters\n\nThis error is specific to the deprecated /SMS/Messages API endpoint. When using this endpoint, your message body must be 160 characters or less.\n\nYou can send messages up to 1600 characters long by using the [/Messages](/docs/messaging/api/message-resource#create-a-message-resource) API endpoint.\n\nFor more info, please refer to [our FAQ on message size constraints](https://support.twilio.com/hc/en-us/articles/223133347-Size-limitations-of-combining-text-and-images).\n\n### Possible causes\n\nThe SMS body contains too many characters.\n\n### Possible solutions\n\nReduce the number of characters in your message body and review our FAQ on message size constraints.\n",
    "causes": "The SMS body contains too many characters.",
    "solutions": "Reduce the number of characters in your message body and review our FAQ on message size constraints.",
    "description": "",
    "date_created": "2016-03-31T17:14:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21606,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The 'From' phone number provided is not a valid message-capable Twilio phone number for this destination/account",
    "secondary_message": "You can only send SMS messages from a phone number provided by Twilio, and that phone number must be SMS enabled. Visit the phone numbers page on your account portal to view a list of phone numbers that you own, and whether or not they are enabled for SMS.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou can only send SMS messages from a phone number, Alphanumeric Sender ID or [short code](/docs/glossary/what-is-a-short-code) provided by or ported to Twilio. Phone numbers must be SMS-capable. For Short Codes, the `From` number must be in the same country as the `To` number.\n\nVisit the [phone numbers page](https://www.twilio.com/console/phone-numbers/incoming) of your account portal to view a list of phone numbers that you own and to determine whether they are SMS-capable.\n\n### Possible causes\n\n- The number you are using may not be capable of sending messages.\n- The number may be formatted incorrectly. Twilio accepts numbers in [E.164 format](/docs/glossary/what-e164).\n- If the number is a Short Code, it must be associated with the same country as the destination address.\n- The number you are using is in the process of porting/hosting.\n- The number you are using does not belong to the account whose credentials are present in the API request.\n\n### Possible solutions\n\n- Check that you are using a Twilio phone number with SMS capabilities. You can see your purchased phone numbers and their capabilities in the [Twilio console](https://www.twilio.com/console/phone-numbers/incoming).\n- Ensure the number you are using is in [E.164 format](/docs/glossary/what-e164).\n- If you are sending from a Short Code, verify that the country you are sending to matches the country of the Short Code.\n- If you have ported/hosted the `From` number, ensure that the process is complete. You can follow up on this in the Twilio console for [porting](https://console.twilio.com/us1/develop/phone-numbers/port-host/porting-requests?frameUrl=%2Fconsole%2Fphone-numbers%2Fporting-requests%3Fx-target-region%3Dus1) and [hosting](https://console.twilio.com/us1/develop/phone-numbers/port-host/hosted-numbers?frameUrl=%2Fconsole%2Fphone-numbers%2Fhosted%3Fx-target-region%3Dus1).\n- Check that you are using account credentials that correspond with the account that owns the phone number.\n- If you are sending messages with test credentials, verify that you are using one of the [available test credential \"magic phone numbers\"](/docs/iam/test-credentials#test-sms-messages-parameters-From).\n",
    "causes": "* The number you are using may not be capable of sending messages.\n* The number may be formatted incorrectly. Twilio accepts numbers in [E.164 format](/docs/glossary/what-e164).\n* If the number is a Short Code, it must be associated with the same country as the destination address.\n* The number you are using is in the process of porting/hosting.\n* The number you are using does not belong to the account whose credentials are present in the API request.",
    "solutions": "* Check that you are using a Twilio phone number with SMS capabilities. You can see your purchased phone numbers and their capabilities in the [Twilio console](https://www.twilio.com/console/phone-numbers/incoming).\n* Ensure the number you are using is in [E.164 format](/docs/glossary/what-e164).\n* If you are sending from a Short Code, verify that the country you are sending to matches the country of the Short Code.\n* If you have ported/hosted the `From` number, ensure that the process is complete. You can follow up on this in the Twilio console for [porting](https://console.twilio.com/us1/develop/phone-numbers/port-host/porting-requests?frameUrl=%2Fconsole%2Fphone-numbers%2Fporting-requests%3Fx-target-region%3Dus1) and [hosting](https://console.twilio.com/us1/develop/phone-numbers/port-host/hosted-numbers?frameUrl=%2Fconsole%2Fphone-numbers%2Fhosted%3Fx-target-region%3Dus1).\n* Check that you are using account credentials that correspond with the account that owns the phone number.\n* If you are sending messages with test credentials, verify that you are using one of the [available test credential \"magic phone numbers\"](/docs/iam/test-credentials#test-sms-messages-parameters-From).",
    "description": "You can only send SMS messages from a phone number, Alphanumeric Sender ID or [short code](/docs/glossary/what-is-a-short-code) provided by or ported to Twilio. Phone numbers must be SMS-capable. For Short Codes, the `From` number must be in the same country as the `To` number. Visit the [phone numbers page](https://www.twilio.com/console/phone-numbers/incoming) of your account portal to view a list of phone numbers that you own and to determine whether they are SMS-capable.",
    "date_created": "2016-03-31T17:14:05Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21607,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The 'from' phone number must be the sandbox phone number for trial accounts.",
    "secondary_message": "You can only send SMS messages from the sandbox phone number while your account is in the free trial. Upgrade your account to a Full Twilio account to send and receive from your own phone numbers.",
    "product": null,
    "docs": "\n## Description\n\nWhile your account is in Trial mode, you can only send SMS messages from your free trial number, or the Twilio Sandbox Number. To remove this restriction, [upgrade to a full account](/user/billing/upgrade).\n",
    "causes": null,
    "solutions": null,
    "description": "While your account is in Trial mode, you can only send SMS messages from your free trial number, or the Twilio Sandbox Number. To remove this restriction, [upgrade to a full account](/user/billing/upgrade).",
    "date_created": "2016-03-31T17:14:05Z",
    "last_updated": "2020-08-04T10:00:26.644Z"
  },
  {
    "code": 21608,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The 'to' phone number provided is not yet verified for this account.",
    "secondary_message": "While your account is in Trial Mode, you may only send SMS messages to verified numbers. Upgrade to a Full Twilio account to send to any phone number.",
    "product": null,
    "docs": "\n## Description\n\nYou have attempted to send a message to an unverified phone number while using a trial account.\n\nTo prevent spam, trial accounts can only send messages to phone numbers you've verified with Twilio. You must upgrade your account to remove this restriction.\n\n### Possible solutions\n\n- Verify the phone number you wish to reach via the [Twilio console](https://www.twilio.com/console/phone-numbers/verified). See step-by-step instructions in our [guide to working with your trial account](/docs/usage/tutorials/how-to-use-your-free-trial-account#verify-your-personal-phone-number). *Note that you will need access to this device to receive the call or text with your verification code.*\n- Upgrade your Twilio trial account to a full paid account to remove this restriction by providing your payment information via credit card or Paypal on the [console billing page](https://www.twilio.com/console/billing).\n",
    "causes": null,
    "solutions": "* Verify the phone number you wish to reach via the [Twilio console](https://www.twilio.com/console/phone-numbers/verified). See step-by-step instructions in our [guide to working with your trial account](/docs/usage/tutorials/how-to-use-your-free-trial-account#verify-your-personal-phone-number). *Note that you will need access to this device to receive the call or text with your verification code.*\n* Upgrade your Twilio trial account to a full paid account to remove this restriction by providing your payment information via credit card or Paypal on the [console billing page](https://www.twilio.com/console/billing).",
    "description": "You have attempted to send a message to an unverified phone number while using a trial account. To prevent spam, trial accounts can only send messages to phone numbers you've verified with Twilio. You must upgrade your account to remove this restriction.",
    "date_created": "2016-03-31T17:14:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21609,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid 'StatusCallback'",
    "secondary_message": "StatusCallback must be a valid HTTP(s) URL. The maximum length of the StatusCallback is 4000 characters.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the `StatusCallback` URL you provided is not a valid URL.\n\n### Possible causes\n\n- The StatusCallback value is not a valid URL.\n- The URL exceeds the 4000-character limit.\n- The URL is missing one or more components of a fully qualified URL (protocol, hostname, file path, or properly URL‑encoded query parameters).\n- The URL is not reachable by Twilio over the public internet.\n- The URL's hostname is invalid (for example, contains underscores), which violates the Messages API StatusCallback parameter requirements.\n\n### Possible solutions\n\n- Submit a fully qualified URL that includes all of the following: protocol (http:// or https://), hostname, file path, and properly URL‑encoded query parameters.\n- Ensure the URL length doesn't exceed 4000 characters.\n- Ensure Twilio can reach the StatusCallback URL over the public internet.\n- Ensure the URL contains a valid hostname; underscores are not permitted for the Messages API StatusCallback parameter.\n\n## Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Track the Message Status of Outbound Messages](/docs/messaging/guides/track-outbound-message-status)\n",
    "causes": "* The StatusCallback value is not a valid URL.\n* The URL exceeds the 4000-character limit.\n* The URL is missing one or more components of a fully qualified URL (protocol, hostname, file path, or properly URL‑encoded query parameters).\n* The URL is not reachable by Twilio over the public internet.\n* The URL's hostname is invalid (for example, contains underscores), which violates the Messages API StatusCallback parameter requirements.",
    "solutions": "* Submit a fully qualified URL that includes all of the following: protocol (http:// or https://), hostname, file path, and properly URL‑encoded query parameters.\n* Ensure the URL length doesn't exceed 4000 characters.\n* Ensure Twilio can reach the StatusCallback URL over the public internet.\n* Ensure the URL contains a valid hostname; underscores are not permitted for the Messages API StatusCallback parameter.",
    "description": "Twilio returns this error when the `StatusCallback` URL you provided is not a valid URL.",
    "date_created": "2016-03-31T17:14:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21610,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attempt to send to unsubscribed recipient",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe person you are trying to message has opted out of receiving messages from your Twilio phone number, Channels sender, or Messaging Service.\n\nYou have attempted to message a 'To' number that has replied with \"STOP\" to one of your previous messages. You will not be able to send to the phone number specified in the 'To' parameter until the subscriber identified by the phone number has responded with \"START\".\n\nPlease see [this FAQ](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) for more information about how Twilio handles opt-out and opt-in.\n\n### Possible causes\n\n- The end user handset has responded with \"STOP\" or [another opt-out keyword](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-).\n- The phone number has been reassigned to a different end user recently.\n\n### Possible solutions\n\n- Consider removing this phone number from your list of recipients.\n- Request the recipient to resubscribe to your messages by texting in \"START\" or [another opt-in keyword](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) to your Twilio sender.\n- Before sending messages to a recipient, ensure they have consented to receive messages from you. Please read these guidelines to understand [messaging opt-in requirements and best practices](https://www.twilio.com/blog/ctia-messaging-principles-and-best-practices).\n",
    "causes": "* The end user handset has responded with \"STOP\" or [another opt-out keyword](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-).\n* The phone number has been reassigned to a different end user recently.",
    "solutions": "* Consider removing this phone number from your list of recipients.\n* Request the recipient to resubscribe to your messages by texting in \"START\" or [another opt-in keyword](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) to your Twilio sender.\n* Before sending messages to a recipient, ensure they have consented to receive messages from you. Please read these guidelines to understand [messaging opt-in requirements and best practices](https://www.twilio.com/blog/ctia-messaging-principles-and-best-practices).",
    "description": "The person you are trying to message has opted out of receiving messages from your Twilio phone number, Channels sender, or Messaging Service. You have attempted to message a 'To' number that has replied with \"STOP\" to one of your previous messages. You will not be able to send to the phone number specified in the 'To' parameter until the subscriber identified by the phone number has responded with \"START\". Please see [this FAQ](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) for more information about how Twilio handles opt-out and opt-in.",
    "date_created": "2016-03-31T17:14:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21611,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "This 'From' number has exceeded the maximum number of queued messages",
    "secondary_message": "You have attempted to enqueue too many messages for a given 'From' number.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio queues messages based on the sending rate of a sender or an account. For example a US long code number can send one message [segment](https://www.twilio.com/blog/what-the-heck-is-a-segment.html) per second, and a short code may send over 100 message segments per second.\n\nMessages can only be queued for 10 hours and then they automatically fail. This queue length limit can be reduced by setting a lower [Validity Period](https://www.twilio.com/en-us/blog/validity-period-promotional-verification-use-cases) within your Messaging Service settings or in your API requests to send messages.\n\nYou can monitor the length on your queue via the [Queue Insights dashboard](https://console.twilio.com/us1/monitor/insights/sms?frameUrl=/console/sms/insights/delivery?x-target-region%3Dus1\\&currentFrameUrl=/console/sms/insights/delivery?x-target-region%3Dus1%26__override_layout__%3Dembed%26q%3DKGFjdGl2ZUluc2lnaHRzVmlldzpsYXRlbmN5KQ%253D%253D%26bifrost%3Dtrue).\n\nFor more information please view this [FAQ](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues).\n\nWhen a queue for a particular 'From' number exceeds 10 hours, this error will be thrown when attempting to create additional messages on the same number.\n\nNote: If you are using a Messaging Service and the numbers in the pool experience queue overload, messages will instead fail after creation with [error 30001](/docs/api/errors/30001).\n\n### Possible causes\n\nYou have attempted to enqueue more than 10 hours' worth of messages on a single Twilio phone number or sender (based on that number's [MPS rate limit](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues)).\n\n### Possible solutions\n\n- Slow down your sending rate to avoid queuing on your Twilio number.\n- Consider using a [Messaging Service](/docs/messaging/services) to better distribute message throughput, if appropriate for your use case.\n- Increase your [validity period](/docs/messaging/api/message-resource#create-a-message-resource) if you have it set to lower than 10 hours\n",
    "causes": "You have attempted to enqueue more than 10 hours' worth of messages on a single Twilio phone number or sender (based on that number's [MPS rate limit](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues)).",
    "solutions": "* Slow down your sending rate to avoid queuing on your Twilio number.\n* Consider using a [Messaging Service](/docs/messaging/services) to better distribute message throughput, if appropriate for your use case.\n* Increase your [validity period](/docs/messaging/api/message-resource#create-a-message-resource) if you have it set to lower than 10 hours",
    "description": "Twilio queues messages based on the sending rate of a sender or an account. For example a US long code number can send one message [segment](https://www.twilio.com/blog/what-the-heck-is-a-segment.html) per second, and a short code may send over 100 message segments per second. Messages can only be queued for 10 hours and then they automatically fail. This queue length limit can be reduced by setting a lower [Validity Period](https://www.twilio.com/en-us/blog/validity-period-promotional-verification-use-cases) within your Messaging Service settings or in your API requests to send messages. You can monitor the length on your queue via the [Queue Insights dashboard](https://console.twilio.com/us1/monitor/insights/sms?frameUrl=/console/sms/insights/delivery?x-target-region%3Dus1\\&currentFrameUrl=/console/sms/insights/delivery?x-target-region%3Dus1%26__override_layout__%3Dembed%26q%3DKGFjdGl2ZUluc2lnaHRzVmlldzpsYXRlbmN5KQ%253D%253D%26bifrost%3Dtrue). For more information please view this [FAQ](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues). When a queue for a particular 'From' number exceeds 10 hours, this error will be thrown when attempting to create additional messages on the same number. Note: If you are using a Messaging Service and the numbers in the pool experience queue overload, messages will instead fail after creation with [error 30001](/docs/api/errors/30001).",
    "date_created": "2016-03-31T17:14:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21612,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message cannot be sent with the current combination of \"To\" and/or \"From\" parameters",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage cannot be sent with the current combination of \"To\" and/or \"From\" parameters.\n\n### Possible causes\n\n**Sender ID restrictions in the destination country:** Many countries limit which numbers, short-codes, and/or alphanumeric senders can be used in that region. Consult the [SMS guidelines for the destination region](https://www.twilio.com/en-us/guidelines/sms).\n\n**Sender ID restrictions on the destination network:** Some networks do not support receiving messages from shortcodes, others might allow SMS from shortcodes but cannot receive MMS messages from shortcodes. Similar restrictions may apply to the use of longcodes from countries that do not match the destination country. Consult the [SMS guidelines for the destination region](https://www.twilio.com/en-us/guidelines/sms).\n\n**Alphanumeric senderIDs:** If you are using an alphanumeric sender ID, the 'To' number must be in a country where alphanumeric sender IDs are supported. Certain countries require pre-registration of alphanumeric sender IDs. A list of countries where alphanumeric sender ID is supported and whether or not pre-registration is required can be found [here](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID).\n\n**Number formatting:** The format you used for the \"To\" or \"From\" number may not be formatted using the [E.164 format](/docs/glossary/what-e164). Twilio standardizes numbers using the E.164 format. If the \"To\" or \"From\" number of this message were altered by Twilio in a way that you didn't expect, try re-submitting the message with E.164 formatted addresses.\n\n**Destinations where Twilio does not have connectivity:** It is possible that Twilio does not yet have service with the carrier you are trying to reach. You can lookup the destination network via [the lookup api](/docs/lookup/v2-api).\n\n### Possible solutions\n\nConsult the linked documentation for each cause. You can also try sending again with a different \"To\" and \"From\" combination.\n",
    "causes": "**Sender ID restrictions in the destination country:** Many countries limit which numbers, short-codes, and/or alphanumeric senders can be used in that region. Consult the [SMS guidelines for the destination region](https://www.twilio.com/en-us/guidelines/sms). **Sender ID restrictions on the destination network:** Some networks do not support receiving messages from shortcodes, others might allow SMS from shortcodes but cannot receive MMS messages from shortcodes. Similar restrictions may apply to the use of longcodes from countries that do not match the destination country. Consult the [SMS guidelines for the destination region](https://www.twilio.com/en-us/guidelines/sms). **Alphanumeric senderIDs:** If you are using an alphanumeric sender ID, the 'To' number must be in a country where alphanumeric sender IDs are supported. Certain countries require pre-registration of alphanumeric sender IDs. A list of countries where alphanumeric sender ID is supported and whether or not pre-registration is required can be found [here](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID). **Number formatting:** The format you used for the \"To\" or \"From\" number may not be formatted using the [E.164 format](/docs/glossary/what-e164). Twilio standardizes numbers using the E.164 format. If the \"To\" or \"From\" number of this message were altered by Twilio in a way that you didn't expect, try re-submitting the message with E.164 formatted addresses. **Destinations where Twilio does not have connectivity:** It is possible that Twilio does not yet have service with the carrier you are trying to reach. You can lookup the destination network via [the lookup api](/docs/lookup/v2-api).",
    "solutions": "Consult the linked documentation for each cause. You can also try sending again with a different \"To\" and \"From\" combination.",
    "description": "Message cannot be sent with the current combination of \"To\" and/or \"From\" parameters.",
    "date_created": "2016-03-31T17:14:26Z",
    "last_updated": "2026-03-25T16:35:39-05:00"
  },
  {
    "code": 21613,
    "log_level": "ERROR",
    "log_type": null,
    "message": "PhoneNumber Requires Certification",
    "secondary_message": "To purchase this phone number, you must certify that you or your customer has a business or personal address within the local country. To certify that you have an address in this country for this account, please purchase this phone number via the [buy a phone number](/user/account/phone-numbers/search) page in the account portal. You will only need to certify your address once for each country. Alternatively, you can provision a phone number that does not require certification.",
    "product": null,
    "docs": "\n## Description\n\nLocal regulation requires Twilio to have an address on file for your account to purchase this phone number. You must add an address that specifies the end user's location using our [API](/docs/usage/api/address) or [account portal](/user/account). Alternatively, you can provision a phone number that does not require an address by using Basic List Filters on the [AvailablePhoneNumbers](/docs/phone-numbers/api/availablephonenumber-resource) resource. If you received this error when trying to transfer a phone number to a subaccount or between subaccounts, please ensure that the subaccount has the correct address on file.\n",
    "causes": null,
    "solutions": null,
    "description": "Local regulation requires Twilio to have an address on file for your account to purchase this phone number. You must add an address that specifies the end user's location using our [API](/docs/usage/api/address) or [account portal](/user/account). Alternatively, you can provision a phone number that does not require an address by using Basic List Filters on the [AvailablePhoneNumbers](/docs/phone-numbers/api/availablephonenumber-resource) resource. If you received this error when trying to transfer a phone number to a subaccount or between subaccounts, please ensure that the subaccount has the correct address on file.",
    "date_created": "2016-03-31T17:14:26Z",
    "last_updated": "2020-08-04T10:00:25.062Z"
  },
  {
    "code": 21614,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'To' number is not a valid mobile number",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have attempted to send a SMS with a 'To' number that is not a valid mobile number. It is likely that the number that you have specified is a landline number or is an invalid number.\n\n### Possible causes\n\n- The number you provided may be a landline number.\n- The number you provided may be invalid or formatted incorrectly.\n- If you are attempting to send SMS to Internet of Things (IoT) or machine-to-machine (M2M) numbers, the numbers may use a non-standard format that Twilio has not added to our number validation system yet.\n\n### Possible solutions\n\n- Confirm that the number you are sending to is not a landline, using the [Lookup API](/docs/lookup/v2-api).\n- Please verify you have provided a valid mobile number in proper [E.164 format](https://support.twilio.com/hc/en-us/articles/223183008-Formatting-International-Phone-Numbers).\n- If you are attempting to send SMS to an IoT or M2M number, check whether the number format is different from the standard mobile numbers in that country or locality. Often, these numbers have additional digits or unusual formats which do not pass Twilio's number validation. If you believe this is the issue, please [contact Twilio Support](https://www.twilio.com/help/contact) for assistance.\n",
    "causes": "* The number you provided may be a landline number.\n* The number you provided may be invalid or formatted incorrectly.\n* If you are attempting to send SMS to Internet of Things (IoT) or machine-to-machine (M2M) numbers, the numbers may use a non-standard format that Twilio has not added to our number validation system yet.",
    "solutions": "* Confirm that the number you are sending to is not a landline, using the [Lookup API](/docs/lookup/v2-api).\n* Please verify you have provided a valid mobile number in proper [E.164 format](https://support.twilio.com/hc/en-us/articles/223183008-Formatting-International-Phone-Numbers).\n* If you are attempting to send SMS to an IoT or M2M number, check whether the number format is different from the standard mobile numbers in that country or locality. Often, these numbers have additional digits or unusual formats which do not pass Twilio's number validation. If you believe this is the issue, please [contact Twilio Support](https://www.twilio.com/help/contact) for assistance.",
    "description": "You have attempted to send a SMS with a 'To' number that is not a valid mobile number. It is likely that the number that you have specified is a landline number or is an invalid number.",
    "date_created": "2016-03-31T17:14:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21615,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone Number Requires a Local Address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nTo purchase this number you must have an Address on your account which satisfies the local address requirements.\n\n### Possible causes\n\n- No address on your account or subaccount that satisfies the locality requirement. Depending on the country, this can be either same country or same geographic area as the number being purchased.\n\n### Possible solutions\n\n- Add an address that satisfies the locality requirement\n- Contact Twilio Support\n",
    "causes": "* No address on your account or subaccount that satisfies the locality requirement. Depending on the country, this can be either same country or same geographic area as the number being purchased.",
    "solutions": "* Add an address that satisfies the locality requirement\n* Contact Twilio Support",
    "description": "To purchase this number you must have an Address on your account which satisfies the local address requirements.",
    "date_created": "2017-05-17T11:33:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21616,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The 'From' number matches multiple numbers for your account",
    "secondary_message": "You have attempted to send a SMS with a 'From' number that matches more than one number belonging to your account. Please submit the 'From' number in E.164 format to resolve the ambiguity.",
    "product": null,
    "docs": "\n## Description\n\nYou have attempted to send a SMS with a 'From' number that matches more than one number belonging to your account. Please submit the 'From' number in E.164 format to resolve the ambiguity.\n",
    "causes": null,
    "solutions": null,
    "description": "You have attempted to send a SMS with a 'From' number that matches more than one number belonging to your account. Please submit the 'From' number in E.164 format to resolve the ambiguity.",
    "date_created": "2016-03-31T17:14:27Z",
    "last_updated": "2020-08-04T10:00:25.025Z"
  },
  {
    "code": 21617,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The concatenated message body exceeds the 1600 character limit",
    "secondary_message": "The maximum allowable body text length is generally 1600 characters, but some glyphs such as Emoji, Emoticons or other special characters will be counted as multiple characters.",
    "product": null,
    "docs": "\n## Description\n\nThe body of the message is too long.\n\n### Possible causes\n\nThe maximum allowable body text length is generally 1600 characters, but some special characters such as emojis, emoticons or non-GSM characters will be counted as multiple characters if they have a higher byte count.\n\n### Possible solutions\n\nAn online text to byte calculator can help you understand if certain characters are taking up more character space than others.\n",
    "causes": "The maximum allowable body text length is generally 1600 characters, but some special characters such as emojis, emoticons or non-GSM characters will be counted as multiple characters if they have a higher byte count.",
    "solutions": "An online text to byte calculator can help you understand if certain characters are taking up more character space than others.",
    "description": "The body of the message is too long.",
    "date_created": "2016-03-31T17:14:27Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21618,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The message body cannot be sent",
    "secondary_message": "You have attempted to send a message with content that is being filtered by all of our carriers. We have logged the carrier you are attempting to reach and will monitor these failures when adding new carriers. If we add a new carrier in the future that does not filter the content you are trying to send, Twilio will automatically route your message through the new carrier.",
    "product": null,
    "docs": "\n## Description\n\nYou have attempted to send a message with content that is being filtered by all of our carriers.\n\nWe have logged the carrier you are attempting to reach and will monitor these failures when adding new carriers. If we add a new carrier in the future that does not filter the content you are trying to send, Twilio will automatically route your message through the new carrier.\n",
    "causes": null,
    "solutions": null,
    "description": "You have attempted to send a message with content that is being filtered by all of our carriers. We have logged the carrier you are attempting to reach and will monitor these failures when adding new carriers. If we add a new carrier in the future that does not filter the content you are trying to send, Twilio will automatically route your message through the new carrier.",
    "date_created": "2016-03-31T17:14:27Z",
    "last_updated": "2020-08-04T10:00:24.989Z"
  },
  {
    "code": 21619,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "A Message Body, Media URL or Content SID is required",
    "secondary_message": "A Message Body, Media URL or Content SID is required",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nA Message Body, Media URL or Content SID is required\n\n### Possible causes\n\nYou are sending a message using a Messaging Service without specifying a `Body`,`Media URL` or `Content SID`.\n\n### Possible solutions\n\n- Ensure you are specifying the correct API Parameters when sending your message.\n- If you are using Content Templates, you need to specify a [Content SID](/docs/content/send-templates-created-with-the-content-template-builder), otherwise you will need to send a [\"Body\" and/or \"Media URL\"](/docs/messaging/api/message-resource#create-a-message-resource).\n",
    "causes": "You are sending a message using a Messaging Service without specifying a `Body`,`Media URL` or `Content SID`.",
    "solutions": "* Ensure you are specifying the correct API Parameters when sending your message.\n* If you are using Content Templates, you need to specify a [Content SID](/docs/content/send-templates-created-with-the-content-template-builder), otherwise you will need to send a [\"Body\" and/or \"Media URL\"](/docs/messaging/api/message-resource#create-a-message-resource).",
    "description": "A Message Body, Media URL or Content SID is required",
    "date_created": "2018-07-05T18:04:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21620,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid media URL(s)",
    "secondary_message": "One or more media URL you provided is invalid. Please use only valid HTTP and HTTPS URLs.",
    "product": null,
    "docs": "\n## Description\n\nOne or more media URLs that you provided is invalid — they are malformed in some way.\n\nTypically, this error is issued when a URL lacks a protocol specifier prefix, i.e., `htttp://` or `https://`.\n\n### Possible causes\n\nThe URL(s) lack a protocol specifier: `http://` or `https://`\n\n### Possible solutions\n\nAdd a correct protocol specifier prefix: `http://` or `https://`\n",
    "causes": "The URL(s) lack a protocol specifier: `http://` or `https://`",
    "solutions": "Add a correct protocol specifier prefix: `http://` or `https://`",
    "description": "One or more media URLs that you provided is invalid — they are malformed in some way. Typically, this error is issued when a URL lacks a protocol specifier prefix, i.e., `htttp://` or `https://`.",
    "date_created": "2016-03-31T17:14:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21621,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The 'From' number has not been enabled for MMS",
    "secondary_message": "The 'From' phone number does not appear to be a phone number that you can send MMS messages from.",
    "product": null,
    "docs": "\n## Description\n\nThe `From` number is not enabled for MMS messaging.\n\n### Possible causes\n\nThe `From` phone number is not capable of sending MMS.\n\n### Possible solutions\n\n- Buy an MMS Capable phone number from the [Twilio Console](https://console.twilio.com/us1/develop/phone-numbers/manage/search?isoCountry=US\\&types%5B%5D=Local\\&types%5B%5D=Tollfree\\&capabilities%5B%5D=Sms\\&capabilities%5B%5D=Mms\\&capabilities%5B%5D=Voice\\&capabilities%5B%5D=Fax\\&searchTerm=\\&searchFilter=left\\&searchType=number) by filtering for \"MMS\" under \"Capabilities\".\n- Check if you already have MMS capable numbers in the [Twilio Console](https://console.twilio.com/us1/develop/phone-numbers/manage/incoming) and use that number in your `From` parameter or Messaging Service.\n",
    "causes": "The `From` phone number is not capable of sending MMS.",
    "solutions": "* Buy an MMS Capable phone number from the [Twilio Console](https://console.twilio.com/us1/develop/phone-numbers/manage/search?isoCountry=US\\&types%5B%5D=Local\\&types%5B%5D=Tollfree\\&capabilities%5B%5D=Sms\\&capabilities%5B%5D=Mms\\&capabilities%5B%5D=Voice\\&capabilities%5B%5D=Fax\\&searchTerm=\\&searchFilter=left\\&searchType=number) by filtering for \"MMS\" under \"Capabilities\".\n* Check if you already have MMS capable numbers in the [Twilio Console](https://console.twilio.com/us1/develop/phone-numbers/manage/incoming) and use that number in your `From` parameter or Messaging Service.",
    "description": "The `From` number is not enabled for MMS messaging.",
    "date_created": "2016-03-31T17:14:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21622,
    "log_level": "ERROR",
    "log_type": null,
    "message": "MMS has not been enabled for your account",
    "secondary_message": "Your account has not been enabled for picture messaging. Please contact support to send picture messages.",
    "product": null,
    "docs": "\n## Description\n\nYour account has not been enabled for picture messaging. Please [contact support](/help/contact) to send picture messages\n",
    "causes": null,
    "solutions": null,
    "description": "Your account has not been enabled for picture messaging. Please [contact support](/help/contact) to send picture messages",
    "date_created": "2016-03-31T17:14:28Z",
    "last_updated": "2020-08-04T10:00:24.934Z"
  },
  {
    "code": 21623,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Number of media files exceeds allowed limit",
    "secondary_message": "The number of media URLs exceeds the maximum allowed. You may send up to 10 media files in a single message.",
    "product": null,
    "docs": "\n## Description\n\nThe number of media URLs exceeds the maximum allowed. You may send up to 10 media files in a single message.\n",
    "causes": null,
    "solutions": null,
    "description": "The number of media URLs exceeds the maximum allowed. You may send up to 10 media files in a single message.",
    "date_created": "2016-03-31T17:14:29Z",
    "last_updated": "2020-08-04T10:00:24.917Z"
  },
  {
    "code": 21624,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid validity period value",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Invalid validity period value\n\nValidity period can only be set to integers between 1 and 36,000 seconds (10 hours max).\n\n### Possible causes\n\nA custom ValidityPeriod has been set that is higher than 36000 or lower than 1\n\n### Possible solutions\n\nSet ValidityPeriod to an integer between 1 and 36,000 seconds (10 hours)\n",
    "causes": "A custom ValidityPeriod has been set that is higher than 36000 or lower than 1",
    "solutions": "Set ValidityPeriod to an integer between 1 and 36,000 seconds (10 hours)",
    "description": "",
    "date_created": "2017-05-18T21:39:00Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21626,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid 'StatusCallbackEvent'",
    "secondary_message": "One or more of the StatusCallbackEvents provided were invalid.",
    "product": null,
    "docs": "\n## Description\n\nOne or more of the StatusCallbackEvents provided were invalid.\n",
    "causes": null,
    "solutions": null,
    "description": "One or more of the StatusCallbackEvents provided were invalid.",
    "date_created": "2016-03-31T17:14:06Z",
    "last_updated": "2020-08-04T10:00:26.572Z"
  },
  {
    "code": 21627,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max Price must be a valid float",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error code is obsolete. Historically, Twilio returned 21627 when your request included the `maxPrice` parameter with a value that was not a valid positive floating-point number. The Message resource marks `maxPrice` as obsolete, and as of June 3, 2024, the parameter no longer has any effect on message sending. Remove `maxPrice` from new requests.\n\n### Possible causes\n\n- A historical API request included `maxPrice` with a value of `0`.\n- A historical API request included `maxPrice` with a negative value.\n- A historical API request included `maxPrice` with a value that was not a float.\n- Your application still sends the obsolete `maxPrice` parameter in Message resource requests. This parameter is obsolete and no longer has any effect as of June 3, 2024.\n\n### Possible solutions\n\n- Remove the `maxPrice` parameter from your Message resource requests.\n- If you are troubleshooting an older implementation, set `maxPrice` to a valid positive floating-point value.\n- Review your SMS Geo Permissions settings and allow only the countries where you intend to send messages. Twilio recommends this as a more robust way to avoid unexpected messaging costs.\n\n#### Additional resources\n- [Messages resource](/docs/messaging/api/message-resource)\n- [SMS Geo Permissions](/docs/messaging/guides/sms-geo-permissions)\n- [End of Life (EOL) of Twilio Messaging MaxPrice API Parameter](https://www.twilio.com/en-us/changelog/end-of-life--eol--of-twilio-messaging-maxprice-api-parameter)\n",
    "causes": "* A historical API request included `maxPrice` with a value of `0`.\n* A historical API request included `maxPrice` with a negative value.\n* A historical API request included `maxPrice` with a value that was not a float.\n* Your application still sends the obsolete `maxPrice` parameter in Message resource requests. This parameter is obsolete and no longer has any effect as of June 3, 2024.",
    "solutions": "* Remove the `maxPrice` parameter from your Message resource requests.\n* If you are troubleshooting an older implementation, set `maxPrice` to a valid positive floating-point value.\n* Review your SMS Geo Permissions settings and allow only the countries where you intend to send messages. Twilio recommends this as a more robust way to avoid unexpected messaging costs.",
    "description": "This error code is obsolete. Historically, Twilio returned 21627 when your request included the `maxPrice` parameter with a value that was not a valid positive floating-point number. The Message resource marks `maxPrice` as obsolete, and as of June 3, 2024, the parameter no longer has any effect on message sending. Remove `maxPrice` from new requests.",
    "date_created": "2020-05-26T10:40:52Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 21628,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Address Validation Error",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe address you have provided cannot be validated.\n\n### Possible causes\n\n- Address misspelling\n- Address cannot be found in third-party data source\n\n### Possible solutions\n\n- Ensure the address is spelled correctly\n- Contact Twilio Support\n",
    "causes": "* Address misspelling\n* Address cannot be found in third-party data source",
    "solutions": "* Ensure the address is spelled correctly\n* Contact Twilio Support",
    "description": "The address you have provided cannot be validated.",
    "date_created": "2016-12-07T05:05:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21629,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Address Validation Error - Check Suggested Address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe address you have provided cannot be validated. A similar address has been found to be valid. The suggested address is included in the error message body.\n\n### Possible causes\n\n- Address misspelling\n- Alternate format or spelling in third-party data source\n\n### Possible solutions\n\n- Ensure the address is spelled correctly\n- If a correct suggestion, submit the suggested address for validation\n- Contact Twilio Support\n",
    "causes": "* Address misspelling\n* Alternate format or spelling in third-party data source",
    "solutions": "* Ensure the address is spelled correctly\n* If a correct suggestion, submit the suggested address for validation\n* Contact Twilio Support",
    "description": "The address you have provided cannot be validated. A similar address has been found to be valid. The suggested address is included in the error message body.",
    "date_created": "2017-05-15T17:44:46Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21630,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Cannot mutate Address that is linked to a verified Document.",
    "secondary_message": "Cannot mutate Address that is linked to a verified Document.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2019-04-10T21:32:19Z",
    "last_updated": "2020-08-04T10:00:09.162Z"
  },
  {
    "code": 21631,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone Number Requires an Address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nTo purchase this number you must supply the Address of the user of this phone number. Previously the IncomingPhoneNumbers API would look at your account for an appropriate address, however, you are now required to pass in an AddressSid that satisfies the requirement for the phone number. This is because Twilio needs to know which address will be operating the phone number to meet regulatory requirements for that country and type of phone number.\n\n### Possible causes\n\n- No address was provided\n- No address was that satisfies the locality requirement for this phone number type.\n- Depending on the country and number type, this may be an address in the same country or same geographic area as the number being purchased.\n\n### Possible solutions\n\n- Add an address that satisfies the locality requirement.\n- Contact Twilio Support.\n",
    "causes": "* No address was provided\n* No address was that satisfies the locality requirement for this phone number type.\n* Depending on the country and number type, this may be an address in the same country or same geographic area as the number being purchased.",
    "solutions": "* Add an address that satisfies the locality requirement.\n* Contact Twilio Support.",
    "description": "To purchase this number you must supply the Address of the user of this phone number. Previously the IncomingPhoneNumbers API would look at your account for an appropriate address, however, you are now required to pass in an AddressSid that satisfies the requirement for the phone number. This is because Twilio needs to know which address will be operating the phone number to meet regulatory requirements for that country and type of phone number.",
    "date_created": "2019-06-12T00:30:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21632,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Cannot modify emergency validated address",
    "secondary_message": "This address has been validated for emergency calling. You can only modify its Friendly Name.\n\nRefer to the docs on [Emergency Calling](/docs/api/sip-trunking/emergency-calling) over SIP trunking for more details.",
    "product": null,
    "docs": "\n## Description\n\nThis address has been validated for emergency calling. You can only modify its Friendly Name.\n\nRefer to the docs on [Emergency Calling](/docs/sip-trunking/emergency-calling) over SIP trunking for more details.\n",
    "causes": null,
    "solutions": null,
    "description": "This address has been validated for emergency calling. You can only modify its Friendly Name. Refer to the docs on [Emergency Calling](/docs/sip-trunking/emergency-calling) over SIP trunking for more details.",
    "date_created": "2016-04-29T21:29:14.502Z",
    "last_updated": "2016-04-29T21:29:14.502Z"
  },
  {
    "code": 21633,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Cannot delete emergency validated address while in use",
    "secondary_message": "This address is currently associated with one or more phone numbers for emergency calling. Please dissociate these numbers before proceeding.\n\nYou can use the [Dependent Phone Numbers subresource](/docs/api/rest/addresses#list-dependent-pns) to find these phone numbers.\n\nRefer to the docs on [Emergency Calling](/docs/api/sip-trunking/emergency-calling) over SIP trunking for more details.",
    "product": null,
    "docs": "\n## Description\n\nThis address is currently associated with one or more phone numbers for emergency calling. Please dissociate these numbers before proceeding.\n\nYou can use the [Dependent Phone Numbers subresource](/docs/usage/api/address#list-dependent-pns) to find these phone numbers.\n\nRefer to the docs on [Emergency Calling](/docs/sip-trunking/emergency-calling) over SIP trunking for more details.\n",
    "causes": null,
    "solutions": null,
    "description": "This address is currently associated with one or more phone numbers for emergency calling. Please dissociate these numbers before proceeding. You can use the [Dependent Phone Numbers subresource](/docs/usage/api/address#list-dependent-pns) to find these phone numbers. Refer to the docs on [Emergency Calling](/docs/sip-trunking/emergency-calling) over SIP trunking for more details.",
    "date_created": "2016-04-29T21:19:35.822Z",
    "last_updated": "2016-04-29T21:19:35.822Z"
  },
  {
    "code": 21634,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP Trunk is in use for emergency calling",
    "secondary_message": "One or more numbers associated with this SIP trunk are provisioned for emergency calling.",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nPlease disable emergency calling on these numbers before proceeding.\n\n### Possible causes\n\n- One or more numbers associated with this SIP Trunk are provisioned for emergency calling.\n\n### Possible solutions\n\n- Refer to the docs on [Emergency Calling](/docs/sip-trunking/emergency-calling) over SIP trunking for more details.\n",
    "causes": "* One or more numbers associated with this SIP Trunk are provisioned for emergency calling.",
    "solutions": "* Refer to the docs on [Emergency Calling](/docs/sip-trunking/emergency-calling) over SIP trunking for more details.",
    "description": "Please disable emergency calling on these numbers before proceeding.",
    "date_created": "2020-08-04T02:54:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21635,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'To' number cannot be a landline",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have attempted to send an SMS with a `To` number that is a landline.\n\n### Possible causes\n\nThe `To` number you provided is a landline number.\n\n### Possible solutions\n\n- Confirm that the number you are sending to is not a landline, using the [Lookup API](/docs/lookup/v2-api).\n- Include `ForceDelivery` [API parameter](/docs/messaging/api/message-resource#request-body-parameters) if you still want to send the message to this phone number. Please note that this does not guarantee the recipient number will be capable of receiving the message. Some international carriers may have a text-to-speech feature that converts the [SMS to a voice call](https://help.twilio.com/articles/223133647).\n",
    "causes": "The `To` number you provided is a landline number.",
    "solutions": "* Confirm that the number you are sending to is not a landline, using the [Lookup API](/docs/lookup/v2-api).\n* Include `ForceDelivery` [API parameter](/docs/messaging/api/message-resource#request-body-parameters) if you still want to send the message to this phone number. Please note that this does not guarantee the recipient number will be capable of receiving the message. Some international carriers may have a text-to-speech feature that converts the [SMS to a voice call](https://help.twilio.com/articles/223133647).",
    "description": "You have attempted to send an SMS with a `To` number that is a landline.",
    "date_created": "2024-07-10T06:18:51Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21644,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "End-User cannot be deleted due to an active assignment to a Bundle",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe End-User cannot be deleted due to active assignments\n\n### Possible causes\n\nThe End User cannot be deleted due to one or more active assignments to a Bundle\n\n### Possible solutions\n\nReassign a new End-User to all Bundle(s) and then perform the `DELETE` operation.\n",
    "causes": "The End User cannot be deleted due to one or more active assignments to a Bundle",
    "solutions": "Reassign a new End-User to all Bundle(s) and then perform the `DELETE` operation.",
    "description": "The End-User cannot be deleted due to active assignments",
    "date_created": "2020-07-17T20:00:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21645,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Supporting Document cannot be deleted due to active Regulatory Bundle assignment",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Supporting Document cannot be deleted as it is an active item assignment in one or more Regulatory Bundles.\n\n### Possible causes\n\nThe Supporting Document cannot be deleted as it is an active item assignment in one or more Regulatory Bundles.\n\n### Possible solutions\n\nUnassign the Supporting Document from the Regulatory Bundle(s)\n",
    "causes": "The Supporting Document cannot be deleted as it is an active item assignment in one or more Regulatory Bundles.",
    "solutions": "Unassign the Supporting Document from the Regulatory Bundle(s)",
    "description": "The Supporting Document cannot be deleted as it is an active item assignment in one or more Regulatory Bundles.",
    "date_created": "2020-07-17T19:35:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21646,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Supporting Document is not eligible for deletion",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Supporting Document is in a non-deletable status and is not eligible to be deleted until the Supporting Document transitions to a deletable status.\n\n### Possible causes\n\nThe Supporting Document is in a non-deletable status (PENDING\\_REVIEW).\n\n### Possible solutions\n\nWait for the Supporting Document to transition to a deletable status (DRAFT, TWILIO\\_REJECTED, TWILIO\\_APPROVED). If your Supporting Document is idle for more than 3 business days, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "The Supporting Document is in a non-deletable status (PENDING\\_REVIEW).",
    "solutions": "Wait for the Supporting Document to transition to a deletable status (DRAFT, TWILIO\\_REJECTED, TWILIO\\_APPROVED). If your Supporting Document is idle for more than 3 business days, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "The Supporting Document is in a non-deletable status and is not eligible to be deleted until the Supporting Document transitions to a deletable status.",
    "date_created": "2020-07-17T19:47:56Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21647,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Regulatory Bundle is not eligible for deletion",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nRegulatory Bundle is in a non-deletable status (PENDING\\_REVIEW & IN\\_REVIEW)\n\n### Possible causes\n\nRegulatory Bundle is in a non-deletable status.\n\n### Possible solutions\n\nWait for the Regulatory Bundle to transition to a deletable status (DRAFT, TWILIO\\_REJECTED, TWILIO\\_APPROVED).\n\nIf the Regulatory Bundle is idle for 3 or more business days, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "Regulatory Bundle is in a non-deletable status.",
    "solutions": "Wait for the Regulatory Bundle to transition to a deletable status (DRAFT, TWILIO\\_REJECTED, TWILIO\\_APPROVED). If the Regulatory Bundle is idle for 3 or more business days, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "Regulatory Bundle is in a non-deletable status (PENDING\\_REVIEW & IN\\_REVIEW)",
    "date_created": "2020-07-17T19:49:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21648,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Regulatory Bundle cannot be deleted due to active number assignment",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Regulatory Bundle cannot be deleted due to an active number assignment.a\n\n### Possible causes\n\nThe Regulatory Bundle cannot be deleted due to an active number assignment.a\n\n### Possible solutions\n\nRe-assign the current number(s) to another twilio-approved Regulatory Bundle.\n",
    "causes": "The Regulatory Bundle cannot be deleted due to an active number assignment.a",
    "solutions": "Re-assign the current number(s) to another twilio-approved Regulatory Bundle.",
    "description": "The Regulatory Bundle cannot be deleted due to an active number assignment.a",
    "date_created": "2020-07-17T19:54:41Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21649,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone Number Requires a Bundle",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nTo provision this number you must supply the Bundle with End-User information and Supporting Documents to comply with local telecom regulations.\n\nPreviously the IncomingPhoneNumbers API would let you provision the phone number without providing a Bundle, however, you are now required to pass in a BundleSid that satisfies the requirement for the phone number. This is because Twilio needs to know which Bundle containing End-User information and Supporting Documents will be assigned to the phone number to meet regulatory requirements for that country and type of phone number.\n\n### Possible causes\n\n- No Bundle was provided\n- No Bundle was that satisfies the locality requirement for this phone number type\n- Depending on the country, number type, and end-user type, the regulations will be different compared to other phone numbers\n\n### Possible solutions\n\n- Build a new Bundle that satisfies the regulations of the phone number.\n- Contact Twilio Support.\n",
    "causes": "* No Bundle was provided\n* No Bundle was that satisfies the locality requirement for this phone number type\n* Depending on the country, number type, and end-user type, the regulations will be different compared to other phone numbers",
    "solutions": "* Build a new Bundle that satisfies the regulations of the phone number.\n* Contact Twilio Support.",
    "description": "To provision this number you must supply the Bundle with End-User information and Supporting Documents to comply with local telecom regulations. Previously the IncomingPhoneNumbers API would let you provision the phone number without providing a Bundle, however, you are now required to pass in a BundleSid that satisfies the requirement for the phone number. This is because Twilio needs to know which Bundle containing End-User information and Supporting Documents will be assigned to the phone number to meet regulatory requirements for that country and type of phone number.",
    "date_created": "2019-11-15T00:21:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21650,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone Number Requires a Verified Identity Document",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nTo purchase this number you must have a verified identity document on your account.\n\n### Possible causes\n\n- There is no verified identity document on your account or subaccount. Due to local regulations, some phone numbers require a verified identity document associated with your Twilio account.\n\n### Possible solutions\n\n- In the Phone Numbers > Documents section in Console, provide the name of the individual or business registering the phone numbers and a scanned copy of supporting identification documents.\n- Ensure that the verification status of the identity document record is \"Passed\". If \"Pending\", wait 48 business hours for Twilio to verify the document. If \"Failed\", please refer to the failure reason to address the issue.\n",
    "causes": "* There is no verified identity document on your account or subaccount. Due to local regulations, some phone numbers require a verified identity document associated with your Twilio account.",
    "solutions": "* In the Phone Numbers > Documents section in Console, provide the name of the individual or business registering the phone numbers and a scanned copy of supporting identification documents.\n* Ensure that the verification status of the identity document record is \"Passed\". If \"Pending\", wait 48 business hours for Twilio to verify the document. If \"Failed\", please refer to the failure reason to address the issue.",
    "description": "To purchase this number you must have a verified identity document on your account.",
    "date_created": "2017-06-28T22:21:51Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21651,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Document does not satisfy regulatory requirement",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe document being mapped to the number does not satisfy the regulatory requirements.\n\n### Possible causes\n\n- The document is the incorrect type for the number you are trying to purchase or update.\n- The document does not have the correct metadata fields required for the number you are trying to purchase or update.\n- The document sid is not valid.\n\n### Possible solutions\n\n- Ensure that the document you are using satisfies the regulatory requirement.\n- Ensure the document sid refers to a document on your account or subaccount.\n- Contact support for assistance.\n",
    "causes": "* The document is the incorrect type for the number you are trying to purchase or update.\n* The document does not have the correct metadata fields required for the number you are trying to purchase or update.\n* The document sid is not valid.",
    "solutions": "* Ensure that the document you are using satisfies the regulatory requirement.\n* Ensure the document sid refers to a document on your account or subaccount.\n* Contact support for assistance.",
    "description": "The document being mapped to the number does not satisfy the regulatory requirements.",
    "date_created": "2018-03-12T12:26:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21652,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Maximum subject length is 40 characters",
    "secondary_message": "Keep the subject text of your message to 40 characters or less.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nUse a subject that is 40 characters or fewer. Twilio returns this error when the subject text in your message exceeds that limit.\n\n### Possible causes\n\n- The subject line you sent is longer than 40 characters.\n- Dynamic text pushed the final subject over the limit after your application built the message request.\n\n### Possible solutions\n\n- Shorten the subject to 40 characters or fewer before you send the message.\n- Review the final rendered subject in your application and trim or abbreviate any text that makes it exceed the limit.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n",
    "causes": "* The subject line you sent is longer than 40 characters.\n* Dynamic text pushed the final subject over the limit after your application built the message request.",
    "solutions": "* Shorten the subject to 40 characters or fewer before you send the message.\n* Review the final rendered subject in your application and trim or abbreviate any text that makes it exceed the limit.",
    "description": "Use a subject that is 40 characters or fewer. Twilio returns this error when the subject text in your message exceeds that limit.",
    "date_created": "2018-08-30T17:32:59Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 21653,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "There are more recipient addresses than allowed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThere are more recipient addresses than allowed for a channel. For instance for SMS we allow only one recipient but for Group MMS we allow multiple recipients\n\n### Possible causes\n\nToo many recipients were provided in the request or channel selection is incorrect\n\n### Possible solutions\n\nFix the list of recipients according a channel restrictions\n",
    "causes": "Too many recipients were provided in the request or channel selection is incorrect",
    "solutions": "Fix the list of recipients according a channel restrictions",
    "description": "There are more recipient addresses than allowed for a channel. For instance for SMS we allow only one recipient but for Group MMS we allow multiple recipients",
    "date_created": "2020-12-11T08:15:08Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21654,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ContentSid Required",
    "secondary_message": "A ContentSid must be specified if ContentVariables are provided in the request.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nA ContentSid must be specified if ContentVariables are provided in the request.\n\n### Possible causes\n\nYou attempted to send a message with the ContentVariables parameter but without ContentSid.\n\n### Possible solutions\n\nPlease provide a ContentSid when the request includes the ContentVariables parameter. Review [this documentation](/docs/content/send-templates-created-with-the-content-template-builder) for how to send Content Templates.\n",
    "causes": "You attempted to send a message with the ContentVariables parameter but without ContentSid.",
    "solutions": "Please provide a ContentSid when the request includes the ContentVariables parameter. Review [this documentation](/docs/content/send-templates-created-with-the-content-template-builder) for how to send Content Templates.",
    "description": "A ContentSid must be specified if ContentVariables are provided in the request.",
    "date_created": "2021-09-29T15:21:17Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21655,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The ContentSid is Invalid",
    "secondary_message": "The ContentSid you are using is not valid",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe ContentSid you are using is not valid\n\n### Possible causes\n\nThe ContentSid you are using is not valid:\n\n- The template sid you are using has been deleted from the account\n- The template sid you are using is being used on the wrong account sid\n- The template sid you are using does not exist. (Usually this indicates a typo)\n\n### Possible solutions\n\nDouble check the ContentSid parameter that you are using.\n\n- Make sure it has the proper formatting and starts with an HX prefix.\n- Make sure it exists, has not been deleted, and is for the right account sid.\n",
    "causes": "The ContentSid you are using is not valid: - The template sid you are using has been deleted from the account\n- The template sid you are using is being used on the wrong account sid\n- The template sid you are using does not exist. (Usually this indicates a typo)",
    "solutions": "Double check the ContentSid parameter that you are using. - Make sure it has the proper formatting and starts with an HX prefix.\n- Make sure it exists, has not been deleted, and is for the right account sid.",
    "description": "The ContentSid you are using is not valid",
    "date_created": "2021-09-29T15:24:20Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21656,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The ContentVariables Parameter is invalid",
    "secondary_message": "The ContentVariables you are using are not valid",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe ContentVariables Parameter is invalid.\n\n### Possible causes\n\n- The ContentVariables Parameter is not a JSON String.\n- A ContentVariables variable placeholder is improperly formed e.g. \\{\\{example}.\n- A ContentVariables variable placeholder is an \"empty mustache\" e.g. \\{\\{}}.\n- The ContentVariables field is defined with improper formatting at time of send.\n- The ContentVariables field contains a variable that was set to null or empty string at time of send.\n- Variables in body cannot contain newlines, tabs, or more than 4 consecutive spaces\n\n### Possible solutions\n\n- Review the [documentation](/docs/content/using-variables-with-content-api) on how to use Content Variables with Content Templates.\n- Validate the ContentVariables Parameter, it must be a JSON String and be properly formatted.\n- Make sure all ContentVariables are defined and have a valid definition at time of send. ContentVariables cannot be an empty string or null.\n",
    "causes": "* The ContentVariables Parameter is not a JSON String.\n* A ContentVariables variable placeholder is improperly formed e.g. {{example}.\n* A ContentVariables variable placeholder is an \"empty mustache\" e.g. {{}}.\n* The ContentVariables field is defined with improper formatting at time of send.\n* The ContentVariables field contains a variable that was set to null or empty string at time of send.\n* Variables in body cannot contain newlines, tabs, or more than 4 consecutive spaces",
    "solutions": "* Review the [documentation](/docs/content/using-variables-with-content-api) on how to use Content Variables with Content Templates.\n* Validate the ContentVariables Parameter, it must be a JSON String and be properly formatted.\n* Make sure all ContentVariables are defined and have a valid definition at time of send. ContentVariables cannot be an empty string or null.",
    "description": "The ContentVariables Parameter is invalid.",
    "date_created": "2021-09-29T15:26:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21657,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Sender ID is invalid ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when the `From` value in your SMS request uses a Sender ID that is not supported for the destination. Alphanumeric Sender IDs are only available in supported countries, and some destinations require registration before you can use them.\n\n### Possible causes\n\n- You used an Alphanumeric Sender ID in a destination country that does not support it.\n- The destination country requires Sender ID registration, and the sender is not registered yet.\n- The `From` value does not match a registered Sender ID for that country, and no default Sender ID is configured.\n\n### Possible solutions\n\n- Review the SMS guidelines for the destination country and use a Sender ID that is supported there.\n- Register the Sender ID before sending to countries that require pre-registration.\n- If you send messages through a Messaging Service, configure a default Sender ID for the country so Twilio can use a compliant sender automatically.\n\n#### Additional resources\n\n- [Configure your default Sender ID](/docs/phone-numbers/default-sender-id)\n- [Alphanumeric Sender IDs in Messaging Services](/docs/messaging/services/alphanumeric-sender-ids-in-messaging-services)\n- [Messages resource](/docs/messaging/api/message-resource)\n",
    "causes": "* You used an Alphanumeric Sender ID in a destination country that does not support it.\n* The destination country requires Sender ID registration, and the sender is not registered yet.\n* The `From` value does not match a registered Sender ID for that country, and no default Sender ID is configured.",
    "solutions": "* Review the SMS guidelines for the destination country and use a Sender ID that is supported there.\n* Register the Sender ID before sending to countries that require pre-registration.\n* If you send messages through a Messaging Service, configure a default Sender ID for the country so Twilio can use a compliant sender automatically.",
    "description": "This error occurs when the `From` value in your SMS request uses a Sender ID that is not supported for the destination. Alphanumeric Sender IDs are only available in supported countries, and some destinations require registration before you can use them.",
    "date_created": "2023-04-26T13:54:13Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 21658,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Parameter exceeded character limit",
    "secondary_message": "Parameter exceeded character limit",
    "product": "Branded Comms, Content",
    "docs": "\n## Description\n\nTwilio returns this error when a parameter value exceeds the allowed character limit in a Messaging request. When you create a Message resource, content is sent with `Body`, `ContentSid`, or `MediaUrl`. `Body` values can be up to 1,600 characters long, and Content Template variable values can also be up to 1,600 characters.\n\n### Possible causes\n\n- You sent a value that is longer than the limit for the affected Messaging parameter.\n- A `Body` value exceeded 1,600 characters.\n- A Content Template variable value exceeded 1,600 characters.\n\n### Possible solutions\n\n- Shorten the affected parameter value and send the request again.\n- If you are sending message text, reduce `Body` to 1,600 characters or fewer.\n- If you are using Content API, reduce each variable value to 1,600 characters or fewer.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Using Variables with Content Templates](/docs/content/using-variables-with-content-api)\n",
    "causes": "* You sent a value that is longer than the limit for the affected Messaging parameter.\n* A `Body` value exceeded 1,600 characters.\n* A Content Template variable value exceeded 1,600 characters.",
    "solutions": "* Shorten the affected parameter value and send the request again.\n* If you are sending message text, reduce `Body` to 1,600 characters or fewer.\n* If you are using Content API, reduce each variable value to 1,600 characters or fewer.",
    "description": "Twilio returns this error when a parameter value exceeds the allowed character limit in a Messaging request. When you create a Message resource, content is sent with `Body`, `ContentSid`, or `MediaUrl`. `Body` values can be up to 1,600 characters long, and Content Template variable values can also be up to 1,600 characters.",
    "date_created": "2023-05-01T20:55:01Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 21659,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'From' is not a Twilio phone number or Short Code country mismatch",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou can only send SMS messages from a phone number, Alphanumeric Sender ID or [short code](/docs/glossary/what-is-a-short-code) provided by or ported to Twilio.\n\nFor Short Codes, the `From` number must be in the same country as the `To` number.\n\n### Possible causes\n\n- The number you are using is in the process of porting/hosting.\n- You have provided an incorrect `From` number.\n- The number may be formatted incorrectly. Twilio accepts numbers in [E.164 format](/docs/glossary/what-e164)\n- If the number is a Short Code, it must be associated with the same country as the destination address.\n\n### Possible solutions\n\n- If you have ported/hosted the `From` number, ensure that the process is complete. You can follow up on this in the Twilio console for [porting](https://console.twilio.com/us1/develop/phone-numbers/port-host/porting-requests?frameUrl=%2Fconsole%2Fphone-numbers%2Fporting-requests%3Fx-target-region%3Dus1) and [hosting](https://console.twilio.com/us1/develop/phone-numbers/port-host/hosted-numbers?frameUrl=%2Fconsole%2Fphone-numbers%2Fhosted%3Fx-target-region%3Dus1).\n- If you are sending from a Short Code, verify that the country you are sending to matches the country of the Short Code.\n- Ensure the number you are using is in [E.164 format](/docs/glossary/what-e164).\n",
    "causes": "* The number you are using is in the process of porting/hosting.\n* You have provided an incorrect `From` number.\n* The number may be formatted incorrectly. Twilio accepts numbers in [E.164 format](/docs/glossary/what-e164)\n* If the number is a Short Code, it must be associated with the same country as the destination address.",
    "solutions": "* If you have ported/hosted the `From` number, ensure that the process is complete. You can follow up on this in the Twilio console for [porting](https://console.twilio.com/us1/develop/phone-numbers/port-host/porting-requests?frameUrl=%2Fconsole%2Fphone-numbers%2Fporting-requests%3Fx-target-region%3Dus1) and [hosting](https://console.twilio.com/us1/develop/phone-numbers/port-host/hosted-numbers?frameUrl=%2Fconsole%2Fphone-numbers%2Fhosted%3Fx-target-region%3Dus1).\n* If you are sending from a Short Code, verify that the country you are sending to matches the country of the Short Code.\n* Ensure the number you are using is in [E.164 format](/docs/glossary/what-e164).",
    "description": "You can only send SMS messages from a phone number, Alphanumeric Sender ID or [short code](/docs/glossary/what-is-a-short-code) provided by or ported to Twilio. For Short Codes, the `From` number must be in the same country as the `To` number.",
    "date_created": "2024-07-09T16:12:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21660,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Mismatch between the 'From' number and the account",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe `From` number you are using to send an SMS is not associated with your account.\n\n### Possible causes\n\nThe number you are using does not belong to the account whose credentials are present in the API request.\n\n### Possible solutions\n\nCheck that you are using account credentials that correspond with the account that owns the phone number.\n",
    "causes": "The number you are using does not belong to the account whose credentials are present in the API request.",
    "solutions": "Check that you are using account credentials that correspond with the account that owns the phone number.",
    "description": "The `From` number you are using to send an SMS is not associated with your account.",
    "date_created": "2024-07-10T06:07:49Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21661,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'From' number is not SMS-capable",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPhone numbers must be SMS-capable. Visit the [phone numbers page](https://www.twilio.com/console/phone-numbers/incoming) of your account portal to view a list of phone numbers that you own and to determine whether they are SMS-capable.\n\n### Possible causes\n\nThe number you are using is not capable of sending messages.\n\n### Possible solutions\n\n- Check that you are using a Twilio phone number with SMS capabilities. You can see your purchased phone numbers and their capabilities in the [Twilio console](https://www.twilio.com/console/phone-numbers/incoming).\n- Purchase an SMS capable number from the [Twilio Console](https://console.twilio.com/us1/develop/phone-numbers/manage/search?isoCountry=US\\&types%5B%5D=Local\\&types%5B%5D=Tollfree\\&capabilities%5B%5D=Sms\\&searchTerm=\\&searchFilter=left\\&searchType=number).\n",
    "causes": "The number you are using is not capable of sending messages.",
    "solutions": "* Check that you are using a Twilio phone number with SMS capabilities. You can see your purchased phone numbers and their capabilities in the [Twilio console](https://www.twilio.com/console/phone-numbers/incoming).\n* Purchase an SMS capable number from the [Twilio Console](https://console.twilio.com/us1/develop/phone-numbers/manage/search?isoCountry=US\\&types%5B%5D=Local\\&types%5B%5D=Tollfree\\&capabilities%5B%5D=Sms\\&searchTerm=\\&searchFilter=left\\&searchType=number).",
    "description": "Phone numbers must be SMS-capable. Visit the [phone numbers page](https://www.twilio.com/console/phone-numbers/incoming) of your account portal to view a list of phone numbers that you own and to determine whether they are SMS-capable.",
    "date_created": "2024-07-10T06:13:18Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21662,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Current combination of 'From' and 'To' parameters cannot be used in Ireland region",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound message but the combination of `From` and `To` parameters cannot be used to send data resident messages in IE1.\n\n### Possible causes\n\n- Message was sent `From` North American (+1) number in Ireland region\n- Message was sent `To` North American (+1) number in Ireland region\n\n### Possible solutions\n\nEnsure that the Twilio Programmable Messaging API is correct for sending messages `From` or `To` +1 numbers.\n",
    "causes": "* Message was sent `From` North American (+1) number in Ireland region\n* Message was sent `To` North American (+1) number in Ireland region",
    "solutions": "Ensure that the Twilio Programmable Messaging API is correct for sending messages `From` or `To` +1 numbers.",
    "description": "You attempted to initiate an outbound message but the combination of `From` and `To` parameters cannot be used to send data resident messages in IE1.",
    "date_created": "2025-09-23T07:43:53.782Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21663,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'From' phone number routing configuration is incorrect ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound message but the `From` phone number regional routing configuration do not support sending this message.\n\n### Possible causes\n\n- `From` phone number routing configuration is marked Ireland (IE1).\n- `From` phone number routing configuration is marked United States (US1).\n\n### Possible solutions\n\n- Change the Twilio Programmable Messaging API endpoint api.dublin.ie1.twilio.com or api.twilio.com\n- Change the `From` number routing configuration\n",
    "causes": "* `From` phone number routing configuration is marked Ireland (IE1).\n* `From` phone number routing configuration is marked United States (US1).",
    "solutions": "* Change the Twilio Programmable Messaging API endpoint api.dublin.ie1.twilio.com or api.twilio.com\n* Change the `From` number routing configuration",
    "description": "You attempted to initiate an outbound message but the `From` phone number regional routing configuration do not support sending this message.",
    "date_created": "2025-11-11T14:17:23.463Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21664,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'FallbackFrom' cannot be used with a 'From' sender",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe `FallbackFrom` parameter cannot be used with a `From` parameter that specifies a phone number or sender. To use `FallbackFrom`, the RCS Sender must be selected by the Messaging Service — not specified directly in `From`.\n\n### Possible causes\n\n- Both `FallbackFrom` and `From` are specified in the same request, where `From` contains an E.164 phone number (e.g., `+15105550100`).\n- Both `FallbackFrom` and `From` are specified in the same request, where `From` contains an RCS Sender (e.g., `rcs:sender_id`).\n\n### Possible solutions\n\n- To use RCS with a specific SMS/MMS fallback number: Remove `From` and use `MessagingServiceSid` with `FallbackFrom`.\n- To send SMS/MMS from a specific number without RCS: Remove `FallbackFrom` and use `From` only.\n- Using a Messaging Service SID as the `From` value is valid and does not conflict with `FallbackFrom`, but it's recommended to use the `MessagingServiceSid` parameter.\n",
    "causes": "* Both `FallbackFrom` and `From` are specified in the same request, where `From` contains an E.164 phone number (e.g., `+15105550100`).\n* Both `FallbackFrom` and `From` are specified in the same request, where `From` contains an RCS Sender (e.g., `rcs:sender_id`).",
    "solutions": "* To use RCS with a specific SMS/MMS fallback number: Remove `From` and use `MessagingServiceSid` with `FallbackFrom`.\n* To send SMS/MMS from a specific number without RCS: Remove `FallbackFrom` and use `From` only.\n* Using a Messaging Service SID as the `From` value is valid and does not conflict with `FallbackFrom`, but it's recommended to use the `MessagingServiceSid` parameter.",
    "description": "The `FallbackFrom` parameter cannot be used with a `From` parameter that specifies a phone number or sender. To use `FallbackFrom`, the RCS Sender must be selected by the Messaging Service — not specified directly in `From`.",
    "date_created": "2026-03-03T11:44:46-08:00",
    "last_updated": "2026-03-20T12:05:11-07:00"
  },
  {
    "code": 21665,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid 'FallbackFrom' sender",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe `FallbackFrom` parameter must be a valid SMS or MMS sender. Aceptable values include an E.164 phone number, an alphanumeric sender ID, or a short code that exist in your Twilio account.\n\n### Possible causes\n\n- `FallbackFrom` contains a phone number not in E.164 format (e.g., `15105550100` instead of `+15105550100`).\n- `FallbackFrom` contains a phone number in an unsupported format (e.g., with spaces or parentheses).\n- `FallbackFrom` contains a phone number that is not owned by the Twilio Account\n- `FallbackFrom` contains an RCS Sender format (e.g., `rcs:sender_id`).\n\n### Possible solutions\n\n- Use a valid SMS/MMS sender format: an E.164 phone number (e.g., `+15105550100`), alphanumeric sender ID, or short code.\n- Do not use an RCS Sender format in `FallbackFrom`. The RCS Sender for the message is selected automatically from the Messaging Service sender pool.\n- Ensure the Twilio account being used owns the phone number.\n",
    "causes": "* `FallbackFrom` contains a phone number not in E.164 format (e.g., `15105550100` instead of `+15105550100`).\n* `FallbackFrom` contains a phone number in an unsupported format (e.g., with spaces or parentheses).\n* `FallbackFrom` contains a phone number that is not owned by the Twilio Account\n* `FallbackFrom` contains an RCS Sender format (e.g., `rcs:sender_id`).",
    "solutions": "* Use a valid SMS/MMS sender format: an E.164 phone number (e.g., `+15105550100`), alphanumeric sender ID, or short code.\n* Do not use an RCS Sender format in `FallbackFrom`. The RCS Sender for the message is selected automatically from the Messaging Service sender pool.\n* Ensure the Twilio account being used owns the phone number.",
    "description": "The `FallbackFrom` parameter must be a valid SMS or MMS sender. Aceptable values include an E.164 phone number, an alphanumeric sender ID, or a short code that exist in your Twilio account.",
    "date_created": "2026-03-03T11:44:46-08:00",
    "last_updated": "2026-03-20T12:05:11-07:00"
  },
  {
    "code": 21666,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'FallbackFrom' requires MessagingServiceSid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe `FallbackFrom` parameter requires a `MessagingServiceSid` to be provided. `FallbackFrom` specifies the SMS/MMS sender to use when RCS delivery fails, which requires a Messaging Service with an RCS Sender in its sender pool.\n\n### Possible causes\n\n- `FallbackFrom` was specified without a `MessagingServiceSid` in the request.\n\n### Possible solutions\n\n- Add a `MessagingServiceSid` to your request. The Messaging Service must have at least one RCS Sender in its sender pool.\n- If you did not mean to use RCS, remove `FallbackFrom` and use the `From` parameter to send SMS/MMS directly.\n",
    "causes": "* `FallbackFrom` was specified without a `MessagingServiceSid` in the request.",
    "solutions": "* Add a `MessagingServiceSid` to your request. The Messaging Service must have at least one RCS Sender in its sender pool.\n* If you did not mean to use RCS, remove `FallbackFrom` and use the `From` parameter to send SMS/MMS directly.",
    "description": "The `FallbackFrom` parameter requires a `MessagingServiceSid` to be provided. `FallbackFrom` specifies the SMS/MMS sender to use when RCS delivery fails, which requires a Messaging Service with an RCS Sender in its sender pool.",
    "date_created": "2026-03-03T11:44:46-08:00",
    "last_updated": "2026-03-20T12:05:11-07:00"
  },
  {
    "code": 21667,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'FallbackFrom' requires the Messaging Service to have an RCS Sender",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n`FallbackFrom` requires the Messaging Service to have at least one RCS Sender in its sender pool. `FallbackFrom` identifies the SMS or MMS sender that Twilio uses if RCS delivery fails.\n\n### Possible causes\n\n- The Messaging Service referenced by `MessagingServiceSid` has no RCS Sender in its sender pool.\n- An incorrect `MessagingServiceSid` was provided (e.g., a Messaging Service configured for SMS-only use).\n- The RCS Sender was removed from the Messaging Service sender pool after the integration was set up.\n\n### Possible solutions\n\n- Add an RCS Sender to the Messaging Service sender pool in the [Twilio Console](https://console.twilio.com).\n- Verify that the correct `MessagingServiceSid` is being used.\n- If RCS is not needed, remove `FallbackFrom` and send using the Messaging Service or `From` parameter without it.\n",
    "causes": "* The Messaging Service referenced by `MessagingServiceSid` has no RCS Sender in its sender pool.\n* An incorrect `MessagingServiceSid` was provided (e.g., a Messaging Service configured for SMS-only use).\n* The RCS Sender was removed from the Messaging Service sender pool after the integration was set up.",
    "solutions": "* Add an RCS Sender to the Messaging Service sender pool in the [Twilio Console](https://console.twilio.com).\n* Verify that the correct `MessagingServiceSid` is being used.\n* If RCS is not needed, remove `FallbackFrom` and send using the Messaging Service or `From` parameter without it.",
    "description": "`FallbackFrom` requires the Messaging Service to have at least one RCS Sender in its sender pool. `FallbackFrom` identifies the SMS or MMS sender that Twilio uses if RCS delivery fails.",
    "date_created": "2026-03-03T11:44:46-08:00",
    "last_updated": "2026-03-20T12:05:11-07:00"
  },
  {
    "code": 21701,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Messaging Service does not exist",
    "secondary_message": "The Messaging Service resource you are referencing does not exist",
    "product": null,
    "docs": "\n## Description\n\nThe Messaging Service resource you are referencing does not exist or does not match the `Account SID` in the API Request.\n\n### Possible causes\n\n- The Messaging Service resource you are referencing does not exist.\n- The Messaging Service resource you are referencing does not belong to the Account SID in your API Request.\n\n### Possible solutions\n\n- Double check the `Messaging Service SID` and `Account SID` parameters that you are using. You can find the Messaging Service SID in the [Twilio Console](https://console.twilio.com/us1/develop/sms/services) (beginning with MG).\n",
    "causes": "* The Messaging Service resource you are referencing does not exist.\n* The Messaging Service resource you are referencing does not belong to the Account SID in your API Request.",
    "solutions": "* Double check the `Messaging Service SID` and `Account SID` parameters that you are using. You can find the Messaging Service SID in the [Twilio Console](https://console.twilio.com/us1/develop/sms/services) (beginning with MG).",
    "description": "The Messaging Service resource you are referencing does not exist or does not match the `Account SID` in the API Request.",
    "date_created": "2016-03-31T17:14:29Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21702,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The Messaging Service is not available to send new messages",
    "secondary_message": "The Messaging Service is not available to send new messages",
    "product": null,
    "docs": "\n## Description\n\nThe Messaging Service is not available to send new messages.\n\n### Possible solutions\n\n- Retry your API call\n",
    "causes": null,
    "solutions": "* Retry your API call",
    "description": "The Messaging Service is not available to send new messages.",
    "date_created": "2016-03-31T17:14:29Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 21703,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Messaging Service does not have a phone number available to send a message",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have phone numbers or short codes in your Messaging Service, but none of them are capable of sending the requested message or media to this recipient. Possible causes vary depending on the type of message and the country of the destination number. Below are several common causes of this error.\n\n### Possible causes\n\n• You attempted to send a message to a United States or Canada mobile number, but you do not have any US/Canada numbers or short codes in your Messaging Service. US/Canada mobile numbers are not reachable from Twilio numbers from outside the US/Canada, due to limitations imposed by carriers.\\*\\*\n\n• You only have a short code number in your Messaging Service, and the recipient is not reachable from your short code (for example, the To number is from a different country than your short code, or is on a [carrier that does not support short code messaging](https://support.twilio.com/hc/en-us/articles/223182088-What-carriers-are-supported-on-Twilio-short-codes-)).\n\n• You attempted to send an MMS message, but you do not have any US/Canada long code numbers or an [MMS-enabled short code](https://support.twilio.com/hc/en-us/articles/223134667-Sending-receiving-MMS-messages-with-short-codes) in your Messaging Service.\\*\\*\n\n• You only have an [Alphanumeric Sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Getting-started-with-Alphanumeric-Sender-ID) in your Messaging Service, and the To number is in a [country where Alphanumeric Sender ID is unsupported](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID).\n\n• You attempted to send a message to a United States mobile number, but you do not have any 10DLC numbers that are registered with a verified A2P Campaign in the Messaging Service. Only numbers registered with a verified A2P Campaign can be allowed to send to US based numbers.\n\n\\*\\* If you have recently added the number to a Messaging Service and while the number has a \"Pending Registration\" status, you may be experiencing a known issue which disables the ability to benefit from a temporary exception Twilio has made available to sending messages from \"Pending Registration\" numbers. You can reattempt to send from the impacted number by including the number in the \"From\" parameter of your API request instead of using the Messaging Service SID. However, this exception will sunset in the coming weeks. For more information about the 21703 error in relation to numbers \"Pending Registration\", and processing times to complete the Number Registration going forward, please review updated [A2P 10DLC Number Registration Best Practices](https://support.twilio.com/hc/en-us/articles/19622397178139-A2P-10DLC-Number-Registration-Best-Practices). To check the status of your numbers at any given time, you can use the Number Registration CSV report as described in [How do I check that I have completed US A2P 10DLC registration](https://support.twilio.com/hc/en-us/articles/4418081745179-How-do-I-check-that-I-have-completed-US-A2P-10DLC-registration-).\n\n### Possible solutions\n\nAdd a sender to your Messaging Service with the required capabilities, using the [Twilio Console](https://www.twilio.com/console/sms/services) or the [REST API](/docs/messaging/api/phonenumber-resource#create-a-phonenumber-resource-add-a-phone-number-to-a-messaging-service).\n",
    "causes": "• You attempted to send a message to a United States or Canada mobile number, but you do not have any US/Canada numbers or short codes in your Messaging Service. US/Canada mobile numbers are not reachable from Twilio numbers from outside the US/Canada, due to limitations imposed by carriers.\\*\\* • You only have a short code number in your Messaging Service, and the recipient is not reachable from your short code (for example, the To number is from a different country than your short code, or is on a [carrier that does not support short code messaging](https://support.twilio.com/hc/en-us/articles/223182088-What-carriers-are-supported-on-Twilio-short-codes-)). • You attempted to send an MMS message, but you do not have any US/Canada long code numbers or an [MMS-enabled short code](https://support.twilio.com/hc/en-us/articles/223134667-Sending-receiving-MMS-messages-with-short-codes) in your Messaging Service.\\*\\* • You only have an [Alphanumeric Sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Getting-started-with-Alphanumeric-Sender-ID) in your Messaging Service, and the To number is in a [country where Alphanumeric Sender ID is unsupported](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID). • You attempted to send a message to a United States mobile number, but you do not have any 10DLC numbers that are registered with a verified A2P Campaign in the Messaging Service. Only numbers registered with a verified A2P Campaign can be allowed to send to US based numbers. \\*\\* If you have recently added the number to a Messaging Service and while the number has a \"Pending Registration\" status, you may be experiencing a known issue which disables the ability to benefit from a temporary exception Twilio has made available to sending messages from \"Pending Registration\" numbers. You can reattempt to send from the impacted number by including the number in the \"From\" parameter of your API request instead of using the Messaging Service SID. However, this exception will sunset in the coming weeks. For more information about the 21703 error in relation to numbers \"Pending Registration\", and processing times to complete the Number Registration going forward, please review updated [A2P 10DLC Number Registration Best Practices](https://support.twilio.com/hc/en-us/articles/19622397178139-A2P-10DLC-Number-Registration-Best-Practices). To check the status of your numbers at any given time, you can use the Number Registration CSV report as described in [How do I check that I have completed US A2P 10DLC registration](https://support.twilio.com/hc/en-us/articles/4418081745179-How-do-I-check-that-I-have-completed-US-A2P-10DLC-registration-).",
    "solutions": "Add a sender to your Messaging Service with the required capabilities, using the [Twilio Console](https://www.twilio.com/console/sms/services) or the [REST API](/docs/messaging/api/phonenumber-resource#create-a-phonenumber-resource-add-a-phone-number-to-a-messaging-service).",
    "description": "You have phone numbers or short codes in your Messaging Service, but none of them are capable of sending the requested message or media to this recipient. Possible causes vary depending on the type of message and the country of the destination number. Below are several common causes of this error.",
    "date_created": "2016-03-31T17:14:29Z",
    "last_updated": "2026-03-25T16:35:39-05:00"
  },
  {
    "code": 21704,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Messaging Service contains no phone numbers",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### The Messaging Service contains no senders.\n\nA Messaging Service requires at least one phone number, Alphanumeric Sender ID or short code to send messages.\n\n### Possible causes\n\n- Your Messaging Service does not contain any senders\n\n### Possible solutions\n\n- Add at least one phone number or short code to your Messaging Service, or enable Alphanumeric Sender ID.\n",
    "causes": "* Your Messaging Service does not contain any senders",
    "solutions": "* Add at least one phone number or short code to your Messaging Service, or enable Alphanumeric Sender ID.",
    "description": "",
    "date_created": "2016-03-31T17:14:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21705,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Messaging Service is invalid",
    "secondary_message": "The Messaging Service Sid you are using is not valid",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The MessagingServiceSid provided with the request does not match a valid Sid pattern(MGxxx).\n\n### Possible solutions\n\n- Double check the Messaging Service Sid parameter that you are using.\n- Find a specific Messaging Service Sid and manage your Messaging Services in the [Twilio Console](https://www.twilio.com/console/sms/services).\n",
    "causes": "* The MessagingServiceSid provided with the request does not match a valid Sid pattern(MGxxx).",
    "solutions": "* Double check the Messaging Service Sid parameter that you are using.\n* Find a specific Messaging Service Sid and manage your Messaging Services in the [Twilio Console](https://www.twilio.com/console/sms/services).",
    "description": "",
    "date_created": "2016-03-31T17:14:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21706,
    "log_level": "ERROR",
    "log_type": null,
    "message": "PhoneNumberSid' is required to associate to a Messaging Service.",
    "secondary_message": "You attempted to add a phone number to your Service, but you forgot to include the SID of the phone number you would like to add.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to add a phone number to your Service, but you forgot to include the SID of the phone number you would like to add.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to add a phone number to your Service, but you forgot to include the SID of the phone number you would like to add.",
    "date_created": "2017-03-15T00:18:03.47Z",
    "last_updated": "2017-03-15T00:18:03.47Z"
  },
  {
    "code": 21707,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Short Code SID is required to associate to a Messaging Service.",
    "secondary_message": "You attempted to add a short code to your Service, but you forgot to include the SID of the short code you would like to add.",
    "product": null,
    "docs": "\n## Description\n\nYou attempted to add a short code to your Service, but you forgot to include the SID of the short code you would like to add.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to add a short code to your Service, but you forgot to include the SID of the short code you would like to add.",
    "date_created": "2017-03-15T00:19:10.993Z",
    "last_updated": "2017-03-15T00:19:10.993Z"
  },
  {
    "code": 21708,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Alpha Sender ID Missing from the request",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Alpha Sender ID Missing from the request\n\n### Possible causes\n\n- Ensure that a request contains an alphasender in it\n\n### Possible solutions\n\nPlease include an alphasender in the request\n",
    "causes": "* Ensure that a request contains an alphasender in it",
    "solutions": "Please include an alphasender in the request",
    "description": "",
    "date_created": "2022-12-28T02:01:45Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21709,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Alpha Sender ID is Invalid or Not Authorized for this Messaging Service",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Alpha Sender ID being added to a Messaging Service is invalid or Alpha Sender IDs have not been enabled for this Messaging Service.\n\n### Possible causes\n\n- The Messaging Service is not enabled to support Alpha Sender IDs.\n- The Alpha Sender ID being added to a Messaging Service is invalid. Alphanumeric Sender IDs may be up to 11 characters. They may not be only numbers. Refer to [this page](https://support.twilio.com/hc/en-us/articles/223133867-Using-Alphanumeric-Sender-ID-with-Messaging-Services) for acceptable characters.\n\n### Possible solutions\n\n- Follow [these steps](https://support.twilio.com/hc/en-us/articles/223181348-Alphanumeric-Sender-ID-for-Twilio-Programmable-SMS#h_01F4SK0WYHA75NK1DNXGTCFMP8) to verify your Messaging Service is enabled to support Alpha Sender IDs. If it is not, please reach out to Support.\n- Verify the Alpha Sender ID you are trying to add to the Messaging Service is valid. View formatting requirements [here](https://support.twilio.com/hc/en-us/articles/223181348-Alphanumeric-Sender-ID-for-Twilio-Programmable-SMS#h_01F4SK0R6NH8AQW36Y4BR16FVA).\n",
    "causes": "* The Messaging Service is not enabled to support Alpha Sender IDs.\n* The Alpha Sender ID being added to a Messaging Service is invalid. Alphanumeric Sender IDs may be up to 11 characters. They may not be only numbers. Refer to [this page](https://support.twilio.com/hc/en-us/articles/223133867-Using-Alphanumeric-Sender-ID-with-Messaging-Services) for acceptable characters.",
    "solutions": "* Follow [these steps](https://support.twilio.com/hc/en-us/articles/223181348-Alphanumeric-Sender-ID-for-Twilio-Programmable-SMS#h_01F4SK0WYHA75NK1DNXGTCFMP8) to verify your Messaging Service is enabled to support Alpha Sender IDs. If it is not, please reach out to Support.\n* Verify the Alpha Sender ID you are trying to add to the Messaging Service is valid. View formatting requirements [here](https://support.twilio.com/hc/en-us/articles/223181348-Alphanumeric-Sender-ID-for-Twilio-Programmable-SMS#h_01F4SK0R6NH8AQW36Y4BR16FVA).",
    "description": "The Alpha Sender ID being added to a Messaging Service is invalid or Alpha Sender IDs have not been enabled for this Messaging Service.",
    "date_created": "2021-05-27T17:43:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21710,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Phone Number Already Exists in Messaging Service",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe phone number, short code or alpha sender ID already exists in the Messaging Service.\n\n### Possible causes\n\n- Multiple requests were made to add the phone number, short code or alpha sender ID to the Messaging Service's Sender Pool.\n- The phone number, short code or alpha sender ID was already added at an earlier time.\n\n### Possible solutions\n\n- If you know this phone number is properly associated with the Messaging Service, do nothing.\n- Remove the existing phone number, short code or alpha sender ID from the Messaging Service and add it back to the Messaging Service's Sender Pool.\n",
    "causes": "* Multiple requests were made to add the phone number, short code or alpha sender ID to the Messaging Service's Sender Pool.\n* The phone number, short code or alpha sender ID was already added at an earlier time.",
    "solutions": "* If you know this phone number is properly associated with the Messaging Service, do nothing.\n* Remove the existing phone number, short code or alpha sender ID from the Messaging Service and add it back to the Messaging Service's Sender Pool.",
    "description": "The phone number, short code or alpha sender ID already exists in the Messaging Service.",
    "date_created": "2021-05-27T17:51:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21711,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Phone Number, Shortcode, Destination AlphaSender, and Global AlphaSender is not associated to the specified Messaging Service.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Phone Number, Shortcode, Destination AlphaSender, and Global AlphaSender is not associated to the specified Messaging Service.\n\n### Possible causes\n\n- The sender was never associated with a given Messaging Service.\n\n### Possible solutions\n\nPlease add this number to a specified Messaging Service. [See here](/docs/messaging/api/phonenumber-resource#create-a-phonenumber-resource-add-a-phone-number-to-a-messaging-service) for a code sample.\n",
    "causes": "* The sender was never associated with a given Messaging Service.",
    "solutions": "Please add this number to a specified Messaging Service. [See here](/docs/messaging/api/phonenumber-resource#create-a-phonenumber-resource-add-a-phone-number-to-a-messaging-service) for a code sample.",
    "description": "",
    "date_created": "2022-12-27T21:07:17Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21712,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone Number or Short Code is associated with another Messaging Service.",
    "secondary_message": "You have tried to assign a Twilio phone number or short code to a Messaging Service, but the number is already associated with a different Messaging Service.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when you try to add a phone number or short code to a Messaging Service and that sender is already associated with another Messaging Service. A sender can belong to only one Messaging Service at a time. Remove it from the existing Service before you add it to the new one. Removing it from a Service does not release the number from your account.\n\n### Possible causes\n\n- The phone number or short code is already attached to a different Messaging Service.\n- The sender is still present in the existing Service's PhoneNumbers or ShortCodes subresource when you try to add it elsewhere.\n\n### Possible solutions\n\n- Remove the phone number from the existing Messaging Service with the PhoneNumbers subresource, or remove the short code with the ShortCodes subresource, before you add it to the target Service.\n- If you are managing the sender in the Twilio Console, remove it from the existing Service's Sender Pool and then add it to the target Service.\n- If you need to fully disassociate the sender from your account, release the phone number or cancel the short code from your Account. Removing it from the Service alone does not release it.\n\n#### Additional resources\n\n- [Services PhoneNumbers subresource](/docs/messaging/api/phonenumber-resource)\n- [ShortCodes subresource](/docs/messaging/api/services-shortcode-resource)\n- [Messaging Services](/docs/messaging/services)\n",
    "causes": "* The phone number or short code is already attached to a different Messaging Service.\n* The sender is still present in the existing Service's PhoneNumbers or ShortCodes subresource when you try to add it elsewhere.",
    "solutions": "* Remove the phone number from the existing Messaging Service with the PhoneNumbers subresource, or remove the short code with the ShortCodes subresource, before you add it to the target Service.\n* If you are managing the sender in the Twilio Console, remove it from the existing Service's Sender Pool and then add it to the target Service.\n* If you need to fully disassociate the sender from your account, release the phone number or cancel the short code from your Account. Removing it from the Service alone does not release it.",
    "description": "Twilio returns this error when you try to add a phone number or short code to a Messaging Service and that sender is already associated with another Messaging Service. A sender can belong to only one Messaging Service at a time. Remove it from the existing Service before you add it to the new one. Removing it from a Service does not release the number from your account.",
    "date_created": "2019-03-11T18:43:55Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 21713,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Messaging Service Use Case is Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Messaging Service use case you are trying to specify in the request is not a valid use case.\n\n### Possible causes\n\n- The Messaging Service use case specified in the request is not a valid Messaging Service use case. Valid Messaging Service use cases include: discussion, marketing, notifications, poll, undeclared and verification.\n\n### Possible solutions\n\n- Verify that you are spelling the use case correctly in your request and that it is using all lowercase letters.\n",
    "causes": "* The Messaging Service use case specified in the request is not a valid Messaging Service use case. Valid Messaging Service use cases include: discussion, marketing, notifications, poll, undeclared and verification.",
    "solutions": "* Verify that you are spelling the use case correctly in your request and that it is using all lowercase letters.",
    "description": "The Messaging Service use case you are trying to specify in the request is not a valid use case.",
    "date_created": "2021-05-27T17:53:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21714,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Messaging Service Number Pool size limit reached",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have attempted to add a Twilio phone number, alpha sender, or short code to your Messaging Service Number Pool, but you are already at the limit of phone numbers or alpha senders. By default, a Messaging Service can contain up to a total of 400 Twilio phone numbers and short codes and only one Alpha Sender per country.\n\n### Possible causes\n\n- Your Messaging Service number pool is already full (default: 400 numbers)\n- You may have attempted to add more than one alpha sender for the same country to a Messaging Service or Sender Pool. Each country can only have one alpha sender assigned per Messaging Service Number Pool.\n\n### Possible solutions\n\n- If you are sending to the United States and Canada, use a [Toll-Free or short code number](https://support.twilio.com/hc/en-us/articles/360038173654-Comparison-of-SMS-messaging-in-the-US-and-Canada-for-long-codes-short-codes-and-toll-free-phone-numbers) with higher message throughput (MPS), instead of adding more local numbers. Most mobile carriers in the US and Canada do not not permit [Application-to-Person (A2P)](https://support.twilio.com/hc/en-us/articles/223133807-What-is-P2P-and-A2P-messaging-) messaging via long codes, so there is a high risk of [carrier filtering](https://support.twilio.com/hc/en-us/articles/223181848-How-Does-Carrier-Filtering-Work-) when sending this type of traffic via long code.\n- If you are sending to other countries, you may be eligible to have your Number Pool size limit increased. Please [submit a ticket](https://www.twilio.com/console/support/tickets/create) with a description of your use case and why you need a higher number pool size limit. These requests will be reviewed by our Messaging team.\n",
    "causes": "* Your Messaging Service number pool is already full (default: 400 numbers)\n* You may have attempted to add more than one alpha sender for the same country to a Messaging Service or Sender Pool. Each country can only have one alpha sender assigned per Messaging Service Number Pool.",
    "solutions": "* If you are sending to the United States and Canada, use a [Toll-Free or short code number](https://support.twilio.com/hc/en-us/articles/360038173654-Comparison-of-SMS-messaging-in-the-US-and-Canada-for-long-codes-short-codes-and-toll-free-phone-numbers) with higher message throughput (MPS), instead of adding more local numbers. Most mobile carriers in the US and Canada do not not permit [Application-to-Person (A2P)](https://support.twilio.com/hc/en-us/articles/223133807-What-is-P2P-and-A2P-messaging-) messaging via long codes, so there is a high risk of [carrier filtering](https://support.twilio.com/hc/en-us/articles/223181848-How-Does-Carrier-Filtering-Work-) when sending this type of traffic via long code.\n* If you are sending to other countries, you may be eligible to have your Number Pool size limit increased. Please [submit a ticket](https://www.twilio.com/console/support/tickets/create) with a description of your use case and why you need a higher number pool size limit. These requests will be reviewed by our Messaging team.",
    "description": "You have attempted to add a Twilio phone number, alpha sender, or short code to your Messaging Service Number Pool, but you are already at the limit of phone numbers or alpha senders. By default, a Messaging Service can contain up to a total of 400 Twilio phone numbers and short codes and only one Alpha Sender per country.",
    "date_created": "2020-06-24T20:27:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21715,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone Number Does Not Have Correct Messaging Service Capabilities",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nIn order for a phone number to work in a Messaging Service it must have at least SMS or MMS capabilities. If it does not have either, it will fail.\n\n### Possible causes\n\n- The phone number you are trying to add to the Messaging Service does not have SMS or MMS capabilities.\n\n### Possible solutions\n\n- The [Active Numbers](https://www.twilio.com/console/phone-numbers/incoming) page in the Twilio Console will display the capabilities of each of the phone numbers in your account.\n- Find a new phone number that has SMS and/or MMS capabilities depending on your use case and business needs, and add that phone number to your Messaging Service.\n",
    "causes": "* The phone number you are trying to add to the Messaging Service does not have SMS or MMS capabilities.",
    "solutions": "* The [Active Numbers](https://www.twilio.com/console/phone-numbers/incoming) page in the Twilio Console will display the capabilities of each of the phone numbers in your account.\n* Find a new phone number that has SMS and/or MMS capabilities depending on your use case and business needs, and add that phone number to your Messaging Service.",
    "description": "In order for a phone number to work in a Messaging Service it must have at least SMS or MMS capabilities. If it does not have either, it will fail.",
    "date_created": "2021-05-27T17:56:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21716,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Sender is associated to another Messaging Service.",
    "secondary_message": "Sender cannot be added to a Messaging Service if they are already associated to another Messaging Service. In order to add the sender, you must first remove it from the previous Service before adding it to the new Service.",
    "product": null,
    "docs": "\n## Description\n\nSender cannot be added to a Messaging Service if they are already associated to another Messaging Service. In order to add the sender, you must first remove it from the previous Service before adding it to the new Service.\n",
    "causes": null,
    "solutions": null,
    "description": "Sender cannot be added to a Messaging Service if they are already associated to another Messaging Service. In order to add the sender, you must first remove it from the previous Service before adding it to the new Service.",
    "date_created": "2018-09-04T20:53:36Z",
    "last_updated": "2018-09-04T23:32:12Z"
  },
  {
    "code": 21717,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration SID for US A2P Campaign Use Case is Not Registered or Not Valid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Brand Registration SID you are trying to use to register a new US A2P campaign use case is not registered or the Brand Registration SID is not valid for the given use case.\n\n### Possible causes\n\n- The Brand Registration SID passed in the request is not registered.\n- The Brand Registration SID passed in the request is not valid for the given use case. Only brands with a STARTER brand\\_type can create STARTER campaign use cases.\n\n### Possible solutions\n\n- Verify if the Brand Registration SID has been registered by checking the `status` field using the [Brand API](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#using-get-to-check-brand-registration-status). If the brand has been registered, it will have a status of APPROVED. If this is the case, verify that the Brand Registration SID passed into the request matches the Brand Registration SID that has been registered and retry the request.\n- If Brand Registration has an IN\\_PROGRESS status, registration is in progress. Please wait for it to be in an APPROVED status before moving forward with US A2P campaign use case creation.\n- If Brand Registration has a REGISTRATION\\_FAILED status, you may need to correct your brand request and re-trigger Brand registration.\n- Verify the brand\\_type of the Brand by checking the `brand_type` field using the [Brand API](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#using-get-to-check-brand-registration-status). If the brand\\_type is STARTER, the brand can only be used to create STARTER campaign use cases. If it is a STANDARD brand\\_type, the brand can be used to create any other type of campaign use case.\n",
    "causes": "* The Brand Registration SID passed in the request is not registered.\n* The Brand Registration SID passed in the request is not valid for the given use case. Only brands with a STARTER brand\\_type can create STARTER campaign use cases.",
    "solutions": "* Verify if the Brand Registration SID has been registered by checking the `status` field using the [Brand API](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#using-get-to-check-brand-registration-status). If the brand has been registered, it will have a status of APPROVED. If this is the case, verify that the Brand Registration SID passed into the request matches the Brand Registration SID that has been registered and retry the request.\n* If Brand Registration has an IN\\_PROGRESS status, registration is in progress. Please wait for it to be in an APPROVED status before moving forward with US A2P campaign use case creation.\n* If Brand Registration has a REGISTRATION\\_FAILED status, you may need to correct your brand request and re-trigger Brand registration.\n* Verify the brand\\_type of the Brand by checking the `brand_type` field using the [Brand API](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#using-get-to-check-brand-registration-status). If the brand\\_type is STARTER, the brand can only be used to create STARTER campaign use cases. If it is a STANDARD brand\\_type, the brand can be used to create any other type of campaign use case.",
    "description": "The Brand Registration SID you are trying to use to register a new US A2P campaign use case is not registered or the Brand Registration SID is not valid for the given use case.",
    "date_created": "2021-05-27T17:59:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21718,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The Service Configuration does not exist.",
    "secondary_message": "The service configuration for the Account, Number Pool Service or Messaging service you are referencing does not exist.",
    "product": null,
    "docs": "\n## Description\n\nThe service configuration for the Account, Number Pool Service or Messaging service you are referencing does not exist.\n",
    "causes": null,
    "solutions": null,
    "description": "The service configuration for the Account, Number Pool Service or Messaging service you are referencing does not exist.",
    "date_created": "2018-09-05T00:21:07Z",
    "last_updated": "2018-09-05T00:21:07Z"
  },
  {
    "code": 21719,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Incompatible Messaging Service/A2P Use Cases",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nRequest was unsuccessful due to incompatibility between the Messaging Service use case and the A2P use case for the messaging service.\n\n### Possible causes\n\n- Updating a Messaging Service use case to one that is not compatible with the current A2P use case for this messaging service.\n- Creating a new A2P campaign with an A2P use case that is not compatible with the current Messaging Service use case.\n\n### Possible solutions\n\nUpdate the request to pass a compatible A2P/Messaging Service use case. The following resource can be used to retrieve all compatible A2P use cases for a specific Messaging Service: https://messaging.twilio.com/v1/Services/MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Compliance/Usa2p/Usecases\n",
    "causes": "* Updating a Messaging Service use case to one that is not compatible with the current A2P use case for this messaging service.\n* Creating a new A2P campaign with an A2P use case that is not compatible with the current Messaging Service use case.",
    "solutions": "Update the request to pass a compatible A2P/Messaging Service use case. The following resource can be used to retrieve all compatible A2P use cases for a specific Messaging Service: https://messaging.twilio.com/v1/Services/MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Compliance/Usa2p/Usecases",
    "description": "Request was unsuccessful due to incompatibility between the Messaging Service use case and the A2P use case for the messaging service.",
    "date_created": "2021-06-29T16:24:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21720,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "A2P Use Case is Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe A2P use case you are trying to specify in the request is not a valid use case.\n\n### Possible causes\n\nThe A2P use case specified in the request is not a valid A2P use case.\n\n### Possible solutions\n\nVerify that you are spelling the use case correctly in your request and that it is using all uppercase letters. The following resource can also be used to retrieve all valid A2P use cases for a specific Messaging Service: https://messaging.twilio.com/v1/Services/MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Compliance/Usa2p/Usecases\n",
    "causes": "The A2P use case specified in the request is not a valid A2P use case.",
    "solutions": "Verify that you are spelling the use case correctly in your request and that it is using all uppercase letters. The following resource can also be used to retrieve all valid A2P use cases for a specific Messaging Service: https://messaging.twilio.com/v1/Services/MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Compliance/Usa2p/Usecases",
    "description": "The A2P use case you are trying to specify in the request is not a valid use case.",
    "date_created": "2021-06-29T16:25:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21721,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot import Campaign Verify token due to incompatible A2P brand",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe attempt to import a Campaign Verify token to your brand failed because your A2P brand is in an incompatible state.\n\n### Possible causes\n\n- Your A2P brand has a status of `FAILED` meaning the brand was not successfully registered\n- Your A2P brand is of type `STARTER` meaning it is a starter brand, not a standard brand\n\n### Possible solutions\n\n- Verify if the Brand Registration SID has been registered successfully by checking the `status` field using the [Brand API](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#using-get-to-check-brand-registration-status). If the brand has been registered successfully, it will have a status of `APPROVED`. If this is the case, try to import the token again.\n- Verify that the Brand Registration SID is of the correct type by checking the `brand_type` field using the [Brand API](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#using-get-to-check-brand-registration-status). The brand should have a type of \"STANDARD.\" If the `brand_type` is `STARTER`, the brand does not support importing a Campaign Verify token. Once you've verified that you are using a standard brand, try to import the token again\n",
    "causes": "* Your A2P brand has a status of `FAILED` meaning the brand was not successfully registered\n* Your A2P brand is of type `STARTER` meaning it is a starter brand, not a standard brand",
    "solutions": "* Verify if the Brand Registration SID has been registered successfully by checking the `status` field using the [Brand API](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#using-get-to-check-brand-registration-status). If the brand has been registered successfully, it will have a status of `APPROVED`. If this is the case, try to import the token again.\n* Verify that the Brand Registration SID is of the correct type by checking the `brand_type` field using the [Brand API](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#using-get-to-check-brand-registration-status). The brand should have a type of \"STANDARD.\" If the `brand_type` is `STARTER`, the brand does not support importing a Campaign Verify token. Once you've verified that you are using a standard brand, try to import the token again",
    "description": "The attempt to import a Campaign Verify token to your brand failed because your A2P brand is in an incompatible state.",
    "date_created": "2021-10-25T16:04:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21722,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Campaign Verify token",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe attempt to import a Campaign Verify token to your brand failed because the token is invalid. Use a full CV token that matches Campaign Verify's required format and the organization entity listed on the token. Campaign Verify tokens expire, and you can only use a CV token with one Brand.\n\n### Possible causes\n\n- The token is not formatted correctly. Campaign Verify CV tokens use 6 pipe-delimited fields, and the token must match the format exactly.\n- The token is expired. Campaign Verify tokens expire after a period of time.\n- The token has already been used with another Brand. You can only use a CV token with one Brand.\n\n### Possible solutions\n\n- Verify that you are using the full CV token and set `VettingProvider` to `CAMPAIGN_VERIFY`. Provide `VettingId` with all 6 fields, including the pipes.\n- Confirm that the token is valid for the organization entity listed on the token. If you are supporting multiple Brands, generate a unique token for each Brand.\n- If the token has expired, obtain a new Campaign Verify token and import it again.\n- If you are registering a 527 political organization, complete the Campaign Verify flow before you submit the Brand registration.\n\n#### Additional resources\n\n- [A2P 10DLC - Registration for Government and Nonprofit Agencies](/docs/messaging/compliance/a2p-10dlc/onboarding-for-government-and-non-profit-agencies)\n- [A2P 10DLC - Vettings subresource](/docs/messaging/api/brand-vetting-resource)\n- [Get started with toll-free verification using the API](/docs/messaging/compliance/toll-free/api-onboarding)\n",
    "causes": "* The token is not formatted correctly. Campaign Verify CV tokens use 6 pipe-delimited fields, and the token must match the format exactly.\n* The token is expired. Campaign Verify tokens expire after a period of time.\n* The token has already been used with another Brand. You can only use a CV token with one Brand.",
    "solutions": "* Verify that you are using the full CV token and set `VettingProvider` to `CAMPAIGN_VERIFY`. Provide `VettingId` with all 6 fields, including the pipes.\n* Confirm that the token is valid for the organization entity listed on the token. If you are supporting multiple Brands, generate a unique token for each Brand.\n* If the token has expired, obtain a new Campaign Verify token and import it again.\n* If you are registering a 527 political organization, complete the Campaign Verify flow before you submit the Brand registration.",
    "description": "The attempt to import a Campaign Verify token to your brand failed because the token is invalid. Use a full CV token that matches Campaign Verify's required format and the organization entity listed on the token. Campaign Verify tokens expire, and you can only use a CV token with one Brand.",
    "date_created": "2021-10-25T16:08:50Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 21723,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Verify token import already in progress",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe attempt to import a Campaign Verify token to your brand failed because there is already a token that is queued for importing.\n\n### Possible causes\n\nAnother Campaign Verify token has a status of `IN_PROGRESS` meaning it is already queued for import. Only one token can be imported at a time.\n\n### Possible solutions\n\nVerify that there are not existing vetting attempts for Campaign Verify that are in progress by checking the `vettingStatus` field of the Fetch Vettings API . There should not be a vetting listed with the `vettingProvider: \"CampaignVerify\"` that has a `vettingStatus` of `IN_PROGRESS`. Please wait until the vetting status moves to `SUCCESS` or `FAILED` before attempting to import a new Campaign Verify token.\n",
    "causes": "Another Campaign Verify token has a status of `IN_PROGRESS` meaning it is already queued for import. Only one token can be imported at a time.",
    "solutions": "Verify that there are not existing vetting attempts for Campaign Verify that are in progress by checking the `vettingStatus` field of the Fetch Vettings API . There should not be a vetting listed with the `vettingProvider: \"CampaignVerify\"` that has a `vettingStatus` of `IN_PROGRESS`. Please wait until the vetting status moves to `SUCCESS` or `FAILED` before attempting to import a new Campaign Verify token.",
    "description": "The attempt to import a Campaign Verify token to your brand failed because there is already a token that is queued for importing.",
    "date_created": "2021-10-25T16:12:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21724,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand update count exceeded",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nReturn this error when a brand update request exceeds the allowed limit for the brand. Twilio allows up to three brand updates at no additional charge. After that, update requests return 21724.\n\n### Possible causes\n\n- The brand has already been updated three times.\n- Another `brand_registrations.update` request was sent after the update limit was reached.\n\n### Possible solutions\n\n- Stop retrying the brand update and contact Twilio Support for additional assistance.\n- Review the associated Customer Profile or Trust Bundle, correct the data, and resubmit the brand update with the fewest possible attempts.\n- If the brand is in `FAILED` status and has a non-null `tcr_id`, update the upstream profile or bundle first, then call `brand_registrations.update` again.\n\n#### Additional resources\n\n- [Troubleshooting A2P 10DLC Standard/LVS Brands](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-standardlvs-brands)\n- [A2P 10DLC BrandRegistrations resource](/docs/messaging/api/brand-registration-resource)\n",
    "causes": "* The brand has already been updated three times.\n* Another `brand_registrations.update` request was sent after the update limit was reached.",
    "solutions": "* Stop retrying the brand update and contact Twilio Support for additional assistance.\n* Review the associated Customer Profile or Trust Bundle, correct the data, and resubmit the brand update with the fewest possible attempts.\n* If the brand is in `FAILED` status and has a non-null `tcr_id`, update the upstream profile or bundle first, then call `brand_registrations.update` again.",
    "description": "Return this error when a brand update request exceeds the allowed limit for the brand. Twilio allows up to three brand updates at no additional charge. After that, update requests return 21724.",
    "date_created": "2021-11-18T18:19:00Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 21725,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand can only be updated when in FAILED state",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou tried to update a brand before it reached `FAILED` status. Only failed brands can be updated, and when you do have a failed brand, fix the related Customer Profile or Trust Bundle data first, then call the `brand_registrations` update endpoint.\n\n### Possible causes\n\n- The brand is in `REGISTERED` status.\n- The brand is in `IN_PROGRESS` status.\n- The brand has not entered `FAILED` status, so Twilio will not accept the update request.\n\n### Possible solutions\n\n- If the brand is `REGISTERED` and needs changes, contact Twilio Support.\n- If the brand is `IN_PROGRESS`, wait for it to leave that state before retrying.\n- If the brand is `FAILED`, review the brand `errors` field, correct the related Customer Profile or Trust Bundle information, and resubmit the brand update.\n\n#### Additional resources\n\n- [A2P 10DLC - BrandRegistrations resource](/docs/messaging/api/brand-registration-resource)\n- [Troubleshooting A2P 10DLC Standard/LVS Brands](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-standardlvs-brands)\n- [Trust Hub](/docs/trust-hub)\n",
    "causes": "* The brand is in `REGISTERED` status.\n* The brand is in `IN_PROGRESS` status.\n* The brand has not entered `FAILED` status, so Twilio will not accept the update request.",
    "solutions": "* If the brand is `REGISTERED` and needs changes, contact Twilio Support.\n* If the brand is `IN_PROGRESS`, wait for it to leave that state before retrying.\n* If the brand is `FAILED`, review the brand `errors` field, correct the related Customer Profile or Trust Bundle information, and resubmit the brand update.",
    "description": "You tried to update a brand before it reached `FAILED` status. Only failed brands can be updated, and when you do have a failed brand, fix the related Customer Profile or Trust Bundle data first, then call the `brand_registrations` update endpoint.",
    "date_created": "2021-11-18T18:23:59Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 21726,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Starter brand registrations and updates are temporarily disabled",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nStarter Brands can no longer be created or updated in Twilio Messaging. Twilio deprecated those operations, and this error appears when a request targets a Starter Brand instead of a supported brand type.\n\n### Possible causes\n\n- You are trying to create or update a Starter Brand, and Twilio has disabled that operation in the Console and APIs.\n- The business should be registered as a Standard Brand or Low-Volume Standard Brand instead. Direct customers with a Tax ID use that registration path, and Twilio's brand-type guide recommends choosing the brand type based on messaging volume and throughput.\n- If you started with a Sole Proprietor Brand, your messaging needs or tax status may require a transition to a Standard or Low-Volume Standard Brand.\n\n### Possible solutions\n\n- Go to Messaging > Regulatory Compliance > Onboarding and register a Standard Brand or Low-Volume Standard Brand instead of a Starter Brand.\n- If you are moving from a Sole Proprietor Brand, create a separate Customer Profile, Brand, and Campaign for the new Standard or Low-Volume Standard Brand.\n- If you still need help with an existing Starter Brand, contact Twilio Support.\n\n#### Additional resources\n\n- [Programmable Messaging and A2P 10DLC](/docs/messaging/compliance/a2p-10dlc)\n- [Direct Standard and Low-Volume Standard Registration Guide](/docs/messaging/compliance/a2p-10dlc/direct-standard-onboarding)\n- [Transition from a Sole Proprietor to a Standard Brand](/docs/messaging/compliance/a2p-10dlc/transition-sole-proprietor-to-standard-brand)\n",
    "causes": "* You are trying to create or update a Starter Brand, and Twilio has disabled that operation in the Console and APIs.\n* The business should be registered as a Standard Brand or Low-Volume Standard Brand instead. Direct customers with a Tax ID use that registration path, and Twilio's brand-type guide recommends choosing the brand type based on messaging volume and throughput.\n* If you started with a Sole Proprietor Brand, your messaging needs or tax status may require a transition to a Standard or Low-Volume Standard Brand.",
    "solutions": "* Go to Messaging > Regulatory Compliance > Onboarding and register a Standard Brand or Low-Volume Standard Brand instead of a Starter Brand.\n* If you are moving from a Sole Proprietor Brand, create a separate Customer Profile, Brand, and Campaign for the new Standard or Low-Volume Standard Brand.\n* If you still need help with an existing Starter Brand, contact Twilio Support.",
    "description": "Starter Brands can no longer be created or updated in Twilio Messaging. Twilio deprecated those operations, and this error appears when a request targets a Starter Brand instead of a supported brand type.",
    "date_created": "2022-09-13T20:44:33Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 21727,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration failed due to missing parameter(s)",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWe could not register your US A2P Campaign because one or more required parameter(s) are missing\n\n### Possible causes\n\nOne or more required parameters are missing for Campaign registration\n\n### Possible solutions\n\nPlease include all required parameters and retry Campaign registration. Please check out our [support article](https://support.twilio.com/hc/en-us/articles/8959909733403-Changes-to-the-A2P-10DLC-Campaign-Creation-Process) to understand which fields are required for campaign registration.\n",
    "causes": "One or more required parameters are missing for Campaign registration",
    "solutions": "Please include all required parameters and retry Campaign registration. Please check out our [support article](https://support.twilio.com/hc/en-us/articles/8959909733403-Changes-to-the-A2P-10DLC-Campaign-Creation-Process) to understand which fields are required for campaign registration.",
    "description": "We could not register your US A2P Campaign because one or more required parameter(s) are missing",
    "date_created": "2022-10-06T18:25:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21728,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration failed due to length validation failures",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWe could not register your US A2P Campaign because one or more field(s) do not satisfy length requirements.\n\n### Possible causes\n\nOne or more field(s) do not satisfy length requirements.\n\n### Possible solutions\n\nPlease fix the error and retry Campaign registration. Please check out our [support article](https://support.twilio.com/hc/en-us/articles/8959909733403-Changes-to-the-A2P-10DLC-Campaign-Creation-Process) to read about the length requirements on these fields.\n",
    "causes": "One or more field(s) do not satisfy length requirements.",
    "solutions": "Please fix the error and retry Campaign registration. Please check out our [support article](https://support.twilio.com/hc/en-us/articles/8959909733403-Changes-to-the-A2P-10DLC-Campaign-Creation-Process) to read about the length requirements on these fields.",
    "description": "We could not register your US A2P Campaign because one or more field(s) do not satisfy length requirements.",
    "date_created": "2022-10-06T18:28:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21729,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot perform operation on suspended campaign",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe requested operation is blocked because the campaign is in a suspended state. Suspended campaigns cannot be used to send messages, and self-service deletion or number changes are unavailable until the suspension is lifted.\n\n### Possible causes\n\n- The campaign was suspended after a messaging policy or compliance violation, including issues such as campaign-to-traffic mismatch, spam, phishing, or other related violations.\n- The associated Brand is suspended, which can also place the campaign into a suspended state.\n\n### Possible solutions\n\n- Check the campaign status and associated Brand status in Messaging > Regulatory Compliance > Campaigns and Brands to confirm whether the campaign or Brand is suspended.\n- Review the suspension reason and resolve the underlying compliance or policy issue before retrying the operation.\n- If the campaign is suspended, do not try to delete it or change its numbers through self-service until the suspension is lifted.\n- Contact Twilio Support for the suspension details and next steps.\n\n#### Additional resources\n\n- [Troubleshooting and rectifying Campaigns](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns-1)\n",
    "causes": "* The campaign was suspended after a messaging policy or compliance violation, including issues such as campaign-to-traffic mismatch, spam, phishing, or other related violations.\n* The associated Brand is suspended, which can also place the campaign into a suspended state.",
    "solutions": "* Check the campaign status and associated Brand status in Messaging > Regulatory Compliance > Campaigns and Brands to confirm whether the campaign or Brand is suspended.\n* Review the suspension reason and resolve the underlying compliance or policy issue before retrying the operation.\n* If the campaign is suspended, do not try to delete it or change its numbers through self-service until the suspension is lifted.\n* Contact Twilio Support for the suspension details and next steps.",
    "description": "The requested operation is blocked because the campaign is in a suspended state. Suspended campaigns cannot be used to send messages, and self-service deletion or number changes are unavailable until the suspension is lifted.",
    "date_created": "2022-12-09T00:26:46Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 21730,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "System under maintenance. Please try again later.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error is returned by Twilio Systems when the system is going through a scheduled maintenance. During this maintenance window some of the operations are not allowed and this error is returned.\n\n### Possible causes\n\nCurrently the system is going through some maintenance.\n\n### Possible solutions\n\nTry again later because once maintenance activity is completed all requests are processed successfully.\n",
    "causes": "Currently the system is going through some maintenance.",
    "solutions": "Try again later because once maintenance activity is completed all requests are processed successfully.",
    "description": "This error is returned by Twilio Systems when the system is going through a scheduled maintenance. During this maintenance window some of the operations are not allowed and this error is returned.",
    "date_created": "2023-03-22T01:00:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21731,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot perform operation on suspended brand",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWhen an A2P 10DLC Brand is in a suspended state, the following operations are not allowed: • Create a new campaign - when you try to create a new campaign using a suspended brand, this error code is returned • Update brand - when you try to update a suspended brand, this error code is returned\n\n### Possible causes\n\nYour Brand has been suspended because of one or more violations against the US A2P 10DLC policies.\n\n### Possible solutions\n\nThe Twilio team should be reaching out to you to provide guidance on how to fix the suspended Brand. Please check your email or the Twilio Support Center. If you don't see anything, please raise a ticket with the Twilio Support team.\n",
    "causes": "Your Brand has been suspended because of one or more violations against the US A2P 10DLC policies.",
    "solutions": "The Twilio team should be reaching out to you to provide guidance on how to fix the suspended Brand. Please check your email or the Twilio Support Center. If you don't see anything, please raise a ticket with the Twilio Support team.",
    "description": "When an A2P 10DLC Brand is in a suspended state, the following operations are not allowed: • Create a new campaign - when you try to create a new campaign using a suspended brand, this error code is returned • Update brand - when you try to update a suspended brand, this error code is returned",
    "date_created": "2023-08-09T14:01:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21732,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign limit reached on the Brand",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou can only set up one Sole Proprietor Campaign per Sole Proprietor Brand. Please note that campaigns in all statuses (such as Pending, Registered, Failed) count towards this limit.\n\n### Possible causes\n\nYour request to create a Campaign has failed because there's already an existing Campaign associated with this Sole Proprietor Brand.\n\n### Possible solutions\n\nPlease delete the existing Campaign first and then retry.\n",
    "causes": "Your request to create a Campaign has failed because there's already an existing Campaign associated with this Sole Proprietor Brand.",
    "solutions": "Please delete the existing Campaign first and then retry.",
    "description": "You can only set up one Sole Proprietor Campaign per Sole Proprietor Brand. Please note that campaigns in all statuses (such as Pending, Registered, Failed) count towards this limit.",
    "date_created": "2023-11-14T08:38:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21733,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Default Messaging Service Not Found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio could not find the account's default Messaging Service. The outbound message itself should still succeed, but this warning can still appear.\n\n### Possible causes\n\n- A default Messaging Service was not created for the account.\n\n### Possible solutions\n\n- Contact Twilio Messaging Support with the `Account SID` and error code so the warning can be cleared.\n- Confirm that the account has a default Messaging Service. Twilio automatically generates a default Messaging Service for each account upon creation.\n\n#### Additional resources\n\n- [Messaging Services](/docs/messaging/services)\n- [Build your Account](/docs/messaging/onboarding/build-your-account)\n- [SMS Foundations](/docs/messaging/onboarding/sms-foundations)\n",
    "causes": "* A default Messaging Service was not created for the account.",
    "solutions": "* Contact Twilio Messaging Support with the `Account SID` and error code so the warning can be cleared.\n* Confirm that the account has a default Messaging Service. Twilio automatically generates a default Messaging Service for each account upon creation.",
    "description": "Twilio could not find the account's default Messaging Service. The outbound message itself should still succeed, but this warning can still appear.",
    "date_created": "2024-01-03T18:54:57Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 21734,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The number cannot be shared at this time due to specific conditions not being met",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\naaaa\n\n### Possible causes\n\nMessaging service Configurations PN is not supported\n\n### Possible solutions\n\nUpdate MS Share a supported number\n",
    "causes": "Messaging service Configurations PN is not supported",
    "solutions": "Update MS Share a supported number",
    "description": "aaaa",
    "date_created": "2024-03-22T22:51:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21735,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to update Messaging Service Configuration due to Shared Sender",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\naaaa\n\n### Possible causes\n\nthere is shared sender in the service\n\n### Possible solutions\n\nremove shared sender\n",
    "causes": "there is shared sender in the service",
    "solutions": "remove shared sender",
    "description": "aaaa",
    "date_created": "2024-03-22T22:54:39Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21736,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Domain Ownership Could Not Be Verified",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe domain used in the brand contact email could not be independently verified as belonging to the brand.\n\n### Possible causes\n\nThe domain has no verifiable public ownership records or does not align with the registered brand information.\n\n### Possible solutions\n\nUse an email domain that is clearly linked to the brand (e.g., via website, WHOIS record, or DNS TXT record). Contact Twilio Support for additional guidance.\n",
    "causes": "The domain has no verifiable public ownership records or does not align with the registered brand information.",
    "solutions": "Use an email domain that is clearly linked to the brand (e.g., via website, WHOIS record, or DNS TXT record). Contact Twilio Support for additional guidance.",
    "description": "The domain used in the brand contact email could not be independently verified as belonging to the brand.",
    "date_created": "2024-08-27T14:21:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21737,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: 2FA Verification Expired",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe two-factor verification window expired before a response was received. A new request is required.\n\n### Possible causes\n\nThe verification link or token expired after the allowed duration without user confirmation.\n\n### Possible solutions\n\nSubmit a new 2FA request using the API or Console and ask the brand contact to complete it within the active time window.\n",
    "causes": "The verification link or token expired after the allowed duration without user confirmation.",
    "solutions": "Submit a new 2FA request using the API or Console and ask the brand contact to complete it within the active time window.",
    "description": "The two-factor verification window expired before a response was received. A new request is required.",
    "date_created": "2024-08-27T14:23:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21738,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: 2FA Email Undeliverable",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe verification email sent to the brand contact could not be delivered. This prevents completion of the 2FA verification step.\n\n### Possible causes\n\nThe recipient's email server rejected the message, or the email address is invalid or misspelled.\n\n### Possible solutions\n\nVerify that the brand contact email is active, valid, and capable of receiving external email. Update the email if necessary.\n",
    "causes": "The recipient's email server rejected the message, or the email address is invalid or misspelled.",
    "solutions": "Verify that the brand contact email is active, valid, and capable of receiving external email. Update the email if necessary.",
    "description": "The verification email sent to the brand contact could not be delivered. This prevents completion of the 2FA verification step.",
    "date_created": "2025-07-23T17:03:59.523Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21739,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Brand Registration Failure: 2FA Verification Failed or Timed Out",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe 2FA process was not completed successfully. The PIN code may not have been entered, or the session timed out.\n\n### Possible causes\n\nThe user failed to act on the verification email or the verification expired.\n\n### Possible solutions\n\nRe-initiate 2FA and ensure the brand contact completes the verification in time. Confirm email deliverability and urgency with the user.\n",
    "causes": "The user failed to act on the verification email or the verification expired.",
    "solutions": "Re-initiate 2FA and ensure the brand contact completes the verification in time. Confirm email deliverability and urgency with the user.",
    "description": "The 2FA process was not completed successfully. The PIN code may not have been entered, or the session timed out.",
    "date_created": "2025-08-06T16:52:37.318Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21740,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Invalid Brand Contact Email Domain",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe brand contact email submitted uses a domain that is not permitted for 2FA validation. Only business or organizational domains are allowed for Auth+ verification.\n\n### Possible causes\n\nThe domain used in the brand contact email is a personal, generic, or otherwise unverified domain (e.g., gmail.com, yahoo.com).\n\n### Possible solutions\n\nUpdate the brand contact email to use a domain that is associated with the business or organization. Avoid free, personal, or unverified domains.\n",
    "causes": "The domain used in the brand contact email is a personal, generic, or otherwise unverified domain (e.g., gmail.com, yahoo.com).",
    "solutions": "Update the brand contact email to use a domain that is associated with the business or organization. Avoid free, personal, or unverified domains.",
    "description": "The brand contact email submitted uses a domain that is not permitted for 2FA validation. Only business or organizational domains are allowed for Auth+ verification.",
    "date_created": "2025-07-29T11:56:41.354Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21741,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: 2FA Code Expired",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe PIN code issued to the brand contact expired without receiving a confirmation. 2FA must be completed within the designated time window.\n\n### Possible causes\n\nThe user did not enter the code within the allotted time (typically 7 days).\n\n### Possible solutions\n\nRe-initiate the 2FA process and ask the recipient to complete verification promptly before expiration.\n",
    "causes": "The user did not enter the code within the allotted time (typically 7 days).",
    "solutions": "Re-initiate the 2FA process and ask the recipient to complete verification promptly before expiration.",
    "description": "The PIN code issued to the brand contact expired without receiving a confirmation. 2FA must be completed within the designated time window.",
    "date_created": "2025-07-23T17:05:02.851Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21742,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Not Eligible for 2FA Verification",
    "secondary_message": "2FA verification is only required on brands to be classified as a public, for profit organization.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when an 2FA verification submission is made for a brand that is not classified as a public, for profit entity. Auth+ is currently only required for brands that are public, for profit organizations.\n\n### Possible causes\n\nThe brand is registered as a non-profit, private entity, or another ineligible organization type.\n\n### Possible solutions\n\nConfirm that the brand is a public, for profit organization.\n\nIf the classification is incorrect, update the brand's entity type via Twilio Support\n",
    "causes": "The brand is registered as a non-profit, private entity, or another ineligible organization type.",
    "solutions": "Confirm that the brand is a public, for profit organization. If the classification is incorrect, update the brand's entity type via Twilio Support",
    "description": "This error occurs when an 2FA verification submission is made for a brand that is not classified as a public, for profit entity. Auth+ is currently only required for brands that are public, for profit organizations.",
    "date_created": "2025-06-04T16:56:25.18Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21743,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Brand Not Found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the associated brand registration was not found.\n\n### Possible causes\n\nThe brand SID provided does not match any registered brand.\n\n### Possible solutions\n\nVerify the brand SID and ensure it is properly registered.\n",
    "causes": "The brand SID provided does not match any registered brand.",
    "solutions": "Verify the brand SID and ensure it is properly registered.",
    "description": "The campaign submission could not be processed because the associated brand registration was not found.",
    "date_created": "2025-07-02T17:01:43.841Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21744,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Brand Not in Approved State",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the associated brand registration is not in an approved state.\n\n### Possible causes\n\nThe brand has not been approved yet or is pending review.\n\n### Possible solutions\n\nComplete brand identity vetting and wait for approval before submitting a campaign.\n",
    "causes": "The brand has not been approved yet or is pending review.",
    "solutions": "Complete brand identity vetting and wait for approval before submitting a campaign.",
    "description": "The campaign submission could not be processed because the associated brand registration is not in an approved state.",
    "date_created": "2025-07-02T17:04:06.477Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21745,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Brand Suspended",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the associated brand registration is suspended.\n\n### Possible causes\n\nThe brand has been suspended due to non-compliance or policy issues.\n\n### Possible solutions\n\nContact Twilio Support to resolve the suspension or review the compliance requirements.\n",
    "causes": "The brand has been suspended due to non-compliance or policy issues.",
    "solutions": "Contact Twilio Support to resolve the suspension or review the compliance requirements.",
    "description": "The campaign submission could not be processed because the associated brand registration is suspended.",
    "date_created": "2025-07-02T17:04:36.306Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21746,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Campaign Suspended",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign cannot be updated because the campaign is suspended.\n\n### Possible causes\n\nThe campaign is inactive or has been flagged for review.\n\n### Possible solutions\n\nReach out to Twilio Support for guidance on campaign reactivation or compliance fixes.\n",
    "causes": "The campaign is inactive or has been flagged for review.",
    "solutions": "Reach out to Twilio Support for guidance on campaign reactivation or compliance fixes.",
    "description": "The campaign cannot be updated because the campaign is suspended.",
    "date_created": "2025-07-02T17:07:50.082Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21747,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Message Samples",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the provided message samples were invalid. Between two and five message samples must be provided, each between 20 and 1024 characters.\n\n### Possible causes\n\nSamples are too few, too many, or outside 20-1024 character range.\n\n### Possible solutions\n\nProvide 2-5 message samples, each between 20-1024 characters.\n",
    "causes": "Samples are too few, too many, or outside 20-1024 character range.",
    "solutions": "Provide 2-5 message samples, each between 20-1024 characters.",
    "description": "The campaign submission could not be processed because the provided message samples were invalid. Between two and five message samples must be provided, each between 20 and 1024 characters.",
    "date_created": "2025-07-02T17:08:36.798Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21748,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Message Flow",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the provided message flow was invalid. The field must be present, and its length between 40 and 2048 characters.\n\n### Possible causes\n\nMessage flow text is missing or outside the 40-2048 character limit.\n\n### Possible solutions\n\nEnsure message flow is present and between 40-2048 characters long.\n",
    "causes": "Message flow text is missing or outside the 40-2048 character limit.",
    "solutions": "Ensure message flow is present and between 40-2048 characters long.",
    "description": "The campaign submission could not be processed because the provided message flow was invalid. The field must be present, and its length between 40 and 2048 characters.",
    "date_created": "2025-07-02T17:09:15.96Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21749,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Update Count Exceeded",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because it has been re-submitted more than the maximum number of attempts.\n\n### Possible causes\n\nThe campaign has been updated more than the allowed number of times.\n\n### Possible solutions\n\nSubmit a new campaign registration instead of resubmitting.\n",
    "causes": "The campaign has been updated more than the allowed number of times.",
    "solutions": "Submit a new campaign registration instead of resubmitting.",
    "description": "The campaign submission could not be processed because it has been re-submitted more than the maximum number of attempts.",
    "date_created": "2025-07-02T17:09:27.017Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21750,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Campaign Not Eligible for Update",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be updated because it is not in a status eligible for re-submission.\n\n### Possible causes\n\nThe campaign is not in a rejected or editable state.\n\n### Possible solutions\n\nOnly rejected campaigns can be resubmitted. Check campaign status before retrying.\n",
    "causes": "The campaign is not in a rejected or editable state.",
    "solutions": "Only rejected campaigns can be resubmitted. Check campaign status before retrying.",
    "description": "The campaign submission could not be updated because it is not in a status eligible for re-submission.",
    "date_created": "2025-07-02T17:09:38.938Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21751,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Messaging Service Cannot Be Changed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be updated because the messaging service was changed on the request. Please re-submit the campaign registration with the same messaging service SID as was used upon initial creation.\n\n### Possible causes\n\nMessaging Service SID differs from the original submission.\n\n### Possible solutions\n\nUse the same Messaging Service SID as the initial registration.\n",
    "causes": "Messaging Service SID differs from the original submission.",
    "solutions": "Use the same Messaging Service SID as the initial registration.",
    "description": "The campaign submission could not be updated because the messaging service was changed on the request. Please re-submit the campaign registration with the same messaging service SID as was used upon initial creation.",
    "date_created": "2025-07-02T17:09:53.012Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21752,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Messaging Service Not Found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be updated because the messaging service provided on the registration was not found.\n\n### Possible causes\n\nThe Messaging Service SID provided does not exist or is invalid.\n\n### Possible solutions\n\nDouble-check the Messaging Service SID and confirm it exists in your Twilio account.\n",
    "causes": "The Messaging Service SID provided does not exist or is invalid.",
    "solutions": "Double-check the Messaging Service SID and confirm it exists in your Twilio account.",
    "description": "The campaign submission could not be updated because the messaging service provided on the registration was not found.",
    "date_created": "2025-07-02T17:10:03.407Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21753,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Registration Fields Cannot Be Changed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be updated because the `age_gated`, `direct_lending`, `embedded_link`, or `embedded_phone` fields were changed when attempting to re-submit the registration.\n\n### Possible causes\n\nAge-gated, direct lending, or embedded link/phone settings were modified.\n\n### Possible solutions\n\nDo not modify these fields after initial registration. Create a new campaign if changes are needed.\n",
    "causes": "Age-gated, direct lending, or embedded link/phone settings were modified.",
    "solutions": "Do not modify these fields after initial registration. Create a new campaign if changes are needed.",
    "description": "The campaign submission could not be updated because the `age_gated`, `direct_lending`, `embedded_link`, or `embedded_phone` fields were changed when attempting to re-submit the registration.",
    "date_created": "2025-07-02T17:12:23.495Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21754,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Opt-In Message Length Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the provided `opt_in_sample_message` was invalid. Please verify its length is between 20 and 320 characters.\n\n### Possible causes\n\nThe opt-in message is shorter than 20 or longer than 320 characters.\n\n### Possible solutions\n\nRevise the opt-in message to meet length requirements.\n",
    "causes": "The opt-in message is shorter than 20 or longer than 320 characters.",
    "solutions": "Revise the opt-in message to meet length requirements.",
    "description": "The campaign submission could not be processed because the provided `opt_in_sample_message` was invalid. Please verify its length is between 20 and 320 characters.",
    "date_created": "2025-07-02T17:12:44.746Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21755,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Opt-In Message Missing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the `opt_in_sample_message` field was missing.\n\n### Possible causes\n\nThe opt-in message field is missing from the request.\n\n### Possible solutions\n\nInclude a valid opt-in message with your campaign submission.\n",
    "causes": "The opt-in message field is missing from the request.",
    "solutions": "Include a valid opt-in message with your campaign submission.",
    "description": "The campaign submission could not be processed because the `opt_in_sample_message` field was missing.",
    "date_created": "2025-07-02T17:12:52.582Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21756,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Opt-In Keywords Too Long",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the provided `opt_in_keywords` were invalid. Please verify the comma delimited length of all combined keywords does not exceed 255 characters.\n\n### Possible causes\n\nTotal keyword string length exceeds 255 characters.\n\n### Possible solutions\n\nShorten or reduce the number of opt-in keywords.\n",
    "causes": "Total keyword string length exceeds 255 characters.",
    "solutions": "Shorten or reduce the number of opt-in keywords.",
    "description": "The campaign submission could not be processed because the provided `opt_in_keywords` were invalid. Please verify the comma delimited length of all combined keywords does not exceed 255 characters.",
    "date_created": "2025-07-02T17:15:18.037Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21757,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Opt-In Keywords Contain Invalid Characters",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the provided `opt_in_keywords` were invalid. Please verify that all keywords have alphanumeric and unaccented characters only.\n\n### Possible causes\n\nKeywords include special characters or accented letters.\n\n### Possible solutions\n\nUse only unaccented alphanumeric characters for keywords.\n",
    "causes": "Keywords include special characters or accented letters.",
    "solutions": "Use only unaccented alphanumeric characters for keywords.",
    "description": "The campaign submission could not be processed because the provided `opt_in_keywords` were invalid. Please verify that all keywords have alphanumeric and unaccented characters only.",
    "date_created": "2025-06-05T21:31:27.615Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21758,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Advanced Opt-Out Configuration Missing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because there was an error retrieving opt-out/help messages and keywords for the provided messaging service's advanced opt-out configuration.\n\n### Possible causes\n\nHelp/opt-out messages or keywords missing for advanced configuration.\n\n### Possible solutions\n\nEnsure all advanced opt-out fields are correctly populated.\n",
    "causes": "Help/opt-out messages or keywords missing for advanced configuration.",
    "solutions": "Ensure all advanced opt-out fields are correctly populated.",
    "description": "The campaign submission could not be processed because there was an error retrieving opt-out/help messages and keywords for the provided messaging service's advanced opt-out configuration.",
    "date_created": "2025-06-05T21:31:48.54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21759,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Advanced Opt-Out Length Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the opt-out and help messages and keywords for the provided messaging service's advanced opt-out configuration are not of a valid length. Please verify that the opt-out and help messages are between 20 and 320 characters each. Also verify each set of comma delimited opt-out and help keywords does not exceed 255 characters.\n\n### Possible causes\n\nMessages not between 20-320 chars, or keywords exceed 255 chars.\n\n### Possible solutions\n\nAdjust message/keyword lengths to stay within limits.\n",
    "causes": "Messages not between 20-320 chars, or keywords exceed 255 chars.",
    "solutions": "Adjust message/keyword lengths to stay within limits.",
    "description": "The campaign submission could not be processed because the opt-out and help messages and keywords for the provided messaging service's advanced opt-out configuration are not of a valid length. Please verify that the opt-out and help messages are between 20 and 320 characters each. Also verify each set of comma delimited opt-out and help keywords does not exceed 255 characters.",
    "date_created": "2025-06-05T21:32:07.732Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21760,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Advanced Opt-Out Keywords Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the opt-out and help keywords for the provided messaging service's advanced opt-out configuration contain invalid characters. Please verify that all keywords have alphanumeric and unaccented characters only.\n\n### Possible causes\n\nKeywords include special characters or are not alphanumeric.\n\n### Possible solutions\n\nUse only unaccented alphanumeric characters for keywords.\n",
    "causes": "Keywords include special characters or are not alphanumeric.",
    "solutions": "Use only unaccented alphanumeric characters for keywords.",
    "description": "The campaign submission could not be processed because the opt-out and help keywords for the provided messaging service's advanced opt-out configuration contain invalid characters. Please verify that all keywords have alphanumeric and unaccented characters only.",
    "date_created": "2025-06-05T21:32:35.04Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21761,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Default Opt-Out/Help Missing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because there was an error retrieving opt-out/help messages and keywords for the provided messaging service's opt-out configuration.\n\n### Possible causes\n\nRequired help or opt-out fields are empty or not submitted.\n\n### Possible solutions\n\nInclude all required opt-out and help messages and keywords.\n",
    "causes": "Required help or opt-out fields are empty or not submitted.",
    "solutions": "Include all required opt-out and help messages and keywords.",
    "description": "The campaign submission could not be processed because there was an error retrieving opt-out/help messages and keywords for the provided messaging service's opt-out configuration.",
    "date_created": "2025-06-05T21:32:58.289Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21762,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Default Opt-Out/Help Length Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the opt-out and help messages and keywords for the provided messaging service's opt-out configuration are not of a valid length. Please verify that the opt-out and help messages are between 20 and 320 characters each. Also verify each set of comma delimited opt-out and help keywords does not exceed 255 characters.\n\n### Possible causes\n\nMessage or keyword fields exceed length limits.\n\n### Possible solutions\n\nLimit messages to 320 characters and keywords to 255 combined characters.\n",
    "causes": "Message or keyword fields exceed length limits.",
    "solutions": "Limit messages to 320 characters and keywords to 255 combined characters.",
    "description": "The campaign submission could not be processed because the opt-out and help messages and keywords for the provided messaging service's opt-out configuration are not of a valid length. Please verify that the opt-out and help messages are between 20 and 320 characters each. Also verify each set of comma delimited opt-out and help keywords does not exceed 255 characters.",
    "date_created": "2025-07-02T17:15:26.181Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21763,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Default Opt-Out/Help Keywords Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the opt-out and help keywords for the provided messaging service's opt-out configuration contain invalid characters. Please verify that all keywords have alphanumeric and unaccented characters only.\n\n### Possible causes\n\nKeywords contain special or accented characters.\n\n### Possible solutions\n\nUse only unaccented alphanumeric characters in keywords.\n",
    "causes": "Keywords contain special or accented characters.",
    "solutions": "Use only unaccented alphanumeric characters in keywords.",
    "description": "The campaign submission could not be processed because the opt-out and help keywords for the provided messaging service's opt-out configuration contain invalid characters. Please verify that all keywords have alphanumeric and unaccented characters only.",
    "date_created": "2025-07-02T17:15:37.189Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21764,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "API Opt-Out/Help Fields Missing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because some combination of the following fields were missing: `help_sample_message`, `help_keywords`, `opt_out_sample_message`, and `opt_out_keywords`.\n\n### Possible causes\n\nOne or more of the API help or opt-out fields were not provided.\n\n### Possible solutions\n\nInclude help/opt-out messages and keywords in your request.\n",
    "causes": "One or more of the API help or opt-out fields were not provided.",
    "solutions": "Include help/opt-out messages and keywords in your request.",
    "description": "The campaign submission could not be processed because some combination of the following fields were missing: `help_sample_message`, `help_keywords`, `opt_out_sample_message`, and `opt_out_keywords`.",
    "date_created": "2025-07-02T17:16:07.327Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21765,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "API Opt-Out/Help Length Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because some combination of the following fields had invalid lengths: `help_sample_message`, `help_keywords`, `opt_out_sample_message`, and `opt_out_keywords`. Please verify that the opt-out and help messages are between 20 and 320 characters each. Also verify each set of comma delimited opt-out and help keywords does not exceed 255 characters.\n\n### Possible causes\n\nHelp or opt-out messages/keywords are too long.\n\n### Possible solutions\n\nLimit each message to 320 characters and total keywords to 255 characters.\n",
    "causes": "Help or opt-out messages/keywords are too long.",
    "solutions": "Limit each message to 320 characters and total keywords to 255 characters.",
    "description": "The campaign submission could not be processed because some combination of the following fields had invalid lengths: `help_sample_message`, `help_keywords`, `opt_out_sample_message`, and `opt_out_keywords`. Please verify that the opt-out and help messages are between 20 and 320 characters each. Also verify each set of comma delimited opt-out and help keywords does not exceed 255 characters.",
    "date_created": "2025-07-02T17:16:43.266Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21766,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "API Opt-Out/Help Characters Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because some combination of the following fields had invalid characters: `help_sample_message`, `help_keywords`, `opt_out_sample_message`, and `opt_out_keywords`. Please verify that all keywords have alphanumeric and unaccented characters only.\n\n### Possible causes\n\nCharacters in help/opt-out fields are not allowed.\n\n### Possible solutions\n\nUse only unaccented alphanumeric characters in message and keyword fields.\n",
    "causes": "Characters in help/opt-out fields are not allowed.",
    "solutions": "Use only unaccented alphanumeric characters in message and keyword fields.",
    "description": "The campaign submission could not be processed because some combination of the following fields had invalid characters: `help_sample_message`, `help_keywords`, `opt_out_sample_message`, and `opt_out_keywords`. Please verify that all keywords have alphanumeric and unaccented characters only.",
    "date_created": "2025-07-02T17:16:55.027Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21767,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Subscriber Out-In Missing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because an `opt_in_sample_message` was provided but `subscriber_opt_in_required` was not set to `true`\n\n### Possible causes\n\n`subscriber_opt_in_required` was not set to `true`\n\n### Possible solutions\n\nSet `subscriber_opt_in_required` as `true`\n",
    "causes": "`subscriber_opt_in_required` was not set to `true`",
    "solutions": "Set `subscriber_opt_in_required` as `true`",
    "description": "The campaign submission could not be processed because an `opt_in_sample_message` was provided but `subscriber_opt_in_required` was not set to `true`",
    "date_created": "2025-06-06T19:49:06.13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21768,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Brand Not Shared",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the brand is not shared with the account referenced in the campaign compliance registration submission.\n\n### Possible causes\n\nBrand is not shared\n\n### Possible solutions\n\nShare Brand with account to proceed\n",
    "causes": "Brand is not shared",
    "solutions": "Share Brand with account to proceed",
    "description": "The campaign submission could not be processed because the brand is not shared with the account referenced in the campaign compliance registration submission.",
    "date_created": "2025-06-18T17:10:42.543Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21769,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Campaign Limit Reached ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the brand has reached its limit of campaign registrations.\n\n### Possible causes\n\nThe campaign submission could not be processed because the brand has reached its limit of campaign registrations.\n\n### Possible solutions\n\nCreate a new brand or delete existing campaigns that aren't in use\n",
    "causes": "The campaign submission could not be processed because the brand has reached its limit of campaign registrations.",
    "solutions": "Create a new brand or delete existing campaigns that aren't in use",
    "description": "The campaign submission could not be processed because the brand has reached its limit of campaign registrations.",
    "date_created": "2025-06-18T17:11:50.075Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21770,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Brand Pending OTP",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the associated sole proprietor brand is still pending OTP verification.\n\n### Possible causes\n\nPending OTP Verification on Brand\n\n### Possible solutions\n\nComplete OTP on Brand\n",
    "causes": "Pending OTP Verification on Brand",
    "solutions": "Complete OTP on Brand",
    "description": "The campaign submission could not be processed because the associated sole proprietor brand is still pending OTP verification.",
    "date_created": "2025-06-23T17:33:00.788Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21771,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Sole Prop Brand Use Case",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the campaign's use case was invalid for a sole proprietor brand. Only the SOLE\\_PROPRIETOR use case is valid for campaigns created under sole proprietor brands.\n\n### Possible causes\n\nCampaign use case does not support the selected Sole Prop Brand.\n\n### Possible solutions\n\nSelect use case that is supported by Sole Prop Brand.\n",
    "causes": "Campaign use case does not support the selected Sole Prop Brand.",
    "solutions": "Select use case that is supported by Sole Prop Brand.",
    "description": "The campaign submission could not be processed because the campaign's use case was invalid for a sole proprietor brand. Only the SOLE\\_PROPRIETOR use case is valid for campaigns created under sole proprietor brands.",
    "date_created": "2025-06-23T17:35:39.699Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21772,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Standard Brand Use Case",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the SOLE\\_PROPRIETOR use case may only be used with sole proprietor brands.\n\n### Possible causes\n\nCampaign use case does not support the selected Standard Brand.\n\n### Possible solutions\n\nSelect use case that is supported by Standard Brand.\n",
    "causes": "Campaign use case does not support the selected Standard Brand.",
    "solutions": "Select use case that is supported by Standard Brand.",
    "description": "The campaign submission could not be processed because the SOLE\\_PROPRIETOR use case may only be used with sole proprietor brands.",
    "date_created": "2025-06-23T17:39:17.181Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21773,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid 501c3 Use Case",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission could not be processed because the selected use case is invalid for 501c3 brands.\n\n### Possible causes\n\nSelect use case is not supported for 501c3 brands.\n\n### Possible solutions\n\nSelect use case that is supported for 501c3 brands.\n",
    "causes": "Select use case is not supported for 501c3 brands.",
    "solutions": "Select use case that is supported for 501c3 brands.",
    "description": "The campaign submission could not be processed because the selected use case is invalid for 501c3 brands.",
    "date_created": "2025-06-23T17:41:04.992Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21774,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Malformed Campaign Registration",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe associated campaign registration could not be parsed. Please check that the fields on the registration are valid (i.e. JSON is escaped and is well-formed) and resubmit.\n\n### Possible causes\n\nIncorrect JSON structure or missing required fields.\n\n### Possible solutions\n\nReview and correct the JSON format, ensuring all required fields are present.\n",
    "causes": "Incorrect JSON structure or missing required fields.",
    "solutions": "Review and correct the JSON format, ensuring all required fields are present.",
    "description": "The associated campaign registration could not be parsed. Please check that the fields on the registration are valid (i.e. JSON is escaped and is well-formed) and resubmit.",
    "date_created": "2025-07-02T17:17:03.691Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21775,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Malformed Brand Registration",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe associated brand registration could not be parsed. Please check that the fields on the registration are valid (i.e. JSON is escaped and is well-formed) and resubmit.\n\n### Possible causes\n\nIncomplete or improperly formatted JSON data.\n\n### Possible solutions\n\nVerify the JSON format and completeness of required registration fields.\n",
    "causes": "Incomplete or improperly formatted JSON data.",
    "solutions": "Verify the JSON format and completeness of required registration fields.",
    "description": "The associated brand registration could not be parsed. Please check that the fields on the registration are valid (i.e. JSON is escaped and is well-formed) and resubmit.",
    "date_created": "2025-07-02T17:17:16.458Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21801,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing or Invalid Phone Numbers",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPortOrder is either missing \"phone\\_numbers\" field or it is empty.\n",
    "causes": null,
    "solutions": null,
    "description": "PortOrder is either missing \"phone\\_numbers\" field or it is empty.",
    "date_created": "2016-10-17T15:01:33Z",
    "last_updated": "2020-08-04T02:00:18.662Z"
  },
  {
    "code": 21802,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing ISO 3166-1 alpha-2 Country Code of the Phone Number's Customer Service Record with Current Provider",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the country code in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the country code in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.",
    "date_created": "2016-10-17T15:04:34Z",
    "last_updated": "2020-08-04T02:00:18.644Z"
  },
  {
    "code": 21803,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Region of the Phone Number's Customer Service Record with Current Provider",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the state or region in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the state or region in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.",
    "date_created": "2016-10-17T15:06:22Z",
    "last_updated": "2020-08-04T02:00:18.624Z"
  },
  {
    "code": 21804,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing City of the Phone Number's Customer Service Record with Current Provider",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the city in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the city in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.",
    "date_created": "2016-10-17T15:07:18Z",
    "last_updated": "2020-08-04T02:00:18.596Z"
  },
  {
    "code": 21805,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Postal Code of the Phone Number's Customer Service Record with Current Provider",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the zip or postal code in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the zip or postal code in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.",
    "date_created": "2016-10-17T15:08:59Z",
    "last_updated": "2020-08-04T02:00:18.577Z"
  },
  {
    "code": 21806,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Street Number of the Phone Number's Customer Service Record with Current Provider ",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the street number in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the street number in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.",
    "date_created": "2016-10-17T15:10:18Z",
    "last_updated": "2020-08-04T02:00:18.558Z"
  },
  {
    "code": 21807,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing First Name of Customer Service Record with Current Provider",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the first name of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the first name of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.",
    "date_created": "2016-10-17T15:12:16Z",
    "last_updated": "2020-08-04T02:00:18.538Z"
  },
  {
    "code": 21808,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Last Name of Customer Service Record with Current Provider",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the last name of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the last name of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.",
    "date_created": "2016-10-17T15:16:32Z",
    "last_updated": "2020-08-04T02:00:18.515Z"
  },
  {
    "code": 21809,
    "log_level": "ERROR",
    "log_type": null,
    "message": "PortOrder: Missing Email for Status Updates",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify an email for status updates for the Port Order or it is in the wrong format.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify an email for status updates for the Port Order or it is in the wrong format.",
    "date_created": "2016-10-17T15:20:37Z",
    "last_updated": "2020-08-04T02:00:18.496Z"
  },
  {
    "code": 21810,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Street Name of the Phone Number's Customer Service Record with Current Provider ",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the street name in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the street name in your porting telephone number's Customer Service Record as it appears in the Customer Service Record with your current telephone service provider.",
    "date_created": "2016-10-17T15:21:38Z",
    "last_updated": "2020-08-04T02:00:18.475Z"
  },
  {
    "code": 21811,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Email Address of Authorized Signatory (for signing of Authorization Document)",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the email address of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the email address of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.",
    "date_created": "2016-10-17T15:22:36Z",
    "last_updated": "2020-08-04T02:00:18.456Z"
  },
  {
    "code": 21812,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Title of Authorized Signatory (for signing of Authorization Document)",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the signer title of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the signer title of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.",
    "date_created": "2016-10-17T15:23:28Z",
    "last_updated": "2020-08-04T02:00:18.438Z"
  },
  {
    "code": 21813,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Contact Phone Number of Authorized Signatory (for signing of Authorization Document)",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the contact phone number of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the contact phone number of the person who owns the porting telephone phone number and is authorized to sign the associated Authorization Document.",
    "date_created": "2016-10-17T15:24:18Z",
    "last_updated": "2020-08-04T02:00:18.419Z"
  },
  {
    "code": 21814,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Requested Activation Date (must be in ISO 8601 format)",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe desired activation or Firm Order Commitment (FOC) date and time, i.e., the date and time at which the number will port, you provided is not valid. This must be in GMT RFC 2822 format.\n",
    "causes": null,
    "solutions": null,
    "description": "The desired activation or Firm Order Commitment (FOC) date and time, i.e., the date and time at which the number will port, you provided is not valid. This must be in GMT RFC 2822 format.",
    "date_created": "2016-10-17T15:25:07Z",
    "last_updated": "2020-08-04T02:00:18.398Z"
  },
  {
    "code": 21815,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Duplicate Phone Numbers Found",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe \"phone\\_numbers\" provided contain duplicate phone numbers.\n",
    "causes": null,
    "solutions": null,
    "description": "The \"phone\\_numbers\" provided contain duplicate phone numbers.",
    "date_created": "2016-10-17T15:29:57Z",
    "last_updated": "2020-08-04T02:00:18.381Z"
  },
  {
    "code": 21816,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Phone Number Object Provided",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe \"phone\\_numbers\" provided are formatted incorrectly. \"phone\\_numbers\" value should be an array of objects with each object containing a \"phone\\_number\" field whose value is E.164 formatted.\n",
    "causes": null,
    "solutions": null,
    "description": "The \"phone\\_numbers\" provided are formatted incorrectly. \"phone\\_numbers\" value should be an array of objects with each object containing a \"phone\\_number\" field whose value is E.164 formatted.",
    "date_created": "2016-10-17T15:33:45Z",
    "last_updated": "2020-08-04T02:00:18.358Z"
  },
  {
    "code": 21817,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid ISO Country Code",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe country code must be in ISO 3166-1 alpha-2 Country Code format.\n",
    "causes": null,
    "solutions": null,
    "description": "The country code must be in ISO 3166-1 alpha-2 Country Code format.",
    "date_created": "2016-10-17T15:45:45Z",
    "last_updated": "2020-08-04T02:00:18.34Z"
  },
  {
    "code": 21818,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Email Address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe email address you provided is not valid.\n",
    "causes": null,
    "solutions": null,
    "description": "The email address you provided is not valid.",
    "date_created": "2016-10-17T15:46:54Z",
    "last_updated": "2020-08-04T02:00:18.323Z"
  },
  {
    "code": 21819,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Status Callback URL",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe status callback URL you provided is not valid.\n",
    "causes": null,
    "solutions": null,
    "description": "The status callback URL you provided is not valid.",
    "date_created": "2016-10-17T15:47:34Z",
    "last_updated": "2020-08-04T02:00:18.304Z"
  },
  {
    "code": 21820,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Email Address(es) in CC List (must be an array of valid Email Addresses)",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nOne or more of the email address(es) you provided is/are not valid.\n",
    "causes": null,
    "solutions": null,
    "description": "One or more of the email address(es) you provided is/are not valid.",
    "date_created": "2016-10-17T15:48:13Z",
    "last_updated": "2020-08-04T02:00:18.285Z"
  },
  {
    "code": 21821,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Postal Code",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe postal code provided is not valid.\n",
    "causes": null,
    "solutions": null,
    "description": "The postal code provided is not valid.",
    "date_created": "2018-11-30T23:20:37Z",
    "last_updated": "2020-08-04T03:00:13.906Z"
  },
  {
    "code": 21822,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Phone Number Format Provided",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe phone number provided needs to be in E.164 format. This requirement is applicable to all phone number fields.\n",
    "causes": null,
    "solutions": null,
    "description": "The phone number provided needs to be in E.164 format. This requirement is applicable to all phone number fields.",
    "date_created": "2016-10-17T15:49:18Z",
    "last_updated": "2020-08-04T02:00:18.266Z"
  },
  {
    "code": 21823,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid or Unsupported Phone Number",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe port-in phone number provided is not a valid phone number or is in a country not currently supported by Twilio Porting.\n",
    "causes": null,
    "solutions": null,
    "description": "The port-in phone number provided is not a valid phone number or is in a country not currently supported by Twilio Porting.",
    "date_created": "2018-11-30T23:21:21Z",
    "last_updated": "2020-08-04T03:00:13.885Z"
  },
  {
    "code": 21824,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Field cannot be set to empty",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThese fields cannot be set to empty when updating a Port Order: street\\_number, street\\_name, city, region, postal\\_code, iso\\_country, first\\_name, last\\_name, status\\_updates\\_email.\n",
    "causes": null,
    "solutions": null,
    "description": "These fields cannot be set to empty when updating a Port Order: street\\_number, street\\_name, city, region, postal\\_code, iso\\_country, first\\_name, last\\_name, status\\_updates\\_email.",
    "date_created": "2016-10-27T15:42:30Z",
    "last_updated": "2020-08-04T02:00:17.911Z"
  },
  {
    "code": 21825,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Before SID",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe SID you provided is not valid.\n",
    "causes": null,
    "solutions": null,
    "description": "The SID you provided is not valid.",
    "date_created": "2016-10-17T15:49:51Z",
    "last_updated": "2020-08-04T02:00:18.248Z"
  },
  {
    "code": 21826,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid After SID",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe SID you provided is not valid.\n",
    "causes": null,
    "solutions": null,
    "description": "The SID you provided is not valid.",
    "date_created": "2016-10-17T15:50:21Z",
    "last_updated": "2020-08-04T02:00:18.192Z"
  },
  {
    "code": 21827,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order or Port Number: Update Not Allowed",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Port Order or Port Number cannot be updated in its current status.\n",
    "causes": null,
    "solutions": null,
    "description": "The Port Order or Port Number cannot be updated in its current status.",
    "date_created": "2016-10-17T15:50:56Z",
    "last_updated": "2020-08-04T02:00:18.164Z"
  },
  {
    "code": 21828,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order or Port Number: Cancelation Not Allowed",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Port Order or Port Number cannot be canceled in its current status.\n",
    "causes": null,
    "solutions": null,
    "description": "The Port Order or Port Number cannot be canceled in its current status.",
    "date_created": "2016-10-27T16:09:18Z",
    "last_updated": "2020-08-04T02:00:17.887Z"
  },
  {
    "code": 21829,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Authorization Document: Cannot Create Because PortOrder Already Processing",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nCannot create an Authorization Document for Port Order when the Port Order is already processing.\n",
    "causes": null,
    "solutions": null,
    "description": "Cannot create an Authorization Document for Port Order when the Port Order is already processing.",
    "date_created": "2016-10-17T15:51:39Z",
    "last_updated": "2020-08-04T02:00:18.141Z"
  },
  {
    "code": 21830,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Porting Service Unavailable",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\nService or one of it dependent services does not respond, timeout, etc.\n\n### Possible solutions\n\nTry the request again\n",
    "causes": "Service or one of it dependent services does not respond, timeout, etc.",
    "solutions": "Try the request again",
    "description": "",
    "date_created": "2016-10-17T15:52:18Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21831,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Value for parameter exceeds length limit",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe value provided for parameter exceeds length limit.\n",
    "causes": null,
    "solutions": null,
    "description": "The value provided for parameter exceeds length limit.",
    "date_created": "2016-10-17T15:53:45Z",
    "last_updated": "2020-08-04T02:00:18.083Z"
  },
  {
    "code": 21832,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Split Port Order Not Allowed",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Port Order cannot be split into a new Port Order.\n",
    "causes": null,
    "solutions": null,
    "description": "The Port Order cannot be split into a new Port Order.",
    "date_created": "2016-10-17T15:54:25Z",
    "last_updated": "2020-08-04T02:00:18.062Z"
  },
  {
    "code": 21833,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order Cannot Be Split",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Port Order cannot be split into a new Port Order because there are no Customer Service Record related errors. Please address the rejection reasons on the Port Numbers instead.\n",
    "causes": null,
    "solutions": null,
    "description": "The Port Order cannot be split into a new Port Order because there are no Customer Service Record related errors. Please address the rejection reasons on the Port Numbers instead.",
    "date_created": "2016-10-17T15:55:03Z",
    "last_updated": "2020-08-04T02:00:18.038Z"
  },
  {
    "code": 21834,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Invalid Address: The given Street of the Phone Number's Service Address does not match the given City, State, and/or Postal Code",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe street name you provided does not exist in the City, State, and/or Postal Code you provided in the Port Order.\n",
    "causes": null,
    "solutions": null,
    "description": "The street name you provided does not exist in the City, State, and/or Postal Code you provided in the Port Order.",
    "date_created": "2016-10-17T15:55:40Z",
    "last_updated": "2020-08-04T02:00:18.015Z"
  },
  {
    "code": 21835,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Port Order cannot be Completed",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYour port order cannot be completed. This is because either Twilio's underlying carrier isn't set up to support the porting phone number or your current carrier has rejected the port request.\n",
    "causes": null,
    "solutions": null,
    "description": "Your port order cannot be completed. This is because either Twilio's underlying carrier isn't set up to support the porting phone number or your current carrier has rejected the port request.",
    "date_created": "2016-10-27T16:49:33Z",
    "last_updated": "2020-08-04T02:00:17.866Z"
  },
  {
    "code": 21836,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Missing Account Number (for Wireless Numbers only) and/or Missing Last Four digits of Social Security Number (for Wireless Numbers only)",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the account number associated with and/or the last four digits of social security number of the person who owns the porting telephone phone number. This is mandatory for Wireless numbers but optional for Landline and Toll Free numbers.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the account number associated with and/or the last four digits of social security number of the person who owns the porting telephone phone number. This is mandatory for Wireless numbers but optional for Landline and Toll Free numbers.",
    "date_created": "2016-10-27T16:55:04Z",
    "last_updated": "2020-08-04T02:00:17.843Z"
  },
  {
    "code": 21837,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Incoming Phone Number is already in the porting process with an existing Port Order",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe porting phone number is part of a Letter of Authorization that has already been signed.\n",
    "causes": null,
    "solutions": null,
    "description": "The porting phone number is part of a Letter of Authorization that has already been signed.",
    "date_created": "2016-10-27T18:43:02Z",
    "last_updated": "2020-08-04T02:00:17.82Z"
  },
  {
    "code": 21838,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order: Incoming Phone Number is already in Twilio inventory. Please contact Support",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe porting phone number is already in Twilio Inventory and cannot be ported. Please contact Support.\n",
    "causes": null,
    "solutions": null,
    "description": "The porting phone number is already in Twilio Inventory and cannot be ported. Please contact Support.",
    "date_created": "2016-11-21T16:31:23Z",
    "last_updated": "2020-08-04T02:00:17.751Z"
  },
  {
    "code": 21839,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Authorization Document: Missing Port Order Sid",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou didn't specify the port order sid of the Port Order to which this Authorization Document is relative to.\n",
    "causes": null,
    "solutions": null,
    "description": "You didn't specify the port order sid of the Port Order to which this Authorization Document is relative to.",
    "date_created": "2019-02-06T00:26:46Z",
    "last_updated": "2020-08-04T03:00:13.358Z"
  },
  {
    "code": 21900,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "DltPEId is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nDltPEId is invalid\n\n### Possible causes\n\nThe format or size of DltPEId is invalid\n\n### Possible solutions\n\nUse correct DltPEId\n",
    "causes": "The format or size of DltPEId is invalid",
    "solutions": "Use correct DltPEId",
    "description": "DltPEId is invalid",
    "date_created": "2020-12-11T08:18:46Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21901,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "DltTemplateId is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nDltTemplateId is invalid\n\n### Possible causes\n\nToo long DltTemplateId or its format is invalid\n\n### Possible solutions\n\nUse correct DltTemplateId\n",
    "causes": "Too long DltTemplateId or its format is invalid",
    "solutions": "Use correct DltTemplateId",
    "description": "DltTemplateId is invalid",
    "date_created": "2020-12-11T08:20:37Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21902,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "InvoiceTag length must be between 0 and 32",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when a Messaging request includes an `InvoiceTag` value that is outside the supported 0 to 32 character length range.\n\n### Possible causes\n\n- The `InvoiceTag` value is longer than 32 characters.\n- The request sends an `InvoiceTag` value that does not fit the supported length validation.\n\n### Possible solutions\n\n- Shorten `InvoiceTag` to 32 characters or fewer before you send the request.\n- Validate the `InvoiceTag` length in your application so the request cannot exceed the supported range.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n",
    "causes": "* The `InvoiceTag` value is longer than 32 characters.\n* The request sends an `InvoiceTag` value that does not fit the supported length validation.",
    "solutions": "* Shorten `InvoiceTag` to 32 characters or fewer before you send the request.\n* Validate the `InvoiceTag` length in your application so the request cannot exceed the supported range.",
    "description": "This error appears when a Messaging request includes an `InvoiceTag` value that is outside the supported 0 to 32 character length range.",
    "date_created": "2021-03-19T18:43:52Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 21904,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order LOA: Invalid Status",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe status you provided is not valid.\n",
    "causes": null,
    "solutions": null,
    "description": "The status you provided is not valid.",
    "date_created": "2016-10-17T16:02:04Z",
    "last_updated": "2020-08-04T02:00:17.974Z"
  },
  {
    "code": 21905,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Port Order LOA: Signature Request has already been sent",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe LOA has already been signed.\n",
    "causes": null,
    "solutions": null,
    "description": "The LOA has already been signed.",
    "date_created": "2016-10-17T16:02:37Z",
    "last_updated": "2020-08-04T02:00:17.953Z"
  },
  {
    "code": 21910,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid 'From' and 'To' pair. 'From' and 'To' should be of the same channel",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n`From` and `To` parameters in the API Request should be of the same channel.\n\n### Possible causes\n\nYou are trying to send a message between different channels, eg. from an SMS capable number to a WhatsApp number.\n\n### Possible solutions\n\nEnsure `From` and `To` parameters are the same channel, eg. both are SMS or both are WhatsApp.\n",
    "causes": "You are trying to send a message between different channels, eg. from an SMS capable number to a WhatsApp number.",
    "solutions": "Ensure `From` and `To` parameters are the same channel, eg. both are SMS or both are WhatsApp.",
    "description": "`From` and `To` parameters in the API Request should be of the same channel.",
    "date_created": "2021-02-17T12:46:50Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21912,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message Intent is too long",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage Intent must be fewer than 30 characters long\n\n### Possible causes\n\nMessage Intent is not one of the Twilio-specified values\n\n### Possible solutions\n\nUse a valid Message Intent from the Twilio-specified list\n",
    "causes": "Message Intent is not one of the Twilio-specified values",
    "solutions": "Use a valid Message Intent from the Twilio-specified list",
    "description": "Message Intent must be fewer than 30 characters long",
    "date_created": "2022-11-07T23:32:19Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 21913,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Risk Check is invalid - must be one of enable/disable",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe RiskCheck value is not a permitted value\n\n### Possible causes\n\nThe user has entered an incorrect value for RiskCheck\n\n### Possible solutions\n\nThe user should change the RiskCheck value to either \"enable\" or \"disable\"\n",
    "causes": "The user has entered an incorrect value for RiskCheck",
    "solutions": "The user should change the RiskCheck value to either \"enable\" or \"disable\"",
    "description": "The RiskCheck value is not a permitted value",
    "date_created": "2023-07-28T18:27:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Call timed out",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe call timed out before system could complete the call\n\n### Possible causes\n\nThe call timed out before system could complete the call\n\n### Possible solutions\n\nCPS limits may be too low\n",
    "causes": "The call timed out before system could complete the call",
    "solutions": "CPS limits may be too low",
    "description": "The call timed out before system could complete the call",
    "date_created": "2019-12-11T23:12:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Call could not be dequeued",
    "secondary_message": "The call could not be dequeued because it was not in progress. The caller may have terminated the call prior to your request to dequeue it.",
    "product": null,
    "docs": "\n## Description\n\nThe call could not be dequeued because it was not in progress. The caller may have terminated the call prior to your request to dequeue it.\n",
    "causes": null,
    "solutions": null,
    "description": "The call could not be dequeued because it was not in progress. The caller may have terminated the call prior to your request to dequeue it.",
    "date_created": "2016-04-29T21:27:31.846Z",
    "last_updated": "2016-04-29T21:27:31.846Z"
  },
  {
    "code": 22003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Queue with the given name already exists",
    "secondary_message": "A queue with the provided friendly name already exists. Please try with a different friendly name.",
    "product": null,
    "docs": "\n## Description\n\nA queue with the provided friendly name already exists. Please try with a different friendly name.\n",
    "causes": null,
    "solutions": null,
    "description": "A queue with the provided friendly name already exists. Please try with a different friendly name.",
    "date_created": "2016-04-29T21:23:53.524Z",
    "last_updated": "2016-04-29T21:23:53.524Z"
  },
  {
    "code": 22004,
    "log_level": "WARNING",
    "log_type": null,
    "message": "High Call Queue Time",
    "secondary_message": "Calls in you call queue will be placed 300+ seconds after creation",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCalls in you call queue will be placed 300+ seconds after creation\n\nWhen you create calls via the REST API they are added to a call queue. Calls are removed from that call queue and placed at a default rate of 1 per second. This calls per second rate can be increased. Currently your call queue contains a large number of calls that have yet to be placed. It will be 300 seconds or more for this call to be placed. More calls will still be accepted and calls in your queue will continue to be placed. If your application requires timely placement of calls, your application performance may be degraded.\n\n### Possible causes\n\n- Large spikes in call volume\n- Runaway or looping application\n\n### Possible solutions\n\n- Validate application logic\n- Contact your account manager or Twilio support to purchase additional capacity.\n",
    "causes": "* Large spikes in call volume\n* Runaway or looping application",
    "solutions": "* Validate application logic\n* Contact your account manager or Twilio support to purchase additional capacity.",
    "description": "Calls in you call queue will be placed 300+ seconds after creation When you create calls via the REST API they are added to a call queue. Calls are removed from that call queue and placed at a default rate of 1 per second. This calls per second rate can be increased. Currently your call queue contains a large number of calls that have yet to be placed. It will be 300 seconds or more for this call to be placed. More calls will still be accepted and calls in your queue will continue to be placed. If your application requires timely placement of calls, your application performance may be degraded.",
    "date_created": "2016-11-16T22:43:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Call Queue Full",
    "secondary_message": "There are more than 24 hours of calls in your call queue",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Call Queue Full\n\nThere are more than 24 hours of calls in your call queue.\n\nWhen you create calls via the REST API they are added to a call queue. Calls are removed from that call queue and placed at a default rate of 1 per second. This calls per second rate can be increased. Twilio will reject requests to place calls that will not be placed within 24 hours. At 1 call per second Twilio will reject calls once there are 86400 calls in your queue. More calls will not be accepted until your queue length decreases, calls in your queue will continue to be placed. If your application requires timely placement of calls, your application performance may be degraded.\n\n### Possible causes\n\n- Large spikes in call volume\n- Runaway or looping application\n\n### Possible solutions\n\n- Validate application logic\n- Contact your account manager or Twilio support to purchase additional capacity.\n",
    "causes": "* Large spikes in call volume\n* Runaway or looping application",
    "solutions": "* Validate application logic\n* Contact your account manager or Twilio support to purchase additional capacity.",
    "description": "",
    "date_created": "2020-02-11T23:32:02Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Reached Maximum Verification Attempts",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou have reached maximum verification attempts on this Hosted Number Order. Please reach out to hostedsms@twilio.com to reset the verification attempts.\n",
    "causes": null,
    "solutions": null,
    "description": "You have reached maximum verification attempts on this Hosted Number Order. Please reach out to hostedsms@twilio.com to reset the verification attempts.",
    "date_created": "2018-02-13T01:37:23Z",
    "last_updated": "2020-08-04T10:00:14.887Z"
  },
  {
    "code": 22101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Hosted Number Order SIDs",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou attempted to create or update an Authorization Document with one or more invalid Hosted Number Order SIDs.\n\n### Possible causes\n\n- No Hosted Number Order SIDs were provided when creating the Authorization Document.\n- One or more of the SIDs provided is not a 34-character string that is prefixed with \"HR\".\n\n### Possible solutions\n\nPlease specify Hosted Number Order SIDs you've created in your [Account Dashboard](https://www.twilio.com/console/phone-numbers/hosted).\n",
    "causes": "* No Hosted Number Order SIDs were provided when creating the Authorization Document.\n* One or more of the SIDs provided is not a 34-character string that is prefixed with \"HR\".",
    "solutions": "Please specify Hosted Number Order SIDs you've created in your [Account Dashboard](https://www.twilio.com/console/phone-numbers/hosted).",
    "description": "You attempted to create or update an Authorization Document with one or more invalid Hosted Number Order SIDs.",
    "date_created": "2018-02-16T00:38:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Phone Number",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe phone number provided is not a valid number.\n\n### Possible causes\n\n- The phone number provided is formatted incorrectly.\n- The phone number provided includes a non-existent country code, area code or exchange.\n\n### Possible solutions\n\nPlease specify a valid phone number in [E164 format](http://en.wikipedia.org/wiki/E.164) (i.e. \"+1 format\").\n",
    "causes": "* The phone number provided is formatted incorrectly.\n* The phone number provided includes a non-existent country code, area code or exchange.",
    "solutions": "Please specify a valid phone number in [E164 format](http://en.wikipedia.org/wiki/E.164) (i.e. \"+1 format\").",
    "description": "The phone number provided is not a valid number.",
    "date_created": "2018-01-30T03:49:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22103,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unsupported Iso Country",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou attempted to host a number, but Twilio does not currently support hosting numbers in the Iso Country provided.\n",
    "causes": null,
    "solutions": null,
    "description": "You attempted to host a number, but Twilio does not currently support hosting numbers in the Iso Country provided.",
    "date_created": "2018-01-30T03:50:24Z",
    "last_updated": "2020-08-04T10:00:15.224Z"
  },
  {
    "code": 22104,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Email Format",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe format of a provided email was invalid.\n\n### Possible causes\n\n- Invalid email provided in request for email or cc emails.\n\n### Possible solutions\n\nMake sure you submit emails in the format local-part@domain\n",
    "causes": "* Invalid email provided in request for email or cc emails.",
    "solutions": "Make sure you submit emails in the format local-part@domain",
    "description": "The format of a provided email was invalid.",
    "date_created": "2018-01-30T03:51:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22105,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid URL format",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou attempted to configure your hosted number, but the URL you specified was not valid.\n\n### Possible causes\n\n- Invalid URL provided for phone number configuration (SmsUrl, SmsFallbackUrl, VoiceUrl, VoiceFallbackUrl).\n- Invalid URL provided for status callback configuration (StatusCallbackUrl).\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n\nTwilio must be able to reach this URL over the public Internet.\n",
    "causes": "* Invalid URL provided for phone number configuration (SmsUrl, SmsFallbackUrl, VoiceUrl, VoiceFallbackUrl).\n* Invalid URL provided for status callback configuration (StatusCallbackUrl).",
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters Twilio must be able to reach this URL over the public Internet.",
    "description": "You attempted to configure your hosted number, but the URL you specified was not valid.",
    "date_created": "2018-01-30T03:52:45Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Method",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe method you provided for configuring your hosted number was invalid.\n\nValid values are `GET` and `POST`..\n\n### Possible causes\n\n- Invalid method passed for number configuration (SmsMethod, SmsFallbackMethod, VoiceMethod, VoiceFallbackMethod).\n- Invalid method passed for status callback configuration (StatusCallbackMethod).\n",
    "causes": "* Invalid method passed for number configuration (SmsMethod, SmsFallbackMethod, VoiceMethod, VoiceFallbackMethod).\n* Invalid method passed for status callback configuration (StatusCallbackMethod).",
    "solutions": null,
    "description": "The method you provided for configuring your hosted number was invalid. Valid values are `GET` and `POST`..",
    "date_created": "2018-01-30T03:53:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 22107,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to Update Authorization Document",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou attempted to make a change that cannot be applied to the Authorization Document resource.\n\n### Possible causes\n\n- Trying to update or delete an Authorization Document resource that is in status \"signed.\"\n- Trying to update an Authorization Document that is in status \"signing.\"\n\n### Possible solutions\n\nUpdate the Authorization Document to status \"opened\" if it is not already in a terminal state.\n",
    "causes": "* Trying to update or delete an Authorization Document resource that is in status \"signed.\"\n* Trying to update an Authorization Document that is in status \"signing.\"",
    "solutions": "Update the Authorization Document to status \"opened\" if it is not already in a terminal state.",
    "description": "You attempted to make a change that cannot be applied to the Authorization Document resource.",
    "date_created": "2018-02-16T00:40:19Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22108,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Application SID",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou attempted to configure a phone number with an invalid Application SID.\n\n### Possible causes\n\n- The SID is not a 34-character string that is prefixed with \"AP\".\n- Invalid SMS Application SID provided in request\n- Invalid Voice Application SID provided in request\n- The Application resource identified by the SID does not exist anymore or does not belong to your account.\n\n### Possible solutions\n\nPlease specify an Application SID you've created in your [Account Dashboard](https://www.twilio.com/user/account/apps).\n",
    "causes": "* The SID is not a 34-character string that is prefixed with \"AP\".\n* Invalid SMS Application SID provided in request\n* Invalid Voice Application SID provided in request\n* The Application resource identified by the SID does not exist anymore or does not belong to your account.",
    "solutions": "Please specify an Application SID you've created in your [Account Dashboard](https://www.twilio.com/user/account/apps).",
    "description": "You attempted to configure a phone number with an invalid Application SID.",
    "date_created": "2018-01-30T03:54:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22109,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Address SID",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou attempted to host a phone number with an invalid Address SID.\n\n### Possible causes\n\n- The SID is not a 34-character string that is prefixed with \"AD\".\n- The Address resource identified by the SID does not exist anymore or does not belong to your account.\n\n### Possible solutions\n\n- Please specify an Address SID you've created in your [Account Dashboard](https://www.twilio.com/console/phone-numbers/addresses).\n",
    "causes": "* The SID is not a 34-character string that is prefixed with \"AD\".\n* The Address resource identified by the SID does not exist anymore or does not belong to your account.",
    "solutions": "* Please specify an Address SID you've created in your [Account Dashboard](https://www.twilio.com/console/phone-numbers/addresses).",
    "description": "You attempted to host a phone number with an invalid Address SID.",
    "date_created": "2018-01-30T03:54:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22110,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone Number Not Hostable",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou attempted to host a number that is not hostable on Twilio.\n\n### Possible causes\n\n- The number is already hosted.\n- The number is owned by Twilio.\n- The number cannot be enabled by carrier for requested capabilities.\n- The number is type mobile or voip.\n",
    "causes": "* The number is already hosted.\n* The number is owned by Twilio.\n* The number cannot be enabled by carrier for requested capabilities.\n* The number is type mobile or voip.",
    "solutions": null,
    "description": "You attempted to host a number that is not hostable on Twilio.",
    "date_created": "2018-01-30T03:55:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 22111,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Hosted Number Order Status",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe status you specified is not a valid Hosted Number Order status.\n\n### Possible causes\n\n- Attempting to filter a list of Hosted Number Orders on a status that does not exist.\n- Attempting to update a Hosted Number Order instance with a status that cannot be applied to the current Hosted Number Order state.\n",
    "causes": "* Attempting to filter a list of Hosted Number Orders on a status that does not exist.\n* Attempting to update a Hosted Number Order instance with a status that cannot be applied to the current Hosted Number Order state.",
    "solutions": null,
    "description": "The status you specified is not a valid Hosted Number Order status.",
    "date_created": "2018-01-30T03:55:51Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 22112,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to Update Hosted Number Order Status",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe status provided in a request to update Hosted Number Order instance cannot be applied to the current Hosted Number Order state.\n\n### Possible causes\n\n- Trying to update a Hosted Number Order that has been completed or failed.\n- Trying to update the status of a Hosted Number Order to a status that cannot be user-initiated.\n\n### Possible solutions\n\n- If a Hosted Number Order is in a terminal state (failed or completed), create a new instance.\n- If a Hosted Number Order is in \"action-required\" state, reach out to support to remediate.\n",
    "causes": "* Trying to update a Hosted Number Order that has been completed or failed.\n* Trying to update the status of a Hosted Number Order to a status that cannot be user-initiated.",
    "solutions": "* If a Hosted Number Order is in a terminal state (failed or completed), create a new instance.\n* If a Hosted Number Order is in \"action-required\" state, reach out to support to remediate.",
    "description": "The status provided in a request to update Hosted Number Order instance cannot be applied to the current Hosted Number Order state.",
    "date_created": "2018-01-30T03:58:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22113,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone Verification Incorrect",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou attempted to complete caller verification but the code you provided was incorrect.\n\n### Possible causes\n\n- You entered the code incorrectly in the request\n- The code you entered has expired\n\n### Possible solutions\n\n- Make another request to update Hosted Number Order instance to Status pending-verification to receive another verification code.\n",
    "causes": "* You entered the code incorrectly in the request\n* The code you entered has expired",
    "solutions": "* Make another request to update Hosted Number Order instance to Status pending-verification to receive another verification code.",
    "description": "You attempted to complete caller verification but the code you provided was incorrect.",
    "date_created": "2018-01-30T03:59:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22114,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to Verify Code",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nA verification code was provided but the Hosted Number Order instance is not in a valid state for handling caller ID verification.\n\n### Possible solutions\n\n- Update the status of the Hosted Number Order instance to \"pending-verification\".\n- Remove VerificationCode from the request body if verification call has already been completed.\n",
    "causes": null,
    "solutions": "* Update the status of the Hosted Number Order instance to \"pending-verification\".\n* Remove VerificationCode from the request body if verification call has already been completed.",
    "description": "A verification code was provided but the Hosted Number Order instance is not in a valid state for handling caller ID verification.",
    "date_created": "2018-01-30T03:59:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 22115,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Unique Name",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe unique name must be a string that does not exceed a length of 128 characters.\n\n### Possible solutions\n\n- Confirm that your unique name is a string that does not exceed 128 characters.\n",
    "causes": null,
    "solutions": "* Confirm that your unique name is a string that does not exceed 128 characters.",
    "description": "The unique name must be a string that does not exceed a length of 128 characters.",
    "date_created": "2018-02-07T05:09:08Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 22116,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Friendly Name",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nFriendly name is a descriptive name to help you remember your resource. The friendly name cannot exceed a length of 128 characters.\n\n### Possible solutions\n\n- Confirm that your friendly name is a string that does not exceed 128 characters.\n",
    "causes": null,
    "solutions": "* Confirm that your friendly name is a string that does not exceed 128 characters.",
    "description": "Friendly name is a descriptive name to help you remember your resource. The friendly name cannot exceed a length of 128 characters.",
    "date_created": "2018-02-07T05:10:02Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 22117,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Extension",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe extension provided for the verification call contains characters that aren't allowed.\n\n### Possible solutions\n\n- Confirm that your Extension is a non-empty string. Extension may contain numbers, the # and \\* characters, as well as the \"w\" character to \"wait\" for half a second.\n",
    "causes": null,
    "solutions": "* Confirm that your Extension is a non-empty string. Extension may contain numbers, the # and \\* characters, as well as the \"w\" character to \"wait\" for half a second.",
    "description": "The extension provided for the verification call contains characters that aren't allowed.",
    "date_created": "2018-02-07T05:11:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 22118,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Verification Document SID",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Verification Document SID specified is not a valid identity document identifier.\n\n### Possible causes\n\n- The Verification Document SID is not a 34-character string that is prefixed with \"RI\".\n- The identity document represented by the Verification DocumentSID is not of type \"phone-bill\".\n- The identity document represented by the Verification Document SID does not exist anymore or does not belong to your account.\n\n### Possible solutions\n\nPlease specify a Verification Document SID you've created in your [Account Dashboard](https://www.twilio.com/console/phone-numbers/identities).\n",
    "causes": "* The Verification Document SID is not a 34-character string that is prefixed with \"RI\".\n* The identity document represented by the Verification DocumentSID is not of type \"phone-bill\".\n* The identity document represented by the Verification Document SID does not exist anymore or does not belong to your account.",
    "solutions": "Please specify a Verification Document SID you've created in your [Account Dashboard](https://www.twilio.com/console/phone-numbers/identities).",
    "description": "The Verification Document SID specified is not a valid identity document identifier.",
    "date_created": "2018-02-07T19:45:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22119,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Capabilities",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe SMS Capability you specified for your Hosted Number Order was not valid.\n\n### Possible solutions\n\nPlease explicitly specify SMS as the capability to host on Twilio's platform by setting SMS Capability to true.\n",
    "causes": null,
    "solutions": "Please explicitly specify SMS as the capability to host on Twilio's platform by setting SMS Capability to true.",
    "description": "The SMS Capability you specified for your Hosted Number Order was not valid.",
    "date_created": "2018-02-07T21:41:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 22120,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Verification Type",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nVerification Type must be either \"phone-call\" or \"phone-bill\".\n",
    "causes": null,
    "solutions": null,
    "description": "Verification Type must be either \"phone-call\" or \"phone-bill\".",
    "date_created": "2018-02-07T21:57:33Z",
    "last_updated": "2020-08-04T10:00:14.906Z"
  },
  {
    "code": 22121,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to Transfer Hosted Number",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Hosted Number you are trying to transfer is not in status \"in-use.\"\n\n### Possible solutions\n\nSee [Exchanging Numbers Between Subaccounts](/docs/iam/api/subaccounts#exchanging-numbers) for more details about transferring numbers.\n",
    "causes": "* The Hosted Number you are trying to transfer is not in status \"in-use.\"",
    "solutions": "See [Exchanging Numbers Between Subaccounts](/docs/iam/api/subaccounts#exchanging-numbers) for more details about transferring numbers.",
    "description": "",
    "date_created": "2018-02-16T00:41:27Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22122,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Authorization Document Status",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nStatus must be one of \"opened\" or \"signing.\"\n",
    "causes": null,
    "solutions": null,
    "description": "Status must be one of \"opened\" or \"signing.\"",
    "date_created": "2018-02-16T00:42:10Z",
    "last_updated": "2020-08-04T10:00:14.816Z"
  },
  {
    "code": 22123,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to Initiate Verification Call",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\n- The number you are trying to verify cannot be reached.\n- Your account is not allowed to call the number you are trying to verify.\n- The number you are attempting to verify has been blocked.\n- You are attempting to verify a number that is not a valid phone number.\n\n### Possible solutions\n\nPlease reach out to HostedSMS@twilio.com.\n",
    "causes": "* The number you are trying to verify cannot be reached.\n* Your account is not allowed to call the number you are trying to verify.\n* The number you are attempting to verify has been blocked.\n* You are attempting to verify a number that is not a valid phone number.",
    "solutions": "Please reach out to HostedSMS@twilio.com.",
    "description": "",
    "date_created": "2018-02-27T21:58:54Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22130,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Portable - Unsupported",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\nPhone number is in a country or rate center that is not supported by Twilio\n\n### Possible solutions\n\nNot Action Required\n",
    "causes": "Phone number is in a country or rate center that is not supported by Twilio",
    "solutions": "Not Action Required",
    "description": "",
    "date_created": "2023-06-22T18:44:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22131,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Portable - Already in your Twilio Account",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPhone number already exists on your Twilio account or is currently being ported into your Twilio account\n\n### Possible causes\n\nPhone number already exists on your Twilio account or is currently being ported into your Twilio account\n\n### Possible solutions\n\nIf needed, see this [support page](https://support.twilio.com/hc/en-us/articles/223135327-Moving-Twilio-Phone-Numbers-to-another-Twilio-Account) for more information on how to move the line to a different subaccount.\n",
    "causes": "Phone number already exists on your Twilio account or is currently being ported into your Twilio account",
    "solutions": "If needed, see this [support page](https://support.twilio.com/hc/en-us/articles/223135327-Moving-Twilio-Phone-Numbers-to-another-Twilio-Account) for more information on how to move the line to a different subaccount.",
    "description": "Phone number already exists on your Twilio account or is currently being ported into your Twilio account",
    "date_created": "2023-06-22T17:57:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22132,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Portable - Already in Twilio different owner",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\nPhone number already exists on another Twilio account.\n\n### Possible solutions\n\nSee this [support page](https://support.twilio.com/hc/en-us/articles/223135327-Moving-Twilio-Phone-Numbers-to-another-Twilio-Account) for more information on how to move the line to your account.\n",
    "causes": "Phone number already exists on another Twilio account.",
    "solutions": "See this [support page](https://support.twilio.com/hc/en-us/articles/223135327-Moving-Twilio-Phone-Numbers-to-another-Twilio-Account) for more information on how to move the line to your account.",
    "description": "",
    "date_created": "2023-06-22T18:43:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22133,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Portable API - Manual porting available",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\nThe phone number cannot be ported using the Twilio porting API.\n\n### Possible solutions\n\nIf the number is an US phone number, please open a porting request through the Console. See this [support page](https://support.twilio.com/hc/en-us/articles/223179348-Porting-a-Phone-Number-to-Twilio) for more information on US porting.\n\nOtherwise create a support ticket to port in a phone number from another country. See this [support page](https://support.twilio.com/hc/en-us/articles/115000781088-International-Porting-Process) for more information on international porting.\n",
    "causes": "The phone number cannot be ported using the Twilio porting API.",
    "solutions": "If the number is an US phone number, please open a porting request through the Console. See this [support page](https://support.twilio.com/hc/en-us/articles/223179348-Porting-a-Phone-Number-to-Twilio) for more information on US porting. Otherwise create a support ticket to port in a phone number from another country. See this [support page](https://support.twilio.com/hc/en-us/articles/115000781088-International-Porting-Process) for more information on international porting.",
    "description": "",
    "date_created": "2023-06-22T18:45:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22135,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Error - Internal Server Error",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\nInternal error determining the portability of this number, please try again\n\n### Possible solutions\n\nRun the Portability Check again\n",
    "causes": "Internal error determining the portability of this number, please try again",
    "solutions": "Run the Portability Check again",
    "description": "",
    "date_created": "2023-06-22T18:45:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22136,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Not Portable - Already in one of your Twilio Accounts",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\nPhone number already exists in one of your accounts or is currently being ported into one of your Twilio accounts.\n\n### Possible solutions\n\nIf needed, see this [support page](https://support.twilio.com/hc/en-us/articles/223135327-Moving-Twilio-Phone-Numbers-to-another-Twilio-Account) for more information on how to move the line to a different subaccount.\n",
    "causes": "Phone number already exists in one of your accounts or is currently being ported into one of your Twilio accounts.",
    "solutions": "If needed, see this [support page](https://support.twilio.com/hc/en-us/articles/223135327-Moving-Twilio-Phone-Numbers-to-another-Twilio-Account) for more information on how to move the line to a different subaccount.",
    "description": "",
    "date_created": "2023-08-02T23:41:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22137,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port is already in progress with one of your Twilio accounts",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nA port request for this phone number is already in progress with one of your Twilio accounts.\n\n### Possible causes\n\nA port request for this phone number is already in progress with one of your Twilio accounts.\n\n### Possible solutions\n\nCheck your Twilio accounts for existing port requests. You cannot submit a new port request while another port is already in progress for the same phone number.\n",
    "causes": "A port request for this phone number is already in progress with one of your Twilio accounts.",
    "solutions": "Check your Twilio accounts for existing port requests. You cannot submit a new port request while another port is already in progress for the same phone number.",
    "description": "A port request for this phone number is already in progress with one of your Twilio accounts.",
    "date_created": "2026-03-26T08:17:06-07:00",
    "last_updated": "2026-03-26T08:17:06-07:00"
  },
  {
    "code": 22150,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Port In Error - Contact support required",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThere was an error during the port in process.\n\n### Possible causes\n\nThere was an error during the port in process.\n\n### Possible solutions\n\nPlease contact Twilio's Porting Operations team at porting@twilio.com for support.\n",
    "causes": "There was an error during the port in process.",
    "solutions": "Please contact Twilio's Porting Operations team at porting@twilio.com for support.",
    "description": "There was an error during the port in process.",
    "date_created": "2024-04-22T23:00:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22151,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Port In Error - Number with carrier restrictions",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPhone number has carrier restrictions with the losing carrier that must be resolved before porting the phone number.\n\n### Possible causes\n\nA carrier may place a restriction on a phone number to prevent porting for many reasons, common ones include service freezes to prevent unauthorized transfers or billing problems.\n\n### Possible solutions\n\nContact the phone number's current carrier and resolve any outstanding issues that is preventing them from approving the port.\n",
    "causes": "A carrier may place a restriction on a phone number to prevent porting for many reasons, common ones include service freezes to prevent unauthorized transfers or billing problems.",
    "solutions": "Contact the phone number's current carrier and resolve any outstanding issues that is preventing them from approving the port.",
    "description": "Phone number has carrier restrictions with the losing carrier that must be resolved before porting the phone number.",
    "date_created": "2024-04-22T23:01:36Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22152,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Port In Error - Phone number is inactive or disconnected",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe phone number is inactive or disconnected on the losing carrier and so cannot be ported.\n\n### Possible causes\n\nThe phone number is inactive or disconnected on the losing carrier and so cannot be ported.\n\n### Possible solutions\n\nContact the phone number's current carrier to reactivate the phone number, so that you can port it to Twilio.\n",
    "causes": "The phone number is inactive or disconnected on the losing carrier and so cannot be ported.",
    "solutions": "Contact the phone number's current carrier to reactivate the phone number, so that you can port it to Twilio.",
    "description": "The phone number is inactive or disconnected on the losing carrier and so cannot be ported.",
    "date_created": "2024-04-22T23:02:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22153,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Invalid end user name",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe name of the Authorized Representative submitted in the port in request does not the losing carrier's information.\n\n### Possible causes\n\nThe name of the Authorized Representative submitted in the port in request does not the losing carrier's information.\n\n### Possible solutions\n\nUpdate the port in request to include an authorized representative that is on record with the losing carrier for this phone number.\n\nNote if this is the only phone number in a port in request that got rejected you may need to start a new port in request with this phone number so that you can correct the authorized representative name as it may be different from the other phone numbers in this request.\n",
    "causes": "The name of the Authorized Representative submitted in the port in request does not the losing carrier's information.",
    "solutions": "Update the port in request to include an authorized representative that is on record with the losing carrier for this phone number. Note if this is the only phone number in a port in request that got rejected you may need to start a new port in request with this phone number so that you can correct the authorized representative name as it may be different from the other phone numbers in this request.",
    "description": "The name of the Authorized Representative submitted in the port in request does not the losing carrier's information.",
    "date_created": "2024-04-22T23:03:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22154,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Invalid Address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe address submitted in the port in request does not match the losing carrier's information for this phone number.\n\n### Possible causes\n\nThe address submitted in the port in request does not match the losing carrier's information for this phone number.\n\n### Possible solutions\n\nCheck the address submitted in the port in request for typos or change it to an address that matches the losing carrier's information for this phone number.\n\nNote if this is the only phone number in a port in request that got rejected you may need to start a new port in request with this phone number so that you can correct the address as it may be different from the other phone numbers in this request.\n",
    "causes": "The address submitted in the port in request does not match the losing carrier's information for this phone number.",
    "solutions": "Check the address submitted in the port in request for typos or change it to an address that matches the losing carrier's information for this phone number. Note if this is the only phone number in a port in request that got rejected you may need to start a new port in request with this phone number so that you can correct the address as it may be different from the other phone numbers in this request.",
    "description": "The address submitted in the port in request does not match the losing carrier's information for this phone number.",
    "date_created": "2024-04-22T23:04:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22155,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Invalid Pin",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe PIN submitted in the port in request for this phone number does not match the losing carrier's information.\n\n### Possible causes\n\nAn invalid or no PIN for this phone number was submitted as part of the port in request.\n\n### Possible solutions\n\nUpdate PIN in the port in request to one that matches the losing carrier's information.\n\nPINs are unique to a single phone numbers, so you should not need a new request to change the PIN for just this phone number. Instead update the port in request with the correct PIN.\n",
    "causes": "An invalid or no PIN for this phone number was submitted as part of the port in request.",
    "solutions": "Update PIN in the port in request to one that matches the losing carrier's information. PINs are unique to a single phone numbers, so you should not need a new request to change the PIN for just this phone number. Instead update the port in request with the correct PIN.",
    "description": "The PIN submitted in the port in request for this phone number does not match the losing carrier's information.",
    "date_created": "2024-04-22T23:05:08Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22156,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Invalid Account Number",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Account Number submitted in the port in request for this phone number does not match the losing carrier's information.\n\n### Possible causes\n\nThe Account Number submitted for the port in request does not match the losing carrier's information.\n\n### Possible solutions\n\nUpdate Account Number in the port in request to one that matches the losing carrier's information.\n\nNote if this is the only phone number in a port in request that got rejected you may need to start a new port in request with this phone number so that you can correct the account number as it may be different from the other phone numbers in this request.\n",
    "causes": "The Account Number submitted for the port in request does not match the losing carrier's information.",
    "solutions": "Update Account Number in the port in request to one that matches the losing carrier's information. Note if this is the only phone number in a port in request that got rejected you may need to start a new port in request with this phone number so that you can correct the account number as it may be different from the other phone numbers in this request.",
    "description": "The Account Number submitted in the port in request for this phone number does not match the losing carrier's information.",
    "date_created": "2024-04-22T23:05:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22157,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Invalid Subscription Right",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe subscription right provided as part of the porting request is invalid\n\n### Possible causes\n\nThe subscription right provided as part of the porting request was not accepted by NTT. Certain NTT plans only allow one subscription right, see the solution section for which one you should use.\n\n### Possible solutions\n\nSome NTT plans only allowed to request specific subscription rights.\n\nIf your current NTT plan is the \"Light Plan\", then only the Termination subscription right will be accepted by NTT.\n\nOtherwise you should request the subscription right \"Suspension\".\n",
    "causes": "The subscription right provided as part of the porting request was not accepted by NTT. Certain NTT plans only allow one subscription right, see the solution section for which one you should use.",
    "solutions": "Some NTT plans only allowed to request specific subscription rights. If your current NTT plan is the \"Light Plan\", then only the Termination subscription right will be accepted by NTT. Otherwise you should request the subscription right \"Suspension\".",
    "description": "The subscription right provided as part of the porting request is invalid",
    "date_created": "2024-08-29T18:13:23Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22158,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Port Date Rejected",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe requested target port date was rejected by the losing carrier\n\n### Possible causes\n\nThe requested target port date was rejected by the losing carrier. This can happen for a lot of reasons, some common ones include:\n\n- If the date is on a public holiday\n- If the date is on a scheduled maintenance window of the losing carrier\n\n### Possible solutions\n\nResubmit the port in request with a different target port date. Please review the new date to ensure it does not fall on a public holiday.\n\nContact support at porting@twilio.com if you need help selecting a target port date.\n",
    "causes": "The requested target port date was rejected by the losing carrier. This can happen for a lot of reasons, some common ones include: - If the date is on a public holiday\n- If the date is on a scheduled maintenance window of the losing carrier",
    "solutions": "Resubmit the port in request with a different target port date. Please review the new date to ensure it does not fall on a public holiday. Contact support at porting@twilio.com if you need help selecting a target port date.",
    "description": "The requested target port date was rejected by the losing carrier",
    "date_created": "2024-08-29T18:15:56Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22159,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Not Portable",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe losing carrier has rejected the port request for the number stating that the phone number cannot be ported.\n\n### Possible causes\n\nThe most likely case here is that the phone number uses services on the losing carrier that prevent it from being ported. For example, in Japan both rental phone numbers & public phone numbers cannot be ported.\n\nIn rare cases, the number may have been incorrectly typed by Twilio's Portability API and the requested number is not actually portable.\n\n### Possible solutions\n\nCheck with your current carrier to determine if you are using any services that would prevent the phone number from being ported to Twilio. If you can remove those services you may still be able to attempt a port.\n\nOtherwise, please reach out to Support at porting@twilio.com and they can help to troubleshoot the rejection further and find alternatives for you.\n",
    "causes": "The most likely case here is that the phone number uses services on the losing carrier that prevent it from being ported. For example, in Japan both rental phone numbers & public phone numbers cannot be ported. In rare cases, the number may have been incorrectly typed by Twilio's Portability API and the requested number is not actually portable.",
    "solutions": "Check with your current carrier to determine if you are using any services that would prevent the phone number from being ported to Twilio. If you can remove those services you may still be able to attempt a port. Otherwise, please reach out to Support at porting@twilio.com and they can help to troubleshoot the rejection further and find alternatives for you.",
    "description": "The losing carrier has rejected the port request for the number stating that the phone number cannot be ported.",
    "date_created": "2024-08-29T18:16:37Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22170,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Invalid Bundle",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nGiven Bundle SID does not exist for your account or is not approved.\n\n### Possible causes\n\nThe Bundle SID does not exist or is not approved yet.\n\n### Possible solutions\n\nUpdate the Bundle SID to one that exists or is approved.\n",
    "causes": "The Bundle SID does not exist or is not approved yet.",
    "solutions": "Update the Bundle SID to one that exists or is approved.",
    "description": "Given Bundle SID does not exist for your account or is not approved.",
    "date_created": "2024-05-03T16:58:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22171,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Missing required fields",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nMissing required fields, please review which fields are required for each country.\n\n### Possible causes\n\nThere are missing required fields for the country your phone numbers are related to.\n\n### Possible solutions\n\nCheck what fields are required for each country and update those fields with valid values.\n",
    "causes": "There are missing required fields for the country your phone numbers are related to.",
    "solutions": "Check what fields are required for each country and update those fields with valid values.",
    "description": "Missing required fields, please review which fields are required for each country.",
    "date_created": "2024-05-03T16:59:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22172,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Contains numbers for multiple countries",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPort in request contains numbers for multiple countries or that are not in E.164 format.\n\n### Possible causes\n\nThere are phone numbers in the port in request from multiple countries.\n\nThere are phone numbers in the port in request that are not in E.164 format and so the country cannot be identified.\n\n### Possible solutions\n\nPlease review the list of phone numbers and submit one port in request for all numbers from each country. A port in request can only contain phone numbers from one country.\n\nAlso double check that all phone numbers are in E.164 format so that Twilio can correct identify the country code. https://www.twilio.com/docs/glossary/what-e164\n",
    "causes": "There are phone numbers in the port in request from multiple countries. There are phone numbers in the port in request that are not in E.164 format and so the country cannot be identified.",
    "solutions": "Please review the list of phone numbers and submit one port in request for all numbers from each country. A port in request can only contain phone numbers from one country. Also double check that all phone numbers are in E.164 format so that Twilio can correct identify the country code. https://www.twilio.com/docs/glossary/what-e164",
    "description": "Port in request contains numbers for multiple countries or that are not in E.164 format.",
    "date_created": "2024-05-03T17:00:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22173,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Port In Error - Invalid Address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nGiven Address SID does not exist for your account or is invalid.\n\n### Possible causes\n\nGiven Address SID does not exist for your account or is invalid.\n\n### Possible solutions\n\nUpdate the Address SID to one that exists or check the account you are using.\n",
    "causes": "Given Address SID does not exist for your account or is invalid.",
    "solutions": "Update the Address SID to one that exists or check the account you are using.",
    "description": "Given Address SID does not exist for your account or is invalid.",
    "date_created": "2024-05-03T17:00:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22199,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Configuration Retrieval Error",
    "secondary_message": "The Phone Numbers Configuration is Missing",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Phone Numbers Configuration is Missing. Phone Numbers have a configuration for each region. This Error shows if you are attempting to perform an action that requires region specific configuration. Please create or add a configuration to this Phone Number for the Region in question.\n\n### Possible causes\n\nPerforming an Action that Requires a Configuration in Region in Question\n\n### Possible solutions\n\nDouble Check that the phone number has a configuration for each region you are working with.\n",
    "causes": "Performing an Action that Requires a Configuration in Region in Question",
    "solutions": "Double Check that the phone number has a configuration for each region you are working with.",
    "description": "The Phone Numbers Configuration is Missing. Phone Numbers have a configuration for each region. This Error shows if you are attempting to perform an action that requires region specific configuration. Please create or add a configuration to this Phone Number for the Region in question.",
    "date_created": "2022-04-26T14:15:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22200,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid End-User Type or Number Type",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn invalid End-User Type or Number Type is included in the request to create a Bundle.\n\n### Possible causes\n\nThe End-User Type or Number Type is malformed or is not an acceptable value.\n\n### Possible solutions\n\nEnsure that the End-User Type value or Number Type value is spelled correctly or is an acceptable value from the End-User Type LIST resource or Number Type LIST resource.\n",
    "causes": "The End-User Type or Number Type is malformed or is not an acceptable value.",
    "solutions": "Ensure that the End-User Type value or Number Type value is spelled correctly or is an acceptable value from the End-User Type LIST resource or Number Type LIST resource.",
    "description": "An invalid End-User Type or Number Type is included in the request to create a Bundle.",
    "date_created": "2019-12-24T18:39:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "No regulation sid found for the given number group",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nNo regulation sid found for the given number group\n\n### Possible causes\n\nThe regulation sid may be misspelled or belong to another account.\n\n### Possible solutions\n\nUse the Regulations LIST resource with filters to find the correct Number Group.\n",
    "causes": "The regulation sid may be misspelled or belong to another account.",
    "solutions": "Use the Regulations LIST resource with filters to find the correct Number Group.",
    "description": "No regulation sid found for the given number group",
    "date_created": "2019-12-24T18:40:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22202,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "No regulation sid or phone number country and type was provided",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nNo regulation sid or phone number country and type was provided\n\n### Possible causes\n\nThe regulation sid or phone number country and type are missing from the request.\n\n### Possible solutions\n\n- Please ensure you are passing a regulation sid or phone number country and type\n- If you need to know which regulation sid or phone number country and type to use, please refer to the Regulations REST API.\n",
    "causes": "The regulation sid or phone number country and type are missing from the request.",
    "solutions": "* Please ensure you are passing a regulation sid or phone number country and type\n* If you need to know which regulation sid or phone number country and type to use, please refer to the Regulations REST API.",
    "description": "No regulation sid or phone number country and type was provided",
    "date_created": "2019-12-24T18:41:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22203,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to parse bundle status",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nBundle Status provided by user didn't parse into the accepted enum valuesf\n\n### Possible causes\n\nBundle status is not a valid option from the enum values\n\n### Possible solutions\n\nRefer to the Bundle REST API status section for which statuses you are able to choose from.\n",
    "causes": "Bundle status is not a valid option from the enum values",
    "solutions": "Refer to the Bundle REST API status section for which statuses you are able to choose from.",
    "description": "Bundle Status provided by user didn't parse into the accepted enum valuesf",
    "date_created": "2019-12-24T18:42:45Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22204,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Bundle status and properties cannot be updated in the same request",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nBundle status and properties cannot be updated in the same request\n\n### Possible causes\n\nStatus update and a property update are in the same request\n\n### Possible solutions\n\nRemove the status update parameter or remove the property update(s) in the request.\n",
    "causes": "Status update and a property update are in the same request",
    "solutions": "Remove the status update parameter or remove the property update(s) in the request.",
    "description": "Bundle status and properties cannot be updated in the same request",
    "date_created": "2019-12-24T18:43:46Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22205,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attempting to assign invalid object_sid to Bundle",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nYou are attempting to add an invalid object\\_sid to the Bundle.\n\n### Possible causes\n\nThe object\\_sid may be malformed or belonging to a different account.\n\n### Possible solutions\n\nPlease refer to the Supporting Documents LIST or End-User LIST resources to find the correct Supporting Document SID or End-User SID to assign as an item to a Bundle.\n",
    "causes": "The object\\_sid may be malformed or belonging to a different account.",
    "solutions": "Please refer to the Supporting Documents LIST or End-User LIST resources to find the correct Supporting Document SID or End-User SID to assign as an item to a Bundle.",
    "description": "You are attempting to add an invalid object\\_sid to the Bundle.",
    "date_created": "2019-12-24T18:44:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22206,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attempting to add invalid object type to bundle",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe object\\_sid provided was not a Supporting Document Sid or an End-User Sid\n\n### Possible causes\n\nThe SID belongs to a different object group that is not allowed to be assigned as an item to a Bundle.\n\n### Possible solutions\n\nPlease refer to the Supporting Documents LIST or End-User LIST resources to find the correct Supporting Document SID or End-User SID to assign as an item to a Bundle.\n",
    "causes": "The SID belongs to a different object group that is not allowed to be assigned as an item to a Bundle.",
    "solutions": "Please refer to the Supporting Documents LIST or End-User LIST resources to find the correct Supporting Document SID or End-User SID to assign as an item to a Bundle.",
    "description": "The object\\_sid provided was not a Supporting Document Sid or an End-User Sid",
    "date_created": "2019-12-24T18:45:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22207,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to parse attributes JSON",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe attributes JSON string provided was not valid or parsing otherwise failed.\n\n### Possible causes\n\nThe JSON was invalid.\n\n### Possible solutions\n\nCheck to see if the JSON is valid and resend the request.\n",
    "causes": "The JSON was invalid.",
    "solutions": "Check to see if the JSON is valid and resend the request.",
    "description": "The attributes JSON string provided was not valid or parsing otherwise failed.",
    "date_created": "2019-12-24T18:46:11Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22208,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Supporting Document status and attributes cannot be updated in the same request",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nBoth the Supporting Documents status and the attributes were present in the update request.\n\n### Possible causes\n\nThe Supporting Documents status cannot have both the status and the attributes in the same update request.\n\n### Possible solutions\n\nSend the attributes in the update request followed with a status update in another request.\n",
    "causes": "The Supporting Documents status cannot have both the status and the attributes in the same update request.",
    "solutions": "Send the attributes in the update request followed with a status update in another request.",
    "description": "Both the Supporting Documents status and the attributes were present in the update request.",
    "date_created": "2019-12-24T18:46:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22209,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid status enum in Supporting Document update request",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn invalid status enum was sent in an update Supporting Document reques\n\n### Possible causes\n\nThe status enum may be malformed or incorrect.\n\n### Possible solutions\n\nPlease refer to the Supporting Documents REST Public API documentation for the update instance resource to pick from an allowed status enum list.\n",
    "causes": "The status enum may be malformed or incorrect.",
    "solutions": "Please refer to the Supporting Documents REST Public API documentation for the update instance resource to pick from an allowed status enum list.",
    "description": "An invalid status enum was sent in an update Supporting Document reques",
    "date_created": "2019-12-24T18:47:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22210,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot create a Supporting Document with no Type",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nA Supporting Document instance was requested to be created with no `Type` specified\n\n### Possible causes\n\nEither the Type string was malformed or the Supporting Document Type name does not exist.\n\n### Possible solutions\n\nRefer to the Supporting Document Types LIST resource to find the correct name type for your request.\n",
    "causes": "Either the Type string was malformed or the Supporting Document Type name does not exist.",
    "solutions": "Refer to the Supporting Document Types LIST resource to find the correct name type for your request.",
    "description": "A Supporting Document instance was requested to be created with no `Type` specified",
    "date_created": "2019-12-24T18:48:41Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22211,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot create a Supporting Document with no FriendlyName",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe request to create a new Supporting Document instance did not contain a FriendlyName\n\n### Possible causes\n\nThe FriendlyName is missing from the `POST` LIST request to create a new Supporting Document.\n\n### Possible solutions\n\nResend the request including the FriendlyName\n",
    "causes": "The FriendlyName is missing from the `POST` LIST request to create a new Supporting Document.",
    "solutions": "Resend the request including the FriendlyName",
    "description": "The request to create a new Supporting Document instance did not contain a FriendlyName",
    "date_created": "2019-12-24T18:49:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22212,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid End-User Type in request",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn invalid End-User Type is included in the request to filter the Regulations LIST resource.\n\n### Possible causes\n\nThe End-User Type is malformed or is not an acceptable value.\n\n### Possible solutions\n\nEnsure that the End-User Type value is spelled correctly or is present in the End-User Type LIST resource.\n",
    "causes": "The End-User Type is malformed or is not an acceptable value.",
    "solutions": "Ensure that the End-User Type value is spelled correctly or is present in the End-User Type LIST resource.",
    "description": "An invalid End-User Type is included in the request to filter the Regulations LIST resource.",
    "date_created": "2019-12-24T18:50:51Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22213,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Number Type in request",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn invalid End-User Type is included in the request to filter the Regulations LIST resource.\n\n### Possible causes\n\nThe Number Type is malformed or is not an acceptable value.\n\n### Possible solutions\n\nEnsure that the Number Type value is spelled correctly or is an acceptable Number Type in the Regulations LIST resource\n",
    "causes": "The Number Type is malformed or is not an acceptable value.",
    "solutions": "Ensure that the Number Type value is spelled correctly or is an acceptable Number Type in the Regulations LIST resource",
    "description": "An invalid End-User Type is included in the request to filter the Regulations LIST resource.",
    "date_created": "2019-12-24T18:51:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22214,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing End User",
    "secondary_message": "User is missing.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn End User is missing from the regulatory bundle\n\n### Possible causes\n\nThe Regulation requires an end-user which is missing from the regulatory bundle you are attempting to evaluate.\n\n### Possible solutions\n\nPlease refer to the Regulations API to ensure that the End User satisfying the requirement is in the regulatory bundle.\n",
    "causes": "The Regulation requires an end-user which is missing from the regulatory bundle you are attempting to evaluate.",
    "solutions": "Please refer to the Regulations API to ensure that the End User satisfying the requirement is in the regulatory bundle.",
    "description": "An End User is missing from the regulatory bundle",
    "date_created": "2020-04-23T21:53:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22215,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing End-User field",
    "secondary_message": "User information is missing.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn End-User field is missing from the Regulatory Bundle\n\n### Possible causes\n\nThe Regulation requires an End-User field which is missing from your Regulatory Bundle.\n\n### Possible solutions\n\nPlease refer to the Regulations API to ensure that all required fields are present in the End-User.\n",
    "causes": "The Regulation requires an End-User field which is missing from your Regulatory Bundle.",
    "solutions": "Please refer to the Regulations API to ensure that all required fields are present in the End-User.",
    "description": "An End-User field is missing from the Regulatory Bundle",
    "date_created": "2020-04-23T22:06:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22216,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing Supporting Document",
    "secondary_message": "A document is missing.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nA Supporting Document satisfying the requirement is missing from the regulatory bundle.\n\n### Possible causes\n\nThe Regulation requires a Supporting Document which is missing from your Regulatory Bundle.\n\n### Possible solutions\n\nPlease refer to the Regulations API resource to ensure that a Supporting Document satisfying the requirement is in the regulatory bundle.\n",
    "causes": "The Regulation requires a Supporting Document which is missing from your Regulatory Bundle.",
    "solutions": "Please refer to the Regulations API resource to ensure that a Supporting Document satisfying the requirement is in the regulatory bundle.",
    "description": "A Supporting Document satisfying the requirement is missing from the regulatory bundle.",
    "date_created": "2020-04-23T22:26:28Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22217,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing Supporting Document field",
    "secondary_message": "A field is missing for the supporting document.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nA Supporting Document field is missing from the regulatory bundle.\n\n### Possible causes\n\nThe Regulation requires a Supporting Document field which is missing from your Regulatory Bundle.\n\n### Possible solutions\n\nPlease refer to the Regulations API resource to ensure that all required fields are present in the Supporting Document.\n",
    "causes": "The Regulation requires a Supporting Document field which is missing from your Regulatory Bundle.",
    "solutions": "Please refer to the Regulations API resource to ensure that all required fields are present in the Supporting Document.",
    "description": "A Supporting Document field is missing from the regulatory bundle.",
    "date_created": "2020-04-23T22:12:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22218,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Supporting Document field does not match the field in the End-User",
    "secondary_message": "Document and user fields mismatch.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Supporting Document field does not match the field in the End-User.\n\n### Possible causes\n\nThe Regulation requires the fields on the Supporting Document and End-User to match.\n\n### Possible solutions\n\nPlease ensure that the field in the Supporting Document matches the field in the End-User.\n",
    "causes": "The Regulation requires the fields on the Supporting Document and End-User to match.",
    "solutions": "Please ensure that the field in the Supporting Document matches the field in the End-User.",
    "description": "The Supporting Document field does not match the field in the End-User.",
    "date_created": "2020-04-23T22:15:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22219,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "An Address is missing",
    "secondary_message": "An address is missing.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nAn Address is missing from the regulatory Bundle\n\n### Possible causes\n\nThe Regulation requires an Address to be assigned to a Supporting Document in the Regulatory Bundle.\n\n### Possible solutions\n\nPlease refer to the Regulations API to ensure that an AddressSid is assigned to a Supporting Document.\n",
    "causes": "The Regulation requires an Address to be assigned to a Supporting Document in the Regulatory Bundle.",
    "solutions": "Please refer to the Regulations API to ensure that an AddressSid is assigned to a Supporting Document.",
    "description": "An Address is missing from the regulatory Bundle",
    "date_created": "2020-04-23T22:18:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22220,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Validation Error",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\n### Possible causes\n\nRequest body validation fails.\n\n### Possible solutions\n\nReview the input and fix (if possible) the problem mentioned in the error message.\n",
    "causes": "Request body validation fails.",
    "solutions": "Review the input and fix (if possible) the problem mentioned in the error message.",
    "description": "",
    "date_created": "2021-02-25T10:07:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22221,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Emergency address is not registered",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe emergency address is missing when an emergency call is made. The emergency call might have an additional cost.\n\n### Possible causes\n\nFrom number does not have a registered emergency address when an emergency call is made.\n\n### Possible solutions\n\nPlease register an emergency address with the from number.\n",
    "causes": "From number does not have a registered emergency address when an emergency call is made.",
    "solutions": "Please register an emergency address with the from number.",
    "description": "The emergency address is missing when an emergency call is made. The emergency call might have an additional cost.",
    "date_created": "2021-03-24T09:14:19Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22222,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Emergency Status cannot be updated",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nEmergency Status cannot be updated\n\n### Possible causes\n\nYou sent a *`POST`* request to update the Emergency Status\n\n### Possible solutions\n\nRemove Emergency Status from the request\n",
    "causes": "You sent a *`POST`* request to update the Emergency Status",
    "solutions": "Remove Emergency Status from the request",
    "description": "Emergency Status cannot be updated",
    "date_created": "2022-02-04T22:11:01Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22223,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Regulatory Bundle is not eligible to be Copied",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Regulatory Bundle requested is not eligible to be Copied.\n\n### Possible causes\n\nThe Regulatory Bundle is either in not in a twilio-approved status or does not have a valid\\_until date\n\n### Possible solutions\n\nSelect a Regulatory Bundle that is eligible to be Copied by filtering the Regulatory Bundle list with a valid\\_until date and in the twilio-approved status.\n",
    "causes": "The Regulatory Bundle is either in not in a twilio-approved status or does not have a valid\\_until date",
    "solutions": "Select a Regulatory Bundle that is eligible to be Copied by filtering the Regulatory Bundle list with a valid\\_until date and in the twilio-approved status.",
    "description": "The Regulatory Bundle requested is not eligible to be Copied.",
    "date_created": "2022-03-10T23:27:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22224,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Regulatory Bundle cannot transfer Item Assignments",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Regulatory Bundle cannot transfer the Item Assignments from the destination Bundle.\n\n### Possible causes\n\nThe status is either not eligible as all Bundles need to be in a twilio-approved state or the destination Bundle is not a Copy of the source Bundle.\n\n### Possible solutions\n\nEnsure both Bundles are in the correct twilio-approved status and that the destination Bundle is a Copy of the source Bundle.\n",
    "causes": "The status is either not eligible as all Bundles need to be in a twilio-approved state or the destination Bundle is not a Copy of the source Bundle.",
    "solutions": "Ensure both Bundles are in the correct twilio-approved status and that the destination Bundle is a Copy of the source Bundle.",
    "description": "The Regulatory Bundle cannot transfer the Item Assignments from the destination Bundle.",
    "date_created": "2022-03-10T23:30:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22225,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "From Bundle to Replace Items does not exist",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe FromBundleSid specified does not exist.\n\n### Possible causes\n\nThe FromBundleSid specified does not exist.\n\n### Possible solutions\n\nPlease review the FromBundleSid specified to ensure it is correctly referencing the account's BundleSid and not another account.\n",
    "causes": "The FromBundleSid specified does not exist.",
    "solutions": "Please review the FromBundleSid specified to ensure it is correctly referencing the account's BundleSid and not another account.",
    "description": "The FromBundleSid specified does not exist.",
    "date_created": "2022-03-10T23:34:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22226,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot replace Items from Bundle to same Bundle",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nFrom FromBundleSid cannot be the same Bundle as in URI request.\n\n### Possible causes\n\nThe same FromBundleSid is being used in both the URI and the From Bundle.\n\n### Possible solutions\n\nPlease ensure From FromBundleSid is Copy of the provisioning Bundle.\n",
    "causes": "The same FromBundleSid is being used in both the URI and the From Bundle.",
    "solutions": "Please ensure From FromBundleSid is Copy of the provisioning Bundle.",
    "description": "From FromBundleSid cannot be the same Bundle as in URI request.",
    "date_created": "2022-03-10T23:37:53Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22227,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot replace Items from Bundle with valid until date set",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nCannot replace items from Bundle with valid until date set\n\n### Possible causes\n\nThe valid\\_until date is set and indicates Bundle Copy needs to be updated\n\n### Possible solutions\n\nUpdate Bundle Copy to ensure all information is up to date or create a new Regulatory Bundle with the same Supporting Documents assigned.\n",
    "causes": "The valid\\_until date is set and indicates Bundle Copy needs to be updated",
    "solutions": "Update Bundle Copy to ensure all information is up to date or create a new Regulatory Bundle with the same Supporting Documents assigned.",
    "description": "Cannot replace items from Bundle with valid until date set",
    "date_created": "2022-02-04T22:35:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22228,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "From Bundle does not have latest Regulation requirements that matches destination Bundle",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe from Bundle does not have the latest Regulation requirements which match the destination Bundle\n\n### Possible causes\n\nIncompatible Regulation requirements.\n\n### Possible solutions\n\nPlease reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) by referencing this API error code with the BundleSid requesting assistance with fixing the Bundle.\n",
    "causes": "Incompatible Regulation requirements.",
    "solutions": "Please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) by referencing this API error code with the BundleSid requesting assistance with fixing the Bundle.",
    "description": "The from Bundle does not have the latest Regulation requirements which match the destination Bundle",
    "date_created": "2022-03-10T23:40:53Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22229,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Supporting Document Bundle Assignment cannot be removed",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe destination Bundle must have the same address as the Bundle Copy due to lack of feature support for Phone Number address assignment.\n\n### Possible causes\n\nThe Address in the Bundle Copy must be the same as in the destination Bundle and cannot be removed.\n\n### Possible solutions\n\nMetadata of the Supporting Document can be updated but the Address is immutable. Either a new Supporting Document that validates the same information can be supplied or a new Regulatory Bundle can be created.\n",
    "causes": "The Address in the Bundle Copy must be the same as in the destination Bundle and cannot be removed.",
    "solutions": "Metadata of the Supporting Document can be updated but the Address is immutable. Either a new Supporting Document that validates the same information can be supplied or a new Regulatory Bundle can be created.",
    "description": "The destination Bundle must have the same address as the Bundle Copy due to lack of feature support for Phone Number address assignment.",
    "date_created": "2022-03-10T23:50:41Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22230,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Regulatory Bundle cannot be copied due to a deleted Address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Regulatory Bundle requested cannot be copied due to a deleted Address.\n\n### Possible causes\n\nThe Address linked to the Regulatory Bundle was deleted.\n\n### Possible solutions\n\nCreate a new Address on your Account or Sub-Account (if you don't already have one) and reach out to [Twilio Support](https://support.twilio.com/hc/en-us) to link it to the Regulatory Bundle that you wish to copy.\n",
    "causes": "The Address linked to the Regulatory Bundle was deleted.",
    "solutions": "Create a new Address on your Account or Sub-Account (if you don't already have one) and reach out to [Twilio Support](https://support.twilio.com/hc/en-us) to link it to the Regulatory Bundle that you wish to copy.",
    "description": "The Regulatory Bundle requested cannot be copied due to a deleted Address.",
    "date_created": "2024-08-12T07:12:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22300,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "This account is restricted from provisioning new long code phone numbers",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe account is temporarily restricted from provisioning new long code phone numbers.\n\n### Possible causes\n\nTwilio Compliance has temporarily restricted the account from provisioning new long code phone numbers.\n\n### Possible solutions\n\nPlease reach out to verifymyaccount@twilio.com to have this restriction lifted from your account. Be sure to include your Twilio Account SID, the name of your business or project, and a brief explanation of your use case.\n",
    "causes": "Twilio Compliance has temporarily restricted the account from provisioning new long code phone numbers.",
    "solutions": "Please reach out to verifymyaccount@twilio.com to have this restriction lifted from your account. Be sure to include your Twilio Account SID, the name of your business or project, and a brief explanation of your use case.",
    "description": "The account is temporarily restricted from provisioning new long code phone numbers.",
    "date_created": "2021-06-01T21:29:17Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22350,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Phone Number cannot be released because it is being ported out of Twilio",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe Phone Number cannot be released because it is being ported out of Twilio.\n\n### Possible causes\n\nThe Phone Number is being ported out of Twilio.\n\n### Possible solutions\n\nYou cannot release a Phone Number that is being ported out. Please, reach out to porting@twilio.com for assistance.\n",
    "causes": "The Phone Number is being ported out of Twilio.",
    "solutions": "You cannot release a Phone Number that is being ported out. Please, reach out to porting@twilio.com for assistance.",
    "description": "The Phone Number cannot be released because it is being ported out of Twilio.",
    "date_created": "2024-12-18T18:21:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22400,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Phone Number linked to Active Route Configuration",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPhone Number linked to Active Route Configuration.\n\n### Possible causes\n\nPhone Number linked to Active Route Configuration.\n\n### Possible solutions\n\nPlease contact Twilio Support either via the [Console](https://console.twilio.com) or the [Help Center](https://support.twilio.com) to request assistance with deleting the Active Route Configuration for an inactive phone number reference.\n",
    "causes": "Phone Number linked to Active Route Configuration.",
    "solutions": "Please contact Twilio Support either via the [Console](https://console.twilio.com) or the [Help Center](https://support.twilio.com) to request assistance with deleting the Active Route Configuration for an inactive phone number reference.",
    "description": "Phone Number linked to Active Route Configuration.",
    "date_created": "2022-04-26T14:07:18Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22401,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone Number Instance fields are not supported within region",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe fields you are attempting to update are not supported within the region specified.\n\n### Possible causes\n\nThe feature is not supported within the region.\n\n### Possible solutions\n\nPlease refer to documentation to understand which fields are supported.\n",
    "causes": "The feature is not supported within the region.",
    "solutions": "Please refer to documentation to understand which fields are supported.",
    "description": "The fields you are attempting to update are not supported within the region specified.",
    "date_created": "2022-04-26T14:09:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22402,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone Number Operation not permitted within Region",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPhone Number update operation is not permitted within the Region.\n\n### Possible causes\n\nCertain Phone Number operations are not permitted within this Region such as restore, transfer, emergency services, and release.\n\n### Possible solutions\n\nPlease refer to documentation to understand which operations are permitted within each region.\n",
    "causes": "Certain Phone Number operations are not permitted within this Region such as restore, transfer, emergency services, and release.",
    "solutions": "Please refer to documentation to understand which operations are permitted within each region.",
    "description": "Phone Number update operation is not permitted within the Region.",
    "date_created": "2022-04-26T14:11:17Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22403,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Phone Number Operation not permitted within Region",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPhone Number update operation is not permitted within the Region.\n\n### Possible causes\n\nCertain Phone Number operations are not permitted within this Region emergency services\n\n### Possible solutions\n\nPlease refer to documentation to understand which operations are permitted within each region.\n",
    "causes": "Certain Phone Number operations are not permitted within this Region emergency services",
    "solutions": "Please refer to documentation to understand which operations are permitted within each region.",
    "description": "Phone Number update operation is not permitted within the Region.",
    "date_created": "2022-04-26T14:13:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22404,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Starter profile creation and updates are temporarily disabled",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nStarter profiles cannot be created or updated at this time. Contact support for help.\n\n### Possible causes\n\nThe profile you are trying to create/update is a Starter profile. See [New Requirements for A2P 10DLC Registrations](https://www.twilio.com/blog/new-requirements-for-a2p-10dlc-registrations) for more info.\n\n### Possible solutions\n\nContact Twilio support.\n",
    "causes": "The profile you are trying to create/update is a Starter profile. See [New Requirements for A2P 10DLC Registrations](https://www.twilio.com/blog/new-requirements-for-a2p-10dlc-registrations) for more info.",
    "solutions": "Contact Twilio support.",
    "description": "Starter profiles cannot be created or updated at this time. Contact support for help.",
    "date_created": "2022-09-22T09:44:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22405,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Customer Profile or Trust Product isn't eligible for ChannelEndPointAssignment",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe TrustProduct or CustomerProfile isn't eligible for ChannelEndPointAssignment in Trusthub.\n\n### Possible causes\n\nThere might be no business use-case for using sub-resource ChannelEndPointAssignment for a given TrustProductSid or CustomerProfileSid.\n\n### Possible solutions\n\nPlease review why the sub-resource ChannelEndPointAssignment is needed in your workflow.\n",
    "causes": "There might be no business use-case for using sub-resource ChannelEndPointAssignment for a given TrustProductSid or CustomerProfileSid.",
    "solutions": "Please review why the sub-resource ChannelEndPointAssignment is needed in your workflow.",
    "description": "The TrustProduct or CustomerProfile isn't eligible for ChannelEndPointAssignment in Trusthub.",
    "date_created": "2022-10-04T14:25:17Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22422,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Unprocessable Entity",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.\n\n### Possible causes\n\nThe request entity is correct but unprocessable.\n\n### Possible solutions\n\nThe request entity cannot be processed.\n",
    "causes": "The request entity is correct but unprocessable.",
    "solutions": "The request entity cannot be processed.",
    "description": "The server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.",
    "date_created": "2020-09-25T17:38:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22500,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Twilio phone number using deprecated API version",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nPhone Numbers no longer supports 2008-08-01 API. The Twilio phone number is configured for the deprecated 2008-08-01 API, which is not compatible. Update the phone number API version to 2010-04-01\n\n### Possible causes\n\nThe Twilio phone number is configured for the 2008-08-01 API\n\n### Possible solutions\n\nUpdate the phone number API version to 2010-04-01 or later version\n",
    "causes": "The Twilio phone number is configured for the 2008-08-01 API",
    "solutions": "Update the phone number API version to 2010-04-01 or later version",
    "description": "Phone Numbers no longer supports 2008-08-01 API. The Twilio phone number is configured for the deprecated 2008-08-01 API, which is not compatible. Update the phone number API version to 2010-04-01",
    "date_created": "2023-04-18T20:58:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22600,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Regulatory changes necessitate new information",
    "secondary_message": "The information no longer matches the most current regulatory requirements. Please upgrade to the newest version or create a new submission.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe regulation used to create the bundle is out of date, preventing the bundle from being submittable.\n\n### Possible causes\n\nThe regulation initially used to create the bundle is archived or expired.\n\n### Possible solutions\n\nPlease upgrade to the newest version or create a new submission.\n",
    "causes": "The regulation initially used to create the bundle is archived or expired.",
    "solutions": "Please upgrade to the newest version or create a new submission.",
    "description": "The regulation used to create the bundle is out of date, preventing the bundle from being submittable.",
    "date_created": "2025-04-02T14:04:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 22601,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Rejected due to outdated regulatory information",
    "secondary_message": "The information has been rejected since it no longer matches the most current regulatory requirements. Your existing associated phone numbers will continue to work as normal. However, to purchase new phone numbers using this bundle, you must update and resubmit the rejected bundle with the latest regulatory information.",
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThe information has been rejected since it no longer matches the most current regulatory requirements. Your existing associated phone numbers will continue to work as normal. However, to purchase new phone numbers using this bundle, you must update and resubmit the rejected bundle with the latest regulatory information.\n\n### Possible causes\n\nThe regulation initially used to create the bundle is out of date because the regulatory requirements have recently changed.\n\n### Possible solutions\n\nUpdate the rejected bundle with [current regulatory information](https://www.twilio.com/en-us/guidelines/regulatory) and resubmit it for approval. Alternatively, you may create a new submission that meets the latest requirements.\n",
    "causes": "The regulation initially used to create the bundle is out of date because the regulatory requirements have recently changed.",
    "solutions": "Update the rejected bundle with [current regulatory information](https://www.twilio.com/en-us/guidelines/regulatory) and resubmit it for approval. Alternatively, you may create a new submission that meets the latest requirements.",
    "description": "The information has been rejected since it no longer matches the most current regulatory requirements. Your existing associated phone numbers will continue to work as normal. However, to purchase new phone numbers using this bundle, you must update and resubmit the rejected bundle with the latest regulatory information.",
    "date_created": "2025-03-27T11:08:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 23001,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Message Redaction Incompatible Configuration: Long code STOP filtering",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPhone Number Redaction is enabled for your account. Twilio's default opt-out keyword handling (\"SMS STOP filtering\") is not compatible with Phone Number Redaction and should be disabled.\n\n### Possible causes\n\n- Twilio is currently set to handle opt-out keywords for long code numbers on your account. Twilio's opt-out handling requires Twilio to save non-redacted phone numbers of users who have opted out, and is incompatible with Phone Number Redaction.\n\n### Possible solutions\n\n- To resolve this issue, your application needs to be able to handle [opt-out keyword messages](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) from end users.\n- Users who reply STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, or QUIT should be added to a blocklist in your application to ensure you do not send them any further messages, unless they opt-in again.\n- Users who reply HELP or INFO should be sent an informational message about your application or service.\n- Users who reply START, YES, or UNSTOP should be removed from your \"STOP\" blocklist so they can receive messages from you again.\n- Once you are ready to disable Twilio's built-in opt-out handling and process the above keywords in your own application, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) to disable Twilio's built-in opt-out keyword handling for your account.\n",
    "causes": "* Twilio is currently set to handle opt-out keywords for long code numbers on your account. Twilio's opt-out handling requires Twilio to save non-redacted phone numbers of users who have opted out, and is incompatible with Phone Number Redaction.",
    "solutions": "* To resolve this issue, your application needs to be able to handle [opt-out keyword messages](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) from end users.\n* Users who reply STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, or QUIT should be added to a blocklist in your application to ensure you do not send them any further messages, unless they opt-in again.\n* Users who reply HELP or INFO should be sent an informational message about your application or service.\n* Users who reply START, YES, or UNSTOP should be removed from your \"STOP\" blocklist so they can receive messages from you again.\n* Once you are ready to disable Twilio's built-in opt-out handling and process the above keywords in your own application, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) to disable Twilio's built-in opt-out keyword handling for your account.",
    "description": "Phone Number Redaction is enabled for your account. Twilio's default opt-out keyword handling (\"SMS STOP filtering\") is not compatible with Phone Number Redaction and should be disabled.",
    "date_created": "2019-09-20T04:53:05Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 23002,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Message Redaction Incompatible Configuration: Short code \"STOP\" filtering",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPhone Number Redaction is enabled for your account. Twilio's default opt-out keyword handling (\"SMS STOP filtering\") is not compatible with Phone Number Redaction and should be disabled.\n\n### Possible causes\n\n- Twilio is currently set to handle opt-out keywords for short code numbers on your account. Twilio's opt-out handling requires Twilio to save non-redacted phone numbers of users who have opted out, and is incompatible with Phone Number Redaction.\n\n### Possible solutions\n\n- To resolve this issue, your application needs to be able to handle [opt-out keyword messages](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) from end users.\n- Users who reply STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, or QUIT should be added to a blocklist in your application to ensure you do not send them any further messages, unless they opt-in again.\n- Users who reply HELP or INFO should be sent an informational message about your application or service.\n- Users who reply START, YES, or UNSTOP should be removed from your \"STOP\" blocklist so they can receive messages from you again.\n- Once you are ready to disable Twilio's built-in opt-out handling and process the above keywords in your own application, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) to disable Twilio's built-in opt-out keyword handling for your account.\n",
    "causes": "* Twilio is currently set to handle opt-out keywords for short code numbers on your account. Twilio's opt-out handling requires Twilio to save non-redacted phone numbers of users who have opted out, and is incompatible with Phone Number Redaction.",
    "solutions": "* To resolve this issue, your application needs to be able to handle [opt-out keyword messages](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) from end users.\n* Users who reply STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, or QUIT should be added to a blocklist in your application to ensure you do not send them any further messages, unless they opt-in again.\n* Users who reply HELP or INFO should be sent an informational message about your application or service.\n* Users who reply START, YES, or UNSTOP should be removed from your \"STOP\" blocklist so they can receive messages from you again.\n* Once you are ready to disable Twilio's built-in opt-out handling and process the above keywords in your own application, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) to disable Twilio's built-in opt-out keyword handling for your account.",
    "description": "Phone Number Redaction is enabled for your account. Twilio's default opt-out keyword handling (\"SMS STOP filtering\") is not compatible with Phone Number Redaction and should be disabled.",
    "date_created": "2019-11-21T19:18:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 23003,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Message Redaction Incompatible Configuration: Sticky Sender",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPhone Number Redaction is enabled for your account. Sticky Sender is not compatible with Phone Number Redaction and should be disabled.\n\n### Possible causes\n\n- You have Sticky Sender enabled on your Messaging Service. Sticky Sender requires Twilio to save the non-redacted phone numbers of recipients, and is incompatible with Phone Number Redaction.\n\n### Possible solutions\n\n- Disable Sticky Sender on your Messaging Services using the [Twilio Console](https://www.twilio.com/console/sms/services) or the [REST API](/docs/messaging/api/service-resource).\n- If Sticky Sender functionality is needed, implement this functionality in your own application.\n",
    "causes": "* You have Sticky Sender enabled on your Messaging Service. Sticky Sender requires Twilio to save the non-redacted phone numbers of recipients, and is incompatible with Phone Number Redaction.",
    "solutions": "* Disable Sticky Sender on your Messaging Services using the [Twilio Console](https://www.twilio.com/console/sms/services) or the [REST API](/docs/messaging/api/service-resource).\n* If Sticky Sender functionality is needed, implement this functionality in your own application.",
    "description": "Phone Number Redaction is enabled for your account. Sticky Sender is not compatible with Phone Number Redaction and should be disabled.",
    "date_created": "2019-11-21T19:20:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 23004,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Message Redaction Incompatible Configuration: Advanced Opt-Out",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPhone Number Redaction is enabled for your account. Advanced Opt-Out is not compatible with Phone Number Redaction and should be disabled.\n\n### Possible causes\n\n- You have Advanced Opt-Out enabled on your Messaging Service. Advanced Opt-Out requires Twilio to save non-redacted phone numbers of customers who have opted out, and is incompatible with Phone Number Redaction.\n\n### Possible solutions\n\n- To resolve this issue, your application needs to be able to handle [opt-out keyword messages](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) from end users.\n- Users who reply STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, or QUIT should be added to a block list in your application to ensure you do not send them any further messages, unless they opt-in again.\n- Users who reply HELP or INFO should be sent an informational message about your application or service.\n- Users who reply START, YES, or UNSTOP should be removed from your \"STOP\" block list so they can receive messages from you again.\n- Once you are ready to disable Twilio's built-in opt-out handling and process the above keywords in your own application, please contact Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) to disable all Twilio keyword handling for your account, including Advanced Opt-Out.\n",
    "causes": "* You have Advanced Opt-Out enabled on your Messaging Service. Advanced Opt-Out requires Twilio to save non-redacted phone numbers of customers who have opted out, and is incompatible with Phone Number Redaction.",
    "solutions": "* To resolve this issue, your application needs to be able to handle [opt-out keyword messages](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) from end users.\n* Users who reply STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, or QUIT should be added to a block list in your application to ensure you do not send them any further messages, unless they opt-in again.\n* Users who reply HELP or INFO should be sent an informational message about your application or service.\n* Users who reply START, YES, or UNSTOP should be removed from your \"STOP\" block list so they can receive messages from you again.\n* Once you are ready to disable Twilio's built-in opt-out handling and process the above keywords in your own application, please contact Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) to disable all Twilio keyword handling for your account, including Advanced Opt-Out.",
    "description": "Phone Number Redaction is enabled for your account. Advanced Opt-Out is not compatible with Phone Number Redaction and should be disabled.",
    "date_created": "2019-11-21T19:22:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 23005,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Phone Number Redaction Incompatible Configuration: Fallback to Long Code",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPhone Number Redaction is enabled for your account. Fallback to Long Code is not compatible with Phone Number Redaction and should be disabled.\n\n### Possible causes\n\n- You have Fallback to Long Code enabled on your Messaging Service. Fallback to Long Code requires Twilio to retain non-redacted phone numbers of recipients, and is incompatible with Phone Number Redaction.\n\n### Possible solutions\n\n- Disable Fallback to Long Code on your Messaging Services using the [Twilio Console](https://www.twilio.com/console/sms/services) or the [REST API](/docs/messaging/api/service-resource).\n- If Fallback to Long Code functionality is needed, implement this functionality in your own application.\n",
    "causes": "* You have Fallback to Long Code enabled on your Messaging Service. Fallback to Long Code requires Twilio to retain non-redacted phone numbers of recipients, and is incompatible with Phone Number Redaction.",
    "solutions": "* Disable Fallback to Long Code on your Messaging Services using the [Twilio Console](https://www.twilio.com/console/sms/services) or the [REST API](/docs/messaging/api/service-resource).\n* If Fallback to Long Code functionality is needed, implement this functionality in your own application.",
    "description": "Phone Number Redaction is enabled for your account. Fallback to Long Code is not compatible with Phone Number Redaction and should be disabled.",
    "date_created": "2019-11-21T19:23:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 23006,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Message Redaction Incompatible Configuration: Inbound Webhook GET Requests",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage Redaction is enabled for your account. Using `GET` requests to handle incoming messages is not compatible with either Message Body Redaction or Phone Number Redaction.\n\n### Possible causes\n\n- The Incoming Message Webhook is set to the `GET` method for your Twilio phone number or Messaging Service.\n\n### Possible solutions\n\n- Ensure all Twilio numbers and Messaging Services on your account are set to use the `POST` method when handling incoming messages.\n",
    "causes": "* The Incoming Message Webhook is set to the `GET` method for your Twilio phone number or Messaging Service.",
    "solutions": "* Ensure all Twilio numbers and Messaging Services on your account are set to use the `POST` method when handling incoming messages.",
    "description": "Message Redaction is enabled for your account. Using `GET` requests to handle incoming messages is not compatible with either Message Body Redaction or Phone Number Redaction.",
    "date_created": "2019-11-21T19:24:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The specified filter for listing organization users is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe specified filter for listing organization users is invalid.\n\n### Possible causes\n\nThe filter value is either unsupported or missing.\n\n### Possible solutions\n\nFiltering is only supported using the user's externalId or username. Only \"eq\" operator is supported. Ensure that the provided filter complies with these supported parameters.\n",
    "causes": "The filter value is either unsupported or missing.",
    "solutions": "Filtering is only supported using the user's externalId or username. Only \"eq\" operator is supported. Ensure that the provided filter complies with these supported parameters.",
    "description": "The specified filter for listing organization users is invalid.",
    "date_created": "2023-12-04T09:39:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The provided user's first name is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe provided user's first name is invalid.\n\n### Possible causes\n\nThe first name is either less than 2 characters or exceeds 255 characters.\n\n### Possible solutions\n\nEnsure the user's first name is between 2 and 255 characters in length.\n",
    "causes": "The first name is either less than 2 characters or exceeds 255 characters.",
    "solutions": "Ensure the user's first name is between 2 and 255 characters in length.",
    "description": "The provided user's first name is invalid.",
    "date_created": "2023-12-04T09:42:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The provided user's last name is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe provided user's last name is invalid.\n\n### Possible causes\n\nThe last name is either less than 2 characters or exceeds 255 characters.\n\n### Possible solutions\n\nEnsure the user's last name is between 2 and 255 characters in length.\n",
    "causes": "The last name is either less than 2 characters or exceeds 255 characters.",
    "solutions": "Ensure the user's last name is between 2 and 255 characters in length.",
    "description": "The provided user's last name is invalid.",
    "date_created": "2023-12-04T09:44:01Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The provided user's external ID is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe provided user's external ID is invalid.\n\n### Possible causes\n\nThe external ID is either less than 2 characters or exceeds 255 characters.\n\n### Possible solutions\n\nEnsure the user's external ID is between 2 and 255 characters in length.\n",
    "causes": "The external ID is either less than 2 characters or exceeds 255 characters.",
    "solutions": "Ensure the user's external ID is between 2 and 255 characters in length.",
    "description": "The provided user's external ID is invalid.",
    "date_created": "2023-12-04T09:48:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The provided user's username is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe provided user's username is invalid.\n\n### Possible causes\n\nThe username is either less than 2 characters or exceeds 255 characters.\n\n### Possible solutions\n\nEnsure the user's username is between 2 and 255 characters in length.\n",
    "causes": "The username is either less than 2 characters or exceeds 255 characters.",
    "solutions": "Ensure the user's username is between 2 and 255 characters in length.",
    "description": "The provided user's username is invalid.",
    "date_created": "2023-12-04T09:50:06Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The SCIM schema syntax is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe SCIM schema syntax is invalid.\n\n### Possible causes\n\nThe provided SCIM schema is not correctly formatted or does not adhere to the specified syntax.\n\n### Possible solutions\n\nDouble-check the schema for accuracy and ensure it complies with the RFC 7643 guidelines for SCIM. Refer to the RFC 7643 documentation for detailed information on valid syntax.\n",
    "causes": "The provided SCIM schema is not correctly formatted or does not adhere to the specified syntax.",
    "solutions": "Double-check the schema for accuracy and ensure it complies with the RFC 7643 guidelines for SCIM. Refer to the RFC 7643 documentation for detailed information on valid syntax.",
    "description": "The SCIM schema syntax is invalid.",
    "date_created": "2023-12-04T09:51:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The organization has reached its limit for managed users",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe organization has reached its limit for managed users.\n\n### Possible causes\n\nThe maximum allowable number of users for the organization has been reached.\n\n### Possible solutions\n\nTo increase the limit of managed users for your organization, please get in touch with Twilio support.\n",
    "causes": "The maximum allowable number of users for the organization has been reached.",
    "solutions": "To increase the limit of managed users for your organization, please get in touch with Twilio support.",
    "description": "The organization has reached its limit for managed users.",
    "date_created": "2023-12-04T09:53:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The requested SCIM user was not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe requested SCIM user was not found.\n\n### Possible causes\n\nOnly managed users can be retrieved using this operation.\n\n### Possible solutions\n\nDouble-check the user's ID for accuracy. Ensure that the user is a managed user, and if the issue persists, consider that the user's data may have been deleted.\n",
    "causes": "Only managed users can be retrieved using this operation.",
    "solutions": "Double-check the user's ID for accuracy. Ensure that the user is a managed user, and if the issue persists, consider that the user's data may have been deleted.",
    "description": "The requested SCIM user was not found.",
    "date_created": "2023-12-04T09:54:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The user's is in an unupdatable status.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe user's is in an unupdatable status.\n\n### Possible causes\n\nThe user cannot be updated because they are currently in an unupdatable status.\n\n### Possible solutions\n\nVerify the current status of the user. If the user is in an unupdatable status, updates may be restricted.\n",
    "causes": "The user cannot be updated because they are currently in an unupdatable status.",
    "solutions": "Verify the current status of the user. If the user is in an unupdatable status, updates may be restricted.",
    "description": "The user's is in an unupdatable status.",
    "date_created": "2023-12-04T09:56:52Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The primary email address is missing for the user",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe primary email address is missing for the user.\n\n### Possible causes\n\n- The request doesn't contain email addresses\n- The request contains more than one email address and doesn't specify \"primary\" attribute\n\n### Possible solutions\n\nTo resolve this issue, mark one of the provided emails as the primary email address. Additionally, ensure that at least one of the email addresses matches the user's username. This alignment is necessary to fulfill the primary email address requirement.\n",
    "causes": "* The request doesn't contain email addresses\n* The request contains more than one email address and doesn't specify \"primary\" attribute",
    "solutions": "To resolve this issue, mark one of the provided emails as the primary email address. Additionally, ensure that at least one of the email addresses matches the user's username. This alignment is necessary to fulfill the primary email address requirement.",
    "description": "The primary email address is missing for the user.",
    "date_created": "2023-12-04T09:58:46Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25011,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The value for the primary email address is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe value for the primary email address is invalid.\n\n### Possible causes\n\nThe provided value for the email address is not valid.\n\n### Possible solutions\n\nDouble-check the email address value to ensure it adheres to the required format and standards.\n",
    "causes": "The provided value for the email address is not valid.",
    "solutions": "Double-check the email address value to ensure it adheres to the required format and standards.",
    "description": "The value for the primary email address is invalid.",
    "date_created": "2023-12-04T10:01:50Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25012,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Updating the email address is unsupported",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nUpdating the email address is unsupported.\n\n### Possible causes\n\nThe system does not allow updates to the user's email address.\n\n### Possible solutions\n\nEmail address updates are not permitted. If changes to the email address are necessary, contact support for assistance with specific cases.\n",
    "causes": "The system does not allow updates to the user's email address.",
    "solutions": "Email address updates are not permitted. If changes to the email address are necessary, contact support for assistance with specific cases.",
    "description": "Updating the email address is unsupported.",
    "date_created": "2023-12-04T10:03:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25013,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Updating the username is unsupported",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nUpdating the username is unsupported.\n\n### Possible causes\n\nThe system does not allow updates to the user's username.\n\n### Possible solutions\n\nUsername updates are not permitted. If changes to the username are necessary, reach out to support for guidance on handling specific scenarios.\n",
    "causes": "The system does not allow updates to the user's username.",
    "solutions": "Username updates are not permitted. If changes to the username are necessary, reach out to support for guidance on handling specific scenarios.",
    "description": "Updating the username is unsupported.",
    "date_created": "2023-12-04T10:14:38Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25014,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The primary email address does not match the username",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe primary email address does not match the username.\n\n### Possible causes\n\nThe user's primary email address does not match with the specified username.\n\n### Possible solutions\n\nEnsure that the primary email address matches the user's username.\n",
    "causes": "The user's primary email address does not match with the specified username.",
    "solutions": "Ensure that the primary email address matches the user's username.",
    "description": "The primary email address does not match the username.",
    "date_created": "2023-12-04T10:17:51Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25015,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The SCIM PATCH request is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe `SCIM PATCH` request is invalid.\n\n### Possible causes\n\nThe syntax of the `PATCH` request is incorrect.\n\n### Possible solutions\n\nVerify that the `PATCH` request adheres to the specified format guidelines. Ensure that the request structure aligns with the SCIM standards for `PATCH` requests to resolve this issue.\n",
    "causes": "The syntax of the `PATCH` request is incorrect.",
    "solutions": "Verify that the `PATCH` request adheres to the specified format guidelines. Ensure that the request structure aligns with the SCIM standards for `PATCH` requests to resolve this issue.",
    "description": "The `SCIM PATCH` request is invalid.",
    "date_created": "2023-12-04T10:32:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25016,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Updating the organization owner is not allowed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nUpdating the organization owner is not allowed.\n\n### Possible causes\n\nUpdate request is trying to modify organization owner.\n\n### Possible solutions\n\nIf changes to the organization owner are necessary, contact support for guidance on handling specific scenarios.\n",
    "causes": "Update request is trying to modify organization owner.",
    "solutions": "If changes to the organization owner are necessary, contact support for guidance on handling specific scenarios.",
    "description": "Updating the organization owner is not allowed.",
    "date_created": "2023-12-04T10:38:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25017,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The email domain is unverified",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe email domain is unverified.\n\n### Possible causes\n\nUser creation is attempted with an email domain that is not verified by the organization.\n\n### Possible solutions\n\n- Verify the domain associated with the user in twilio.com.\n- User creation is only allowed with domains that have been verified.\n",
    "causes": "User creation is attempted with an email domain that is not verified by the organization.",
    "solutions": "* Verify the domain associated with the user in twilio.com.\n* User creation is only allowed with domains that have been verified.",
    "description": "The email domain is unverified.",
    "date_created": "2023-12-04T10:40:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25018,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The request is not authorized",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request is not authorized.\n\n### Possible causes\n\nIncorrect credentials.\n\n### Possible solutions\n\nVerify credentials.\n",
    "causes": "Incorrect credentials.",
    "solutions": "Verify credentials.",
    "description": "The request is not authorized.",
    "date_created": "2023-12-04T10:42:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25019,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to complete request due to a business rule violations",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nFailed to complete request due to a business rule violations.\n\n### Possible causes\n\nThe resource to be modified has moved into a state that is no longer valid. Input on the request did not pass validation.\n\n### Possible solutions\n\nVerify if the resource to be modified exists and is in a valid state.\n",
    "causes": "The resource to be modified has moved into a state that is no longer valid. Input on the request did not pass validation.",
    "solutions": "Verify if the resource to be modified exists and is in a valid state.",
    "description": "Failed to complete request due to a business rule violations.",
    "date_created": "2023-12-04T10:44:18Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25020,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Version conflict in SCIM header",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nVersion conflict in SCIM header.\n\n### Possible causes\n\nThe SCIM version specified in the header does not match the version of the entity.\n\n### Possible solutions\n\nTo resolve this conflict, either fetch the latest user entity to obtain the correct version or avoid setting the version in the header.\n",
    "causes": "The SCIM version specified in the header does not match the version of the entity.",
    "solutions": "To resolve this conflict, either fetch the latest user entity to obtain the correct version or avoid setting the version in the header.",
    "description": "Version conflict in SCIM header.",
    "date_created": "2023-12-04T10:45:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Rate limit exceeded",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRate limit exceeded.\n\n### Possible causes\n\nYour application is requesting Organization API resources at a rate that is higher than allowed.\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to review your use case and limits.\n",
    "causes": "Your application is requesting Organization API resources at a rate that is higher than allowed.",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to review your use case and limits.",
    "description": "Rate limit exceeded.",
    "date_created": "2023-12-04T10:49:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25022,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Duplicate username or externalId",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nDuplicate username or externalId\n\n### Possible causes\n\nA user with the specified username or externalId already exists in the system.\n\n### Possible solutions\n\nVerify that the intended user has a unique username and externalId. If necessary, adjust the username or externalId to ensure uniqueness and avoid duplication in the system.\n",
    "causes": "A user with the specified username or externalId already exists in the system.",
    "solutions": "Verify that the intended user has a unique username and externalId. If necessary, adjust the username or externalId to ensure uniqueness and avoid duplication in the system.",
    "description": "Duplicate username or externalId",
    "date_created": "2023-12-04T10:51:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid page token",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid page token\n\n### Possible causes\n\n- The provided page token is invalid\n- The provided page token is expired\n\n### Possible solutions\n\nMake sure that you are using the page token from a recent list response.\n",
    "causes": "* The provided page token is invalid\n* The provided page token is expired",
    "solutions": "Make sure that you are using the page token from a recent list response.",
    "description": "Invalid page token",
    "date_created": "2023-12-04T10:55:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The organization was not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe organization was not found.\n\n### Possible causes\n\nNo organization was found for the provided Organization Sid.\n\n### Possible solutions\n\nVerify the Organization Sid.\n",
    "causes": "No organization was found for the provided Organization Sid.",
    "solutions": "Verify the Organization Sid.",
    "description": "The organization was not found.",
    "date_created": "2023-12-04T10:57:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The organization's account was not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe organization's account was not found.\n\n### Possible causes\n\n- Requested account doesn't exist\n- Requested account is not a managed account\n\n### Possible solutions\n\nVerify the Organization Sid and the Account Sid. Ensure that the Organization Sid corresponds to your organization and the Account is a managed account.\n",
    "causes": "* Requested account doesn't exist\n* Requested account is not a managed account",
    "solutions": "Verify the Organization Sid and the Account Sid. Ensure that the Organization Sid corresponds to your organization and the Account is a managed account.",
    "description": "The organization's account was not found.",
    "date_created": "2023-12-04T11:14:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The organization's account limit has been reached",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe organization's account limit has been reached.\n\n### Possible causes\n\nYour organization has reached the maximum limit for managed accounts.\n\n### Possible solutions\n\nTo increase the account limit for your organization, please contact Twilio support.\n",
    "causes": "Your organization has reached the maximum limit for managed accounts.",
    "solutions": "To increase the account limit for your organization, please contact Twilio support.",
    "description": "The organization's account limit has been reached.",
    "date_created": "2023-12-04T11:16:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The organization's account owner is not a managed user",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe organization's account owner is not a managed user.\n\n### Possible causes\n\n- An independent user has been set as the organization's account owner\n- A non-managed user has been set as the organization's account owner\n- User doesn't exist\n\n### Possible solutions\n\nOnly managed users can be designated as an organization's account owner.\n",
    "causes": "* An independent user has been set as the organization's account owner\n* A non-managed user has been set as the organization's account owner\n* User doesn't exist",
    "solutions": "Only managed users can be designated as an organization's account owner.",
    "description": "The organization's account owner is not a managed user.",
    "date_created": "2023-12-04T11:21:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The organization's account owner was not set during creation",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe organization's account owner was not set during creation.\n\n### Possible causes\n\nThe organization's account creation request does not specify an owner, and the organization does not currently have an owner assigned.\n\n### Possible solutions\n\n- Set the account's owner in the request\n- To set an organization's owner, please contact Twilio support\n",
    "causes": "The organization's account creation request does not specify an owner, and the organization does not currently have an owner assigned.",
    "solutions": "* Set the account's owner in the request\n* To set an organization's owner, please contact Twilio support",
    "description": "The organization's account owner was not set during creation.",
    "date_created": "2023-12-04T11:23:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25105,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The request is not authorized",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request is not authorized.\n\n### Possible causes\n\nIncorrect credentials.\n\n### Possible solutions\n\nVerify credentials.\n",
    "causes": "Incorrect credentials.",
    "solutions": "Verify credentials.",
    "description": "The request is not authorized.",
    "date_created": "2023-12-04T11:30:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25106,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to complete request due to a bad request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nFailed to complete request due to a bad request\n\n### Possible causes\n\n- The resource to be modified has moved into a state that is no longer valid.\n- Input on the request did not pass validation.\n\n### Possible solutions\n\n- Retry the request after confirming the request is valid.\n- Verify if the resource to be modified exists and is in a valid state.\n",
    "causes": "* The resource to be modified has moved into a state that is no longer valid.\n* Input on the request did not pass validation.",
    "solutions": "* Retry the request after confirming the request is valid.\n* Verify if the resource to be modified exists and is in a valid state.",
    "description": "Failed to complete request due to a bad request",
    "date_created": "2023-12-04T11:33:41Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25107,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Request does not contain any authorization information",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request does not contain any authorization information (most cases: credentials) or the credentials and the resource have no relation.\n\n### Possible causes\n\n- When omitting the Auth header from HTTP request\n- Passing an Auth header to access a resource that belongs to some other organization.\n\n### Possible solutions\n\nVerify correctness of Auth header.\n",
    "causes": "* When omitting the Auth header from HTTP request\n* Passing an Auth header to access a resource that belongs to some other organization.",
    "solutions": "Verify correctness of Auth header.",
    "description": "The Request does not contain any authorization information (most cases: credentials) or the credentials and the resource have no relation.",
    "date_created": "2023-12-04T11:41:43Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25109,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Request is rate limited",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequest is rate limited.\n\n### Possible causes\n\nYour application is requesting resources at a rate that is higher than expected.\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to review your use case and limits.\n",
    "causes": "Your application is requesting resources at a rate that is higher than expected.",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to review your use case and limits.",
    "description": "Request is rate limited.",
    "date_created": "2023-12-04T11:46:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25200,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The scope for role assignments must be a managed account",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe scope for role assignments must be a managed account.\n\n### Possible causes\n\nThe role assignments scope was set to \"organization\" or an independent account.\n\n### Possible solutions\n\nVerify the role assignments scope is a managed account.\n",
    "causes": "The role assignments scope was set to \"organization\" or an independent account.",
    "solutions": "Verify the role assignments scope is a managed account.",
    "description": "The scope for role assignments must be a managed account.",
    "date_created": "2023-12-04T11:49:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The identity for role assignments must be a managed user",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe identity for role assignments must be a managed user.\n\n### Possible causes\n\nThe role assignments identity was set for an independent user.\n\n### Possible solutions\n\nVerify the role assignments identity is a managed user.\n",
    "causes": "The role assignments identity was set for an independent user.",
    "solutions": "Verify the role assignments identity is a managed user.",
    "description": "The identity for role assignments must be a managed user.",
    "date_created": "2023-12-04T11:51:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25202,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The role assignment has an invalid role",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe role assignment has an invalid role.\n\n### Possible causes\n\nThe role assignment creation specifies an invalid role.\n\n### Possible solutions\n\nValidate that the role provided is valid. Acceptable roles are:\n\n- Admin: IX00000000000000000000000000000102\n- Developer: IX00000000000000000000000000000103\n- Billing: IX00000000000000000000000000000104\n- Support: IX00000000000000000000000000000105\n",
    "causes": "The role assignment creation specifies an invalid role.",
    "solutions": "Validate that the role provided is valid. Acceptable roles are: - Admin: IX00000000000000000000000000000102\n- Developer: IX00000000000000000000000000000103\n- Billing: IX00000000000000000000000000000104\n- Support: IX00000000000000000000000000000105",
    "description": "The role assignment has an invalid role.",
    "date_created": "2023-12-04T12:00:38Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 25203,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Listing role assignments requires query parameters",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nListing role assignments requires query parameters.\n\n### Possible causes\n\nThe role assignment listing call did not include any query parameters.\n\n### Possible solutions\n\nWhen listing role assignments, the call must include at least one of the following query parameters: \"identity,\" \"scope,\" or both.\n",
    "causes": "The role assignment listing call did not include any query parameters.",
    "solutions": "When listing role assignments, the call must include at least one of the following query parameters: \"identity,\" \"scope,\" or both.",
    "description": "Listing role assignments requires query parameters.",
    "date_created": "2023-12-04T12:04:15Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 29999,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "seppalagudem test <script>alert(document.cookie)</script> <script>alert(1)</script>",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\n### Possible causes\n\n### Possible solutions\n",
    "causes": "",
    "solutions": "",
    "description": "",
    "date_created": "2020-09-15T18:09:44Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Queue overflow",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio queues messages based on the sending rate of a sender or an account. For example a US long code number can send one message [segment](https://www.twilio.com/blog/what-the-heck-is-a-segment.html) per second, and a short code may send over 100 message segments per second.\n\nMessages can only be queued for 10 hours and then they automatically fail. This queue length limit can be reduced by setting a lower [Validity Period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html) within your Messaging Service settings or in your API requests to send messages.\n\nYou can monitor the length on your queue via the [Queue Insights dashboard](https://www.twilio.com/console/sms/insights/queue).\n\nFor more information please view this [FAQ](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues).\n\n### Possible causes\n\n- You tried to send too many messages too quickly and your message queue overflowed.\n- You tried sending all your messages from a single Sender with an insufficient send rate limit (Message Segments per Second) for that volume, and you need additional throughput to handle the volume.\n- There are Messages Per Second (MPS) limits applied for your Senders, Messaging Services, and Accounts that you may be encountering.\n\n### Possible solutions\n\n- **Recommended** Try using a [Messaging Service](/docs/messaging/services) with multiple senders and it will load balance for you.\n- Try adding more senders into your [Messaging Service](/docs/messaging/services).\n- If you are messaging in the US or Canada, talk to Twilio Sales about getting a [Toll Free](https://www.twilio.com/en-us/messaging/channels/sms) or [Short Code](https://support.twilio.com/hc/en-us/articles/223182068-What-is-a-Messaging-Short-Code-) number that allows you to send more messages per second.\n- Try sending your message again after waiting for some time.\n- If you have set a lower Validity Period than the default and maximum value of 36000 seconds (10 hours), try setting a higher Validity Period for your messages.\n",
    "causes": "* You tried to send too many messages too quickly and your message queue overflowed.\n* You tried sending all your messages from a single Sender with an insufficient send rate limit (Message Segments per Second) for that volume, and you need additional throughput to handle the volume.\n* There are Messages Per Second (MPS) limits applied for your Senders, Messaging Services, and Accounts that you may be encountering.",
    "solutions": "* **Recommended** Try using a [Messaging Service](/docs/messaging/services) with multiple senders and it will load balance for you.\n* Try adding more senders into your [Messaging Service](/docs/messaging/services).\n* If you are messaging in the US or Canada, talk to Twilio Sales about getting a [Toll Free](https://www.twilio.com/en-us/messaging/channels/sms) or [Short Code](https://support.twilio.com/hc/en-us/articles/223182068-What-is-a-Messaging-Short-Code-) number that allows you to send more messages per second.\n* Try sending your message again after waiting for some time.\n* If you have set a lower Validity Period than the default and maximum value of 36000 seconds (10 hours), try setting a higher Validity Period for your messages.",
    "description": "Twilio queues messages based on the sending rate of a sender or an account. For example a US long code number can send one message [segment](https://www.twilio.com/blog/what-the-heck-is-a-segment.html) per second, and a short code may send over 100 message segments per second. Messages can only be queued for 10 hours and then they automatically fail. This queue length limit can be reduced by setting a lower [Validity Period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html) within your Messaging Service settings or in your API requests to send messages. You can monitor the length on your queue via the [Queue Insights dashboard](https://www.twilio.com/console/sms/insights/queue). For more information please view this [FAQ](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues).",
    "date_created": "2016-03-31T17:14:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Account suspended",
    "secondary_message": "Your account was suspended between the time of message send and delivery. Please contact Twilio.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis message failed because your account was suspended after this message was queued but before it was sent by Twilio.\n\n### Possible causes\n\n- Account was suspended for lack of funds after your message was queued but before it was sent by Twilio.\n- Account was suspended because Twilio detected a violation of our Acceptable Use Policy.\n\n### Possible solutions\n\n- Please [contact Twilio support](https://www.twilio.com/console/support/tickets/create).\n",
    "causes": "* Account was suspended for lack of funds after your message was queued but before it was sent by Twilio.\n* Account was suspended because Twilio detected a violation of our Acceptable Use Policy.",
    "solutions": "* Please [contact Twilio support](https://www.twilio.com/console/support/tickets/create).",
    "description": "This message failed because your account was suspended after this message was queued but before it was sent by Twilio.",
    "date_created": "2016-03-31T17:14:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30003,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Unreachable destination handset",
    "secondary_message": "The destination handset you are trying to reach is switched off or otherwise unavailable.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Unreachable destination handset\n\nThe destination handset you are trying to reach is switched off or otherwise unavailable.\n\n### Possible causes\n\n- The destination handset you are trying to reach is switched off or otherwise unavailable.\n- The device you are trying to reach does not have sufficient signal\n- The device cannot receive SMS (for example, the phone number belongs to a landline)\n- There is an issue with the mobile carrier\n\n### Possible solutions\n\nIn some cases, a delivery error may occur once due to a transient issue downstream of Twilio. To test whether the issue occurs again, please attempt to send another message to the user via a [REST API](https://help.twilio.com/articles/223133907-Simple-example-for-sending-SMS-or-MMS-messages) request.\n\nIf you see similar results, continue troubleshooting with the following checklist:\n\n- Is the destination device powered on?\n- Does the device have sufficient signal? If not power the device off, wait 30 seconds, and then power it back up.\n- Is the device connected to the home carrier's network? We cannot guarantee message delivery on devices roaming off-network.\n- Can the device receive non-Twilio SMS?\n- Can the device receive messages from another Twilio number (non-Alphanumeric Sender ID), or with a shorter one-segment (non-concatenated) body?\n- Can other devices using the same mobile carrier receive your messages?\n\nIf you can rule out all of the above issues, continue troubleshooting below.\n\n#### Messages sent from short codes\n\nRepeated Error 30003 results on undelivered messages sent from [short codes](https://support.twilio.com/hc/en-us/articles/223182068-What-is-a-Messaging-Short-Code) could occur if the destination user has a wireless plan that does not support short code or \"Premium\" messages.\n\n**Sprint** customers may be able to allow messages sent from your short code by texting the phrase `Allow XXXXX` to **9999**, replacing `XXXXX` with your short code. However, customers from other wireless carriers will likely need to reach out to their carrier's support group to enable \"Premium\" or short code messaging.\n\n#### Messages sent from long codes\n\nRepeated Error 30003 results on undelivered messages sent from long codes (regular phone numbers) and Toll-Free numbers could be due to carrier filtering.\n\nThe rules for carrier filtering vary throughout the industry, making it difficult at times to pin down exactly why a message is being filtered out. For more details including potential workarounds, please see this Help Center article [\"How Does Carrier Filtering Work?\"](https://support.twilio.com/hc/en-us/articles/223181848-How-Does-Carrier-Filtering-Work)\n\n#### Continued Error 30003 issues\n\nTwilio's Support team can help investigate what went wrong with delivering your message. Please collect 3 or more message SIDs in your [SMS logs](https://www.twilio.com/console/sms/logs) from the last 24 hours that were flagged with Error 30003, and [open a support request](https://www.twilio.com/console/support/tickets/create).\n",
    "causes": "* The destination handset you are trying to reach is switched off or otherwise unavailable.\n* The device you are trying to reach does not have sufficient signal\n* The device cannot receive SMS (for example, the phone number belongs to a landline)\n* There is an issue with the mobile carrier",
    "solutions": "In some cases, a delivery error may occur once due to a transient issue downstream of Twilio. To test whether the issue occurs again, please attempt to send another message to the user via a [REST API](https://help.twilio.com/articles/223133907-Simple-example-for-sending-SMS-or-MMS-messages) request. If you see similar results, continue troubleshooting with the following checklist: - Is the destination device powered on?\n- Does the device have sufficient signal? If not power the device off, wait 30 seconds, and then power it back up.\n- Is the device connected to the home carrier's network? We cannot guarantee message delivery on devices roaming off-network.\n- Can the device receive non-Twilio SMS?\n- Can the device receive messages from another Twilio number (non-Alphanumeric Sender ID), or with a shorter one-segment (non-concatenated) body?\n- Can other devices using the same mobile carrier receive your messages? If you can rule out all of the above issues, continue troubleshooting below.",
    "description": "",
    "date_created": "2016-03-31T17:14:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30004,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Message blocked",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nError 30004 indicates the destination number is blocked from receiving the message. You see an `ErrorCode` value of `30004` when a message transitions to a failed or undelivered state in the Programmable Messaging logs or status callbacks.\n\n### Possible causes\n\n- The destination number is blocked from receiving messages, resulting in a `Message blocked` status.\n- The recipient's device is turned off or out of coverage, which can cause the message to return `30004`.\n- The destination number cannot receive SMS (for example, a landline). For India, Do Not Disturb (DND) and domestic Distributed Ledger Technology (DLT) regulations can also block delivery.\n- Carrier or compliance filtering blocked the content or sender, or Twilio applied internal filtering aligned with industry norms. These scenarios can result in repeated messages that fail with `30004`.\n\n### Possible solutions\n\n- Reproduce and baseline the issue by sending a fresh test via the API. Check the recipient device for power and coverage, try a shorter single‑segment body, and test from a different Twilio sender instead of an Alphanumeric Sender ID.\n- If the recipient previously opted out, ask them to opt back in by sending `START` or `UNSTOP` to your sender, and then retry. Attempts to message an unsubscribed recipient from your account fail with error `21610` until they opt back in.\n- If filtering is suspected, adjust content to comply with Twilio's Messaging Policy and avoid prohibited or high‑risk content patterns.\n- For delivery to India, make sure your approach follows the India SMS guidelines. International traffic may bypass DND, whereas domestic routes require DLT registration and are subject to DND. Select the appropriate route and confirm that the required registrations are complete.\n- If the issue persists, collect recent Message SIDs that return `30004` and contact Twilio Support for further investigation.\n\n#### Additional resources\n\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n- [Customize users' opt-in and opt-out experience with Advanced Opt-Out](/docs/messaging/tutorials/advanced-opt-out)\n- [India: SMS Guidelines](https://www.twilio.com/en-us/guidelines/in/sms)\n",
    "causes": "* The destination number is blocked from receiving messages, resulting in a `Message blocked` status.\n* The recipient's device is turned off or out of coverage, which can cause the message to return `30004`.\n* The destination number cannot receive SMS (for example, a landline). For India, Do Not Disturb (DND) and domestic Distributed Ledger Technology (DLT) regulations can also block delivery.\n* Carrier or compliance filtering blocked the content or sender, or Twilio applied internal filtering aligned with industry norms. These scenarios can result in repeated messages that fail with `30004`.",
    "solutions": "* Reproduce and baseline the issue by sending a fresh test via the API. Check the recipient device for power and coverage, try a shorter single‑segment body, and test from a different Twilio sender instead of an Alphanumeric Sender ID.\n* If the recipient previously opted out, ask them to opt back in by sending `START` or `UNSTOP` to your sender, and then retry. Attempts to message an unsubscribed recipient from your account fail with error `21610` until they opt back in.\n* If filtering is suspected, adjust content to comply with Twilio's Messaging Policy and avoid prohibited or high‑risk content patterns.\n* For delivery to India, make sure your approach follows the India SMS guidelines. International traffic may bypass DND, whereas domestic routes require DLT registration and are subject to DND. Select the appropriate route and confirm that the required registrations are complete.\n* If the issue persists, collect recent Message SIDs that return `30004` and contact Twilio Support for further investigation.",
    "description": "Error 30004 indicates the destination number is blocked from receiving the message. You see an `ErrorCode` value of `30004` when a message transitions to a failed or undelivered state in the Programmable Messaging logs or status callbacks.",
    "date_created": "2016-03-31T17:14:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30005,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Unknown destination handset",
    "secondary_message": "The destination number you are trying to reach is unknown and may no longer exist.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis delivery error indicates that the destination number is unknown and may no longer exist. Twilio receives this status from carrier partners and returns it to you.\n\n### Possible causes\n\n- The destination number is unknown and may no longer exist.\n- The device is powered off or has insufficient signal.\n- The destination number cannot receive SMS messages, such as when the number is a landline.\n- An issue at the mobile carrier is preventing delivery.\n\n### Possible solutions\n\n- Send another test message with a REST API request to confirm whether the error persists.\n- Verify the destination number is in proper E.164 format with the correct country code and subscriber number.\n- Check the recipient's device and network conditions, such as power, signal strength, and whether the device is on its home network (not roaming).\n- Test whether the recipient can receive non‑Twilio SMS and whether another Twilio number or a shorter one‑segment message is received.\n- If the issue persists, collect at least three recent Message SIDs that show error 30005, then open a support ticket with Twilio.\n\n#### Additional resources\n\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n- [Track the Message Status of Outbound Messages](/docs/messaging/guides/track-outbound-message-status)\n- [What is E.164?](/docs/glossary/what-e164)\n",
    "causes": "* The destination number is unknown and may no longer exist.\n* The device is powered off or has insufficient signal.\n* The destination number cannot receive SMS messages, such as when the number is a landline.\n* An issue at the mobile carrier is preventing delivery.",
    "solutions": "* Send another test message with a REST API request to confirm whether the error persists.\n* Verify the destination number is in proper E.164 format with the correct country code and subscriber number.\n* Check the recipient's device and network conditions, such as power, signal strength, and whether the device is on its home network (not roaming).\n* Test whether the recipient can receive non‑Twilio SMS and whether another Twilio number or a shorter one‑segment message is received.\n* If the issue persists, collect at least three recent Message SIDs that show error 30005, then open a support ticket with Twilio.",
    "description": "This delivery error indicates that the destination number is unknown and may no longer exist. Twilio receives this status from carrier partners and returns it to you.",
    "date_created": "2016-03-31T17:14:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30006,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Landline or unreachable carrier",
    "secondary_message": "The destination number is unable to receive this message. Potential reasons could include trying to reach a landline or, in the case of short codes, an unreachable carrier.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Message Delivery - Landline or unreachable carrier\n\nThe destination number is unable to receive this message.\n\n### Possible causes\n\n- The destination number is unable to receive this message. Potential reasons could include trying to reach a landline or, in the case of short codes, an unreachable carrier.\n- Your message was sent to a landline, or an unreachable carrier for this phone number type.\n\n### Possible solutions\n\n- Use [Lookup](/docs/lookup/v2-api/line-type-intelligence) to determine if the number is indeed a landline. If not, try again with a different phone number type. Check out the video linked below for more information.\n\nhttps://www.youtube.com/watch?v=d8GfbPBaSuM\n",
    "causes": "* The destination number is unable to receive this message. Potential reasons could include trying to reach a landline or, in the case of short codes, an unreachable carrier.\n* Your message was sent to a landline, or an unreachable carrier for this phone number type.",
    "solutions": "* Use [Lookup](/docs/lookup/v2-api/line-type-intelligence) to determine if the number is indeed a landline. If not, try again with a different phone number type. Check out the video linked below for more information. https://www.youtube.com/watch?v=d8GfbPBaSuM",
    "description": "",
    "date_created": "2016-03-31T17:14:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30007,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Message filtered",
    "secondary_message": "Your message content was flagged as going against carrier guidelines.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour message was filtered (blocked) by Twilio or by the carrier. This may be done by Twilio for violating Twilio's [Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy) or [Acceptable Use Policy](https://www.twilio.com/en-us/legal/aup), or by a wireless carrier for violating carrier rules or regulations.\n\nExamples of messaging that would be blocked by Twilio are spam, phishing, and fraud. Twilio's filtering system is in place to protect mobile subscribers from spam or other forms of malicious or unwanted messages.\n\nWireless carriers have filtering systems in place as well. These carrier filters are used to block abusive traffic, as well as to enforce rules or regulations about what types of messaging are allowed to that country or mobile network.\n\nLearn more about how message filtering works and how to avoid it: [How Does Message Filtering Work?](https://support.twilio.com/hc/en-us/articles/223181848-How-Does-Carrier-Filtering-Work-)\n\nFor a detailed explanation of carrier filtering in the United States and Canada, please see [SMS Carrier Filtering in the United States and Canada](https://support.twilio.com/hc/en-us/articles/360022449893-SMS-Carrier-Filtering-in-the-United-States-and-Canada).\n\n### Possible causes\n\n- Your message was identified as spam or unwanted messaging by Twilio's message filtering system\n- Your message was flagged as objectionable and blocked by a wireless carrier\n\n### Possible solutions\n\n- Ensure your messaging use case complies with Twilio's [Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy) and [Acceptable Use Policy](https://www.twilio.com/en-us/legal/aup)\n- Review the information in [How Does Message Filtering Work?](https://support.twilio.com/hc/en-us/articles/223181848-How-Does-Carrier-Filtering-Work-) to understand what causes filtering.\n- See [How do I prevent my Twilio messages from being filtered (blocked)?](https://support.twilio.com/hc/en-us/articles/1260803966670-How-do-I-prevent-my-Twilio-messages-from-being-filtered-blocked-) for specific tips on avoiding message filtering.\n- If you believe your messages are compliant with Twilio and carrier policies, please collect 3 or more examples of Message SIDs that have the \"undelivered\" status with error 30007, and then [contact our Support team](https://www.twilio.com/console/support/tickets/create). We can help review your messaging and determine if an error was made, and put you in touch with our Compliance team if needed.\n",
    "causes": "* Your message was identified as spam or unwanted messaging by Twilio's message filtering system\n* Your message was flagged as objectionable and blocked by a wireless carrier",
    "solutions": "* Ensure your messaging use case complies with Twilio's [Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy) and [Acceptable Use Policy](https://www.twilio.com/en-us/legal/aup)\n* Review the information in [How Does Message Filtering Work?](https://support.twilio.com/hc/en-us/articles/223181848-How-Does-Carrier-Filtering-Work-) to understand what causes filtering.\n* See [How do I prevent my Twilio messages from being filtered (blocked)?](https://support.twilio.com/hc/en-us/articles/1260803966670-How-do-I-prevent-my-Twilio-messages-from-being-filtered-blocked-) for specific tips on avoiding message filtering.\n* If you believe your messages are compliant with Twilio and carrier policies, please collect 3 or more examples of Message SIDs that have the \"undelivered\" status with error 30007, and then [contact our Support team](https://www.twilio.com/console/support/tickets/create). We can help review your messaging and determine if an error was made, and put you in touch with our Compliance team if needed.",
    "description": "Your message was filtered (blocked) by Twilio or by the carrier. This may be done by Twilio for violating Twilio's [Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy) or [Acceptable Use Policy](https://www.twilio.com/en-us/legal/aup), or by a wireless carrier for violating carrier rules or regulations. Examples of messaging that would be blocked by Twilio are spam, phishing, and fraud. Twilio's filtering system is in place to protect mobile subscribers from spam or other forms of malicious or unwanted messages. Wireless carriers have filtering systems in place as well. These carrier filters are used to block abusive traffic, as well as to enforce rules or regulations about what types of messaging are allowed to that country or mobile network. Learn more about how message filtering works and how to avoid it: [How Does Message Filtering Work?](https://support.twilio.com/hc/en-us/articles/223181848-How-Does-Carrier-Filtering-Work-) For a detailed explanation of carrier filtering in the United States and Canada, please see [SMS Carrier Filtering in the United States and Canada](https://support.twilio.com/hc/en-us/articles/360022449893-SMS-Carrier-Filtering-in-the-United-States-and-Canada).",
    "date_created": "2016-03-31T17:14:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30008,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Unknown error",
    "secondary_message": null,
    "product": "Branded Comms, Lookup",
    "docs": "\n## Description\nThis error means we received a generic delivery failure from a carrier or downstream provider and did not receive enough detail to classify the failure more specifically. You can see 30008 in Messaging logs, in the Message resource `error_code`, and in `StatusCallback` requests when a message transitions to `failed` or `undelivered`.\n\n### Possible causes\n- The destination handset is off, unavailable, or otherwise unable to receive SMS at the time of delivery.\n- The destination device is roaming or temporarily off network.\n- The issue is isolated to a specific handset or carrier path, even if other destinations continue to receive messages successfully.\n- The destination network does not accept the sender you used, especially when you send with an alphanumeric sender ID. Some countries require supported or registered sender IDs, and some networks may still block them.\n- Message length, concatenation, or character encoding contributes to the carrier failure.\n\n### Possible solutions\n- Review the message in Messaging logs and inspect the delivery events, `ErrorCode`, and request details so you can confirm whether the message ended in `failed` or `undelivered`.\n- Confirm that the destination phone is powered on and can receive SMS from non-Twilio senders.\n- Ask the recipient to disable roaming or reconnect to their home network, then retry the message.\n- Send test messages to other mobile numbers on the same carrier. If those messages succeed, restart the destination device or ask the recipient to contact their mobile carrier. Use Lookup to identify the carrier if you need to confirm the destination network.\n- If you are using an alphanumeric sender ID, retry with a Twilio phone number or confirm that the destination country supports that sender type and any required registration has been completed.\n- Retry with a shorter message body and simple characters to help rule out segmenting or encoding issues.\n- If the problem persists, open a support request and include at least 3 recent Message SIDs that returned 30008. Provide examples that are no older than 48 hours.\n\n#### Additional resources\n- [Debugging Common Issues with SMS](/docs/messaging/guides/debugging-common-issues)\n- [Track the Message Status of Outbound Messages](/docs/messaging/guides/track-outbound-message-status)\n- [Lookup](/docs/lookup)\n",
    "causes": "* The destination handset is off, unavailable, or otherwise unable to receive SMS at the time of delivery.\n* The destination device is roaming or temporarily off network.\n* The issue is isolated to a specific handset or carrier path, even if other destinations continue to receive messages successfully.\n* The destination network does not accept the sender you used, especially when you send with an alphanumeric sender ID. Some countries require supported or registered sender IDs, and some networks may still block them.\n* Message length, concatenation, or character encoding contributes to the carrier failure.",
    "solutions": "* Review the message in Messaging logs and inspect the delivery events, `ErrorCode`, and request details so you can confirm whether the message ended in `failed` or `undelivered`.\n* Confirm that the destination phone is powered on and can receive SMS from non-Twilio senders.\n* Ask the recipient to disable roaming or reconnect to their home network, then retry the message.\n* Send test messages to other mobile numbers on the same carrier. If those messages succeed, restart the destination device or ask the recipient to contact their mobile carrier. Use Lookup to identify the carrier if you need to confirm the destination network.\n* If you are using an alphanumeric sender ID, retry with a Twilio phone number or confirm that the destination country supports that sender type and any required registration has been completed.\n* Retry with a shorter message body and simple characters to help rule out segmenting or encoding issues.\n* If the problem persists, open a support request and include at least 3 recent Message SIDs that returned 30008. Provide examples that are no older than 48 hours.",
    "description": "This error means we received a generic delivery failure from a carrier or downstream provider and did not receive enough detail to classify the failure more specifically. You can see 30008 in Messaging logs, in the Message resource `error_code`, and in `StatusCallback` requests when a message transitions to `failed` or `undelivered`.",
    "date_created": "2016-03-31T17:14:35Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30009,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Missing inbound segment",
    "secondary_message": "One or more segments associated with your multi-part inbound message was not received.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nOne or more segments associated with your multi-part inbound message was not received.\n\n### Possible causes\n\n- The mobile network or carrier did not successfully send the entire message to Twilio\n- The mobile handset had a malfunction and did not successfully send all segments\n- The mobile user was in poor network coverage, causing an incomplete message to be sent\n\n### Possible solutions\n\n- Ensure the mobile user is in good network coverage and request they try sending the message again\n- If the issue is occurring frequently for multiple users, [contact Twilio Support](https://www.twilio.com/console/support/tickets/create) with Message SIDs of affected messages\n",
    "causes": "* The mobile network or carrier did not successfully send the entire message to Twilio\n* The mobile handset had a malfunction and did not successfully send all segments\n* The mobile user was in poor network coverage, causing an incomplete message to be sent",
    "solutions": "* Ensure the mobile user is in good network coverage and request they try sending the message again\n* If the issue is occurring frequently for multiple users, [contact Twilio Support](https://www.twilio.com/console/support/tickets/create) with Message SIDs of affected messages",
    "description": "One or more segments associated with your multi-part inbound message was not received.",
    "date_created": "2016-03-31T17:14:35Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message price exceeds max price",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe error code is obsolete. Find more information in the [changelog](https://www.twilio.com/en-us/changelog/end-of-life--eol--of-twilio-messaging-maxprice-api-parameter).\n\nYou provided the [MaxPrice parameter](https://support.twilio.com/hc/en-us/articles/360014170533-Using-MaxPrice-with-Twilio-SMS) in your API request. MaxPrice will prevent a message from sending if it exceeds the price you specified.\n\nPlease note that SMS pricing is per-segment. SMS messages longer than 160 characters (or longer than 70 characters, if emojis or special characters are used) will require multiple segments. For a detailed explanation of message segmentation and encoding, see [What the Heck is a Segment?](https://www.twilio.com/blog/what-the-heck-is-a-segment.html).\n\n### Possible causes\n\n- The message price exceeded the MaxPrice you specified in your API request.\n\n### Possible solutions\n\n- Increase the MaxPrice parameter value in your API requests.\n- Remove the MaxPrice parameter from your API requests.\n- Check your message body for any Unicode-only characters such as emojis, glyphs, or curly apostrophes or quotation marks which could cause the message to require additional segments.\n- Consider using the [Smart Encoding](/docs/messaging/services#smart-encoding) feature of [Messaging Services](/docs/messaging/services) to automatically replace [certain Unicode-only characters](/docs/messaging/services/smart-encoding-char-list) with standard GSM equivalents.\n",
    "causes": "* The message price exceeded the MaxPrice you specified in your API request.",
    "solutions": "* Increase the MaxPrice parameter value in your API requests.\n* Remove the MaxPrice parameter from your API requests.\n* Check your message body for any Unicode-only characters such as emojis, glyphs, or curly apostrophes or quotation marks which could cause the message to require additional segments.\n* Consider using the [Smart Encoding](/docs/messaging/services#smart-encoding) feature of [Messaging Services](/docs/messaging/services) to automatically replace [certain Unicode-only characters](/docs/messaging/services/smart-encoding-char-list) with standard GSM equivalents.",
    "description": "The error code is obsolete. Find more information in the [changelog](https://www.twilio.com/en-us/changelog/end-of-life--eol--of-twilio-messaging-maxprice-api-parameter). You provided the [MaxPrice parameter](https://support.twilio.com/hc/en-us/articles/360014170533-Using-MaxPrice-with-Twilio-SMS) in your API request. MaxPrice will prevent a message from sending if it exceeds the price you specified. Please note that SMS pricing is per-segment. SMS messages longer than 160 characters (or longer than 70 characters, if emojis or special characters are used) will require multiple segments. For a detailed explanation of message segmentation and encoding, see [What the Heck is a Segment?](https://www.twilio.com/blog/what-the-heck-is-a-segment.html).",
    "date_created": "2016-03-31T17:14:36Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30011,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "MMS not supported by the receiving phone number in this region",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### MMS not supported by the receiving phone number\n\n### Possible causes\n\nIf you received this error code on an inbound message, there was a failure attempting to receive an incoming MMS, as your Twilio phone number was sent an MMS in a region where Twilio does not support incoming MMS.\n\nIf you received this error code on an outbound message, the destination handset either doesn't support MMS, or MMS is not currently enabled on the device.\n\n### Possible solutions\n\nFor Inbound, it is recommended that you respond to the user sending the MMS to let them know that you cannot receive MMS in this region.\n",
    "causes": "If you received this error code on an inbound message, there was a failure attempting to receive an incoming MMS, as your Twilio phone number was sent an MMS in a region where Twilio does not support incoming MMS. If you received this error code on an outbound message, the destination handset either doesn't support MMS, or MMS is not currently enabled on the device.",
    "solutions": "For Inbound, it is recommended that you respond to the user sending the MMS to let them know that you cannot receive MMS in this region.",
    "description": "",
    "date_created": "2017-03-30T21:11:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30012,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TTL is too small",
    "secondary_message": "Message Time To Live is too small",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nTTL specified in the request is too small\n\n### Possible solutions\n\nSpecify a bigger TTL\n",
    "causes": "TTL specified in the request is too small",
    "solutions": "Specify a bigger TTL",
    "description": "",
    "date_created": "2019-01-22T10:39:38Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30013,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TTL is too big",
    "secondary_message": "Message Time To Live is too big",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nTTL specified in the request is too big\n\n### Possible solutions\n\nSpecify a smaller TTL\n",
    "causes": "TTL specified in the request is too big",
    "solutions": "Specify a smaller TTL",
    "description": "",
    "date_created": "2019-01-22T10:42:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30014,
    "log_level": "ERROR",
    "log_type": null,
    "message": "'To' attributes are Invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe To attribute list is invalid or empty\n\n### Possible causes\n\n- empty list\n- to long list\n\n### Possible solutions\n\n- Check the number of To attributes\n",
    "causes": "* empty list\n* to long list",
    "solutions": "* Check the number of To attributes",
    "description": "The To attribute list is invalid or empty",
    "date_created": "2019-01-30T16:36:24Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30015,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Non-supported channel type is used",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe To or From attributes have an unsupported prefix for channel\n\n### Possible causes\n\n- empty channel prefix for an attribute that requires a prefix\n- non-existing prefix for an attribute that requires a prefix\n\n### Possible solutions\n\n- Check the To/From attributes channel prefix\n",
    "causes": "* empty channel prefix for an attribute that requires a prefix\n* non-existing prefix for an attribute that requires a prefix",
    "solutions": "* Check the To/From attributes channel prefix",
    "description": "The To or From attributes have an unsupported prefix for channel",
    "date_created": "2019-01-30T16:40:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30016,
    "log_level": "ERROR",
    "log_type": null,
    "message": "'To' and 'From' channel types are incompatible",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe To or From attributes have channel prefixes what are incompatible\n\n### Possible causes\n\n- Attempt to send a message to one channel but use 'From' address for another channel\n\n### Possible solutions\n\n- Check the To and From attributes channel prefixes\n",
    "causes": "* Attempt to send a message to one channel but use 'From' address for another channel",
    "solutions": "* Check the To and From attributes channel prefixes",
    "description": "The To or From attributes have channel prefixes what are incompatible",
    "date_created": "2019-02-07T13:07:42Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30017,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Carrier network congestion",
    "secondary_message": "Message request was rejected because the carrier has high traffic.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nA 30017 error is an indicator that the downstream carrier is experiencing performance issues due to high traffic. During times of carrier network congestion, we re-try the request, and return this error if the request is not accepted.\n\n### Possible causes\n\n- Carrier is experiencing congestion in MMS traffic\n\n### Possible solutions\n\n- Send your message over a longer period of time, rather than sending in bursts\n",
    "causes": "* Carrier is experiencing congestion in MMS traffic",
    "solutions": "* Send your message over a longer period of time, rather than sending in bursts",
    "description": "A 30017 error is an indicator that the downstream carrier is experiencing performance issues due to high traffic. During times of carrier network congestion, we re-try the request, and return this error if the request is not accepted.",
    "date_created": "2019-09-04T18:03:23Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30018,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Destination carrier requires sender ID pre-registration",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou sent a message (message SID: SMXXXXX) to a mobile number in a country that requires Alphanumeric Sender ID pre-registration. Our records indicate that you do not have a registered Alphanumeric Sender ID for this country. This can result in lower delivery quality.\n\nIf you are sending transactional SMS (like OTP/auth codes, account-related alerts) you should pre-register for the best possible delivery quality.\n\n### Possible causes\n\n- The recipient you are sending a message to is on a network that requires alphanumeric sender ID pre-registration, and our records indicate that your sender ID is not registered.\n\n### Possible solutions\n\n- If your message is marked \"undelivered,\" your message was likely rejected by the mobile network and you will need to register an Alpha Sender ID to improve delivery to that network.\n- If your message is marked \"delivered,\" it may have been delivered successfully. However, it is still strongly recommended to register an Alpha Sender ID for the destination country if possible.\n- Learn more about Alpha Sender ID registration requirements [here](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID).\n- Use [this form](https://console.twilio.com/us1/develop/sms/senders/sender-ids/applications/create) to register a Sender ID for the destination country.\n- If you are sending OTP/2FA codes consider using [Twilio Verify](https://www.twilio.com/en-us/trusted-activation/verify) which will automatically take care of all applicable registrations.\n",
    "causes": "* The recipient you are sending a message to is on a network that requires alphanumeric sender ID pre-registration, and our records indicate that your sender ID is not registered.",
    "solutions": "* If your message is marked \"undelivered,\" your message was likely rejected by the mobile network and you will need to register an Alpha Sender ID to improve delivery to that network.\n* If your message is marked \"delivered,\" it may have been delivered successfully. However, it is still strongly recommended to register an Alpha Sender ID for the destination country if possible.\n* Learn more about Alpha Sender ID registration requirements [here](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID).\n* Use [this form](https://console.twilio.com/us1/develop/sms/senders/sender-ids/applications/create) to register a Sender ID for the destination country.\n* If you are sending OTP/2FA codes consider using [Twilio Verify](https://www.twilio.com/en-us/trusted-activation/verify) which will automatically take care of all applicable registrations.",
    "description": "You sent a message (message SID: SMXXXXX) to a mobile number in a country that requires Alphanumeric Sender ID pre-registration. Our records indicate that you do not have a registered Alphanumeric Sender ID for this country. This can result in lower delivery quality. If you are sending transactional SMS (like OTP/auth codes, account-related alerts) you should pre-register for the best possible delivery quality.",
    "date_created": "2019-12-31T18:59:36Z",
    "last_updated": "2026-03-25T16:35:39-05:00"
  },
  {
    "code": 30019,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Content size exceeds carrier limit",
    "secondary_message": "Message failed because the size of the content associated with the message exceeded carrier limit",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage failed because the size of the content associated with the message exceeded carrier limit\n\n### Possible causes\n\nContent size exceeded carrier limit could be caused by to many characters, or bytes in the message. UCS-2 encoded messages could have different limitations than GSM encoded messages.\n\n### Possible solutions\n\nContent size should be within [carrier limits](https://help.twilio.com/articles/360018832773-Twilio-Programmable-SMS-Supported-File-Types-and-Size-Limits-for-MMS-Media-Messages).\n\nMessage size should be within the [carrier limits](https://help.twilio.com/articles/360033806753-Maximum-Message-Length-with-Twilio-Programmable-Messaging-).\n",
    "causes": "Content size exceeded carrier limit could be caused by to many characters, or bytes in the message. UCS-2 encoded messages could have different limitations than GSM encoded messages.",
    "solutions": "Content size should be within [carrier limits](https://help.twilio.com/articles/360018832773-Twilio-Programmable-SMS-Supported-File-Types-and-Size-Limits-for-MMS-Media-Messages). Message size should be within the [carrier limits](https://help.twilio.com/articles/360033806753-Maximum-Message-Length-with-Twilio-Programmable-Messaging-).",
    "description": "Message failed because the size of the content associated with the message exceeded carrier limit",
    "date_created": "2019-09-05T22:28:53Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30020,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Failure with Message Scheduling",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nAn internal error has occurred with Message Scheduling that prevented Twilio from processing your request.\n\n### Possible causes\n\n- Twilio experienced an internal failure while processing the scheduled message.\n\n### Possible solutions\n\n- If the error persists, contact Twilio Support to help figure out what happened and how to fix it.\n- Note the time of the error and what you were trying to do when it occurred.\n\n#### Additional resources\n\n- [Message Scheduling](/docs/messaging/features/message-scheduling)\n- [Message Scheduling FAQs and Limitations](https://help.twilio.com/hc/en-us/articles/4412165297947-Message-Scheduling-FAQs-and-Limitations)\n- [Troubleshooting](/docs/comms/troubleshooting)\n",
    "causes": "* Twilio experienced an internal failure while processing the scheduled message.",
    "solutions": "* If the error persists, contact Twilio Support to help figure out what happened and how to fix it.\n* Note the time of the error and what you were trying to do when it occurred.",
    "description": "An internal error has occurred with Message Scheduling that prevented Twilio from processing your request.",
    "date_created": "2020-07-21T22:11:07Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30021,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Failure with messaging service orchestrator",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error indicates that an internal failure occurred in the messaging service orchestrator while Twilio was processing your response.\n\n### Possible causes\n\n- Twilio's messaging service orchestrator encountered an internal error while processing the message.\n\n### Possible solutions\n\n- Contact support if the error persists so the issue can be investigated further.\n\n#### Additional resources\n\n- [Troubleshooting](/docs/comms/troubleshooting)\n- [Messaging Services](/docs/messaging/services)\n- [Service resource](/docs/messaging/api/service-resource)\n",
    "causes": "* Twilio's messaging service orchestrator encountered an internal error while processing the message.",
    "solutions": "* Contact support if the error persists so the issue can be investigated further.",
    "description": "This error indicates that an internal failure occurred in the messaging service orchestrator while Twilio was processing your response.",
    "date_created": "2020-09-18T19:09:19Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30022,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "US A2P 10DLC - Rate Limits Exceeded",
    "secondary_message": "Your messages to this particular carrier has exceeded the maximum allowable limits for your phone number and/or campaign.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n- Your message was rejected by the downstream carriers for exceeding the rate limits allowed by your campaign.\n- Rarely, you may receive this error for sending too many messages to the same phone number in a short time frame.\n\n### Possible causes\n\n- You are sending messages at a rate higher than allowed by the carriers for your campaign type.\n- You might be sending too many messages to the same phone number in a short timeframe.\n\n### Possible solutions\n\n- Slow down your rate of message sending.\n",
    "causes": "* You are sending messages at a rate higher than allowed by the carriers for your campaign type.\n* You might be sending too many messages to the same phone number in a short timeframe.",
    "solutions": "* Slow down your rate of message sending.",
    "description": "* Your message was rejected by the downstream carriers for exceeding the rate limits allowed by your campaign.\n* Rarely, you may receive this error for sending too many messages to the same phone number in a short time frame.",
    "date_created": "2021-03-08T21:07:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "US A2P 10DLC - Daily Message Cap Reached",
    "secondary_message": "Your messages to this particular carrier has exceeded the maximum allowable messages for the day.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have sent the maximum allowable daily messages for your Brand to the carrier.\n\nDaily limits are based on your Brand Trust Score. You can check both your Trust Score and your daily Limit in the console [here](https://console.twilio.com/us1/develop/sms/regulatory-compliance/brands).\n\nNote: That the daily limit applies to the Brand (per EIN) and is based on the total number of outbound SMS segments and MMS messages sent to T-Mobile (including Sprint and MetroPCS) across any messaging platform you have registered your Brand with.\n\nPlease refer to our documentation on [T-Mobile daily message limits for long code messaging with A2P 10DLC](https://support.twilio.com/hc/en-us/articles/1260804800549-T-Mobile-daily-message-limits-for-long-code-messaging-with-A2P-10DLC). For more info about A2P 10DLC, refer to our [US A2P 10DLC Documentation](https://support.twilio.com/hc/en-us/articles/1260800720410-What-is-A2P-10DLC-).\n\n### Possible causes\n\n- You have sent the maximum amount of message [segments](/docs/glossary/what-is-gsm-7-character-encoding#:~:text=Additionally%2C%20for%20long,characters%20per%20segment) for the day on a given Brand.\n- You have sent the maximum amount of message [segments](/docs/glossary/what-is-gsm-7-character-encoding#:~:text=Additionally%2C%20for%20long,characters%20per%20segment) for the day across multiple Brands associated with your EIN, which could include Brands associated with other Twilio accounts or providers.\n\n### Possible solutions\n\n- You must wait till the next calendar day to resume message sending. The day resets at 00:00 Pacific Time (US). Pacific time is affected by Daylight Savings Time and Standard Time switches.\n- To avoid exceeding your daily limit, monitor your daily T-Mobile usage using the Messaging Insights tool.\n- You can also use the [30025](/docs/api/errors/30025) and [30026](/docs/api/errors/30026) 'Daily Traffic Used' and [30027](/docs/api/errors/30027) 'Daily Traffic Exceeded' error warnings to understand what percentage of your daily traffic you have used. These warnings are available in the [console Error Logs](https://console.twilio.com/us1/monitor/logs/debugger/events?frameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26quickDate%3D24%26x-target-region%3Dus1%26bifrost%3Dtrue\\&currentFrameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26bifrost%3Dtrue%26quickDate%3D24%26x-target-region%3Dus1).\n- For A2P registered customers, view your daily T-Mobile message limit by visiting [Trust Hub - A2P Messaging](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%3Fx-target-region%3Dus1), selecting your US A2P brand and viewing the details of your TCR trust score.\n",
    "causes": "* You have sent the maximum amount of message [segments](/docs/glossary/what-is-gsm-7-character-encoding#:~:text=Additionally%2C%20for%20long,characters%20per%20segment) for the day on a given Brand.\n* You have sent the maximum amount of message [segments](/docs/glossary/what-is-gsm-7-character-encoding#:~:text=Additionally%2C%20for%20long,characters%20per%20segment) for the day across multiple Brands associated with your EIN, which could include Brands associated with other Twilio accounts or providers.",
    "solutions": "* You must wait till the next calendar day to resume message sending. The day resets at 00:00 Pacific Time (US). Pacific time is affected by Daylight Savings Time and Standard Time switches.\n* To avoid exceeding your daily limit, monitor your daily T-Mobile usage using the Messaging Insights tool.\n* You can also use the [30025](/docs/api/errors/30025) and [30026](/docs/api/errors/30026) 'Daily Traffic Used' and [30027](/docs/api/errors/30027) 'Daily Traffic Exceeded' error warnings to understand what percentage of your daily traffic you have used. These warnings are available in the [console Error Logs](https://console.twilio.com/us1/monitor/logs/debugger/events?frameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26quickDate%3D24%26x-target-region%3Dus1%26bifrost%3Dtrue\\&currentFrameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26bifrost%3Dtrue%26quickDate%3D24%26x-target-region%3Dus1).\n* For A2P registered customers, view your daily T-Mobile message limit by visiting [Trust Hub - A2P Messaging](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%3Fx-target-region%3Dus1), selecting your US A2P brand and viewing the details of your TCR trust score.",
    "description": "You have sent the maximum allowable daily messages for your Brand to the carrier. Daily limits are based on your Brand Trust Score. You can check both your Trust Score and your daily Limit in the console [here](https://console.twilio.com/us1/develop/sms/regulatory-compliance/brands). Note: That the daily limit applies to the Brand (per EIN) and is based on the total number of outbound SMS segments and MMS messages sent to T-Mobile (including Sprint and MetroPCS) across any messaging platform you have registered your Brand with. Please refer to our documentation on [T-Mobile daily message limits for long code messaging with A2P 10DLC](https://support.twilio.com/hc/en-us/articles/1260804800549-T-Mobile-daily-message-limits-for-long-code-messaging-with-A2P-10DLC). For more info about A2P 10DLC, refer to our [US A2P 10DLC Documentation](https://support.twilio.com/hc/en-us/articles/1260800720410-What-is-A2P-10DLC-).",
    "date_created": "2021-03-08T21:11:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30024,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Numeric Sender ID Not Provisioned on Carrier",
    "secondary_message": "Provisioning Issue with Carrier",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou sent a message (message SID: SMXXXXX) to a mobile number in a country that requires Numeric Sender ID pre-registration and provisioning. The Numeric Sender ID is not currently provisioned with the carrier.\n\n### Possible causes\n\n- The Numeric Sender ID has not been provisioned by the carrier yet. Typically in this situation you would see >90% failures towards the carrier.\n- If this is for US A2P 10DLC and you just registered this number, it could take a brief period of time for all carriers to provision the number to your campaign. Typically you would see all messages towards a single carrier fail, if the code isn't provisioned.\n- Your shortcode has not been fully provisioned for production traffic, or the carrier has disabled your shortcode due to cancellation or compliance violations. Typically in this situation you would see >90% failures towards the carrier.\n- The destination number has recently ported to a new carrier and the port hasn't completed 100%.\n- Your toll-free number has not been fully provisioned for production traffic. \\*The destination number is not provisioned to receive SMS messages.\n\n### Possible solutions\n\n- If you believe your Numeric Sender ID should be registered, please collect 3 or more examples of Message SIDs that have the \"undelivered\" status with error 30024, and then contact our Support team. We can help review the registration status to resolve these errors.\n",
    "causes": "* The Numeric Sender ID has not been provisioned by the carrier yet. Typically in this situation you would see >90% failures towards the carrier.\n* If this is for US A2P 10DLC and you just registered this number, it could take a brief period of time for all carriers to provision the number to your campaign. Typically you would see all messages towards a single carrier fail, if the code isn't provisioned.\n* Your shortcode has not been fully provisioned for production traffic, or the carrier has disabled your shortcode due to cancellation or compliance violations. Typically in this situation you would see >90% failures towards the carrier.\n* The destination number has recently ported to a new carrier and the port hasn't completed 100%.\n* Your toll-free number has not been fully provisioned for production traffic. \\*The destination number is not provisioned to receive SMS messages.",
    "solutions": "* If you believe your Numeric Sender ID should be registered, please collect 3 or more examples of Message SIDs that have the \"undelivered\" status with error 30024, and then contact our Support team. We can help review the registration status to resolve these errors.",
    "description": "You sent a message (message SID: SMXXXXX) to a mobile number in a country that requires Numeric Sender ID pre-registration and provisioning. The Numeric Sender ID is not currently provisioned with the carrier.",
    "date_created": "2021-08-02T17:24:37Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30025,
    "log_level": "WARNING",
    "log_type": "CARRIER",
    "message": "US A2P 10DLC - 50% T-Mobile Daily Message Limit Consumed",
    "secondary_message": "As part of the US A2P 10DLC initiative, T-Mobile has instituted a daily message limit. We're sending you this warning to let you know that you have consumed 50% of your T-Mobile daily limit.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPlease note that this daily limit is based on the sum of SMS segments and MMS messages you send to T-Mobile subscribers on a 24-hour basis, and is reset daily at midnight PT. When you hit 100% of your daily message limit, you will start to receive error code 30023 for each subsequent message you send to T-Mobile. Those messages will not be delivered, and you must wait until midnight PT to resume message sending.\n\nFor more information on T-Mobile daily limit, please refer to [T-Mobile daily message limits for long code messaging with A2P 10DLC](https://support.twilio.com/hc/en-us/articles/1260804800549-T-Mobile-daily-message-limits-for-long-code-messaging-with-A2P-10DLC). For more information on US A2P 10DLC, please refer to [US A2P 10DLC Documentation](https://support.twilio.com/hc/en-us/articles/1260800720410-What-is-A2P-10DLC-).\n\nPlease disregard this warning if you have been approved for the unlimited tier via the [T-Mobile Special Business Review process](https://support.twilio.com/hc/en-us/articles/4403550579739-T-Mobile-Special-Business-Review-for-A2P-10DLC).\n\nPlease note that if you have multiple providers sending registered SMS or MMS to T-Mobile on your behalf, this warning might not be accurate.\n\n### Possible causes\n\n- You have consumed 50% of your T-Mobile daily message limit for the day.\n\n### Possible solutions\n\n- No action is required from you.\n- To view the warning and errors in the debugger, please visit [here](https://console.twilio.com/us1/monitor/logs/debugger/events?frameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26quickDate%3D24%26x-target-region%3Dus1%26bifrost%3Dtrue\\&currentFrameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26bifrost%3Dtrue%26quickDate%3D24%26x-target-region%3Dus1).\n- To view your daily T-Mobile message limit, please visit [Trust Hub - A2P Messaging](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%3Fx-target-region%3Dus1), select your US A2P brand, and view the details of your TCR trust score (registered customers only).\n- To view your daily T-Mobile usage, please use the Messaging Insights tool.\n",
    "causes": "* You have consumed 50% of your T-Mobile daily message limit for the day.",
    "solutions": "* No action is required from you.\n* To view the warning and errors in the debugger, please visit [here](https://console.twilio.com/us1/monitor/logs/debugger/events?frameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26quickDate%3D24%26x-target-region%3Dus1%26bifrost%3Dtrue\\&currentFrameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26bifrost%3Dtrue%26quickDate%3D24%26x-target-region%3Dus1).\n* To view your daily T-Mobile message limit, please visit [Trust Hub - A2P Messaging](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%3Fx-target-region%3Dus1), select your US A2P brand, and view the details of your TCR trust score (registered customers only).\n* To view your daily T-Mobile usage, please use the Messaging Insights tool.",
    "description": "Please note that this daily limit is based on the sum of SMS segments and MMS messages you send to T-Mobile subscribers on a 24-hour basis, and is reset daily at midnight PT. When you hit 100% of your daily message limit, you will start to receive error code 30023 for each subsequent message you send to T-Mobile. Those messages will not be delivered, and you must wait until midnight PT to resume message sending. For more information on T-Mobile daily limit, please refer to [T-Mobile daily message limits for long code messaging with A2P 10DLC](https://support.twilio.com/hc/en-us/articles/1260804800549-T-Mobile-daily-message-limits-for-long-code-messaging-with-A2P-10DLC). For more information on US A2P 10DLC, please refer to [US A2P 10DLC Documentation](https://support.twilio.com/hc/en-us/articles/1260800720410-What-is-A2P-10DLC-). Please disregard this warning if you have been approved for the unlimited tier via the [T-Mobile Special Business Review process](https://support.twilio.com/hc/en-us/articles/4403550579739-T-Mobile-Special-Business-Review-for-A2P-10DLC). Please note that if you have multiple providers sending registered SMS or MMS to T-Mobile on your behalf, this warning might not be accurate.",
    "date_created": "2021-10-18T19:31:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30026,
    "log_level": "WARNING",
    "log_type": "CARRIER",
    "message": "US A2P 10DLC - 70% T-Mobile Daily Message Limit Consumed",
    "secondary_message": "As part of the US A2P 10DLC initiative, T-Mobile has instituted a daily message limit. We're sending you this warning to let you know that you have consumed 70% of your T-Mobile daily limit.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPlease note that this daily limit is based on the sum of SMS segments and MMS messages you send to T-Mobile subscribers on a 24-hour basis, and is reset daily at midnight PT. When you hit 100% of your daily message limit, you will start to receive error code 30023 for each subsequent message you send to T-Mobile. Those messages will not be delivered, and you must wait until midnight PT to resume message sending.\n\nFor more information on T-Mobile daily limit, please refer to [T-Mobile daily message limits for long code messaging with A2P 10DLC](https://support.twilio.com/hc/en-us/articles/1260804800549-T-Mobile-daily-message-limits-for-long-code-messaging-with-A2P-10DLC). For more information on US A2P 10DLC, please refer to [US A2P 10DLC Documentation](https://support.twilio.com/hc/en-us/articles/1260800720410-What-is-A2P-10DLC-).\n\nPlease disregard this warning if you have been approved for the unlimited tier via the [T-Mobile Special Business Review process](https://support.twilio.com/hc/en-us/articles/4403550579739-T-Mobile-Special-Business-Review-for-A2P-10DLC).\n\nPlease note that if you have multiple providers sending registered SMS or MMS to T-Mobile on your behalf, this warning might not be accurate.\n\n### Possible causes\n\n- You have consumed 70% of your T-Mobile daily message limit for the day.\n\n### Possible solutions\n\n- No action is required from you.\n- To view the warning and errors in the debugger, please visit [here](https://console.twilio.com/us1/monitor/logs/debugger/events?frameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26quickDate%3D24%26x-target-region%3Dus1%26bifrost%3Dtrue\\&currentFrameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26bifrost%3Dtrue%26quickDate%3D24%26x-target-region%3Dus1).\n- To view your daily T-Mobile message limit, please visit [Trust Hub - A2P Messaging](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%3Fx-target-region%3Dus1), select your US A2P brand, and view the details of your TCR trust score (registered customers only).\n- To view your daily T-Mobile usage, please use the Messaging Insights tool.\n",
    "causes": "* You have consumed 70% of your T-Mobile daily message limit for the day.",
    "solutions": "* No action is required from you.\n* To view the warning and errors in the debugger, please visit [here](https://console.twilio.com/us1/monitor/logs/debugger/events?frameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26quickDate%3D24%26x-target-region%3Dus1%26bifrost%3Dtrue\\&currentFrameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26bifrost%3Dtrue%26quickDate%3D24%26x-target-region%3Dus1).\n* To view your daily T-Mobile message limit, please visit [Trust Hub - A2P Messaging](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%3Fx-target-region%3Dus1), select your US A2P brand, and view the details of your TCR trust score (registered customers only).\n* To view your daily T-Mobile usage, please use the Messaging Insights tool.",
    "description": "Please note that this daily limit is based on the sum of SMS segments and MMS messages you send to T-Mobile subscribers on a 24-hour basis, and is reset daily at midnight PT. When you hit 100% of your daily message limit, you will start to receive error code 30023 for each subsequent message you send to T-Mobile. Those messages will not be delivered, and you must wait until midnight PT to resume message sending. For more information on T-Mobile daily limit, please refer to [T-Mobile daily message limits for long code messaging with A2P 10DLC](https://support.twilio.com/hc/en-us/articles/1260804800549-T-Mobile-daily-message-limits-for-long-code-messaging-with-A2P-10DLC). For more information on US A2P 10DLC, please refer to [US A2P 10DLC Documentation](https://support.twilio.com/hc/en-us/articles/1260800720410-What-is-A2P-10DLC-). Please disregard this warning if you have been approved for the unlimited tier via the [T-Mobile Special Business Review process](https://support.twilio.com/hc/en-us/articles/4403550579739-T-Mobile-Special-Business-Review-for-A2P-10DLC). Please note that if you have multiple providers sending registered SMS or MMS to T-Mobile on your behalf, this warning might not be accurate.",
    "date_created": "2021-10-18T19:26:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30027,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "US A2P 10DLC - T-Mobile Daily Message Limit Reached",
    "secondary_message": "As part of the US A2P 10DLC initiative, T-Mobile has instituted a daily message limit. You are receiving this error code because you have reached this limit.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPlease note that this daily limit is based on the sum of SMS segments and MMS messages you send to T-Mobile subscribers on a 24-hour basis, and is reset daily at midnight PT. As you have consumed 100% of your limit, subsequent messages you send to T-Mobile are likely to be filtered. When filtering happens, you will start to receive 30023 error codes and must wait until midnight PT to resume message sending.\n\nFor more information on T-Mobile daily limit, please refer to [T-Mobile daily message limits for long code messaging with A2P 10DLC](https://support.twilio.com/hc/en-us/articles/1260804800549-T-Mobile-daily-message-limits-for-long-code-messaging-with-A2P-10DLC). For more information on US A2P 10DLC, please refer to [US A2P 10DLC Documentation](https://support.twilio.com/hc/en-us/articles/1260800720410-What-is-A2P-10DLC-).\n\nNote: this error may not be accurate for certain customers such as those who have been approved of the unlimited tier via the [T-Mobile Special Business Review process](https://support.twilio.com/hc/en-us/articles/4403550579739-T-Mobile-Special-Business-Review-for-A2P-10DLC), those who run non-profit campaigns, and others.\n\n### Possible causes\n\n- You have consumed 100% of your T-Mobile daily message limit for the day.\n\n### Possible solutions\n\n- If you infrequently exceed your T-Mobile daily message limit, you can consider prioritizing messages (e.g., OTP codes over marketing materials).\n- If you frequently exceed your T-Mobile daily message limit, you may be able to increase your daily limit:\n  - For unregistered customers, please consider registering in the [Twilio Console - Trust Hub](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%2Fwizard%3Fx-target-region%3Dus1\\&currentFrameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%2Fwizard%3F__override_layout__%3Dembed%26x-target-region%3Dus1%26activeStep%3DbusinessProfile%253AbusinessProfile%253AcreateBusinessProfileAddress%26bifrost%3Dtrue).\n- For registered customers, if you need to send more than 200,000 message segments to T-Mobile per day, please consider submitting a [Special Business Review](https://support.twilio.com/hc/en-us/articles/4403550579739-T-Mobile-Special-Business-Review-for-A2P-10DLC).\n- Other useful links:\n- To view the warning and errors, please visit the [debugger](https://console.twilio.com/us1/monitor/logs/debugger/events?frameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26quickDate%3D24%26x-target-region%3Dus1%26bifrost%3Dtrue\\&currentFrameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26bifrost%3Dtrue%26quickDate%3D24%26x-target-region%3Dus1).\n- To view your daily T-Mobile message limit, please visit [Trust Hub - A2P Messaging](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%3Fx-target-region%3Dus1).\n- To view your daily T-Mobile usage, please use the Messaging Insights tool.\n",
    "causes": "* You have consumed 100% of your T-Mobile daily message limit for the day.",
    "solutions": "* If you infrequently exceed your T-Mobile daily message limit, you can consider prioritizing messages (e.g., OTP codes over marketing materials).\n* If you frequently exceed your T-Mobile daily message limit, you may be able to increase your daily limit:\n  * For unregistered customers, please consider registering in the [Twilio Console - Trust Hub](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%2Fwizard%3Fx-target-region%3Dus1\\&currentFrameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%2Fwizard%3F__override_layout__%3Dembed%26x-target-region%3Dus1%26activeStep%3DbusinessProfile%253AbusinessProfile%253AcreateBusinessProfileAddress%26bifrost%3Dtrue).\n* For registered customers, if you need to send more than 200,000 message segments to T-Mobile per day, please consider submitting a [Special Business Review](https://support.twilio.com/hc/en-us/articles/4403550579739-T-Mobile-Special-Business-Review-for-A2P-10DLC).\n* Other useful links:\n* To view the warning and errors, please visit the [debugger](https://console.twilio.com/us1/monitor/logs/debugger/events?frameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26quickDate%3D24%26x-target-region%3Dus1%26bifrost%3Dtrue\\&currentFrameUrl=%2Fconsole%2Fdebugger%3F__override_layout__%3Dembed%26bifrost%3Dtrue%26quickDate%3D24%26x-target-region%3Dus1).\n* To view your daily T-Mobile message limit, please visit [Trust Hub - A2P Messaging](https://console.twilio.com/us1/account/trust-hub/a2p?frameUrl=%2Fconsole%2Ftrust-hub%2Fa2p-messaging%3Fx-target-region%3Dus1).\n* To view your daily T-Mobile usage, please use the Messaging Insights tool.",
    "description": "Please note that this daily limit is based on the sum of SMS segments and MMS messages you send to T-Mobile subscribers on a 24-hour basis, and is reset daily at midnight PT. As you have consumed 100% of your limit, subsequent messages you send to T-Mobile are likely to be filtered. When filtering happens, you will start to receive 30023 error codes and must wait until midnight PT to resume message sending. For more information on T-Mobile daily limit, please refer to [T-Mobile daily message limits for long code messaging with A2P 10DLC](https://support.twilio.com/hc/en-us/articles/1260804800549-T-Mobile-daily-message-limits-for-long-code-messaging-with-A2P-10DLC). For more information on US A2P 10DLC, please refer to [US A2P 10DLC Documentation](https://support.twilio.com/hc/en-us/articles/1260800720410-What-is-A2P-10DLC-). Note: this error may not be accurate for certain customers such as those who have been approved of the unlimited tier via the [T-Mobile Special Business Review process](https://support.twilio.com/hc/en-us/articles/4403550579739-T-Mobile-Special-Business-Review-for-A2P-10DLC), those who run non-profit campaigns, and others.",
    "date_created": "2021-10-18T21:12:48Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30028,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid API version",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nAPI version used in the request is invalid\n\n### Possible causes\n\nAPI version is not specified or is not either 2008-08-01 or 2010-04-01\n\n### Possible solutions\n\nUse API version 2008-08-01 or 2010-04-01\n",
    "causes": "API version is not specified or is not either 2008-08-01 or 2010-04-01",
    "solutions": "Use API version 2008-08-01 or 2010-04-01",
    "description": "API version used in the request is invalid",
    "date_created": "2022-01-26T11:34:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30029,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid ContentRetention",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nContentRetention value used in the request is invalid\n\n### Possible causes\n\nContentRetention is not either 'retain', 'discard' or 'debug' or Message Privacy features are not enabled for this account\n\n### Possible solutions\n\nEnable the correct Message Privacy features and use a valid value for ContentRetention\n",
    "causes": "ContentRetention is not either 'retain', 'discard' or 'debug' or Message Privacy features are not enabled for this account",
    "solutions": "Enable the correct Message Privacy features and use a valid value for ContentRetention",
    "description": "ContentRetention value used in the request is invalid",
    "date_created": "2022-01-26T11:54:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30030,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid AddressRetention",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nAddressRetention value used in the request is invalid\n\n### Possible causes\n\nAddressRetention is not either 'obfuscate' or 'retain' or Message Privacy features are not enabled for this account\n\n### Possible solutions\n\nEnable the correct Message Privacy features and use a valid value for AddressRetention\n",
    "causes": "AddressRetention is not either 'obfuscate' or 'retain' or Message Privacy features are not enabled for this account",
    "solutions": "Enable the correct Message Privacy features and use a valid value for AddressRetention",
    "description": "AddressRetention value used in the request is invalid",
    "date_created": "2022-01-26T11:59:11Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30031,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid MaxRate",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n`MaxRate` must be a valid `float`. Twilio returns this error when the value you provide is not a valid floating-point number.\n\n### Possible causes\n\n- You provided a nonnumeric value for `MaxRate`.\n- You set `MaxRate` to `0` or a negative number.\n\n### Possible solutions\n\n- Set `MaxRate` to a positive `float` value.\n- If you are configuring Messaging throughput, choose a rate that matches the sending capacity you need. Twilio measures throughput in messages per second and queues requests that exceed available capacity.\n\n#### Additional resources\n\n- [Account Based Throughput Overview](/docs/messaging/guides/account-based-throughput-overview)\n- [Build to scale: queueing and latency on Twilio](/docs/messaging/guides/scaling-queueing-latency)\n",
    "causes": "* You provided a nonnumeric value for `MaxRate`.\n* You set `MaxRate` to `0` or a negative number.",
    "solutions": "* Set `MaxRate` to a positive `float` value.\n* If you are configuring Messaging throughput, choose a rate that matches the sending capacity you need. Twilio measures throughput in messages per second and queues requests that exceed available capacity.",
    "description": "`MaxRate` must be a valid `float`. Twilio returns this error when the value you provide is not a valid floating-point number.",
    "date_created": "2022-01-26T14:42:35Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30032,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Toll-Free Number Has Not Been Verified",
    "secondary_message": "Toll-Free Verification Required.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou sent a message (message SID: SMXXXXX) from a Toll-Free number to a mobile subscriber in USA or Canada. Twilio requires all Toll-Free numbers to go through a verification process. The Toll-Free number you sent from has not been verified through the required verification process.\n\n### Possible causes\n\n\\*Your toll-free number has not been Verified to allow sending of traffic in USA and Canada.\n\n\\*Your toll-free verification submission was rejected.\n\n### Possible solutions\n\nPlease refer to this [Support Article](https://support.twilio.com/hc/en-us/articles/5377174717595-Toll-Free-Message-Verification-for-US-Canada) for the process to get your Toll Free number verified.\n\nEffective Nov 8th, 2023, messages on restricted toll-free phone numbers are blocked. Effective Jan 31st, 2024, messages on pending toll-free phone numbers are blocked.\n\nToll-Free best practices can be found [here](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "\\*Your toll-free number has not been Verified to allow sending of traffic in USA and Canada. \\*Your toll-free verification submission was rejected.",
    "solutions": "Please refer to this [Support Article](https://support.twilio.com/hc/en-us/articles/5377174717595-Toll-Free-Message-Verification-for-US-Canada) for the process to get your Toll Free number verified. Effective Nov 8th, 2023, messages on restricted toll-free phone numbers are blocked. Effective Jan 31st, 2024, messages on pending toll-free phone numbers are blocked. Toll-Free best practices can be found [here](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "You sent a message (message SID: SMXXXXX) from a Toll-Free number to a mobile subscriber in USA or Canada. Twilio requires all Toll-Free numbers to go through a verification process. The Toll-Free number you sent from has not been verified through the required verification process.",
    "date_created": "2022-05-09T19:02:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30033,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "US A2P 10DLC - Campaign Suspended",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour message could not be sent because the sending campaign is suspended. A campaign can be suspended on its own or because the associated Brand is suspended.\n\n### Possible causes\n\n- The campaign was suspended after a carrier or ecosystem review found a campaign-to-traffic mismatch, spam, controlled substances, phishing, excessive complaints, illicit content, fraudulent messages, affiliate marketing, promotional gambling, missing age gating, illegal sweepstakes, or another policy violation.\n- The associated Brand is suspended, which also suspends every campaign attached to that Brand.\n\n### Possible solutions\n\n- Check your email and the Twilio Support Center for the suspension notice and the next steps to resolve it. Twilio Support should contact you with guidance on how to fix the suspended campaign.\n- Fix the underlying compliance issue before sending again. If the Brand is suspended, resolve the Brand suspension first because all associated campaigns remain suspended until the Brand issue is addressed.\n- Do not try to send similar traffic through another existing or new campaign while the suspension is under review. That can create a serious violation and may lead to account suspension or termination.\n\n#### Additional resources\n\n- [Troubleshooting and rectifying A2P Campaigns](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns)\n- [Troubleshooting A2P 10DLC Standard/LVS Brands](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-standardlvs-brands)\n- [A2P 10DLC Campaign Approval Requirements](https://help.twilio.com/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* The campaign was suspended after a carrier or ecosystem review found a campaign-to-traffic mismatch, spam, controlled substances, phishing, excessive complaints, illicit content, fraudulent messages, affiliate marketing, promotional gambling, missing age gating, illegal sweepstakes, or another policy violation.\n* The associated Brand is suspended, which also suspends every campaign attached to that Brand.",
    "solutions": "* Check your email and the Twilio Support Center for the suspension notice and the next steps to resolve it. Twilio Support should contact you with guidance on how to fix the suspended campaign.\n* Fix the underlying compliance issue before sending again. If the Brand is suspended, resolve the Brand suspension first because all associated campaigns remain suspended until the Brand issue is addressed.\n* Do not try to send similar traffic through another existing or new campaign while the suspension is under review. That can create a serious violation and may lead to account suspension or termination.",
    "description": "Your message could not be sent because the sending campaign is suspended. A campaign can be suspended on its own or because the associated Brand is suspended.",
    "date_created": "2023-01-30T19:30:01Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30034,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "US A2P 10DLC - Message from an Unregistered Number",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessages sent to US numbers will not be delivered if they are sent from numbers that are not associated with an approved A2P 10DLC Campaign. This [guide](https://support.twilio.com/hc/en-us/articles/4418081745179-How-do-I-check-that-I-have-completed-US-A2P-10DLC-registration-) will help you determine if you have completed registration for A2P 10DLC. To initiate or continue an A2P 10DLC registration, [visit your console here](https://console.twilio.com/us1/develop/sms/regulatory-compliance/a2p-onboarding). Find out how to register using [this guide](https://support.twilio.com/hc/en-us/articles/1260801864489-How-do-I-register-to-use-A2P-10DLC-messaging-).\n\nFor a step-by-step walkthrough, check out [this video on resolving Error 30034](https://twil.io/resolve30034).\n\n### Possible causes\n\nYou are sending messages to the US using a US 10DLC number that is not associated with an approved A2P 10DLC Campaign.\n\n### Possible solutions\n\nAssociate your US 10DLC number with a registered A2P Campaign by adding it to the corresponding Messaging Service via the Twilio Console or API. Find out how to register using [this guide](https://support.twilio.com/hc/en-us/articles/1260801864489-How-do-I-register-to-use-A2P-10DLC-messaging-).\n\nAlternatively, you can also use a different number that is already associated with an approved A2P Campaign to send messages in the US.\n",
    "causes": "You are sending messages to the US using a US 10DLC number that is not associated with an approved A2P 10DLC Campaign.",
    "solutions": "Associate your US 10DLC number with a registered A2P Campaign by adding it to the corresponding Messaging Service via the Twilio Console or API. Find out how to register using [this guide](https://support.twilio.com/hc/en-us/articles/1260801864489-How-do-I-register-to-use-A2P-10DLC-messaging-). Alternatively, you can also use a different number that is already associated with an approved A2P Campaign to send messages in the US.",
    "description": "Messages sent to US numbers will not be delivered if they are sent from numbers that are not associated with an approved A2P 10DLC Campaign. This [guide](https://support.twilio.com/hc/en-us/articles/4418081745179-How-do-I-check-that-I-have-completed-US-A2P-10DLC-registration-) will help you determine if you have completed registration for A2P 10DLC. To initiate or continue an A2P 10DLC registration, [visit your console here](https://console.twilio.com/us1/develop/sms/regulatory-compliance/a2p-onboarding). Find out how to register using [this guide](https://support.twilio.com/hc/en-us/articles/1260801864489-How-do-I-register-to-use-A2P-10DLC-messaging-). For a step-by-step walkthrough, check out [this video on resolving Error 30034](https://twil.io/resolve30034).",
    "date_created": "2023-04-28T05:33:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30035,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "US A2P 10DLC - Message from a number still being configured",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWe could not send your message because this number you're sending from is still being configured. Twilio has received your request to register or deregister this number under a US A2P campaign, but has not completed the necessary configurations with ecosystem partners (\"Number Registration\"). You will not be able to send messages on the A2P routes until your number status is changed to \"Registered\".\n\n### Possible causes\n\nTwilio is still processing your Number Registration requests with ecosystem partners for US A2P 10DLC\n\n### Possible solutions\n\nWhile Number Registration often completes within minutes, under certain circumstances, registration time can widely fluctuate depending on the volume of registration requests. Twilio has received your Number Registration request and is working on configuring your number with ecosystem partners. Please [check the status of your number in the Twilio console](https://console.twilio.com/us1/develop/phone-numbers/manage/incoming/a2p-compliance/status?_gl=1*1ttowh2*_ga*MTY4MDY0MDY3NC4xNjkyODkzNTk4*_ga_RRP8K4M4F3*MTY5NzgzNDU4NC42OC4xLjE2OTc4MzQ2MTcuMC4wLjA.&_ga=2.240863811.1963643099.1697477953-1680640674.1692893598). You will only be able to send messages on numbers that are in the \"Registered\" status. To get your number registered, please check out [A2P 10DLC Number Registration Best Practices](https://support.twilio.com/hc/en-us/articles/19622397178139-A2P-10DLC-Number-Registration-Best-Practices).\n\nNOTE: Users of multiple phone numbers should note that antiquated phone number practices to improve deliverability, such as using multiple numbers to increase throughput or rotating them between their customers or use cases, undermine the deliverability benefits of A2P 10DLC and can lead to processing delays related to 30035 errors. We recommend reviewing [A2P 10DLC Number Registration Best Practices](https://support.twilio.com/hc/en-us/articles/19622397178139-A2P-10DLC-Number-Registration-Best-Practices).\n",
    "causes": "Twilio is still processing your Number Registration requests with ecosystem partners for US A2P 10DLC",
    "solutions": "While Number Registration often completes within minutes, under certain circumstances, registration time can widely fluctuate depending on the volume of registration requests. Twilio has received your Number Registration request and is working on configuring your number with ecosystem partners. Please [check the status of your number in the Twilio console](https://console.twilio.com/us1/develop/phone-numbers/manage/incoming/a2p-compliance/status?_gl=1*1ttowh2*_ga*MTY4MDY0MDY3NC4xNjkyODkzNTk4*_ga_RRP8K4M4F3*MTY5NzgzNDU4NC42OC4xLjE2OTc4MzQ2MTcuMC4wLjA.&_ga=2.240863811.1963643099.1697477953-1680640674.1692893598). You will only be able to send messages on numbers that are in the \"Registered\" status. To get your number registered, please check out [A2P 10DLC Number Registration Best Practices](https://support.twilio.com/hc/en-us/articles/19622397178139-A2P-10DLC-Number-Registration-Best-Practices). NOTE: Users of multiple phone numbers should note that antiquated phone number practices to improve deliverability, such as using multiple numbers to increase throughput or rotating them between their customers or use cases, undermine the deliverability benefits of A2P 10DLC and can lead to processing delays related to 30035 errors. We recommend reviewing [A2P 10DLC Number Registration Best Practices](https://support.twilio.com/hc/en-us/articles/19622397178139-A2P-10DLC-Number-Registration-Best-Practices).",
    "description": "We could not send your message because this number you're sending from is still being configured. Twilio has received your request to register or deregister this number under a US A2P campaign, but has not completed the necessary configurations with ecosystem partners (\"Number Registration\"). You will not be able to send messages on the A2P routes until your number status is changed to \"Registered\".",
    "date_created": "2023-05-01T05:25:09Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30036,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Validity Period Expired",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe specified validity period on this message has elapsed.\n\n### Possible causes\n\nThe message has spent more than the specified amount of time in Twilio's system. This can be due to a long time spent in the queue due to a combination of your [messaging rate limits](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues), the number of messages submitted in rapid succession, and the amount of time you have allotted via the [ValidityPeriod setting](https://www.twilio.com/blog/validity-period-promotional-verification-use-cases) in your messaging service or on the message itself.\n\n### Possible solutions\n\nYou can retry the message with a longer validity period and avoid sending very large batches of messages at a rate that far exceeds your messaging rate limits.\n",
    "causes": "The message has spent more than the specified amount of time in Twilio's system. This can be due to a long time spent in the queue due to a combination of your [messaging rate limits](https://support.twilio.com/hc/en-us/articles/115002943027-Understanding-Twilio-Rate-Limits-and-Message-Queues), the number of messages submitted in rapid succession, and the amount of time you have allotted via the [ValidityPeriod setting](https://www.twilio.com/blog/validity-period-promotional-verification-use-cases) in your messaging service or on the message itself.",
    "solutions": "You can retry the message with a longer validity period and avoid sending very large batches of messages at a rate that far exceeds your messaging rate limits.",
    "description": "The specified validity period on this message has elapsed.",
    "date_created": "2023-09-06T10:50:11Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30037,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outbound Messaging Disabled",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSending messages from this account has been disabled.\n\n### Possible causes\n\nThis account is configured to not send outbound messages.\n\n### Possible solutions\n\nIf you believe this configuration is in error you can [contact support](https://support.twilio.com/hc/en-us/articles/360048500694-Contacting-Twilio-Support) to adjust the account configuration.\n",
    "causes": "This account is configured to not send outbound messages.",
    "solutions": "If you believe this configuration is in error you can [contact support](https://support.twilio.com/hc/en-us/articles/360048500694-Contacting-Twilio-Support) to adjust the account configuration.",
    "description": "Sending messages from this account has been disabled.",
    "date_created": "2023-06-02T15:29:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30038,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "OTP Message Body Filtered",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio detected an OTP in the inbound message body. Twilio redacts the passcode and marks the message failed to help prevent abuse of Twilio numbers.\n\n### Possible causes\n\n- The incoming message contains a one-time passcode or similar verification code.\n\n### Possible solutions\n\n- If you are using a Trial account and need to receive inbound OTP messages, upgrade your account.\n- Use a different message template while you stay on Trial.\n- Contact Support if you need additional help.\n\n#### Additional resources\n\n- [Programmable Messaging](/docs/messaging)\n- [Verify SMS overview](/docs/verify/sms)\n- [Preventing Fraud in Programmable Messaging](/docs/messaging/guides/preventing-messaging-fraud)\n",
    "causes": "* The incoming message contains a one-time passcode or similar verification code.",
    "solutions": "* If you are using a Trial account and need to receive inbound OTP messages, upgrade your account.\n* Use a different message template while you stay on Trial.\n* Contact Support if you need additional help.",
    "description": "Twilio detected an OTP in the inbound message body. Twilio redacts the passcode and marks the message failed to help prevent abuse of Twilio numbers.",
    "date_created": "2023-09-05T07:39:45Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30039,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Filtered to Prevent Message Loops",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis inbound message appears to be machine generated. Responding to this message programmatically could lead to endless messaging loops. For that reason, Twilio has failed the message with this error code and did not `POST` to the number's configured TwiML URLs.\n\n### Possible causes\n\nYou are receiving a message that appears to be machine generated.\n\n### Possible solutions\n\nIf you want to respond to these messages programmatically, you can listen for failed status callbacks with this error code and respond using the Twilio REST API.\n",
    "causes": "You are receiving a message that appears to be machine generated.",
    "solutions": "If you want to respond to these messages programmatically, you can listen for failed status callbacks with this error code and respond using the Twilio REST API.",
    "description": "This inbound message appears to be machine generated. Responding to this message programmatically could lead to endless messaging loops. For that reason, Twilio has failed the message with this error code and did not `POST` to the number's configured TwiML URLs.",
    "date_created": "2023-09-05T07:37:47Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30040,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Destination carrier requires Sender ID pre-registration",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou sent a message (message SID: SMXXXXX) to a mobile number in a country that requires Alphanumeric Sender ID pre-registration, and the Sender ID you used is not registered to your account.\n\n### Possible causes\n\n- The recipient you are sending a message to is on a network that requires Alphanumeric Sender ID pre-registration, and our records indicate that your Sender ID is not registered.\n- You may have previously received a WARNING 30018 \"Destination carrier requires Sender ID pre-registration\" code. This is the corresponding ERROR version of that code when a block is indeed happening.\n\n### Possible solutions\n\n- Learn more about Alpha Sender ID registration requirements [here](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID).\n- Use [this form](https://console.twilio.com/us1/develop/sms/senders/sender-ids/applications/create) to register a Sender ID for the destination country.\n",
    "causes": "* The recipient you are sending a message to is on a network that requires Alphanumeric Sender ID pre-registration, and our records indicate that your Sender ID is not registered.\n* You may have previously received a WARNING 30018 \"Destination carrier requires Sender ID pre-registration\" code. This is the corresponding ERROR version of that code when a block is indeed happening.",
    "solutions": "* Learn more about Alpha Sender ID registration requirements [here](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID).\n* Use [this form](https://console.twilio.com/us1/develop/sms/senders/sender-ids/applications/create) to register a Sender ID for the destination country.",
    "description": "You sent a message (message SID: SMXXXXX) to a mobile number in a country that requires Alphanumeric Sender ID pre-registration, and the Sender ID you used is not registered to your account.",
    "date_created": "2023-05-25T14:50:33Z",
    "last_updated": "2026-03-25T16:35:39-05:00"
  },
  {
    "code": 30041,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message from a restricted/unregistered sender sent to a number in country that requires sender registration",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou sent a message to a mobile number in a country that requires your Alphanumeric Sender ID to be registered. It looks like the Sender ID you used isn't registered for your account in that country, or it's restricted and you're not yet authorized to use it there.\n\n### Possible causes\n\nYou sent a message to a mobile number in a country that requires your Alphanumeric Sender ID to be registered. It looks like the Sender ID you used isn't registered for your account in that country, or it's restricted and you're not yet authorized to use it there.\n\n### Possible solutions\n\n- The Alphanumeric Sender ID you used needs to be registered in the destination country, and our records show it's not currently registered for your account.\n- Use [this form](https://console.twilio.com/us1/develop/phone-numbers/sender-ids/applications/create) to register or request authorization for your Alphanumeric Sender ID in that country. Visit our [SMS Guidelines](https://www.twilio.com/en-us/guidelines/sms) to learn more about the destination country's registration requirements for Alphanumeric Sender IDs.\n\nIf you'd like more details, please visit our [Help Center for information on Alphanumeric Sender ID Registration](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID), or our [Twilio Help Center article on charges for error codes](https://help.twilio.com/articles/223181728-Will-I-be-charged-if-Twilio-encounters-an-error-when-sending-an-SMS).\n",
    "causes": "You sent a message to a mobile number in a country that requires your Alphanumeric Sender ID to be registered. It looks like the Sender ID you used isn't registered for your account in that country, or it's restricted and you're not yet authorized to use it there.",
    "solutions": "* The Alphanumeric Sender ID you used needs to be registered in the destination country, and our records show it's not currently registered for your account.\n* Use [this form](https://console.twilio.com/us1/develop/phone-numbers/sender-ids/applications/create) to register or request authorization for your Alphanumeric Sender ID in that country. Visit our [SMS Guidelines](https://www.twilio.com/en-us/guidelines/sms) to learn more about the destination country's registration requirements for Alphanumeric Sender IDs. If you'd like more details, please visit our [Help Center for information on Alphanumeric Sender ID Registration](https://help.twilio.com/articles/223133767-International-support-for-Alphanumeric-Sender-ID), or our [Twilio Help Center article on charges for error codes](https://help.twilio.com/articles/223181728-Will-I-be-charged-if-Twilio-encounters-an-error-when-sending-an-SMS).",
    "description": "You sent a message to a mobile number in a country that requires your Alphanumeric Sender ID to be registered. It looks like the Sender ID you used isn't registered for your account in that country, or it's restricted and you're not yet authorized to use it there.",
    "date_created": "2023-07-14T08:24:27Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30042,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Alphanumeric Sender ID used to send this message is generic or not authorized to be used by this account",
    "secondary_message": "Compliance issue in destination",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou sent a message from an Alphanumeric Sender ID that is generic or not authorized to be used by your account. It looks like the Sender ID you used is blocked for use in that country—often because it's flagged as a generic or suspicious Sender ID or you are not authorized to use it.\n\n### Possible causes\n\nYou sent a message from an Alphanumeric Sender ID that is generic or not authorized to be used by your account. It looks like the Sender ID you used is blocked for use in that country—often because it's flagged as a generic or suspicious Sender ID or you are not authorized to use it.\n\n### Possible solutions\n\n- Choose a different Alphanumeric Sender ID that is not generic but relates to your brand.\n- If it's not generic and you have a legitimate reason to use the Sender ID, request authorization to use it through [this form](https://console.twilio.com/us1/develop/phone-numbers/sender-ids/applications/create).\n- Visit our [SMS Guidelines](https://www.twilio.com/en-us/guidelines/sms) to learn more about the destination country's best practices and compliance requirements for the use of Alphanumeric Sender IDs.\n",
    "causes": "You sent a message from an Alphanumeric Sender ID that is generic or not authorized to be used by your account. It looks like the Sender ID you used is blocked for use in that country—often because it's flagged as a generic or suspicious Sender ID or you are not authorized to use it.",
    "solutions": "* Choose a different Alphanumeric Sender ID that is not generic but relates to your brand.\n* If it's not generic and you have a legitimate reason to use the Sender ID, request authorization to use it through [this form](https://console.twilio.com/us1/develop/phone-numbers/sender-ids/applications/create).\n* Visit our [SMS Guidelines](https://www.twilio.com/en-us/guidelines/sms) to learn more about the destination country's best practices and compliance requirements for the use of Alphanumeric Sender IDs.",
    "description": "You sent a message from an Alphanumeric Sender ID that is generic or not authorized to be used by your account. It looks like the Sender ID you used is blocked for use in that country—often because it's flagged as a generic or suspicious Sender ID or you are not authorized to use it.",
    "date_created": "2023-09-14T15:58:03Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30043,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "International SMS via Domestic Gateway",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means the destination mobile operator flagged the SMS as international traffic that was sent through a domestic gateway. The message was misrouted as domestic.\n\n### Possible causes\n\n- The destination mobile operator identified the message as international SMS traffic sent through a domestic gateway.\n- The message was routed over a domestic route when the destination required an international route.\n\n### Possible solutions\n\n- Review the SMS Guidelines for the destination country and check for restrictions on domestic or international traffic.\n- If the message is genuinely domestic, open a support request and provide evidence to clarify the routing.\n- If the message is international, open a support ticket and request that the messages be moved to the appropriate international gateways.\n- Make sure your sender has global SMS capability and that international messaging is enabled for the countries you want to reach. ([help.twilio.com](https://help.twilio.com/hc/en-us/articles/223133947-What-is-Global-SMS-and-how-does-it-work))\n\n#### Additional resources\n\n- [What to know before sending international SMS messages](/docs/messaging/guides/sending-international-sms-guide)\n- [What is Global SMS and how does it work?](https://help.twilio.com/hc/en-us/articles/223133947-What-is-Global-SMS-and-how-does-it-work)\n- [Debugging Common Issues with SMS](/docs/messaging/guides/debugging-common-issues)\n",
    "causes": "* The destination mobile operator identified the message as international SMS traffic sent through a domestic gateway.\n* The message was routed over a domestic route when the destination required an international route.",
    "solutions": "* Review the SMS Guidelines for the destination country and check for restrictions on domestic or international traffic.\n* If the message is genuinely domestic, open a support request and provide evidence to clarify the routing.\n* If the message is international, open a support ticket and request that the messages be moved to the appropriate international gateways.\n* Make sure your sender has global SMS capability and that international messaging is enabled for the countries you want to reach. ([help.twilio.com](https://help.twilio.com/hc/en-us/articles/223133947-What-is-Global-SMS-and-how-does-it-work))",
    "description": "This error means the destination mobile operator flagged the SMS as international traffic that was sent through a domestic gateway. The message was misrouted as domestic.",
    "date_created": "2024-02-08T20:45:17Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30044,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Trial Message Length Exceeded",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage exceeded the segment length allowed for Trial accounts.\n\n### Possible causes\n\nLong message with multiple message segments sent on a Trial account.\n\n### Possible solutions\n\nWhile using a Trial account, send messages with fewer segments. Long messages with many message segments will get blocked while in Trial. Refer to [this article](https://help.twilio.com/articles/360036052753-Twilio-Free-Trial-Limitations) to learn more about Trial restrictions.\n\nIt is recommended to upgrade the account for additional functionality and to send longer messages.\n",
    "causes": "Long message with multiple message segments sent on a Trial account.",
    "solutions": "While using a Trial account, send messages with fewer segments. Long messages with many message segments will get blocked while in Trial. Refer to [this article](https://help.twilio.com/articles/360036052753-Twilio-Free-Trial-Limitations) to learn more about Trial restrictions. It is recommended to upgrade the account for additional functionality and to send longer messages.",
    "description": "Message exceeded the segment length allowed for Trial accounts.",
    "date_created": "2025-03-02T17:16:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30045,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Validity Period is less than zero or greater than maximum allowed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nValidity Period must be `>= 0` and `<=` the maximum of 10 hours\n\n### Possible causes\n\nThe invalid Validity Period value was either specified as part of the API request or is configured on an associated Messaging Service.\n\n### Possible solutions\n\nChange Validity Period to be `>= 0` and `<= 10` hours (in seconds)\n",
    "causes": "The invalid Validity Period value was either specified as part of the API request or is configured on an associated Messaging Service.",
    "solutions": "Change Validity Period to be `>= 0` and `<= 10` hours (in seconds)",
    "description": "Validity Period must be `>= 0` and `<=` the maximum of 10 hours",
    "date_created": "2025-03-31T15:46:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Domain SID is invalid",
    "secondary_message": "The Domain SID included in your request is not a valid Domain for your Twilio Organization.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Domain SID included in your request is not a valid Domain for your Twilio Organization.\n\n### Possible causes\n\nThe Domain SID you're using could belong to another Organization. It could also potentially be an issue of copy and pasting. You may be providing a URL instead of a Domain SID in the Domain SID field.\n\n### Possible solutions\n\nCheck the Domain SID from your Organization through the Admin Center.\n",
    "causes": "The Domain SID you're using could belong to another Organization. It could also potentially be an issue of copy and pasting. You may be providing a URL instead of a Domain SID in the Domain SID field.",
    "solutions": "Check the Domain SID from your Organization through the Admin Center.",
    "description": "The Domain SID included in your request is not a valid Domain for your Twilio Organization.",
    "date_created": "2020-04-22T20:23:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Domain is unverified",
    "secondary_message": "The domain has not been verified to work with Twilio Link Shortening.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nDomain need to be verified under your Organization through the Admin Center in order use it with Twilio Link Shortening.\n\n### Possible causes\n\nYou have yet to verify your Domain in Organization. You could be using the wrong Domain SID in your current request.\n\n### Possible solutions\n\nPlease verify the Domain you wish to use with Twilio Link Shortening.\n",
    "causes": "You have yet to verify your Domain in Organization. You could be using the wrong Domain SID in your current request.",
    "solutions": "Please verify the Domain you wish to use with Twilio Link Shortening.",
    "description": "Domain need to be verified under your Organization through the Admin Center in order use it with Twilio Link Shortening.",
    "date_created": "2020-04-22T20:23:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TLS certificate for your Domain has expired.",
    "secondary_message": "TLS certificate associated with the Domain is expired.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTLS certificate for the Domain you are using with Twilio Link Shortening has been expired.\n\n### Possible causes\n\nTLS certificate associated with the Domain is expired.\n\n### Possible solutions\n\nGenerate and upload a new TLS certificate for the Domain through Twilio Link Shortening console or via Domain Certificate API.\n",
    "causes": "TLS certificate associated with the Domain is expired.",
    "solutions": "Generate and upload a new TLS certificate for the Domain through Twilio Link Shortening console or via Domain Certificate API.",
    "description": "TLS certificate for the Domain you are using with Twilio Link Shortening has been expired.",
    "date_created": "2020-04-22T20:23:25Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30103,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Links not shortened due to application failure.",
    "secondary_message": "Twilio was unable to shorten the links included in your message due to an application error in the Twilio Link Shortening service.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio couldn't shorten the links in your message because the Link Shortening service encountered an application failure.\n\n### Possible causes\n\n- A temporary interruption or outage affected Twilio Link Shortening.\n\n### Possible solutions\n\n- File a support ticket and include the `Message SID`.\n- If you want Twilio to send the message with the original long links when link shortening fails, set `ContinueOnFailure` to `true` for the Link Shortening domain.\n\n#### Additional resources\n\n- [Link Shortening](/docs/messaging/features/link-shortening)\n- [Link Shortening Onboarding Guide](/docs/messaging/features/link-shortening/onboarding-guide)\n",
    "causes": "* A temporary interruption or outage affected Twilio Link Shortening.",
    "solutions": "* File a support ticket and include the `Message SID`.\n* If you want Twilio to send the message with the original long links when link shortening fails, set `ContinueOnFailure` to `true` for the Link Shortening domain.",
    "description": "Twilio couldn't shorten the links in your message because the Link Shortening service encountered an application failure.",
    "date_created": "2020-04-23T21:13:38Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 30104,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Shortened link not found. Click redirected to fallback Url",
    "secondary_message": "Twilio was unable to find a record of the shortened link that this request was sent to.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWe received a request to a domain you've registered with Click Tracking but we don't have a record of the shortened url.\n\n### Possible causes\n\n- The url has expired\n- A request was sent to a url that wasn't generated by Twilio\n\n### Possible solutions\n\n- Contact your account manager or support about extending the retention period of links.\n",
    "causes": "* The url has expired\n* A request was sent to a url that wasn't generated by Twilio",
    "solutions": "* Contact your account manager or support about extending the retention period of links.",
    "description": "We received a request to a domain you've registered with Click Tracking but we don't have a record of the shortened url.",
    "date_created": "2020-04-23T21:16:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30105,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Shortened link not found and no fallback URL found",
    "secondary_message": "We returned a 404 to this user action as we could not find a valid url or fallback url to redirect them to.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWe received a request to a domain you've registered with Click Tracking but we don't have a record of the shortened url or a fallback url set on the domain.\n\n### Possible causes\n\n- The url has expired\n- A request was sent to a url that wasn't generated by Twilio\n- The fallback url isn't set\n\n### Possible solutions\n\n- Contact your account manager or support about extending the retention period of links.\n- Set a fallback url to mitigate this error\n",
    "causes": "* The url has expired\n* A request was sent to a url that wasn't generated by Twilio\n* The fallback url isn't set",
    "solutions": "* Contact your account manager or support about extending the retention period of links.\n* Set a fallback url to mitigate this error",
    "description": "We received a request to a domain you've registered with Click Tracking but we don't have a record of the shortened url or a fallback url set on the domain.",
    "date_created": "2020-04-28T15:18:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30106,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Domain has not been set up for this account",
    "secondary_message": "Domain has not been set up for this account",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means you tried to use Link Shortening click tracking before the domain was set up for the account. Complete the Link Shortening onboarding steps, including adding and verifying the domain in a Twilio Organization, before you use it with Messaging Services.\n\n### Possible causes\n\n- You have not completed Link Shortening onboarding for the account, so the domain is not set up yet.\n- You have not added and verified the domain in the Twilio Organization that owns the Link Shortening domain.\n- The Twilio account you are using has not been added to the Organization, or the Messaging Service is not associated with the Link Shortening domain.\n\n### Possible solutions\n\n- Complete Link Shortening onboarding: use a domain or subdomain you own, create or use a Twilio Organization, add and verify the domain, add the Twilio account to the Organization, and make sure the account has a Messaging Service with at least one sender.\n- Associate the Messaging Service with your Link Shortening domain from Messaging > Messaging Services, or use the Link Shortening domain's Messaging Services subresource in the API.\n- If you are still setting up the domain, update the DNS records for the domain and allow time for propagation before retrying.\n\n#### Additional resources\n\n- [Link Shortening Onboarding Guide](/docs/messaging/features/link-shortening/onboarding-guide)\n- [Link Shortening](/docs/messaging/features/link-shortening)\n",
    "causes": "* You have not completed Link Shortening onboarding for the account, so the domain is not set up yet.\n* You have not added and verified the domain in the Twilio Organization that owns the Link Shortening domain.\n* The Twilio account you are using has not been added to the Organization, or the Messaging Service is not associated with the Link Shortening domain.",
    "solutions": "* Complete Link Shortening onboarding: use a domain or subdomain you own, create or use a Twilio Organization, add and verify the domain, add the Twilio account to the Organization, and make sure the account has a Messaging Service with at least one sender.\n* Associate the Messaging Service with your Link Shortening domain from Messaging > Messaging Services, or use the Link Shortening domain's Messaging Services subresource in the API.\n* If you are still setting up the domain, update the DNS records for the domain and allow time for propagation before retrying.",
    "description": "This error means you tried to use Link Shortening click tracking before the domain was set up for the account. Complete the Link Shortening onboarding steps, including adding and verifying the domain in a Twilio Organization, before you use it with Messaging Services.",
    "date_created": "2020-05-01T20:10:04Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 30107,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Domain private certificate has not been uploaded",
    "secondary_message": "The private certificate required for Twilio to process shortening requests through this domain has not been uploaded",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio requires a private certificate for us to generate and process shortened HTTPS links on your domain. This certificate has not been provided for this domain.\n\n### Possible causes\n\nSetup and configuration wasn't completed for this domain\n\n### Possible solutions\n\nPlease go to the organizations view for your account and ensure that the private certificate has been uploaded for this domain\n",
    "causes": "Setup and configuration wasn't completed for this domain",
    "solutions": "Please go to the organizations view for your account and ensure that the private certificate has been uploaded for this domain",
    "description": "Twilio requires a private certificate for us to generate and process shortened HTTPS links on your domain. This certificate has not been provided for this domain.",
    "date_created": "2020-05-05T19:13:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30108,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Twilio account does not belong to an organization",
    "secondary_message": "Domains are managed at the Organization level. Please attach this account to an organization and proceed with setup for Click Tracking prior to use.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nDomains are managed at the Organization level. Please attach this account to an organization and proceed with setup for Click Tracking prior to use.\n\n### Possible causes\n\nNecessary setup steps for Click Tracking, including creation of an organization have not been completed.\n\n### Possible solutions\n\nPlease follow setup guides for Click Tracking.\n",
    "causes": "Necessary setup steps for Click Tracking, including creation of an organization have not been completed.",
    "solutions": "Please follow setup guides for Click Tracking.",
    "description": "Domains are managed at the Organization level. Please attach this account to an organization and proceed with setup for Click Tracking prior to use.",
    "date_created": "2020-05-05T19:13:34Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30109,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Callback URL is invalid",
    "secondary_message": "The URL specified in your API request for callback is invalid",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe URL specific in your API request for Click Tracking is invalid\n\n### Possible causes\n\n- Protocol could be missing\n- Hostname could be invalid\n- Incorrect encoding\n\n### Possible solutions\n\nMake sure you submit a fully qualified URL including:\n\n- protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters\n",
    "causes": "* Protocol could be missing\n* Hostname could be invalid\n* Incorrect encoding",
    "solutions": "Make sure you submit a fully qualified URL including: - protocol (http:// or https://)\n- hostname\n- file path\n- properly url-encoded query parameters",
    "description": "The URL specific in your API request for Click Tracking is invalid",
    "date_created": "2020-05-05T19:14:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30110,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Domain is blocked",
    "secondary_message": "The provided URL to resolve this link to is on a blocked domain.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the URL used to resolve a link is on a blocked domain. This error is listed under Programmable SMS and is reported as an error.\n\n### Possible causes\n\n- Twilio has detected fraudulent activity on the domain.\n- The domain owner has asked Twilio not to link to the site.\n\n### Possible solutions\n\n- Reach out to Twilio support and ask for help reviewing the blocked domain.\n- If you control the URL, replace it with a different destination that is not blocked before you resend the message.\n\n#### Additional resources\n\n- [Programmable Messaging](/docs/messaging)\n- [Link Shortening](/docs/messaging/features/link-shortening)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* Twilio has detected fraudulent activity on the domain.\n* The domain owner has asked Twilio not to link to the site.",
    "solutions": "* Reach out to Twilio support and ask for help reviewing the blocked domain.\n* If you control the URL, replace it with a different destination that is not blocked before you resend the message.",
    "description": "Twilio returns this error when the URL used to resolve a link is on a blocked domain. This error is listed under Programmable SMS and is reported as an error.",
    "date_created": "2020-05-05T19:14:34Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30111,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Url is on a deny list",
    "secondary_message": "The URL provided is blocked.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this Messaging error when the URL you provide is blocked because it appears on a deny list.\n\n### Possible causes\n\n- Twilio detected fraudulent activity associated with the URL.\n- The domain owner asked Twilio not to link to the site.\n\n### Possible solutions\n\n- Contact Twilio support to request a review of the blocked URL.\n\n#### Additional resources\n\n- [30110: Domain is blocked](/docs/api/errors/30110)\n- [Messaging API Overview](/docs/messaging/api)\n",
    "causes": "* Twilio detected fraudulent activity associated with the URL.\n* The domain owner asked Twilio not to link to the site.",
    "solutions": "* Contact Twilio support to request a review of the blocked URL.",
    "description": "Twilio returns this Messaging error when the URL you provide is blocked because it appears on a deny list.",
    "date_created": "2020-05-05T20:42:51Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30112,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account is not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nWrong account is given\n\n### Possible solutions\n\nSpecify the correct account\n",
    "causes": "Wrong account is given",
    "solutions": "Specify the correct account",
    "description": "",
    "date_created": "2020-05-07T17:05:01Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30113,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Specified date is too old",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nHistorical data for Deactivation lists is only available from August 27th, 2020 onwards.\n\n### Possible causes\n\nYou have specified a date that is too far in the past for Twilio to have data available.\n\n### Possible solutions\n\nPlease specify a newer date to retrieve data.\n",
    "causes": "You have specified a date that is too far in the past for Twilio to have data available.",
    "solutions": "Please specify a newer date to retrieve data.",
    "description": "Historical data for Deactivation lists is only available from August 27th, 2020 onwards.",
    "date_created": "2020-08-27T19:49:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30114,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Specified date is not available yet",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nDeactivation list data is not yet available for the date that you specified.\n\n### Possible causes\n\n- You have specified a date in the future\n- You have specified today and Twilio has yet to process data for today yet\n\n### Possible solutions\n\nPlease either specify an earlier date or wait for Twilio to process today's data.\n",
    "causes": "* You have specified a date in the future\n* You have specified today and Twilio has yet to process data for today yet",
    "solutions": "Please either specify an earlier date or wait for Twilio to process today's data.",
    "description": "Deactivation list data is not yet available for the date that you specified.",
    "date_created": "2020-08-27T19:49:17Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30115,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Date format is incorrect",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe date format you have used is incorrect.\n\n### Possible causes\n\n- You may have included a timestamp in your date\n- You may have abbreviated YYYY to YY\n\n### Possible solutions\n\nPlease use YYYY-MM-DD format for the Date field.\n",
    "causes": "* You may have included a timestamp in your date\n* You may have abbreviated YYYY to YY",
    "solutions": "Please use YYYY-MM-DD format for the Date field.",
    "description": "The date format you have used is incorrect.",
    "date_created": "2020-08-27T19:49:18Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30116,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Certificate or private key or both are missing",
    "secondary_message": "Please use PEM format for uploaded certificates",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nCertificates should be uploaded in PEM format. https://en.wikipedia.org/wiki/Privacy-Enhanced\\_Mail\n\n### Possible causes\n\n- Certificate is using a different format\n- Certificate has been corrupted\n\n### Possible solutions\n\n- Generate a new certificate in PEM format and reupload\n",
    "causes": "* Certificate is using a different format\n* Certificate has been corrupted",
    "solutions": "* Generate a new certificate in PEM format and reupload",
    "description": "Certificates should be uploaded in PEM format. https://en.wikipedia.org/wiki/Privacy-Enhanced\\_Mail",
    "date_created": "2020-09-01T18:08:20Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30117,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Certificate cannot be parsed",
    "secondary_message": "Certificate cannot be parsed",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWe could not parse the certificate uploaded in your request.\n\n### Possible causes\n\n- Data in Certificate may be corrupted\n- Certificate info could incorrectly formatted\n- Certificate data could be missing\n\n### Possible solutions\n\nRe-generate certificate ensuring it's in PEM format: https://en.wikipedia.org/wiki/Privacy-Enhanced\\_Mail\n",
    "causes": "* Data in Certificate may be corrupted\n* Certificate info could incorrectly formatted\n* Certificate data could be missing",
    "solutions": "Re-generate certificate ensuring it's in PEM format: https://en.wikipedia.org/wiki/Privacy-Enhanced\\_Mail",
    "description": "We could not parse the certificate uploaded in your request.",
    "date_created": "2020-09-01T18:49:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30118,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Private key is invalid",
    "secondary_message": "Unable to parse private key",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the private key uploaded for Link Shortening cannot be parsed. Provide the key in PEM format or in `PKCS #8` format, and make sure it starts with `-----BEGIN PRIVATE KEY-----` and ends with `-----END PRIVATE KEY-----`. Remove any extra newline characters at the beginning or end before you upload the key.\n\n### Possible causes\n\n- The private key is not in `PEM` format or `PKCS #8` format.\n- The private key does not start with `-----BEGIN PRIVATE KEY-----` or end with `-----END PRIVATE KEY-----`.\n- The private key includes extra newline characters at the beginning or end.\n\n### Possible solutions\n\n- Re-upload a private key in `PEM` or `PKCS #8` format with the required begin and end lines.\n- Remove any leading or trailing newline characters before you submit the key.\n- In the Console, paste the private key into the Private key input box. When using the API, send the certificate and private key in the `TlsCert` parameter to the Link Shortening domain Certificate subresource.\n\n#### Additional resources\n\n- [Link Shortening](/docs/messaging/features/link-shortening)\n- [Link Shortening onboarding guide](/docs/messaging/features/link-shortening/onboarding-guide)\n- [Messaging API Overview](/docs/messaging/api)\n",
    "causes": "* The private key is not in `PEM` format or `PKCS #8` format.\n* The private key does not start with `-----BEGIN PRIVATE KEY-----` or end with `-----END PRIVATE KEY-----`.\n* The private key includes extra newline characters at the beginning or end.",
    "solutions": "* Re-upload a private key in `PEM` or `PKCS #8` format with the required begin and end lines.\n* Remove any leading or trailing newline characters before you submit the key.\n* In the Console, paste the private key into the Private key input box. When using the API, send the certificate and private key in the `TlsCert` parameter to the Link Shortening domain Certificate subresource.",
    "description": "Twilio returns this error when the private key uploaded for Link Shortening cannot be parsed. Provide the key in PEM format or in `PKCS #8` format, and make sure it starts with `-----BEGIN PRIVATE KEY-----` and ends with `-----END PRIVATE KEY-----`. Remove any extra newline characters at the beginning or end before you upload the key.",
    "date_created": "2020-09-03T19:43:06Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30119,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Certificate and private key pair is invalid",
    "secondary_message": "Private key and certificate mismatch",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe provided private key and certificate are both are valid but they do not match\n\n### Possible causes\n\n- Certificate and key are for differing domains\n\n### Possible solutions\n\nPlease regenerated and reupload key and certificate ensuring they are both for the correct domain.\n",
    "causes": "* Certificate and key are for differing domains",
    "solutions": "Please regenerated and reupload key and certificate ensuring they are both for the correct domain.",
    "description": "The provided private key and certificate are both are valid but they do not match",
    "date_created": "2020-09-03T19:45:14Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30120,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": " Domain certificate and private key are not uploaded",
    "secondary_message": "Given Domain is not onboarded, please upload cert for domain first",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this when a Link Shortening domain has not had its TLS certificate and private key uploaded yet. Upload the certificate material before you use the domain for link shortening.\n\n### Possible causes\n\n- You haven't uploaded a TLS certificate/private key pair for the Link Shortening domain.\n- You haven't completed the certificate upload step for the domain, so Twilio can't validate it yet.\n\n### Possible solutions\n\n- Upload the TLS certificate and private key in Console under Upload certificate, then click Upload. Make sure the certificate starts with `-----BEGIN CERTIFICATE-----` and the private key starts with `-----BEGIN PRIVATE KEY-----`.\n- If you use the API, `POST` the concatenated certificate and private key to the domain's Certificate subresource in `TlsCert`.\n- Wait for validation to complete before retrying. Certificate validation can take up to five minutes, and Twilio returns a pending `cert_in_validation.status` while validation is in progress.\n\n#### Additional resources\n\n- [Link Shortening onboarding guide](/docs/messaging/features/link-shortening/onboarding-guide)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* You haven't uploaded a TLS certificate/private key pair for the Link Shortening domain.\n* You haven't completed the certificate upload step for the domain, so Twilio can't validate it yet.",
    "solutions": "* Upload the TLS certificate and private key in Console under Upload certificate, then click Upload. Make sure the certificate starts with `-----BEGIN CERTIFICATE-----` and the private key starts with `-----BEGIN PRIVATE KEY-----`.\n* If you use the API, `POST` the concatenated certificate and private key to the domain's Certificate subresource in `TlsCert`.\n* Wait for validation to complete before retrying. Certificate validation can take up to five minutes, and Twilio returns a pending `cert_in_validation.status` while validation is in progress.",
    "description": "Twilio returns this when a Link Shortening domain has not had its TLS certificate and private key uploaded yet. Upload the certificate material before you use the domain for link shortening.",
    "date_created": "2022-02-09T19:25:00Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30121,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Fallback URL is missing",
    "secondary_message": "Fallback URL is missing, please add an URL.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the Link Shortening domain configuration does not include a `FallbackUrl`. Link Shortening domain defaults are set on the domain, and Twilio applies them to any Messaging Service that uses that domain.\n\n### Possible causes\n\n- You left the Domain fallback URL field blank in the Console when configuring Link Shortening for the domain.\n- You sent a `POST` request to the Link Shortening domain's Config subresource without the `FallbackUrl` parameter.\n- You associated a Messaging Service with a Link Shortening domain, but you did not complete the domain default configuration.\n\n### Possible solutions\n\n- Open the Link Shortening domain configuration in the Console, then fill in Domain fallback URL and save the changes.\n- If you use the API, send `FallbackUrl` in a `POST` request to the Link Shortening domain's Config subresource.\n- If you also need click tracking, provide `CallbackUrl` in the same request so the domain default configuration is complete.\n\n#### Additional resources\n\n- [Link Shortening Onboarding Guide](/docs/messaging/features/link-shortening/onboarding-guide)\n- [Messaging Service resource](/docs/messaging/api/service-resource)\n",
    "causes": "* You left the Domain fallback URL field blank in the Console when configuring Link Shortening for the domain.\n* You sent a `POST` request to the Link Shortening domain's Config subresource without the `FallbackUrl` parameter.\n* You associated a Messaging Service with a Link Shortening domain, but you did not complete the domain default configuration.",
    "solutions": "* Open the Link Shortening domain configuration in the Console, then fill in Domain fallback URL and save the changes.\n* If you use the API, send `FallbackUrl` in a `POST` request to the Link Shortening domain's Config subresource.\n* If you also need click tracking, provide `CallbackUrl` in the same request so the domain default configuration is complete.",
    "description": "Twilio returns this error when the Link Shortening domain configuration does not include a `FallbackUrl`. Link Shortening domain defaults are set on the domain, and Twilio applies them to any Messaging Service that uses that domain.",
    "date_created": "2022-02-09T19:28:28Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30122,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Fallback URL is invalid",
    "secondary_message": "Fallback URL is invalid, please check the format of the URL parameter",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when the fallback URL configured for a Messaging Service or incoming phone number is not a valid URL. Twilio requests the fallback URL when it can't retrieve or execute TwiML from the primary inbound request URL, and the fallback URL must be valid.\n\n### Possible causes\n\n- The `fallbackUrl` value is malformed or cannot be parsed as a valid URL. Twilio expects a valid URL for this setting.\n\n### Possible solutions\n\n- Replace `fallbackUrl` with a valid URL and save the Messaging Service or phone number configuration again. Twilio accepts any valid URL for this field.\n- If you want to use a Twilio-hosted destination, point the fallback URL to a Studio Flow, TwiML Bin, or Twilio Function webhook URL.\n- Set the fallback URL in the Messaging Service `fallbackUrl` field or in the phone number's Messaging Configuration, depending on where you manage inbound routing.\n\n#### Additional resources\n\n- [Services resource](/docs/messaging/api/service-resource)\n- [Availability and Reliability](/docs/usage/security/availability-reliability)\n",
    "causes": "* The `fallbackUrl` value is malformed or cannot be parsed as a valid URL. Twilio expects a valid URL for this setting.",
    "solutions": "* Replace `fallbackUrl` with a valid URL and save the Messaging Service or phone number configuration again. Twilio accepts any valid URL for this field.\n* If you want to use a Twilio-hosted destination, point the fallback URL to a Studio Flow, TwiML Bin, or Twilio Function webhook URL.\n* Set the fallback URL in the Messaging Service `fallbackUrl` field or in the phone number's Messaging Configuration, depending on where you manage inbound routing.",
    "description": "This error occurs when the fallback URL configured for a Messaging Service or incoming phone number is not a valid URL. Twilio requests the fallback URL when it can't retrieve or execute TwiML from the primary inbound request URL, and the fallback URL must be valid.",
    "date_created": "2022-02-09T19:30:08Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30123,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Callback URL is missing",
    "secondary_message": "Callback URL is missing, please add an URL.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when a Messaging configuration or request does not include the required `callbackUrl` value. In Messaging Link Shortening, the `Callback URL` is the URL Twilio uses to send click event data after a recipient clicks a shortened link.\n\n### Possible causes\n\n- You did not include the `callbackUrl` field in the request.\n- You left the `CallbackUrl` value out of the Link Shortening domain configuration that Twilio uses for Messaging.\n\n### Possible solutions\n\n- Add a `CallbackUrl` value when you create or update the Link Shortening domain configuration. Twilio accepts `CallbackUrl` in the domain Config subresource.\n- In the Console, open the domain configuration and fill in the Click tracking callback URL field, then save your changes.\n- If you are using the REST API, include `CallbackUrl` in the request payload instead of leaving it blank.\n\n#### Additional resources\n\n- [Link Shortening Onboarding Guide](/docs/messaging/features/link-shortening/onboarding-guide)\n- [Services resource](/docs/messaging/api/service-resource)\n",
    "causes": "* You did not include the `callbackUrl` field in the request.\n* You left the `CallbackUrl` value out of the Link Shortening domain configuration that Twilio uses for Messaging.",
    "solutions": "* Add a `CallbackUrl` value when you create or update the Link Shortening domain configuration. Twilio accepts `CallbackUrl` in the domain Config subresource.\n* In the Console, open the domain configuration and fill in the Click tracking callback URL field, then save your changes.\n* If you are using the REST API, include `CallbackUrl` in the request payload instead of leaving it blank.",
    "description": "This error occurs when a Messaging configuration or request does not include the required `callbackUrl` value. In Messaging Link Shortening, the `Callback URL` is the URL Twilio uses to send click event data after a recipient clicks a shortened link.",
    "date_created": "2022-02-23T21:44:00Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30124,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "MessagingServiceSID cannot be empty or null",
    "secondary_message": "MessagingServiceSID is missing",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when a message create request does not include a usable `messagingServiceSid` value. When you send a message with a Messaging Service, Twilio uses that SID to select a sender from the service's Sender Pool.\n\n### Possible causes\n\n- The request omitted the `messagingServiceSid` field.\n- The request included `messagingServiceSid`, but the value was empty, null, or not a valid Messaging Service SID. Twilio expects an SID that matches the `MG` pattern.\n\n### Possible solutions\n\n- Pass a valid `messagingServiceSid` value that matches the Messaging Service SID format (`MG` followed by 32 hexadecimal characters).\n- If you are not using a Messaging Service, provide a valid `from` sender instead. The `from` parameter is required when `MessagingServiceSid` is not passed.\n- If you are using a Messaging Service, omit `from` or set it to a sender from that service's Sender Pool.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Messaging Services](/docs/messaging/services)\n",
    "causes": "* The request omitted the `messagingServiceSid` field.\n* The request included `messagingServiceSid`, but the value was empty, null, or not a valid Messaging Service SID. Twilio expects an SID that matches the `MG` pattern.",
    "solutions": "* Pass a valid `messagingServiceSid` value that matches the Messaging Service SID format (`MG` followed by 32 hexadecimal characters).\n* If you are not using a Messaging Service, provide a valid `from` sender instead. The `from` parameter is required when `MessagingServiceSid` is not passed.\n* If you are using a Messaging Service, omit `from` or set it to a sender from that service's Sender Pool.",
    "description": "This error occurs when a message create request does not include a usable `messagingServiceSid` value. When you send a message with a Messaging Service, Twilio uses that SID to select a sender from the service's Sender Pool.",
    "date_created": "2022-03-08T00:31:33Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30125,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Your phone number could not be registered with US A2P 10DLC",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWe noticed that you have tried to add a number to a messaging service associated with a US A2P 10DLC Sole Proprietor campaign. Please note that all Sole Proprietor campaigns have a max limit of 1 phone number per campaign. Since you have reached this limit previously, your phone number could not be successfully registered for US A2P 10DLC. If you try to send SMS or MMS messages to the US using this phone number, those messages will be considered as unregistered traffic, where higher fees apply.\n\n### Possible causes\n\nYou already have 1 phone number registered with your Sole Proprietor campaign.\n\n### Possible solutions\n\nYou may continue to send messages to other non-US destinations using this phone number. However, if you want to use this phone number to send to recipients in the US, please consider removing all senders from this campaign from the Messaging Services page and then add back the number you wish to use, or register for a standard A2P brand and campaign instead.\n",
    "causes": "You already have 1 phone number registered with your Sole Proprietor campaign.",
    "solutions": "You may continue to send messages to other non-US destinations using this phone number. However, if you want to use this phone number to send to recipients in the US, please consider removing all senders from this campaign from the Messaging Services page and then add back the number you wish to use, or register for a standard A2P brand and campaign instead.",
    "description": "We noticed that you have tried to add a number to a messaging service associated with a US A2P 10DLC Sole Proprietor campaign. Please note that all Sole Proprietor campaigns have a max limit of 1 phone number per campaign. Since you have reached this limit previously, your phone number could not be successfully registered for US A2P 10DLC. If you try to send SMS or MMS messages to the US using this phone number, those messages will be considered as unregistered traffic, where higher fees apply.",
    "date_created": "2022-04-12T16:43:11Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30126,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Your 10DLC number failed to be registered ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour phone number failed registration/deregistration due to Unknown reasons\n\n### Possible causes\n\nUnknown\n\n### Possible solutions\n\n- Contact [Twilio Customer Support](https://www.twilio.com/console/support/tickets/create)\n",
    "causes": "Unknown",
    "solutions": "* Contact [Twilio Customer Support](https://www.twilio.com/console/support/tickets/create)",
    "description": "Your phone number failed registration/deregistration due to Unknown reasons",
    "date_created": "2024-02-16T19:09:26Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30127,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "MessagingServiceSID is invalid.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n`MessagingServiceSID` is invalid when the value you provide does not match a valid Messaging Service SID. Messaging Service SIDs are 34-character identifiers that start with `MG`.\n\n### Possible causes\n\n- You passed a `MessagingServiceSID` value that does not use the `MG` prefix or does not contain 32 hexadecimal characters after the prefix.\n- The SID does not identify a Messaging Service resource.\n- You copied the SID from the wrong account or from an unrelated resource. This is an inference based on how Twilio uses SIDs to identify specific resources.\n\n### Possible solutions\n\n- Replace the value with a valid Messaging Service SID from the Services resource or Console. Use a SID that matches `^MG[0-9a-fA-F]{32}$`.\n- If you are creating a message, send the SID in the `MessagingServiceSid` parameter. Twilio lets you send a message with `MessagingServiceSid` instead of `From`.\n- Make sure the Messaging Service exists and belongs to the account making the request. Twilio identifies Messaging Service resources with SIDs, and the Messages resource requires the sender to belong to the creating account.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Services resource](/docs/messaging/api/service-resource)\n",
    "causes": "* You passed a `MessagingServiceSID` value that does not use the `MG` prefix or does not contain 32 hexadecimal characters after the prefix.\n* The SID does not identify a Messaging Service resource.\n* You copied the SID from the wrong account or from an unrelated resource. This is an inference based on how Twilio uses SIDs to identify specific resources.",
    "solutions": "* Replace the value with a valid Messaging Service SID from the Services resource or Console. Use a SID that matches `^MG[0-9a-fA-F]{32}$`.\n* If you are creating a message, send the SID in the `MessagingServiceSid` parameter. Twilio lets you send a message with `MessagingServiceSid` instead of `From`.\n* Make sure the Messaging Service exists and belongs to the account making the request. Twilio identifies Messaging Service resources with SIDs, and the Messages resource requires the sender to belong to the creating account.",
    "description": "`MessagingServiceSID` is invalid when the value you provide does not match a valid Messaging Service SID. Messaging Service SIDs are 34-character identifiers that start with `MG`.",
    "date_created": "2022-07-11T18:41:16Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30128,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "MessagingServiceSidsAction is invalid",
    "secondary_message": "MessagingServiceSidsAction is invalid, please check for valid action types",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when `MessagingServiceSidAction` uses an unsupported value. Use only `ADD`, `DELETE`, or `REPLACE`.\n\n### Possible causes\n\n- The request includes a `MessagingServiceSidAction` value that is not `ADD`, `DELETE`, or `REPLACE`.\n\n### Possible solutions\n\n- Update `MessagingServiceSidAction` to a supported value: `ADD`, `DELETE`, or `REPLACE`.\n- Check the request payload for typos or an unexpected action value before you send the request.\n\n#### Additional resources\n\n- [Services resource](/docs/messaging/api/service-resource)\n- [Messaging Services](/docs/messaging/services)\n",
    "causes": "* The request includes a `MessagingServiceSidAction` value that is not `ADD`, `DELETE`, or `REPLACE`.",
    "solutions": "* Update `MessagingServiceSidAction` to a supported value: `ADD`, `DELETE`, or `REPLACE`.\n* Check the request payload for typos or an unexpected action value before you send the request.",
    "description": "This error occurs when `MessagingServiceSidAction` uses an unsupported value. Use only `ADD`, `DELETE`, or `REPLACE`.",
    "date_created": "2022-07-08T12:03:04Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30129,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Certificate is self signed",
    "secondary_message": "Please use a certificate with valid signature",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns 30129 when the TLS certificate used for a Messaging Service Link Shortening domain is self-signed, which Twilio won't accept for HTTPS connections. Link Shortening serves redirects over HTTPS, and Twilio requires a certificate that it can validate.\n\n### Possible causes\n\n- You uploaded a self-signed TLS certificate instead of a certificate signed by a trusted certificate authority.\n- The Link Shortening domain is using certificate material that Twilio cannot validate for HTTPS redirects.\n\n### Possible solutions\n\n- Replace the self-signed certificate with a certificate from a trusted certificate authority, such as Let's Encrypt.\n- For Link Shortening, use the Twilio-managed certificate option or upload a valid PEM-formatted certificate and private key. Make sure the certificate starts with `-----BEGIN CERTIFICATE-----` and the private key starts with `-----BEGIN PRIVATE KEY-----`.\n- Provide the full certificate chain when you upload your certificate so Twilio can establish trust for HTTPS redirects.\n\n#### Additional resources\n\n- [Link Shortening](/docs/messaging/features/link-shortening)\n- [Link Shortening Onboarding Guide](/docs/messaging/features/link-shortening/onboarding-guide)\n- [Security](/docs/usage/security)\n",
    "causes": "* You uploaded a self-signed TLS certificate instead of a certificate signed by a trusted certificate authority.\n* The Link Shortening domain is using certificate material that Twilio cannot validate for HTTPS redirects.",
    "solutions": "* Replace the self-signed certificate with a certificate from a trusted certificate authority, such as Let's Encrypt.\n* For Link Shortening, use the Twilio-managed certificate option or upload a valid PEM-formatted certificate and private key. Make sure the certificate starts with `-----BEGIN CERTIFICATE-----` and the private key starts with `-----BEGIN PRIVATE KEY-----`.\n* Provide the full certificate chain when you upload your certificate so Twilio can establish trust for HTTPS redirects.",
    "description": "Twilio returns 30129 when the TLS certificate used for a Messaging Service Link Shortening domain is self-signed, which Twilio won't accept for HTTPS connections. Link Shortening serves redirects over HTTPS, and Twilio requires a certificate that it can validate.",
    "date_created": "2022-07-15T00:15:20Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30130,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Messaging Service SID already belongs in another domain configuration.",
    "secondary_message": "Messaging Service SID is already associated with a domain configuration in the account",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessaging Service SID is already associated with a domain configuration in the account\n\n### Possible causes\n\nOne of the messaging service SID in the request body is already associated with a domain in the account\n\n### Possible solutions\n\nTry to use any other messaging service SID\n",
    "causes": "One of the messaging service SID in the request body is already associated with a domain in the account",
    "solutions": "Try to use any other messaging service SID",
    "description": "Messaging Service SID is already associated with a domain configuration in the account",
    "date_created": "2022-08-02T00:33:45Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30131,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Domain's certificate will expire soon",
    "secondary_message": "A TLS certificate associated with one of your domains will expire soon.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nA TLS certificate associated with one of your domains will expire soon.\n\n### Possible causes\n\nA TLS certificate associated with one of your domains has not been renewed in our system, and the existing certificate will expire soon.\n\n### Possible solutions\n\nPlease generate and upload a new certificate.\n",
    "causes": "A TLS certificate associated with one of your domains has not been renewed in our system, and the existing certificate will expire soon.",
    "solutions": "Please generate and upload a new certificate.",
    "description": "A TLS certificate associated with one of your domains will expire soon.",
    "date_created": "2022-08-02T23:00:17Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30132,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Certificate cannot be validated. ",
    "secondary_message": "We were not able to validate your certificate for your domain.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio can't validate the TLS certificate you uploaded for a Link Shortening domain. For Link Shortening, the certificate and private key must be in `PEM` format, use the required `BEGIN` and `END` lines, and match the correct domain or subdomain. Provide the full chain of trust when you encrypt the connection.\n\n### Possible causes\n\n- The certificate was uploaded in the wrong format or does not start and end with the required `PEM` boundaries.\n- The private key is missing, malformed, or not in `PEM` or `PKCS #8` format.\n- The certificate and key were generated for a different domain or subdomain.\n- The full chain of trust was not provided with the upload.\n\n### Possible solutions\n\n- Upload a certificate and private key in `PEM` format, and confirm the certificate starts with `-----BEGIN CERTIFICATE-----` and ends with `-----END CERTIFICATE-----`.\n- Confirm the private key starts with `-----BEGIN PRIVATE KEY-----` and ends with `-----END PRIVATE KEY-----`, or use `PKCS #8` format.\n- If you use a subdomain, generate the certificate and key for that subdomain.\n- Upload the full chain of trust as a single file, including the server certificate, intermediate `CA` certificates, and root `CA` certificate.\n- Upload the certificate again in the Console or send the `POST` request to the Link Shortening domain's Certificate subresource, then check the validation status after up to five minutes.\n\n#### Additional resources\n\n- [Link Shortening Onboarding Guide](/docs/messaging/features/link-shortening/onboarding-guide)\n",
    "causes": "* The certificate was uploaded in the wrong format or does not start and end with the required `PEM` boundaries.\n* The private key is missing, malformed, or not in `PEM` or `PKCS #8` format.\n* The certificate and key were generated for a different domain or subdomain.\n* The full chain of trust was not provided with the upload.",
    "solutions": "* Upload a certificate and private key in `PEM` format, and confirm the certificate starts with `-----BEGIN CERTIFICATE-----` and ends with `-----END CERTIFICATE-----`.\n* Confirm the private key starts with `-----BEGIN PRIVATE KEY-----` and ends with `-----END PRIVATE KEY-----`, or use `PKCS #8` format.\n* If you use a subdomain, generate the certificate and key for that subdomain.\n* Upload the full chain of trust as a single file, including the server certificate, intermediate `CA` certificates, and root `CA` certificate.\n* Upload the certificate again in the Console or send the `POST` request to the Link Shortening domain's Certificate subresource, then check the validation status after up to five minutes.",
    "description": "Twilio can't validate the TLS certificate you uploaded for a Link Shortening domain. For Link Shortening, the certificate and private key must be in `PEM` format, use the required `BEGIN` and `END` lines, and match the correct domain or subdomain. Provide the full chain of trust when you encrypt the connection.",
    "date_created": "2022-08-25T17:18:02Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 30133,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The certificate could not be uploaded.",
    "secondary_message": "The certificate could not be uploaded due to invalid system state.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe certificate could not be uploaded due to invalid system state.\n\n### Possible causes\n\nThis might happen if an associated domain resource has been deleted and recreated since the last certificate upload.\n\n### Possible solutions\n\nPlease try uploading again in a few minutes.\n",
    "causes": "This might happen if an associated domain resource has been deleted and recreated since the last certificate upload.",
    "solutions": "Please try uploading again in a few minutes.",
    "description": "The certificate could not be uploaded due to invalid system state.",
    "date_created": "2022-10-13T00:06:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30134,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Dns Setup for Link shortening",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\nDomain Dns setup is not completed\n\n### Possible solutions\n\nIf you're using a root domain, point the A record of the domain to the following 3 IP addresses only. If other IPs are included, Link Shortening does not work.\n\n- 3.233.187.46\n- 3.233.108.250\n- 54.157.2.211\n\nIf you're using a subdomain, point the CNAME record of the subdomain to the following:\n\n- lsct.ashburn.us1.twilio.com\n",
    "causes": "Domain Dns setup is not completed",
    "solutions": "If you're using a root domain, point the A record of the domain to the following 3 IP addresses only. If other IPs are included, Link Shortening does not work. - 3.233.187.46\n- 3.233.108.250\n- 54.157.2.211 If you're using a subdomain, point the CNAME record of the subdomain to the following: - lsct.ashburn.us1.twilio.com",
    "description": "",
    "date_created": "2024-06-11T22:28:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30135,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Unable to issue certificate",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\nDomain DNS setup is not completed. There is an issue with the certificate authority\n\n### Possible solutions\n\nPlease verify your Domain DNS setup. If you continue seeing this error, please contact the Support team\n",
    "causes": "Domain DNS setup is not completed. There is an issue with the certificate authority",
    "solutions": "Please verify your Domain DNS setup. If you continue seeing this error, please contact the Support team",
    "description": "",
    "date_created": "2024-06-27T15:37:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30136,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Unable to renew certificate",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\nDomain DNS setup is not completed. There is an issue with the certificate authority\n\n### Possible solutions\n\nPlease verify your Domain DNS setup. If you continue seeing this error, please contact the Support team\n",
    "causes": "Domain DNS setup is not completed. There is an issue with the certificate authority",
    "solutions": "Please verify your Domain DNS setup. If you continue seeing this error, please contact the Support team",
    "description": "",
    "date_created": "2024-06-27T15:37:11Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30137,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Domain messaging service mapping not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThis error occurs when attempting to perform operations on a messaging service that is not associated with any domain in the system.\n\n### Possible causes\n\nThe error can be triggered when trying to delete or access a messaging service mapping that doesn't exist in the database, or when attempting to perform operations on a messaging service that hasn't been properly associated with a domain.\n\n### Possible solutions\n\nEnsure the messaging service is properly associated with a domain before performing operations, verify the messaging service SID is valid and exists in your account, and check that the domain-messaging service mapping was successfully created in the database.\n",
    "causes": "The error can be triggered when trying to delete or access a messaging service mapping that doesn't exist in the database, or when attempting to perform operations on a messaging service that hasn't been properly associated with a domain.",
    "solutions": "Ensure the messaging service is properly associated with a domain before performing operations, verify the messaging service SID is valid and exists in your account, and check that the domain-messaging service mapping was successfully created in the database.",
    "description": "This error occurs when attempting to perform operations on a messaging service that is not associated with any domain in the system.",
    "date_created": "2025-06-03T20:41:05.394Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30138,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "CAA records prevent Let's Encrypt from issuing certificates. ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nManaged cert cannot be created due to CAA record complications\n\n### Possible causes\n\nCAA Records are present and don't include letsencrypt.org\n\n### Possible solutions\n\nTo fix this, either:\n\n1. Add 'letsencrypt.org' to your CAA records\n2. Remove the CAA records entirely\n3. Use a different certificate authority\n",
    "causes": "CAA Records are present and don't include letsencrypt.org",
    "solutions": "To fix this, either: 1) Add 'letsencrypt.org' to your CAA records\n2) Remove the CAA records entirely\n3) Use a different certificate authority",
    "description": "Managed cert cannot be created due to CAA record complications",
    "date_created": "2025-06-24T22:56:13.511Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30139,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "URL not valid for link shortening",
    "secondary_message": "The URL in the message does not comply with the RFC 3986 standard.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when ShortUrl is enabled and one or more URLs in the message are invalid.\n\n### Possible causes\n\nURLs can be invalid for several reasons, the most common being improper encoding. Special characters must be correctly encoded, and every URL should include a valid scheme and host.\n\n### Possible solutions\n\nMake sure all special characters in URLs are properly encoded before use. Invalid URLs often result from unescaped characters that break parsers or violate RFC 3986\n\nExamples:\n\nInvalid: https://example.com/hola/mañana Valid: https://example.com/hola/ma%C3%B1ana (the character ñ must be percent-encoded)\n\nInvalid: https://example.com/callback?token=abc123== Valid: https://example.com/callback?token=abc123%3D%3D (trailing = padding must be encoded)\n\nInvalid: https://example.com/path%test Valid: https://example.com/path%25test (a raw % is illegal unless followed by two hex digits; %25 represents %)\n",
    "causes": "URLs can be invalid for several reasons, the most common being improper encoding. Special characters must be correctly encoded, and every URL should include a valid scheme and host.",
    "solutions": "Make sure all special characters in URLs are properly encoded before use. Invalid URLs often result from unescaped characters that break parsers or violate RFC 3986 Examples: Invalid: https://example.com/hola/mañana Valid: https://example.com/hola/ma%C3%B1ana (the character ñ must be percent-encoded) Invalid: https://example.com/callback?token=abc123== Valid: https://example.com/callback?token=abc123%3D%3D (trailing = padding must be encoded) Invalid: https://example.com/path%test Valid: https://example.com/path%25test (a raw % is illegal unless followed by two hex digits; %25 represents %)",
    "description": "This error occurs when ShortUrl is enabled and one or more URLs in the message are invalid.",
    "date_created": "2025-09-11T20:37:54.371Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30140,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Certificates with OCSP required are not supported",
    "secondary_message": "TLS certificates with the MUST\\_STAPLE attribute are not supported by the link shortener",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nOCSP stapling is not supported by the link shortener service. Please upload a certificate that does not require OCSP stapling.\n\n### Possible causes\n\nWhen the TLS certificate was generated a configuration was enabled to require OCSP stapling by setting the MUST\\_STAPLE attribute.\n\n### Possible solutions\n\nRegenerate the certificate without OCSP stapling enabled.\n",
    "causes": "When the TLS certificate was generated a configuration was enabled to require OCSP stapling by setting the MUST\\_STAPLE attribute.",
    "solutions": "Regenerate the certificate without OCSP stapling enabled.",
    "description": "OCSP stapling is not supported by the link shortener service. Please upload a certificate that does not require OCSP stapling.",
    "date_created": "2025-12-03T19:48:54.859Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30202,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Trunking Origination Call Denied by Spam Filter (TWEEK 7.5)",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nYou have installed a Marketplace Add-on that filters origination calls if they are suspected of being spam or fraud. Please uninstall the Spam Filter if you don't want to filter calls suspicious of Spam.\n",
    "causes": null,
    "solutions": null,
    "description": "You have installed a Marketplace Add-on that filters origination calls if they are suspected of being spam or fraud. Please uninstall the Spam Filter if you don't want to filter calls suspicious of Spam.",
    "date_created": "2017-09-29T18:19:11Z",
    "last_updated": "2017-09-29T18:19:11Z"
  },
  {
    "code": 30400,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Parameters are not valid ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThere is an issue with the request body.\n\n### Possible causes\n\n- `POST` body is missing parameters Body or Status.\n- Attempted to cancel the message and redact the message body at the same time.\n- Value for Status is invalid.\n- Message body redaction request does not have empty Body parameter.\n\n### Possible solutions\n\n- To cancel the message, include Status: canceled.\n- To redact the message body, ensure Body is empty. More details [here](https://support.twilio.com/hc/en-us/articles/223133687-Deleting-messages-message-media-or-message-bodies).\n- If you want to cancel and redact the message body: First, request the message to be canceled. Then, request for message body redaction. More details [here](https://support.twilio.com/hc/en-us/articles/223133687-Deleting-messages-message-media-or-message-bodies).\n",
    "causes": "* `POST` body is missing parameters Body or Status.\n* Attempted to cancel the message and redact the message body at the same time.\n* Value for Status is invalid.\n* Message body redaction request does not have empty Body parameter.",
    "solutions": "* To cancel the message, include Status: canceled.\n* To redact the message body, ensure Body is empty. More details [here](https://support.twilio.com/hc/en-us/articles/223133687-Deleting-messages-message-media-or-message-bodies).\n* If you want to cancel and redact the message body: First, request the message to be canceled. Then, request for message body redaction. More details [here](https://support.twilio.com/hc/en-us/articles/223133687-Deleting-messages-message-media-or-message-bodies).",
    "description": "There is an issue with the request body.",
    "date_created": "2021-08-06T22:33:36Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30404,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Found",
    "secondary_message": "The resource was not found.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe resource was not found. Here are some examples of cases that may trigger a 404 error.\n\n### Possible causes\n\nUsing a base URL that is not `https://api.twilio.com`. For example, making requests to `https://twilio.com` or `https://www.twilio.com` will not work.\n\n### Possible solutions\n\nConfirm that the AccountSid and MessagingServiceSid is correct\n",
    "causes": "Using a base URL that is not `https://api.twilio.com`. For example, making requests to `https://twilio.com` or `https://www.twilio.com` will not work.",
    "solutions": "Confirm that the AccountSid and MessagingServiceSid is correct",
    "description": "The resource was not found. Here are some examples of cases that may trigger a 404 error.",
    "date_created": "2022-10-27T18:45:37Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30409,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "This message cannot be canceled",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when you try to cancel a message that is no longer in the `scheduled` state. Twilio lets you cancel a scheduled message by updating the `Message` resource and setting `Status` to `canceled`. The `canceled` status applies only to messages scheduled with a Messaging Service.\n\n### Possible causes\n\n- You attempted to cancel the message after it had already moved past `scheduled`. Cancellation applies only to scheduled messages, so this is the only point at which cancellation is available.\n- The message was not created as a scheduled message with a Messaging Service. The `canceled` status is only available for scheduled messages sent with a Messaging Service.\n- The message had already reached a later lifecycle state such as `queued`, `sending`, `sent`, `delivered`, `failed`, or `undelivered`. In that case, canceling it through the `Message` resource is no longer available.\n\n### Possible solutions\n\n- Cancel the message while it is still `scheduled` by updating the `Message` resource and setting `Status` to `canceled`.\n- Check the current `Status` of the `Message` resource before sending the cancellation request. If the status is no longer `scheduled`, create a new message instead of trying to cancel the existing one.\n- Use Messaging Service scheduled messages when you need cancellation support, since the documented cancellation flow applies to that message type.\n\n#### Additional resources\n\n- [Message Scheduling](/docs/messaging/features/message-scheduling)\n- [Message resource](/docs/messaging/api/message-resource)\n- [Debugging Common Issues with SMS](/docs/messaging/guides/debugging-common-issues)\n",
    "causes": "* You attempted to cancel the message after it had already moved past `scheduled`. Cancellation applies only to scheduled messages, so this is the only point at which cancellation is available.\n* The message was not created as a scheduled message with a Messaging Service. The `canceled` status is only available for scheduled messages sent with a Messaging Service.\n* The message had already reached a later lifecycle state such as `queued`, `sending`, `sent`, `delivered`, `failed`, or `undelivered`. In that case, canceling it through the `Message` resource is no longer available.",
    "solutions": "* Cancel the message while it is still `scheduled` by updating the `Message` resource and setting `Status` to `canceled`.\n* Check the current `Status` of the `Message` resource before sending the cancellation request. If the status is no longer `scheduled`, create a new message instead of trying to cancel the existing one.\n* Use Messaging Service scheduled messages when you need cancellation support, since the documented cancellation flow applies to that message type.",
    "description": "This error occurs when you try to cancel a message that is no longer in the `scheduled` state. Twilio lets you cancel a scheduled message by updating the `Message` resource and setting `Status` to `canceled`. The `canceled` status applies only to messages scheduled with a Messaging Service.",
    "date_created": "2021-08-06T22:34:55Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 30410,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Provider Timeout Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis Messaging error indicates that the provider used may be experiencing disruptions that result in errors or request timeouts. The message fails and is not retried to avoid duplicate delivery.\n\n### Possible causes\n\n- The provider is experiencing a service disruption or a request timeout.\n\n### Possible solutions\n\n- Try sending the message again later.\n- Use the Console Debugger in the Twilio Console to review message delivery errors before you resend.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Troubleshooting](/docs/comms/troubleshooting)\n",
    "causes": "* The provider is experiencing a service disruption or a request timeout.",
    "solutions": "* Try sending the message again later.\n* Use the Console Debugger in the Twilio Console to review message delivery errors before you resend.",
    "description": "This Messaging error indicates that the provider used may be experiencing disruptions that result in errors or request timeouts. The message fails and is not retried to avoid duplicate delivery.",
    "date_created": "2022-04-28T22:33:09Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 30436,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Phone Number SID",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe phone number SID is malformed or belongs to another account.\n\n### Possible causes\n\n- The phone number SID does not exist or does not belong to your account.\n- The phone number SID is not a 34 character string prefixed with \"PN\"\n\n### Possible solutions\n\n- Please specify a phone number SID for a toll free number you own.\n",
    "causes": "* The phone number SID does not exist or does not belong to your account.\n* The phone number SID is not a 34 character string prefixed with \"PN\"",
    "solutions": "* Please specify a phone number SID for a toll free number you own.",
    "description": "The phone number SID is malformed or belongs to another account.",
    "date_created": "2023-05-08T22:36:15Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30437,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Edit time expired",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe rejected toll-free verification time window has reached the 7 day expiration. An edit is accepted, but the toll-free number remains unverified and the submission is no longer prioritized, so time to process is similar to a new submission. Effective Nov 8, 2023, messaging traffic on this Toll-Free number is blocked until it's verified.\n\n### Possible causes\n\nThere were no edits to the verification within 7 days of its rejection.\n\n### Possible solutions\n\nEdit and re-submit the toll-free verification. The resubmission will still be received, but it is handled as a new submission, so the review will take slightly longer.\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "There were no edits to the verification within 7 days of its rejection.",
    "solutions": "Edit and re-submit the toll-free verification. The resubmission will still be received, but it is handled as a new submission, so the review will take slightly longer. [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The rejected toll-free verification time window has reached the 7 day expiration. An edit is accepted, but the toll-free number remains unverified and the submission is no longer prioritized, so time to process is similar to a new submission. Effective Nov 8, 2023, messaging traffic on this Toll-Free number is blocked until it's verified.",
    "date_created": "2023-05-18T18:16:32Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30440,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Unknown Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe toll-free phone number cannot be verified because Twilio returned an unknown error during the verification review. Messaging traffic on this Toll-Free phone number is blocked.\n\n### Possible causes\n\n- Twilio could not determine a specific rejection reason for the toll-free verification request.\n\n### Possible solutions\n\n- Contact Twilio Customer Support to investigate the rejection and determine the next step.\n- Review Toll-Free best practices before you submit a new verification request.\n\n#### Additional resources\n\n- [Toll-Free Verification Console Onboarding Guide](/docs/messaging/compliance/toll-free/console-onboarding)\n- [Buying a toll free number with Twilio](https://help.twilio.com/articles/223183168-Buying-a-toll-free-number-with-Twilio)\n",
    "causes": "* Twilio could not determine a specific rejection reason for the toll-free verification request.",
    "solutions": "* Contact Twilio Customer Support to investigate the rejection and determine the next step.\n* Review Toll-Free best practices before you submit a new verification request.",
    "description": "The toll-free phone number cannot be verified because Twilio returned an unknown error during the verification review. Messaging traffic on this Toll-Free phone number is blocked.",
    "date_created": "2022-09-30T17:06:03Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 30441,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll-Free phone number verification rejection - Disallowed: SHAFT - Sex",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category - (SHAFT: Sex).\n\nTwilio does not allow Hate speech, harassment, exploitative, abusive, or any communications that originate from a hate group.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category - (SHAFT: Sex). Twilio does not allow Hate speech, harassment, exploitative, abusive, or any communications that originate from a hate group.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2022-09-30T17:07:20Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30442,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll-Free phone number verification rejection - Disallowed: Spam",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the business or message content was found to be associated with a known spam or fraudulent campaign.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the business or message content was found to be associated with a known spam or fraudulent campaign.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2022-09-30T17:09:07Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30443,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll-Free verification rejection - Disallowed: Loan Marketing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (High-risk financial services: New loan soliciting).\n\nNew loan soliciting, Payday loans, Short term high-interest loans, Third-party loans and Student loans are disallowed content.\n\n\"Third-party\" means originating from any party other than the one which will service the loan. Examples of third-party loans could include: auto, mortgage, personal, etc. First party loan content is acceptable if it is not promotional messaging.\n\nNote: Any business with a terms of service or privacy policy that mentions sharing or selling consumer data/opt-in information is considered noncompliant.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (High-risk financial services: New loan soliciting). New loan soliciting, Payday loans, Short term high-interest loans, Third-party loans and Student loans are disallowed content. \"Third-party\" means originating from any party other than the one which will service the loan. Examples of third-party loans could include: auto, mortgage, personal, etc. First party loan content is acceptable if it is not promotional messaging. Note: Any business with a terms of service or privacy policy that mentions sharing or selling consumer data/opt-in information is considered noncompliant.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2022-09-30T17:10:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30444,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Fraud",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated Fraud.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated Fraud.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2022-09-30T17:12:16Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30445,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Could not validate business information",
    "secondary_message": "The Toll-Free phone number cannot be verified because of invalid information. Please check and confirm that all the business information submitted accurately represent the business that the end consumer has opted in to receive messages from. Please make necessary edits and resubmit.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\n### Possible causes\n\nThe Toll-Free phone number cannot be verified due to invalid information. This could be because the business details, such as the business name or address, could not be confirmed, or because the website URL provided is inaccessible, unavailable, or a generic placeholder like google.com or example.com. Or the ISV contact information was provided instead of its customer's contact information.\n\n### Possible solutions\n\n- Ensure all business information fields are valid and accurately represent the business who manages the opt-in and has the relationship with the consumer:\n\n  \\-- BusinessName\n\n  \\-- BusinessStreetAddress\n\n  \\-- BusinessCity\n\n  \\-- BusinessStateProvinceRegion\n\n  \\-- BusinessPostalCode\n\n  \\-- BusinessCountry\n\n  \\-- BusinessContactFirstName\n\n  \\-- BusinessContactLastName\n\n  \\-- BusinessContactEmail\n\n  \\-- BusinessContactPhone\n\n  \\-- BusinessWebsite\n\n* Correct the business information fields on toll-free verification submission by editing it and then resubmit it.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The Toll-Free phone number cannot be verified due to invalid information. This could be because the business details, such as the business name or address, could not be confirmed, or because the website URL provided is inaccessible, unavailable, or a generic placeholder like google.com or example.com. Or the ISV contact information was provided instead of its customer's contact information.",
    "solutions": "* Ensure all business information fields are valid and accurately represent the business who manages the opt-in and has the relationship with the consumer:\n\n  \\-- BusinessName\n\n  \\-- BusinessStreetAddress\n\n  \\-- BusinessCity\n\n  \\-- BusinessStateProvinceRegion\n\n  \\-- BusinessPostalCode\n\n  \\-- BusinessCountry\n\n  \\-- BusinessContactFirstName\n\n  \\-- BusinessContactLastName\n\n  \\-- BusinessContactEmail\n\n  \\-- BusinessContactPhone\n\n  \\-- BusinessWebsite * Correct the business information fields on toll-free verification submission by editing it and then resubmit it. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.",
    "date_created": "2022-09-30T17:13:15Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30446,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in not sufficient: express consent required",
    "secondary_message": "The Toll-Free phone number cannot be verified because you're sending marketing messages and the opt-in does not have express consent. Express consent is a clear and direct agreement from the end consumers, which may be given over text, on a written form, via a website, or verbally. The express consent should leave no ambiguity for why the consumer gave you their phone number, and for what type of communication they should expect from you. You must have express consent from each recipient you send a message to. Listing \"SMS\" in your Terms of Service or Privacy Policy is not Express Consent.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe Opt-in workflow provided in the toll-free verification is not sufficient. Express Consent is required. Express Consent is more than collecting a phone number - it is a voluntary, informed end user choice for a specific purpose - it requires upfront disclosure and intentional action. Explicit opt-in leaves no ambiguity for why the customer gave the phone number, and for how they expect the company will communicate with them. Every end business must have consent from each recipient they send a message to. Consumers may give permission over text, on a form, on a website, or verbally. Consumers may also give written permission. Listing \"SMS\" in your Terms of Service or Privacy Policy is not Express Consent.\n\nNote: If there is promotional messaging on this toll-free phone number, it requires express written consent.\n\nOpt-in refers to the process of getting a consumer's permission to send them text messages. According to TCPA law, businesses must have \"express written consent\" from the consumer before texting them. NonConsumer (A2P) Message Senders should:\n\n- Obtain a Consumer's consent to receive messages generally;\n- Obtain a Consumer's express written consent to specifically receive marketing messages;\n- Ensure that Consumers have the ability to revoke consent\n\n### Possible solutions\n\n- Correct your opt-in process to collect a consumer's express consent via CTIA guidelines and resubmit the toll free verification\n- Note: An opt-in call-to-action (CTA) with a checkbox must be unchecked by default\n\n[CITIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms)\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The Opt-in workflow provided in the toll-free verification is not sufficient. Express Consent is required. Express Consent is more than collecting a phone number - it is a voluntary, informed end user choice for a specific purpose - it requires upfront disclosure and intentional action. Explicit opt-in leaves no ambiguity for why the customer gave the phone number, and for how they expect the company will communicate with them. Every end business must have consent from each recipient they send a message to. Consumers may give permission over text, on a form, on a website, or verbally. Consumers may also give written permission. Listing \"SMS\" in your Terms of Service or Privacy Policy is not Express Consent. Note: If there is promotional messaging on this toll-free phone number, it requires express written consent. Opt-in refers to the process of getting a consumer's permission to send them text messages. According to TCPA law, businesses must have \"express written consent\" from the consumer before texting them. NonConsumer (A2P) Message Senders should: - Obtain a Consumer's consent to receive messages generally;\n- Obtain a Consumer's express written consent to specifically receive marketing messages;\n- Ensure that Consumers have the ability to revoke consent",
    "solutions": "* Correct your opt-in process to collect a consumer's express consent via CTIA guidelines and resubmit the toll free verification\n* Note: An opt-in call-to-action (CTA) with a checkbox must be unchecked by default [CITIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms) [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2022-09-30T17:14:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30447,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - phone number not provisioned to Twilio",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\n- The toll-free verification was submitted before the toll-free phone number completed porting to Twilio.\n- The toll-free phone number is not provisioned to Twilio.\n\n### Possible solutions\n\n- If the number is/was with another messaging provider at the time of verification, please ensure the porting or hosting process has been initiated and is complete. Then Delete the rejected toll-free verification and submit a new request after the port completes.\n- If it's not a porting scenario, contact Twilio Support.\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n",
    "causes": "* The toll-free verification was submitted before the toll-free phone number completed porting to Twilio.\n* The toll-free phone number is not provisioned to Twilio.",
    "solutions": "* If the number is/was with another messaging provider at the time of verification, please ensure the porting or hosting process has been initiated and is complete. Then Delete the rejected toll-free verification and submit a new request after the port completes.\n* If it's not a porting scenario, contact Twilio Support. [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2022-09-30T17:16:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30448,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll-Free phone number verification rejection - Age Gate",
    "secondary_message": "The Toll-Free phone number cannot be verified because an Age Gate is not present or is not acceptable on your website. Please add a robust age gate to your website or opt-in policy, and resubmit the toll free verification with the updated age gate information.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe Toll-Free phone number cannot be verified because an Age Gate is not present or is not acceptable on your website and/or opt-in policy.\n\n### Possible solutions\n\n- Add a robust age gate to your website or opt-in policy. Resubmit the toll free verification with the updated age gate information.\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The Toll-Free phone number cannot be verified because an Age Gate is not present or is not acceptable on your website and/or opt-in policy.",
    "solutions": "* Add a robust age gate to your website or opt-in policy. Resubmit the toll free verification with the updated age gate information. [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2022-09-30T17:17:08Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30449,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - URL issues in sample message",
    "secondary_message": "The Toll-Free phone number cannot be verified because of one or more issues related to the website URL in sample messages: 1. Links to websites embedded within a message cannot conceal or obscure the Message Sender's identity and are not intended to cause harm or deceive Consumers; 2. Public URL shortener cannot be used. A website URL used in messaging must be a dedicated custom domain that belongs to your business; 3. The domain must align with the message sender identified in the text message itself. Web addresses contained in messages as well as any websites to which they redirect should unambiguously identify the website owner and include contact information, such as an address. Please replace edit your sample message to include a branded URL and resubmit the toll free verification.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the website URL in the sample message that you submitted was either from a public URL shortener or is non-secure.\n\nLinks to websites embedded within a message cannot conceal or obscure the Message Sender's identity and are not intended to cause harm or deceive Consumers. A website URL used in messaging must be a dedicated custom domain that belongs to your business, not a free shared public link shortener.The domain must align with the message sender identified in the text message itself. Web addresses contained in messages as well as any websites to which they redirect should unambiguously identify the website owner (i.e., a person or legally registered business entity) and include contact information, such as a postal mailing address.\n\n### Possible solutions\n\n- Replace call to action (CTA) in sample message with a branded URL. Resubmit the toll free verification with an updated sample message.\n- Ensure that any URL's sent in messages are not sent from a public URL shortener.\n- Consider utilizing Twilio's Link Shortening to programmatically shorten long links with your own company branded domain.\n\n[Link Shortening](https://help.twilio.com/articles/1260804572090-How-can-I-send-shortened-URLs-links-in-my-messages)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the website URL in the sample message that you submitted was either from a public URL shortener or is non-secure. Links to websites embedded within a message cannot conceal or obscure the Message Sender's identity and are not intended to cause harm or deceive Consumers. A website URL used in messaging must be a dedicated custom domain that belongs to your business, not a free shared public link shortener.The domain must align with the message sender identified in the text message itself. Web addresses contained in messages as well as any websites to which they redirect should unambiguously identify the website owner (i.e., a person or legally registered business entity) and include contact information, such as a postal mailing address.",
    "solutions": "* Replace call to action (CTA) in sample message with a branded URL. Resubmit the toll free verification with an updated sample message.\n* Ensure that any URL's sent in messages are not sent from a public URL shortener.\n* Consider utilizing Twilio's Link Shortening to programmatically shorten long links with your own company branded domain. [Link Shortening](https://help.twilio.com/articles/1260804572090-How-can-I-send-shortened-URLs-links-in-my-messages) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2022-09-30T17:18:36Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30450,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message delivery blocked",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe destination number you are trying to reach is temporarily blocked from receiving this message.\n\n### Possible causes\n\nThis is because the SMS Pumping Protection feature has identified potential fraudulent messages being sent to the destination you are trying to reach.\n\nA temporary block on SMS traffic has been placed for the next 15-30 mins on the phone number you used. This block will be lifted at the end of this 15-30 minutes period. If further fraudulent activity is detected after this block, this pattern will continue with temporary 15-30 minutes blocks until the issue is no longer observed.\n\n### Possible solutions\n\nYou do not need to take any specific action. The disruption in traffic is usually temporary and will resolve in a couple of hours if we do not detect additional fraudulent activity.\n\n#### Continued issues with error 30450\n\nTwilio's support team can help investigate what went wrong with delivering your message. Please collect 3 or more message SIDs in your [SMS logs](https://www.twilio.com/console/sms/logs) from the last 24 hours that were flagged with Error 30453, and [open a support request.](https://www.twilio.com/console/support/tickets/create)\n\nAlternatively, you can use the optional `RiskCheck` parameter when [creating a Message](/docs/messaging/api/message-resource#create-a-message-resource) with the [Programmable Messaging API](/docs/messaging/api). To prevent a known/legitimate message from getting blocked in future by SMS Pumping Protection, include the `RiskCheck` parameter with value `disable` when creating the new Message resource.\n\nYou can also mark known/legitimate phone numbers using the Global Safe List feature so that they don't face any disruption . This provides an additional safety net against false positives, so that the traffic to this number never faces the above scenario. Add known phone numbers to the Safe List by using the [Global Safe List API.](/docs/usage/global-safe-list)\n",
    "causes": "This is because the SMS Pumping Protection feature has identified potential fraudulent messages being sent to the destination you are trying to reach. A temporary block on SMS traffic has been placed for the next 15-30 mins on the phone number you used. This block will be lifted at the end of this 15-30 minutes period. If further fraudulent activity is detected after this block, this pattern will continue with temporary 15-30 minutes blocks until the issue is no longer observed.",
    "solutions": "You do not need to take any specific action. The disruption in traffic is usually temporary and will resolve in a couple of hours if we do not detect additional fraudulent activity.",
    "description": "The destination number you are trying to reach is temporarily blocked from receiving this message.",
    "date_created": "2023-04-05T02:54:53Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30451,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll-Free phone number verification unable to process - address invalid",
    "secondary_message": "The Toll-Free phone number cannot be verified because the address is invalid. The address must be a valid address in US or Canada. Please edit the address fields and resubmit.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio is unable to process your Toll Free Verification request because it could not be validated by Twilio and could not be submitted for verification review.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the address is invalid. It could be due to:\n\n- The provided address is not a valid US or Canada address\n- Invalid State or Region\n- Invalid Country\n- Invalid House Number (or Unit/Apartment/Suite Number)\n- Invalid City\n- Invalid Postal Code\n- Invalid Street\n- Invalid Address - multiple issues\n\n### Possible solutions\n\nCorrect the address and resubmit the verification in Console or via the Messaging Compliance API. It is not recommended to delete the verification to resolve address validation issue.\n\nForbidden message categories\n\nhttps://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada\n\nToll-Free best practices can be found at\n\nhttps://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada\n",
    "causes": "The toll-free phone number cannot be verified because the address is invalid. It could be due to: - The provided address is not a valid US or Canada address\n- Invalid State or Region\n- Invalid Country\n- Invalid House Number (or Unit/Apartment/Suite Number)\n- Invalid City\n- Invalid Postal Code\n- Invalid Street\n- Invalid Address - multiple issues",
    "solutions": "Correct the address and resubmit the verification in Console or via the Messaging Compliance API. It is not recommended to delete the verification to resolve address validation issue. Forbidden message categories https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada Toll-Free best practices can be found at https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada",
    "description": "Twilio is unable to process your Toll Free Verification request because it could not be validated by Twilio and could not be submitted for verification review.",
    "date_created": "2023-08-14T19:27:51Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30452,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll-Free phone number verification unable to process - email invalid",
    "secondary_message": "\"The Toll-Free phone number cannot be verified because the email address is invalid. It could be due to: 1. Incorrectly formatted email address; 2. Unknown email domain; 3. Email is a suspected disposable address; 4. Email is invalid. Please correct the email address and resubmit. \"",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio is unable to process your Toll Free Verification request because it could not be validated by Twilio and could not be submitted for verification review.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the email address is invalid. It could be due to:\n\n- Incorrectly formatted email address\n- Unknown email domain\n- Email is a suspected disposable address\n- Email is invalid\n\n### Possible solutions\n\nCorrect the email address and resubmit the verification in Console via the Messaging Compliance API. It is not recommended to delete the verification to resolve email validation issue.\n\nForbidden message categories\n\nhttps://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada\n\nToll-Free best practices can be found at\n\nhttps://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada\n",
    "causes": "The toll-free phone number cannot be verified because the email address is invalid. It could be due to: - Incorrectly formatted email address\n- Unknown email domain\n- Email is a suspected disposable address\n- Email is invalid",
    "solutions": "Correct the email address and resubmit the verification in Console via the Messaging Compliance API. It is not recommended to delete the verification to resolve email validation issue. Forbidden message categories https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada Toll-Free best practices can be found at https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada",
    "description": "Twilio is unable to process your Toll Free Verification request because it could not be validated by Twilio and could not be submitted for verification review.",
    "date_created": "2023-08-14T19:31:17Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30453,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message couldn't be delivered",
    "secondary_message": "Message delivery blocked",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage couldn't be delivered to the destination number you are trying to reach temporarily.\n\n### Possible causes\n\n- This is because Twilio has identified potential fraudulent messages being sent to the destination you are trying to reach.\n- Hence SMS traffic can not be delivered to the destination phone number used for the next couple of hours. The traffic should return to normalcy post that. However, the SMS traffic could be undelivered for an even longer period if fraudulent activity doesn't subside & continues to go on.\n\n### Possible solutions\n\nYou do not need to take any specific action. The disruption in traffic is usually temporary and will resolve in a couple of hours if we do not detect additional fraudulent activity.\n\n#### Continued issues with error 30453\n\nTwilio's support team can help investigate what went wrong with delivering your message. Please collect 3 or more message SIDs in your [SMS logs](https://www.twilio.com/console/sms/logs) from the last 24 hours that were flagged with Error 30453, and [open a support request.](https://www.twilio.com/console/support/tickets/create)\n\nAlternatively, you can use the optional `RiskCheck` parameter when [creating a Message](/docs/messaging/api/message-resource#create-a-message-resource) with the [Programmable Messaging API](/docs/messaging/api). To prevent a known/legitimate message from getting blocked in future by SMS Pumping Protection, include the `RiskCheck` parameter with value `disable` when creating the new Message resource.\n\nYou can also mark known/legitimate phone numbers using the Global Safe List feature so that they don't face any disruption . This provides an additional safety net against false positives, so that the traffic to this number never faces the above scenario. Add known phone numbers to the Safe List by using the [Global Safe List API.](/docs/usage/global-safe-list)\n",
    "causes": "* This is because Twilio has identified potential fraudulent messages being sent to the destination you are trying to reach.\n* Hence SMS traffic can not be delivered to the destination phone number used for the next couple of hours. The traffic should return to normalcy post that. However, the SMS traffic could be undelivered for an even longer period if fraudulent activity doesn't subside & continues to go on.",
    "solutions": "You do not need to take any specific action. The disruption in traffic is usually temporary and will resolve in a couple of hours if we do not detect additional fraudulent activity.",
    "description": "Message couldn't be delivered to the destination number you are trying to reach temporarily.",
    "date_created": "2023-10-13T10:51:13Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30454,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account exceeded the messages limit",
    "secondary_message": "Account exceeded the messages limit",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nAccount sent too many messages which exceeded the messages limit.\n\n### Possible causes\n\nAccount exceeded the trial account messages limit.\n\n### Possible solutions\n\n- Consider upgrading your account to remove the restrictions. It takes 3-4 hours to reflect the changes in all systems. Please retry after that.\n",
    "causes": "Account exceeded the trial account messages limit.",
    "solutions": "* Consider upgrading your account to remove the restrictions. It takes 3-4 hours to reflect the changes in all systems. Please retry after that.",
    "description": "Account sent too many messages which exceeded the messages limit.",
    "date_created": "2023-10-17T09:52:21Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30455,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll-Free phone number verification rejection - Disallowed: SHAFT - Hate",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category - (SHAFT: Hate).\n\nTwilio does not allow Hate speech, harassment, exploitative, abusive, or any communications that originate from a hate group.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category - (SHAFT: Hate). Twilio does not allow Hate speech, harassment, exploitative, abusive, or any communications that originate from a hate group.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-21T19:45:22Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30456,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: SHAFT - Alcohol",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (SHAFT: Alcohol).\n\nAlcohol traffic is allowed on Toll Free, Short Code, and Long Code in the US, as long as proper age gating procedures are in place. Age gating means that website users must input their date of birth. It cannot be a yes or no question.\n\nAll age-gated content into Canada must be blocked across Toll Free, Short Code, and Long Code. The only way to send age-gated traffic into Canada (even with proper age-gating) is to receive a special carrier exemption. Allowed age gated content in Canada include: pocket knives, lighters, and non-alcoholic beverages.\n\n### Possible solutions\n\nAdd an Age Gate for your US business website. Resubmit the verification and provide proof in your opt-in workflow documentation that you have measures in place to ensure compliance.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (SHAFT: Alcohol). Alcohol traffic is allowed on Toll Free, Short Code, and Long Code in the US, as long as proper age gating procedures are in place. Age gating means that website users must input their date of birth. It cannot be a yes or no question. All age-gated content into Canada must be blocked across Toll Free, Short Code, and Long Code. The only way to send age-gated traffic into Canada (even with proper age-gating) is to receive a special carrier exemption. Allowed age gated content in Canada include: pocket knives, lighters, and non-alcoholic beverages.",
    "solutions": "Add an Age Gate for your US business website. Resubmit the verification and provide proof in your opt-in workflow documentation that you have measures in place to ensure compliance. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T01:02:12Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30457,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: SHAFT - Firearms",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (SHAFT: Firearms and accessories).\n\nFirearms and accessories are not allowed on Toll Free, Short Code, or Long Code regardless of age gating.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (SHAFT: Firearms and accessories). Firearms and accessories are not allowed on Toll Free, Short Code, or Long Code regardless of age gating.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.",
    "date_created": "2024-02-22T01:08:53Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30458,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: SHAFT - Tobacco / Vape",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (SHAFT: Tobacco/Vape).\n\nFirearms, Tobacco, Vape, and E-cigarettes are not allowed on Toll Free, Short Code, or Long Code regardless of age gating.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (SHAFT: Tobacco/Vape). Firearms, Tobacco, Vape, and E-cigarettes are not allowed on Toll Free, Short Code, or Long Code regardless of age gating.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T01:12:40Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30459,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Cannabis/CBD",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Illegal Substances/articles: Cannabis/CBD).\n\nMessages related to cannabis are not allowed in the United States as federal laws prohibit its sale, even though some states have legalized it. Similarly, messages related to CBD are not permissible in the United States, as certain states prohibit its sale. Twilio defines a cannabis message as any message which relates to the marketing or sale of a cannabis product, regardless of whether or not those messages explicitly contain cannabis terms, images, or links to cannabis websites.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Illegal Substances/articles: Cannabis/CBD). Messages related to cannabis are not allowed in the United States as federal laws prohibit its sale, even though some states have legalized it. Similarly, messages related to CBD are not permissible in the United States, as certain states prohibit its sale. Twilio defines a cannabis message as any message which relates to the marketing or sale of a cannabis product, regardless of whether or not those messages explicitly contain cannabis terms, images, or links to cannabis websites.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.",
    "date_created": "2024-02-22T01:16:05Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30460,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Third Party Debt Collection",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Debt collection or forgiveness: Third party debt collection). Third party debt collection is not permitted, consent must be obtained directly from end-users.\n\n\"Third-party debt collection\" means originating from any party other than the one who is owed the debt. For example, a hospital could send messages regarding bills for its own patients, assuming they provided opt-in to receive that messaging.\n\nDebt consolidation, debt reduction and credit repair programs are prohibited regardless if there is first-party consent.\n\nNote: While third party debt collection is not permitted, a debt collection business that has direct consent from a consumer to send related content may do so.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Debt collection or forgiveness: Third party debt collection). Third party debt collection is not permitted, consent must be obtained directly from end-users. \"Third-party debt collection\" means originating from any party other than the one who is owed the debt. For example, a hospital could send messages regarding bills for its own patients, assuming they provided opt-in to receive that messaging. Debt consolidation, debt reduction and credit repair programs are prohibited regardless if there is first-party consent. Note: While third party debt collection is not permitted, a debt collection business that has direct consent from a consumer to send related content may do so.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T17:15:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30461,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Gambling",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Gambling).\n\nGambling traffic is prohibited in the US and Canada on all number types (Toll Free, Short Code, Long Code). The gambling category includes, but is not limited to:\n\n- Casino apps\n- Websites that offer gambling\n- Sweepstakes\n- 50/50 Raffles\n- Contests\n- Betting/Sports picks\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Gambling). Gambling traffic is prohibited in the US and Canada on all number types (Toll Free, Short Code, Long Code). The gambling category includes, but is not limited to: - Casino apps\n- Websites that offer gambling\n- Sweepstakes\n- 50/50 Raffles\n- Contests\n- Betting/Sports picks",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T18:20:41Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30462,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Sweepstakes",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Gambling - Sweepstakes).\n\nGambling traffic is prohibited in the US and Canada on all number types (Toll Free, Short Code, Long Code). The gambling category includes, but is not limited to:\n\n- Casino apps\n- Websites that offer gambling\n- Sweepstakes\n- 50/50 Raffles\n- Contests\n- Betting/Sports picks\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Gambling - Sweepstakes). Gambling traffic is prohibited in the US and Canada on all number types (Toll Free, Short Code, Long Code). The gambling category includes, but is not limited to: - Casino apps\n- Websites that offer gambling\n- Sweepstakes\n- 50/50 Raffles\n- Contests\n- Betting/Sports picks",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:05:50Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30463,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Stock Alerts/Platforms",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (High-risk financial services: Stock alerts/stock platforms).\n\nNo businesses that solely operate in stocks, investing, or cryptocurrency are allowed to send SMS traffic. If there is a mixed use case where that is a partial aspect of the business it may be approved based on the other use case content.\n\nNote, however, that stock platforms are allowed a two-factor authentication (2FA) messaging use case.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (High-risk financial services: Stock alerts/stock platforms). No businesses that solely operate in stocks, investing, or cryptocurrency are allowed to send SMS traffic. If there is a mixed use case where that is a partial aspect of the business it may be approved based on the other use case content. Note, however, that stock platforms are allowed a two-factor authentication (2FA) messaging use case.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:08:59Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30464,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Cryptocurrency",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (High-risk financial services: Cryptocurrency).\n\nNo businesses that solely operate in stocks, investing, or cryptocurrency are allowed to send SMS traffic. If there is a mixed use case where that is a partial aspect of the business it may be approved based on the other use case content.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (High-risk financial services: Cryptocurrency). No businesses that solely operate in stocks, investing, or cryptocurrency are allowed to send SMS traffic. If there is a mixed use case where that is a partial aspect of the business it may be approved based on the other use case content.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:10:33Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30465,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Risk Investment/Get Rich Quick Schemes",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Get Rich Quick Schemes: Risk Investment).\n\nUse cases in this category pertain to minimal effort for maximum and/or guaranteed financial gains. These categories in the telecoms industry produce high consumer complaints and are not permissible on carrier routes.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Get Rich Quick Schemes: Risk Investment). Use cases in this category pertain to minimal effort for maximum and/or guaranteed financial gains. These categories in the telecoms industry produce high consumer complaints and are not permissible on carrier routes.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:12:10Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30466,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed - Debt Reduction",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Debt collection or forgiveness: Debt reduction).\n\nDebt consolidation, debt reduction and credit repair programs are prohibited regardless if there is first-party consent.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Debt collection or forgiveness: Debt reduction). Debt consolidation, debt reduction and credit repair programs are prohibited regardless if there is first-party consent.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:13:37Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30467,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Credit Repair",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Debt collection or forgiveness: Credit/debt repair).\n\nDebt consolidation, debt reduction and credit repair programs are prohibited regardless if there is first-party consent.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide additional information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Debt collection or forgiveness: Credit/debt repair). Debt consolidation, debt reduction and credit repair programs are prohibited regardless if there is first-party consent.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide additional information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:15:57Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30468,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Third-party Lead Generation",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Third-party lead generation services and marketing).\n\nAny third-party use cases are strictly forbidden. Consent must be obtained by the end business directly from consumers. Consent cannot be given to one business and then transferred to another. Any business with a terms of service or privacy policy that mentions sharing or selling consumer data/opt-in information is considered noncompliant.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Third-party lead generation services and marketing). Any third-party use cases are strictly forbidden. Consent must be obtained by the end business directly from consumers. Consent cannot be given to one business and then transferred to another. Any business with a terms of service or privacy policy that mentions sharing or selling consumer data/opt-in information is considered noncompliant.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:19:55Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 30469,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Illegal substances/articles",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Illegal substances/articles).\n\nCannabis, CBD, Kratom, or drug paraphernalia product businesses are prohibited from utilizing SMS/MMS messaging on Twilio in the US and Canada, regardless of content. These restrictions apply regardless of the federal or state legality. All use cases for these are disallowed from sending SMS whether it contains cannabis content or not, even for 2FA purposes it is not permissible for such entities. Illegal substances/articles include, but are not limited to:\n\n- Cannabis\n- CBD\n- Kratom\n- Paraphernalia products\n- Vape/E-cigs\n- Fireworks\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (Illegal substances/articles). Cannabis, CBD, Kratom, or drug paraphernalia product businesses are prohibited from utilizing SMS/MMS messaging on Twilio in the US and Canada, regardless of content. These restrictions apply regardless of the federal or state legality. All use cases for these are disallowed from sending SMS whether it contains cannabis content or not, even for 2FA purposes it is not permissible for such entities. Illegal substances/articles include, but are not limited to: - Cannabis\n- CBD\n- Kratom\n- Paraphernalia products\n- Vape/E-cigs\n- Fireworks",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:22:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30470,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - High Risk: Deceptive Marketing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (High-risk: Deceptive Marketing).\n\nMarketing messages must be truthful, not misleading, and, when appropriate, backed by scientific evidence in order to meet the standard held by the Federal Trade Commission's (FTC) Truth In Advertising rules. The FTC prohibits unfair or deceptive advertising in any medium, including text messages.\n\n### Possible solutions\n\nIf you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case.\n\n[Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the submission indicated that the business is associated with or the toll-free verification submission indicated a forbidden messaging category (High-risk: Deceptive Marketing). Marketing messages must be truthful, not misleading, and, when appropriate, backed by scientific evidence in order to meet the standard held by the Federal Trade Commission's (FTC) Truth In Advertising rules. The FTC prohibits unfair or deceptive advertising in any medium, including text messages.",
    "solutions": "If you are confident that your business and messaging use case does not fit into forbidden message categories, contact Twilio Support to provide Additional Information that explains your use case. [Forbidden Message Categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:24:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30471,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - High Risk - Non-secured URL in sample message",
    "secondary_message": "The Toll-Free phone number cannot be verified because the campaign provided an unsecure URL in the sample message. URLs sent in message content are required to support the \"https:\" protocol and the sample message needs to reflect that. Please correct the URL with https:// in your sample message and resubmit the verification.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nToll-Free phone number cannot be verified because the campaign provided an unsecure URL in the sample message. URLs sent in message content are required to support the https: protocol and the sample message needs to reflect that.\n\n### Possible solutions\n\n- Correct the URL with https:// in your sample message and resubmit the verification\n- Ensure that any URL's sent in messages will be secured with https://\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "Toll-Free phone number cannot be verified because the campaign provided an unsecure URL in the sample message. URLs sent in message content are required to support the https: protocol and the sample message needs to reflect that.",
    "solutions": "* Correct the URL with https:// in your sample message and resubmit the verification\n* Ensure that any URL's sent in messages will be secured with https:// [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:29:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30472,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Could not verify Business",
    "secondary_message": "The Toll-Free phone number cannot be verified because we are unable to verify the business. You may have errors in or multiple business information fields: Business Name, Business Street Address, Business City, Business State/Province/Region, Business Postal Code, Business Country, Business Contact First Name, Business Contact Last Name, Business Contact Email, Business Contact Phone, Business Website. Please correct the business information fields and resubmit",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified. The business could not be verified, this may not be a valid business.\n\n### Possible solutions\n\n- Verify that the business is a valid business\n- Ensure all business information fields are valid and accurately represent the business who manages the opt-in and has the relationship with the consumer:\n\n  **BusinessName**, **BusinessStreetAddress**, **BusinessCity**, **BusinessStateProvinceRegion**, **BusinessPostalCode**, **BusinessCountry**, **BusinessContactFirstName**, **BusinessContactLastName**, **BusinessContactEmail**, **BusinessContactPhone**, **BusinessWebsite**\n- Correct the business information fields on toll-free verification submission by editing it and then resubmit it.\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified. The business could not be verified, this may not be a valid business.",
    "solutions": "* Verify that the business is a valid business\n* Ensure all business information fields are valid and accurately represent the business who manages the opt-in and has the relationship with the consumer:\n\n  **BusinessName**, **BusinessStreetAddress**, **BusinessCity**, **BusinessStateProvinceRegion**, **BusinessPostalCode**, **BusinessCountry**, **BusinessContactFirstName**, **BusinessContactLastName**, **BusinessContactEmail**, **BusinessContactPhone**, **BusinessWebsite**\n* Correct the business information fields on toll-free verification submission by editing it and then resubmit it. [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:41:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30473,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Cannot validate business website URL",
    "secondary_message": "The Toll-Free phone number cannot be verified because of issues related to your business website. This could be due to: 1. The business website does not load or is not operational; 2. The business website is in a private state that requires a login/password; 3. The business website URL doesn't pertain to the website the consumer is engaging with. Please try to access your business website via incognito mode and see if it is viewable, and confirm the business website URL in the submission is correct and resubmit",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the business website submitted is not accessible or available. The business website URL must pertain to the website the consumer is engaging with. In any of the following cases, the business website won't be reviewable:\n\n- The business website does not load or is not operational\n- The business website is in a private state that requires a login/password\n- The business website provided is a generic or unrelated URL such as google.com, example.com, or similar placeholders.\n\n### Possible solutions\n\n- Check the business website URL in the submission is correct and resubmit if it's incorrect\n- Check that the business website URL is a live website. Resubmit once it is live.\n- Make sure that the business website URL is not in a private state that requires a login/password.. Resubmit after it is corrected.\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the business website submitted is not accessible or available. The business website URL must pertain to the website the consumer is engaging with. In any of the following cases, the business website won't be reviewable: - The business website does not load or is not operational\n- The business website is in a private state that requires a login/password\n- The business website provided is a generic or unrelated URL such as google.com, example.com, or similar placeholders.",
    "solutions": "* Check the business website URL in the submission is correct and resubmit if it's incorrect\n* Check that the business website URL is a live website. Resubmit once it is live.\n* Make sure that the business website URL is not in a private state that requires a login/password.. Resubmit after it is corrected. [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:43:57Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30474,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Need end business",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the ISV information was submitted instead of the end business. For ISVs or systems & software powering SMS: If your software enables other businesses to send SMS/MMS to their customers, it's expected that the information provided represents the end-business (your customer) that is engaging with the opted-in consumer, since they have the relationship with the end consumer (the receiver of the messages).\n\nWhen you submit a Verification, you need to collect and disclose the information of the business. As a best practice, this should become part of your onboarding process and customer education. Note that there is no trial experience supported on toll-free phone numbers within the industry, so if you have a trial product that includes SMS/MMS, you must collect for a full verification to send messages.\n\nSubmissions that are missing information for the end-business, or are populated with ISV/aggregator information may be rejected. Exceptions may apply when the use case clearly showcases that the ISV manages opt-in mechanisms and is the sole message content creator.\n\nNote: If you are an ISV, prior to submitting a Toll-Free Verification request with Twilio, you will need to create a TrustHub primary Customer Profile for your business within your parent account and get it approved. A primary customer profile must have the business identity set to ISV, and then submitted and approved before registering end businesses. For step-by-step guidance, see [Create a Primary Customer Profile](/docs/trust-hub/trusthub-rest-api/console-create-a-primary-customer-profile).\n\n### Possible solutions\n\nRe-submit the toll-free verification with your end-business's information (address, website, etc)\n\nResources:\n\n[Toll-free verification for ISVs](https://support.twilio.com/hc/en-us/articles/13263383206299-Toll-Free-Verification-for-ISVs)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "The toll-free phone number cannot be verified because the ISV information was submitted instead of the end business. For ISVs or systems & software powering SMS: If your software enables other businesses to send SMS/MMS to their customers, it's expected that the information provided represents the end-business (your customer) that is engaging with the opted-in consumer, since they have the relationship with the end consumer (the receiver of the messages). When you submit a Verification, you need to collect and disclose the information of the business. As a best practice, this should become part of your onboarding process and customer education. Note that there is no trial experience supported on toll-free phone numbers within the industry, so if you have a trial product that includes SMS/MMS, you must collect for a full verification to send messages. Submissions that are missing information for the end-business, or are populated with ISV/aggregator information may be rejected. Exceptions may apply when the use case clearly showcases that the ISV manages opt-in mechanisms and is the sole message content creator. Note: If you are an ISV, prior to submitting a Toll-Free Verification request with Twilio, you will need to create a TrustHub primary Customer Profile for your business within your parent account and get it approved. A primary customer profile must have the business identity set to ISV, and then submitted and approved before registering end businesses. For step-by-step guidance, see [Create a Primary Customer Profile](/docs/trust-hub/trusthub-rest-api/console-create-a-primary-customer-profile).",
    "solutions": "Re-submit the toll-free verification with your end-business's information (address, website, etc) Resources: [Toll-free verification for ISVs](https://support.twilio.com/hc/en-us/articles/13263383206299-Toll-Free-Verification-for-ISVs) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:52:44Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30475,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in not sufficient: Cannot combine consent for messaging with requirement for service",
    "secondary_message": "The Toll-Free phone number cannot be verified because your opt-in mechanism requires that the consumer opt-in to messaging as a requirement of using your service, which is not allowed. Consent cannot be a requirement for your business's service. A business may not combine collecting a consumer's phone number with opting-in to receive marketing messaging. Please ensure your opt-in mechanism is a distinct action during a consumer's sign up for your service.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour opt-in mechanism requires that the consumer opt-in to messaging as a requirement of using your service, which is not allowed.\n\nConsent cannot be a requirement for your business's service. A business may not combine collecting a consumer's phone number with opting-in to receive marketing messaging. An explicit opt-in leaves no ambiguity for why the customer gave the phone number, and for how they expect the company will communicate with them.\n\nOpt-in refers to the process of getting a consumer's permission to send them text messages. According to TCPA law, businesses must have \"express written consent\" from the consumer before texting them. NonConsumer (A2P) Message Senders should:\n\n- Obtain a Consumer's consent to receive messages generally;\n- Obtain a Consumer's express written consent to specifically receive marketing messages; and\n- Ensure that Consumers have the ability to revoke consent.\n\nNote: If there is promotional messaging on this toll-free phone number, it requires express written consent.\n\n### Possible solutions\n\n- Ensure your opt-in mechanism is a distinct action during a consumer's sign up for your service.\n- An opt-in call-to-action (CTA) with a checkbox must be unchecked by default.\n\nResources:\n\n[CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms)\n\n[Consent/Opt-In](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=with%20Twilio%20policies.-,Consent%20/%20Opt%2Din,-What%20Is%20Proper) in [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your opt-in mechanism requires that the consumer opt-in to messaging as a requirement of using your service, which is not allowed. Consent cannot be a requirement for your business's service. A business may not combine collecting a consumer's phone number with opting-in to receive marketing messaging. An explicit opt-in leaves no ambiguity for why the customer gave the phone number, and for how they expect the company will communicate with them. Opt-in refers to the process of getting a consumer's permission to send them text messages. According to TCPA law, businesses must have \"express written consent\" from the consumer before texting them. NonConsumer (A2P) Message Senders should: - Obtain a Consumer's consent to receive messages generally;\n- Obtain a Consumer's express written consent to specifically receive marketing messages; and\n- Ensure that Consumers have the ability to revoke consent. Note: If there is promotional messaging on this toll-free phone number, it requires express written consent.",
    "solutions": "* Ensure your opt-in mechanism is a distinct action during a consumer's sign up for your service.\n* An opt-in call-to-action (CTA) with a checkbox must be unchecked by default. Resources: [CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms) [Consent/Opt-In](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=with%20Twilio%20policies.-,Consent%20/%20Opt%2Din,-What%20Is%20Proper) in [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T21:57:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30476,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in not provided",
    "secondary_message": "The Toll-Free phone number cannot be verified because of one or more issues related to the proof of opt-in for consumer to provide consent: 1. You may have selected an opt-in method without description or providing evidence. Please note that every end business must have consent from each recipient they send a message to; 2. You may have submitted a URL for the opt-in workflow, but it did not demonstrate how the consumer opts-in to messaging; 3. You may have submitted a URL that is not reachable, resolvable and accessible to the general public. The URL can contain a link to the web form where the consumer opts-in, a hosted image file with a screenshot of how the consumer opts-in, or a link to a document that tells the story of the opt-in (such as a verbal opt-in script). Please do not submit a URL that requires the user to log into your website to see, and resubmit with a link that tells the story of your opt-in workflow.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nProof of opt-in for consumer to provide consent was not provided. Every end business must have consent from each recipient they send a message to. It's insufficient to select an opt-in method without description or providing evidence.\n\nYou may have submitted a URL for the opt-in workflow, but it did not demonstrate how the consumer opts-in to messaging. The URL can contain a link to the web form where the consumer opts-in, a hosted image file with a screenshot of how the consumer opts-in, or a link to a document that tells the story of the opt-in (such as a verbal opt-in script).\n\nAny URL submitted must be reachable, resolvable and of access to the public.\n\nOpt-in refers to the process of getting a consumer's permission to send them text messages. A2P message Senders should:\n\n- Obtain a Consumer's consent to receive messages generally;\n- Obtain a Consumer's express written consent to specifically receive marketing messages; and\n- Ensure that Consumers have the ability to revoke consent.\n\nNote: Any business with a terms of service or privacy policy that mentions sharing or selling consumer data/opt-in information is considered noncompliant.\n\n### Possible solutions\n\nResubmit the toll-free verification with a link that tells the story of your opt-in workflow.\n\nResources:\n\n[CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms)\n\n[Consent/Opt-In](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=with%20Twilio%20policies.-,Consent%20/%20Opt%2Din,-What%20Is%20Proper) in [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Proof of opt-in for consumer to provide consent was not provided. Every end business must have consent from each recipient they send a message to. It's insufficient to select an opt-in method without description or providing evidence. You may have submitted a URL for the opt-in workflow, but it did not demonstrate how the consumer opts-in to messaging. The URL can contain a link to the web form where the consumer opts-in, a hosted image file with a screenshot of how the consumer opts-in, or a link to a document that tells the story of the opt-in (such as a verbal opt-in script). Any URL submitted must be reachable, resolvable and of access to the public. Opt-in refers to the process of getting a consumer's permission to send them text messages. A2P message Senders should: - Obtain a Consumer's consent to receive messages generally;\n- Obtain a Consumer's express written consent to specifically receive marketing messages; and\n- Ensure that Consumers have the ability to revoke consent. Note: Any business with a terms of service or privacy policy that mentions sharing or selling consumer data/opt-in information is considered noncompliant.",
    "solutions": "Resubmit the toll-free verification with a link that tells the story of your opt-in workflow. Resources: [CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms) [Consent/Opt-In](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=with%20Twilio%20policies.-,Consent%20/%20Opt%2Din,-What%20Is%20Proper) in [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T22:03:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30477,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in - Third party information sharing not allowed",
    "secondary_message": "The Toll-Free phone number cannot be verified because your Terms of Service or Privacy Policy indicates that Opt-in is shared with third parties, affiliates, partners, etc. Any business with a terms of service or privacy policy that mentions sharing or selling consumer opt-in data is considered noncompliant as consent cannot be bought, sold, shared, transferred, or exchanged. Please do the following and then resubmit: 1. Revise your processes to not share or sell consumer data/opt-in information with anyone; 2. Revise Terms of Service and Privacy Policy on your website to remove all third party opt-in sharing language; 3. If you have a \"reasons we can share your personal information matrix\" in your privacy policy that is not modifiable, adding a note below it that Messaging opt-in consent will not be shared is acceptable.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe Terms of Service or Privacy Policy on the business's website indicates that Opt-in is shared with third parties, affiliates, partners, etc. Any business with a terms of service or privacy policy that mentions sharing or selling consumer opt-in data is considered noncompliant. Consent cannot be bought, sold, shared, transferred, or exchanged.\n\n### Possible solutions\n\nRevise your processes to not share or sell consumer data/opt-in information with anyone. Revise your Terms of Service and Privacy Policy to remove all third party opt-in sharing language. If you have a \"reasons we can share your personal information matrix\" in your privacy policy that is not modifiable, adding a note below it that Messaging opt-in consent will not be shared is acceptable. Once complete and live on the business website, resubmit the toll free verification.\n\nResources:\n\n[CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms)\n\n[Consent/Opt-In](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=with%20Twilio%20policies.-,Consent%20/%20Opt%2Din,-What%20Is%20Proper) in [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The Terms of Service or Privacy Policy on the business's website indicates that Opt-in is shared with third parties, affiliates, partners, etc. Any business with a terms of service or privacy policy that mentions sharing or selling consumer opt-in data is considered noncompliant. Consent cannot be bought, sold, shared, transferred, or exchanged.",
    "solutions": "Revise your processes to not share or sell consumer data/opt-in information with anyone. Revise your Terms of Service and Privacy Policy to remove all third party opt-in sharing language. If you have a \"reasons we can share your personal information matrix\" in your privacy policy that is not modifiable, adding a note below it that Messaging opt-in consent will not be shared is acceptable. Once complete and live on the business website, resubmit the toll free verification. Resources: [CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms) [Consent/Opt-In](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=with%20Twilio%20policies.-,Consent%20/%20Opt%2Din,-What%20Is%20Proper) in [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T22:06:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30478,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - single phone number used for multiple businesses",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nA toll-free verification has been received for a toll-free phone number that is assigned to multiple businesses. The toll-free phone number must be 1:1 with a single business, it cannot be used for multiple businesses.\n\n### Possible solutions\n\n- Use the toll-free phone number for only one business.\n- Resubmit the verification and provide Additional Information that explains how you rectified this.\n\nResources:\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n\n[Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n",
    "causes": "A toll-free verification has been received for a toll-free phone number that is assigned to multiple businesses. The toll-free phone number must be 1:1 with a single business, it cannot be used for multiple businesses.",
    "solutions": "* Use the toll-free phone number for only one business.\n* Resubmit the verification and provide Additional Information that explains how you rectified this. Resources: [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada) [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T22:11:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30479,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - justification needed for more than five toll free phone numbers per businesses",
    "secondary_message": "The Toll-Free phone number cannot be verified because you're already using 5 Toll-Free numbers. In addition, sending to Canadian handsets qualify for 1 Toll-Free number per business, as outlined in the Canadian Code of Conduct guide. For businesses requesting 6 or more toll-free phone numbers, please include a detailed explanation in the \"Additional Information\" field as to the reason for additional toll-free phone numbers.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nVerification supports up to 5 toll-free phone numbers for a single entity in a verification submission with no additional information required for traffic intended for US subscribers. For businesses requesting 6 or more toll-free phone numbers approved for verification, please include a detailed explanation in the \"Additional Information\" field as to the reason for additional toll-free phone numbers.\n\nFor ISVs or aggregators who provide messaging service to businesses, it's expected that the information provided represents the entity (your customer) that is engaging with the opted-in consumer. Therefore, a toll-free verification should not be associated with the ISV. Exceptions may apply when the use case clearly showcases that the ISV manages opt-in mechanisms and is the sole message content creator.\n\nSending to Canadian handsets qualify for 1 toll-free number per business, as outlined in the Canadian Code of Conduct guide.\n\n### Possible solutions\n\nResubmit and explain the reason for additional toll-free phone numbers within the Additional information field.\n\nResources:\n\n[CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms)\n\n[Consent/Opt-In](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=with%20Twilio%20policies.-,Consent%20/%20Opt%2Din,-What%20Is%20Proper) in [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Verification supports up to 5 toll-free phone numbers for a single entity in a verification submission with no additional information required for traffic intended for US subscribers. For businesses requesting 6 or more toll-free phone numbers approved for verification, please include a detailed explanation in the \"Additional Information\" field as to the reason for additional toll-free phone numbers. For ISVs or aggregators who provide messaging service to businesses, it's expected that the information provided represents the entity (your customer) that is engaging with the opted-in consumer. Therefore, a toll-free verification should not be associated with the ISV. Exceptions may apply when the use case clearly showcases that the ISV manages opt-in mechanisms and is the sole message content creator. Sending to Canadian handsets qualify for 1 toll-free number per business, as outlined in the Canadian Code of Conduct guide.",
    "solutions": "Resubmit and explain the reason for additional toll-free phone numbers within the Additional information field. Resources: [CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms) [Consent/Opt-In](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=with%20Twilio%20policies.-,Consent%20/%20Opt%2Din,-What%20Is%20Proper) in [Twilio's Messaging Policy](https://www.twilio.com/en-us/legal/messaging-policy) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected.Effective Jan 31st, 2024, messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T22:16:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30480,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll-Free phone number verification rejection - Disallowed - Phishing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free phone number is blocked.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe toll-free phone number cannot be verified because the business or message content was found to be associated with a known Phishing campaign.\n\n### Possible solutions\n\nContact Twilio Support to provide Additional Information that explains your use case.\n\nResources:\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The toll-free phone number cannot be verified because the business or message content was found to be associated with a known Phishing campaign.",
    "solutions": "Contact Twilio Support to provide Additional Information that explains your use case. Resources: [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free phone number is blocked. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2024-02-22T22:20:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30481,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Toll Free verification -  Requested Cancellation  ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe toll-free verification request was canceled after a cancellation request was submitted.\n\n### Possible causes\n\n- A customer submitted a request to cancel the toll-free verification.\n\n### Possible solutions\n\n- Submit a new toll-free verification request if you still need to verify the number.\n\n#### Additional resources\n\n- [Toll-Free Verification Console Onboarding Guide](/docs/messaging/compliance/toll-free/console-onboarding)\n- [Delete a toll-free verification](/docs/messaging/compliance/toll-free/console-onboarding#delete-a-toll-free-verification)\n- [Get started with toll-free verification using the API](/docs/messaging/compliance/toll-free/api-onboarding)\n",
    "causes": "* A customer submitted a request to cancel the toll-free verification.",
    "solutions": "* Submit a new toll-free verification request if you still need to verify the number.",
    "description": "The toll-free verification request was canceled after a cancellation request was submitted.",
    "date_created": "2025-04-15T17:08:57Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 30482,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Business email requires an official domain",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe email address provided in your business information does not use an official business domain. Free or personal email services (like Gmail, Yahoo, Outlook) may not be accepted unless they can be verified on your official business website as a legitimate contact method for your business.\n\n### Possible solutions\n\n- Update your submission with an email address that uses your business domain (e.g., [contact@yourbusiness.com](mailto:contact@yourbusiness.com))\n- If you don't have a business domain email, create one through your website hosting service\n- If you must use a free email service, ensure it's listed on your business website as an official contact method\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The email address provided in your business information does not use an official business domain. Free or personal email services (like Gmail, Yahoo, Outlook) may not be accepted unless they can be verified on your official business website as a legitimate contact method for your business.",
    "solutions": "* Update your submission with an email address that uses your business domain (e.g., <contact@yourbusiness.com>)\n* If you don't have a business domain email, create one through your website hosting service\n* If you must use a free email service, ensure it's listed on your business website as an official contact method [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T15:47:29Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30483,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Contact must be a business representative",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe contact name provided does not appear to be an actual person authorized to represent the business. Generic names or titles such as \"Admin,\" \"Support,\" or incomplete names are not accepted.\n\n### Possible solutions\n\n- Provide the full first and last name of an authorized business representative\n- Ensure the person listed holds an official role within the business\n- Do not use generic titles, roles, or partial names\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The contact name provided does not appear to be an actual person authorized to represent the business. Generic names or titles such as \"Admin,\" \"Support,\" or incomplete names are not accepted.",
    "solutions": "* Provide the full first and last name of an authorized business representative\n* Ensure the person listed holds an official role within the business\n* Do not use generic titles, roles, or partial names [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T15:50:08Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30484,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Business name and office record mismatch",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe business name provided in your submission does not match what appears on your corporate website or other official documents. This may include situations where:\n\n- A different business name is displayed on your website\n- You're operating under a \"Doing Business As\" (DBA) name but didn't clarify this in the submission\n\n### Possible solutions\n\n- Update the business name to exactly match what appears on your website or official documentation\n- If you operate under a DBA name, update the DBA field in your submission and provide supporting documentation\n- Ensure consistency between your verification submission and your web presence\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The business name provided in your submission does not match what appears on your corporate website or other official documents. This may include situations where: - A different business name is displayed on your website\n- You're operating under a \"Doing Business As\" (DBA) name but didn't clarify this in the submission",
    "solutions": "* Update the business name to exactly match what appears on your website or official documentation\n* If you operate under a DBA name, update the DBA field in your submission and provide supporting documentation\n* Ensure consistency between your verification submission and your web presence [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T15:51:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30485,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message couldn't be delivered",
    "secondary_message": "Message couldn't be delivered",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage couldn't be delivered to the destination number you are trying to reach temporarily.\n\n### Possible causes\n\n- This is because Twilio has identified potential fraudulent messages being sent to the destination you are trying to reach.\n- Hence SMS traffic can not be delivered to the destination phone number used for the next couple of hours. The traffic should return to normalcy post that. However, the SMS traffic could be undelivered for an even longer period if fraudulent activity doesn't subside & continues to go on.\n\n### Possible solutions\n\nYou do not need to take any specific action. The disruption in traffic is usually temporary and will resolve in a couple of hours if we do not detect additional fraudulent activity.\n\n#### Continued issues with error 30485\n\nTwilio's support team can help investigate what went wrong with delivering your message. Please collect 3 or more message SIDs in your [SMS logs](https://www.twilio.com/console/sms/logs) from the last 24 hours that were flagged with Error 30485, and [open a support request.](https://www.twilio.com/console/support/tickets/create)\n",
    "causes": "* This is because Twilio has identified potential fraudulent messages being sent to the destination you are trying to reach.\n* Hence SMS traffic can not be delivered to the destination phone number used for the next couple of hours. The traffic should return to normalcy post that. However, the SMS traffic could be undelivered for an even longer period if fraudulent activity doesn't subside & continues to go on.",
    "solutions": "You do not need to take any specific action. The disruption in traffic is usually temporary and will resolve in a couple of hours if we do not detect additional fraudulent activity.",
    "description": "Message couldn't be delivered to the destination number you are trying to reach temporarily.",
    "date_created": "2024-05-09T11:33:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30486,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Toll Free verification rejection - HELP keyword response must meet requirements",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe HELP keyword response provided in your submission does not meet compliance requirements. Common issues include:\n\n- Missing customer contact details (phone number, email, or website)\n- Missing your business/brand name\n- Incomplete or unclear support information\n- Non-compliant formatting or content\n\n### Possible solutions\n\n- Update your HELP response to include:\n\n  - Your business/brand name\n  - Customer contact details (phone, email, or website)\n  - Clear instructions for getting assistance\n  - Hours of availability (if applicable)\n- Ensure the response is concise yet complete\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The HELP keyword response provided in your submission does not meet compliance requirements. Common issues include: - Missing customer contact details (phone number, email, or website)\n- Missing your business/brand name\n- Incomplete or unclear support information\n- Non-compliant formatting or content",
    "solutions": "* Update your HELP response to include:\n\n  * Your business/brand name\n  * Customer contact details (phone, email, or website)\n  * Clear instructions for getting assistance\n  * Hours of availability (if applicable)\n* Ensure the response is concise yet complete [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T17:06:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30487,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Toll Free verification rejection - Charitable organization must provide 501(c)(3) verification",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour organization is identified as a charitable entity soliciting donations, but:\n\n- Verification of 501(c)(3) tax-exempt status was not provided\n- The accreditation URL was either missing or invalid\n- The submitted information does not confirm nonprofit status\n\n### Possible solutions\n\n- Ensure your organization is registered as a 501(c)(3) tax-exempt entity\n- Provide a valid accreditation URL from a recognized nonprofit accreditation source such as:\n\n  - BBB Wise Giving Alliance\n  - Charity Navigator\n  - GuideStar\n- Verify that all submitted details match your official nonprofit records\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your organization is identified as a charitable entity soliciting donations, but: - Verification of 501(c)(3) tax-exempt status was not provided\n- The accreditation URL was either missing or invalid\n- The submitted information does not confirm nonprofit status",
    "solutions": "* Ensure your organization is registered as a 501(c)(3) tax-exempt entity\n* Provide a valid accreditation URL from a recognized nonprofit accreditation source such as:\n\n  * BBB Wise Giving Alliance\n  * Charity Navigator\n  * GuideStar\n* Verify that all submitted details match your official nonprofit records [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-16T15:53:14Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30488,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Toll Free verification rejection - DBA name must be accurately provided",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe business name or brand listed in your submission does not align with your registered business details. This inconsistency may be due to:\n\nUsing a brand name that differs from your registered business name Operating under a \"Doing Business As\" (DBA) name but leaving the DBA field blank\n\n### Possible solutions\n\n- If your company operates under a DBA name, update the DBA field with the correct trade name\n- Ensure the business name in your submission matches your official registration\n- Provide documentation showing the relationship between your registered business name and operating name if requested\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The business name or brand listed in your submission does not align with your registered business details. This inconsistency may be due to: Using a brand name that differs from your registered business name Operating under a \"Doing Business As\" (DBA) name but leaving the DBA field blank",
    "solutions": "* If your company operates under a DBA name, update the DBA field with the correct trade name\n* Ensure the business name in your submission matches your official registration\n* Provide documentation showing the relationship between your registered business name and operating name if requested [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-16T15:54:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30489,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Website must be established and active",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe website provided in your submission appears to be:\n\n- Incomplete or under construction\n- Not yet launched\n- Lacking sufficient business information to establish credibility\n- Missing essential details such as contact information or services offered\n\n### Possible solutions\n\n- Submit a fully developed, live website with clear business information\n- Ensure your website includes:\n\n  - Complete contact information\n  - Description of services provided\n  - Business details that match your verification submission\n  - Content that establishes business legitimacy\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The website provided in your submission appears to be: - Incomplete or under construction\n- Not yet launched\n- Lacking sufficient business information to establish credibility\n- Missing essential details such as contact information or services offered",
    "solutions": "* Submit a fully developed, live website with clear business information\n* Ensure your website includes:\n\n  * Complete contact information\n  * Description of services provided\n  * Business details that match your verification submission\n  * Content that establishes business legitimacy [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:06:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30490,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Social platform must be established and active",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe social media platform provided as your business's web presence appears to be:\n\n- Newly created with minimal history\n- Inactive or rarely updated\n- Lacking sufficient content to establish business credibility\n- Missing business information or engagement\n\n### Possible solutions\n\n- Submit a more established social media account that demonstrates business legitimacy\n- Ensure your social profile includes:\n\n  - Regular posts and activity\n  - Clear business information\n  - Engagement that establishes legitimacy\n- Alternatively, provide a functional business website instead of a social media profile\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The social media platform provided as your business's web presence appears to be: - Newly created with minimal history\n- Inactive or rarely updated\n- Lacking sufficient content to establish business credibility\n- Missing business information or engagement",
    "solutions": "* Submit a more established social media account that demonstrates business legitimacy\n* Ensure your social profile includes:\n\n  * Regular posts and activity\n  * Clear business information\n  * Engagement that establishes legitimacy\n* Alternatively, provide a functional business website instead of a social media profile [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:08:07Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30491,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Website is password protected or requires login",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe website URL provided in your submission could not be fully reviewed because:\n\n- It requires a username and password to access\n- A login page prevents verification of your business details\n- Content needed for verification is behind restricted access\n\n### Possible solutions\n\n- Provide a publicly accessible version of your website that allows verification of business information\n- If your website cannot be made public for security reasons, submit screenshots displaying the necessary business details in the \"Additional Information\" field\n- Create a public landing page with your business information while maintaining secure access to other areas\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The website URL provided in your submission could not be fully reviewed because: - It requires a username and password to access\n- A login page prevents verification of your business details\n- Content needed for verification is behind restricted access",
    "solutions": "* Provide a publicly accessible version of your website that allows verification of business information\n* If your website cannot be made public for security reasons, submit screenshots displaying the necessary business details in the \"Additional Information\" field\n* Create a public landing page with your business information while maintaining secure access to other areas [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:12:17Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30492,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Business website URL must display branding",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe website URL provided does not clearly reflect your business identity, making verification difficult. This may be due to:\n\n- Using a generic, system-generated URL that doesn't include your business name\n- Providing a URL from a third-party e-commerce platform or URL shortener without clear business branding\n- Lack of visible business branding on the website itself\n\n### Possible solutions\n\n- Submit a URL that includes your business name (e.g., [www.yourbusinessname.com](http://www.yourbusinessname.com))\n- Ensure your website clearly displays company branding including name, logo, and identifying information\n- If using a third-party platform, set up a custom domain or ensure your business branding is prominently featured\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The website URL provided does not clearly reflect your business identity, making verification difficult. This may be due to: - Using a generic, system-generated URL that doesn't include your business name\n- Providing a URL from a third-party e-commerce platform or URL shortener without clear business branding\n- Lack of visible business branding on the website itself",
    "solutions": "* Submit a URL that includes your business name (e.g., [www.yourbusinessname.com](http://www.yourbusinessname.com))\n* Ensure your website clearly displays company branding including name, logo, and identifying information\n* If using a third-party platform, set up a custom domain or ensure your business branding is prominently featured [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:13:35Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30493,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Privacy policy or terms URL missing or inaccessible",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe Privacy Policy and/or Terms and Conditions URL in your submission:\n\n- Was not provided\n- Is not accessible or returns an error\n- Contains no actual privacy policy or terms content\n- Is incomplete or under construction\n\n### Possible solutions\n\n- Provide an accessible URL that links directly to your Privacy Policy and/or Terms and Conditions\n- Ensure these documents are complete and publicly viewable\n- If hosting these documents separately, confirm the links are working properly\n- Make sure the content specifically addresses messaging and data practices\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The Privacy Policy and/or Terms and Conditions URL in your submission: - Was not provided\n- Is not accessible or returns an error\n- Contains no actual privacy policy or terms content\n- Is incomplete or under construction",
    "solutions": "* Provide an accessible URL that links directly to your Privacy Policy and/or Terms and Conditions\n* Ensure these documents are complete and publicly viewable\n* If hosting these documents separately, confirm the links are working properly\n* Make sure the content specifically addresses messaging and data practices [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:14:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30494,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - ISV or reseller name must be provided",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour submission indicates that an Independent Software Vendor (ISV) or reseller is being used, but:\n\n- The ISV/reseller field was left blank\n- The information was not provided in the appropriate field\n- The submission mentions an ISV/reseller but doesn't identify them\n\n### Possible solutions\n\n- Update the ISV/Reseller field with the correct details of the software provider\n- Ensure the name provided matches the actual software vendor being used\n- Complete all required fields related to ISVs or resellers if your business uses their services\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your submission indicates that an Independent Software Vendor (ISV) or reseller is being used, but: - The ISV/reseller field was left blank\n- The information was not provided in the appropriate field\n- The submission mentions an ISV/reseller but doesn't identify them",
    "solutions": "* Update the ISV/Reseller field with the correct details of the software provider\n* Ensure the name provided matches the actual software vendor being used\n* Complete all required fields related to ISVs or resellers if your business uses their services [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:15:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30495,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Projected message volume exceeds use case limits",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe message volume requested in your submission appears disproportionately high for the stated use case or business size. This may be due to:\n\n- Requesting authorization for message volumes that don't align with your business scale\n- A use case that doesn't support the scale of messaging requested\n- Insufficient justification for high-volume messaging\n\n### Possible solutions\n\n- Provide a detailed justification for the requested volume in the \"Additional Information\" field\n- Include information about your target audience size and messaging frequency\n- Explain how the requested volume aligns with your business needs and use case\n- Adjust your projected volume to better match your actual business requirements\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The message volume requested in your submission appears disproportionately high for the stated use case or business size. This may be due to: - Requesting authorization for message volumes that don't align with your business scale\n- A use case that doesn't support the scale of messaging requested\n- Insufficient justification for high-volume messaging",
    "solutions": "* Provide a detailed justification for the requested volume in the \"Additional Information\" field\n* Include information about your target audience size and messaging frequency\n* Explain how the requested volume aligns with your business needs and use case\n* Adjust your projected volume to better match your actual business requirements [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:17:16Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30496,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Use case and use case summary inconsistent",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThere is a mismatch between the selected use case and the use case summary in your submission. For example:\n\n- Use case is listed as \"Account Alerts\" but the summary describes marketing messages\n- Different types of messages are described in the various sections of your submission\n- The content contradicts the selected use case category\n\n### Possible solutions\n\n- Review your submission to ensure the use case and use case summary align perfectly\n- Update either the use case selection or the summary to ensure consistency\n- Make sure all sections of your submission reflect the same messaging purpose\n- Avoid mixing different use cases in a single submission\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "There is a mismatch between the selected use case and the use case summary in your submission. For example: - Use case is listed as \"Account Alerts\" but the summary describes marketing messages\n- Different types of messages are described in the various sections of your submission\n- The content contradicts the selected use case category",
    "solutions": "* Review your submission to ensure the use case and use case summary align perfectly\n* Update either the use case selection or the summary to ensure consistency\n* Make sure all sections of your submission reflect the same messaging purpose\n* Avoid mixing different use cases in a single submission [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:18:33Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30498,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in workflow must match submission details",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe opt-in workflow description in your submission doesn't match the actual opt-in example provided. For example:\n\n- Your description mentions a verbal opt-in, but you provided a web form example\n- The opt-in method described differs from what was demonstrated\n- Details in the description contradict what's shown in the provided example\n\n### Possible solutions\n\n- Update either the opt-in workflow description or the provided example to ensure consistency\n- Make sure your description accurately reflects your actual opt-in process\n- Provide examples that match the exact opt-in method you've described\n- Ensure all aspects of your submission align with your actual business practices\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The opt-in workflow description in your submission doesn't match the actual opt-in example provided. For example: - Your description mentions a verbal opt-in, but you provided a web form example\n- The opt-in method described differs from what was demonstrated\n- Details in the description contradict what's shown in the provided example",
    "solutions": "* Update either the opt-in workflow description or the provided example to ensure consistency\n* Make sure your description accurately reflects your actual opt-in process\n* Provide examples that match the exact opt-in method you've described\n* Ensure all aspects of your submission align with your actual business practices [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:20:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30499,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Message content doesn't align with use case",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe sample message content provided in your submission:\n\n- Does not align with the use case you selected\n- Is incomplete or missing key details (such as your business name)\n- Contains content that contradicts your stated messaging purpose\n- References messaging types different from what you've described elsewhere\n\n### Possible solutions\n\n- Update your sample message content to accurately reflect the approved use case\n- Ensure all required message components are included (business name, opt-out instructions, etc.)\n- Make sure the message content is complete and properly formatted\n- Remove any content that doesn't align with your stated messaging purpose\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The sample message content provided in your submission: - Does not align with the use case you selected\n- Is incomplete or missing key details (such as your business name)\n- Contains content that contradicts your stated messaging purpose\n- References messaging types different from what you've described elsewhere",
    "solutions": "* Update your sample message content to accurately reflect the approved use case\n* Ensure all required message components are included (business name, opt-out instructions, etc.)\n* Make sure the message content is complete and properly formatted\n* Remove any content that doesn't align with your stated messaging purpose [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:22:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30500,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Twilio Internal Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio's platform encountered an internal error while processing this message.\n\n### Possible causes\n\n- If this message was being processed during an incident, it is possible that this message was affected. See [Twilio's status page](https://status.twilio.com/) for ongoing and historical incidents.\n- There was an unrecoverable anomaly that occurred while processing this particular message.\n\n### Possible solutions\n\n- Try sending the message again.\n- If the subsequent attempt also fails with this error, [contact support](https://support.twilio.com/hc/en-us/articles/360048500694-Contacting-Twilio-Support) referencing the affected Message Sids for further troubleshooting.\n",
    "causes": "* If this message was being processed during an incident, it is possible that this message was affected. See [Twilio's status page](https://status.twilio.com/) for ongoing and historical incidents.\n* There was an unrecoverable anomaly that occurred while processing this particular message.",
    "solutions": "* Try sending the message again.\n* If the subsequent attempt also fails with this error, [contact support](https://support.twilio.com/hc/en-us/articles/360048500694-Contacting-Twilio-Support) referencing the affected Message Sids for further troubleshooting.",
    "description": "Twilio's platform encountered an internal error while processing this message.",
    "date_created": "2023-12-08T10:20:51Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30501,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Political campaigns must have Campaign Verify token",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour submission indicates political messaging, but:\n\n- A Campaign Verify token was not provided\n- The Campaign Verify token is invalid or expired\n- The verification details were incomplete\n\nCampaign Verify is a nonpartisan service that verifies the identity of political organizations and candidates. This verification is mandatory for all political messaging campaigns.\n\n### Possible solutions\n\n- Obtain a Campaign Verify token by registering through the Campaign Verify website ([www.campaignverify.org](http://www.campaignverify.org))\n- Ensure the token is linked to the political entity listed in your submission\n- Resubmit your application with the valid Campaign Verify token included\n- Provide the token in the \"Additional Information\" field\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your submission indicates political messaging, but: - A Campaign Verify token was not provided\n- The Campaign Verify token is invalid or expired\n- The verification details were incomplete Campaign Verify is a nonpartisan service that verifies the identity of political organizations and candidates. This verification is mandatory for all political messaging campaigns.",
    "solutions": "* Obtain a Campaign Verify token by registering through the Campaign Verify website ([www.campaignverify.org](http://www.campaignverify.org))\n* Ensure the token is linked to the political entity listed in your submission\n* Resubmit your application with the valid Campaign Verify token included\n* Provide the token in the \"Additional Information\" field [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:32:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30502,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Political campaigns must submit FEC ID",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour submission indicates a political campaign, but:\n\n- No Federal Election Commission (FEC) Committee ID was provided for federal-level campaigns\n- No state committee registration number was provided for state-level campaigns\n- The provided identification could not be verified\n\n### Possible solutions\n\n- For federal-level campaigns: Submit a valid FEC Committee ID\n- For state-level campaigns: Submit a state committee registration number or equivalent official documentation\n- Include this information in the \"Additional Information\" field when resubmitting\n- Ensure all registration numbers are current and verifiable\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your submission indicates a political campaign, but: - No Federal Election Commission (FEC) Committee ID was provided for federal-level campaigns\n- No state committee registration number was provided for state-level campaigns\n- The provided identification could not be verified",
    "solutions": "* For federal-level campaigns: Submit a valid FEC Committee ID\n* For state-level campaigns: Submit a state committee registration number or equivalent official documentation\n* Include this information in the \"Additional Information\" field when resubmitting\n* Ensure all registration numbers are current and verifiable [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:33:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30503,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Confirmation message missing required details",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe confirmation message example provided in your submission is missing required elements. These may include:\n\n- Program name or product description\n- Customer care contact information (phone number or HELP command)\n- Opt-out instructions (e.g., \"Reply STOP to opt out\")\n- Message frequency disclosure (e.g., \"Recurring\" or \"Msg freq may vary\")\n- Pricing statement (e.g., \"Msg & Data rates may apply\")\n\n### Possible solutions\n\n- Update your confirmation message to include all required details:\n\n  - Business/program name\n  - Customer care information\n  - Opt-out instructions\n  - Message frequency disclosure (for recurring messages)\n  - Pricing statement\n- Ensure clarity and consistency across all messaging examples\n- Resubmit with the complete confirmation message\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The confirmation message example provided in your submission is missing required elements. These may include: - Program name or product description\n- Customer care contact information (phone number or HELP command)\n- Opt-out instructions (e.g., \"Reply STOP to opt out\")\n- Message frequency disclosure (e.g., \"Recurring\" or \"Msg freq may vary\")\n- Pricing statement (e.g., \"Msg & Data rates may apply\")",
    "solutions": "* Update your confirmation message to include all required details:\n\n  * Business/program name\n  * Customer care information\n  * Opt-out instructions\n  * Message frequency disclosure (for recurring messages)\n  * Pricing statement\n* Ensure clarity and consistency across all messaging examples\n* Resubmit with the complete confirmation message [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:33:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30504,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Single opt-in cannot cover multiple use cases",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour opt-in process attempts to cover multiple message types with a single consent action. Common issues include:\n\n- Using a single checkbox for both promotional and informational messages\n- Opt-in text that doesn't differentiate between different message types\n- Combining multiple use cases under one consent mechanism\n\n### Possible solutions\n\n- Create separate opt-in mechanisms for each message type (e.g., promotional, informational)\n- Clearly describe the purpose of each opt-in and the specific types of messages users will receive\n- Ensure users can select which message types they want to receive independently\n- Resubmit with evidence of separate opt-ins for different message types\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your opt-in process attempts to cover multiple message types with a single consent action. Common issues include: - Using a single checkbox for both promotional and informational messages\n- Opt-in text that doesn't differentiate between different message types\n- Combining multiple use cases under one consent mechanism",
    "solutions": "* Create separate opt-in mechanisms for each message type (e.g., promotional, informational)\n* Clearly describe the purpose of each opt-in and the specific types of messages users will receive\n* Ensure users can select which message types they want to receive independently\n* Resubmit with evidence of separate opt-ins for different message types [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:34:08Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30505,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in must be optional, not required",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour opt-in process requires users to consent to receiving messages as a condition for completing unrelated actions such as:\n\n- Creating an account\n- Making a purchase\n- Accessing services\n- Completing registration\n\n### Possible solutions\n\n- Update your forms to ensure users can complete their primary action without being required to opt in to messaging\n- Clearly indicate that messaging consent is optional and separate from the main service\n- Use language that makes the optional nature of messaging clear (e.g., \"Would you also like to receive...\")\n- Ensure users can decline messaging while still completing their primary action\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your opt-in process requires users to consent to receiving messages as a condition for completing unrelated actions such as: - Creating an account\n- Making a purchase\n- Accessing services\n- Completing registration",
    "solutions": "* Update your forms to ensure users can complete their primary action without being required to opt in to messaging\n* Clearly indicate that messaging consent is optional and separate from the main service\n* Use language that makes the optional nature of messaging clear (e.g., \"Would you also like to receive...\")\n* Ensure users can decline messaging while still completing their primary action [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:36:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30506,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-ins must clearly reflect end business",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nFor submissions by Independent Software Vendors (ISVs) or platform providers, the opt-in examples provided:\n\n- Display the ISV's branding instead of the end business\n- Don't clearly identify which business the user is consenting to receive messages from\n- Fail to establish a direct relationship between the end user and the business sending messages\n\n### Possible solutions\n\n- Submit opt-in examples showing the end business's branding and language\n- Ensure opt-in text explicitly indicates that users are consenting to receive messages from the specific end business\n- Remove or minimize ISV/platform branding that might confuse the consent relationship\n- Make it clear which business will be sending messages to users\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "For submissions by Independent Software Vendors (ISVs) or platform providers, the opt-in examples provided: - Display the ISV's branding instead of the end business\n- Don't clearly identify which business the user is consenting to receive messages from\n- Fail to establish a direct relationship between the end user and the business sending messages",
    "solutions": "* Submit opt-in examples showing the end business's branding and language\n* Ensure opt-in text explicitly indicates that users are consenting to receive messages from the specific end business\n* Remove or minimize ISV/platform branding that might confuse the consent relationship\n* Make it clear which business will be sending messages to users [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:37:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30507,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in does not match use case",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThere is a mismatch between the opt-in language or method and the use case described in your submission. Examples include:\n\n- Opt-in text indicates consent for promotional messages, but the use case is for informational messages\n- Consent language doesn't specifically cover the message types described in your use case\n- The opt-in method is inappropriate for the described messaging purpose\n\n### Possible solutions\n\n- Ensure your opt-in explicitly matches the use case described in your submission\n- Update the opt-in text to specifically reference the intended message types\n- For informational messages: \"I agree to receive account updates and notifications\"\n- For promotional messages: \"I agree to receive marketing messages and special offers\"\n- Align all aspects of your submission with the actual messaging purpose\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "There is a mismatch between the opt-in language or method and the use case described in your submission. Examples include: - Opt-in text indicates consent for promotional messages, but the use case is for informational messages\n- Consent language doesn't specifically cover the message types described in your use case\n- The opt-in method is inappropriate for the described messaging purpose",
    "solutions": "* Ensure your opt-in explicitly matches the use case described in your submission\n* Update the opt-in text to specifically reference the intended message types\n* For informational messages: \"I agree to receive account updates and notifications\"\n* For promotional messages: \"I agree to receive marketing messages and special offers\"\n* Align all aspects of your submission with the actual messaging purpose [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:38:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30508,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Pre-selected opt-in checkbox is not allowed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour opt-in process uses pre-selected or pre-checked options for consent, which fails to provide users with a clear choice. This includes:\n\n- Checkboxes that are automatically checked by default\n- Toggle switches that are pre-enabled\n- Any opt-in mechanism where the default state is \"opted in\"\n\n### Possible solutions\n\n- Remove all pre-selected options from your opt-in forms\n- Ensure all checkboxes or consent mechanisms start in the unchecked/unselected state\n- Require users to actively select or confirm their consent\n- Update your opt-in workflow to require affirmative action from users\n- Provide evidence of the corrected opt-in process when resubmitting\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your opt-in process uses pre-selected or pre-checked options for consent, which fails to provide users with a clear choice. This includes: - Checkboxes that are automatically checked by default\n- Toggle switches that are pre-enabled\n- Any opt-in mechanism where the default state is \"opted in\"",
    "solutions": "* Remove all pre-selected options from your opt-in forms\n* Ensure all checkboxes or consent mechanisms start in the unchecked/unselected state\n* Require users to actively select or confirm their consent\n* Update your opt-in workflow to require affirmative action from users\n* Provide evidence of the corrected opt-in process when resubmitting [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:40:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30509,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in URL not accessible",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe URL provided for your opt-in example is inaccessible. This could be because:\n\n- The URL leads to a login page requiring credentials\n- The link is broken or returns an error\n- The URL doesn't lead to the intended opt-in content\n- The page is no longer available or has been modified\n\n### Possible solutions\n\n- Provide a publicly accessible URL that does not require login credentials\n- If the opt-in process is behind authentication, provide screenshots instead\n- Verify the URL is functional and leads directly to the opt-in example before submission\n- If using screenshots, ensure they clearly show the complete opt-in process\n- Host the opt-in example on a public page specifically for verification purposes\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The URL provided for your opt-in example is inaccessible. This could be because: - The URL leads to a login page requiring credentials\n- The link is broken or returns an error\n- The URL doesn't lead to the intended opt-in content\n- The page is no longer available or has been modified",
    "solutions": "* Provide a publicly accessible URL that does not require login credentials\n* If the opt-in process is behind authentication, provide screenshots instead\n* Verify the URL is functional and leads directly to the opt-in example before submission\n* If using screenshots, ensure they clearly show the complete opt-in process\n* Host the opt-in example on a public page specifically for verification purposes [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:41:21Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30510,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in example must be complete and branded",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe opt-in example provided is insufficient for verification because it is:\n\n- Cropped or incomplete, not showing the full opt-in process\n- Missing branding that identifies the business collecting consent\n- Blurry or illegible, making text difficult to read\n- Missing context or surrounding page elements that provide clarity\n\n### Possible solutions\n\n- Submit a complete opt-in example that includes all text, buttons, and branding\n- Ensure the business name or logo is clearly visible in the example\n- Provide high-quality, legible images or screenshots\n- Include enough context to understand the full opt-in experience\n- Make sure the example clearly shows how users provide consent\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The opt-in example provided is insufficient for verification because it is: - Cropped or incomplete, not showing the full opt-in process\n- Missing branding that identifies the business collecting consent\n- Blurry or illegible, making text difficult to read\n- Missing context or surrounding page elements that provide clarity",
    "solutions": "* Submit a complete opt-in example that includes all text, buttons, and branding\n* Ensure the business name or logo is clearly visible in the example\n* Provide high-quality, legible images or screenshots\n* Include enough context to understand the full opt-in experience\n* Make sure the example clearly shows how users provide consent [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:42:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30511,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Verbal consent script must be provided",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour submission indicates verbal consent is used, but:\n\n- No verbal consent script was provided\n- The script or documentation for verbal opt-in was incomplete\n- The verbal consent process could not be verified\n\n### Possible solutions\n\n- Submit a detailed script showing the exact language used for obtaining verbal consent\n- Include a simulated conversation demonstrating how users are informed and how their consent is collected\n- Provide documentation of how verbal consent is recorded and stored\n- Include instructions for how users can opt-out after providing verbal consent\n- Consider implementing a confirmation text message after verbal opt-in\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your submission indicates verbal consent is used, but: - No verbal consent script was provided\n- The script or documentation for verbal opt-in was incomplete\n- The verbal consent process could not be verified",
    "solutions": "* Submit a detailed script showing the exact language used for obtaining verbal consent\n* Include a simulated conversation demonstrating how users are informed and how their consent is collected\n* Provide documentation of how verbal consent is recorded and stored\n* Include instructions for how users can opt-out after providing verbal consent\n* Consider implementing a confirmation text message after verbal opt-in [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:43:52Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30512,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Age gate required for age-restricted content",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour business or messaging content relates to age-restricted products or services, but:\n\n- No age verification process was included in your opt-in flow\n- The age verification method is insufficient (e.g., simply asking \"Are you 18+?\")\n- Age verification is mentioned but not demonstrated in your submission\n\n### Possible solutions\n\n- Implement a robust age gate that verifies users meet the required age (21+ for alcohol, 18+ for other restricted items)\n- Use acceptable age verification methods such as:\n\n  - Requiring users to enter their full date of birth (MM/DD/YYYY)\n  - Using a third-party age verification service\n- Provide evidence of your age verification process in your submission\n- Ensure age verification occurs before messaging opt-in for age-restricted content\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your business or messaging content relates to age-restricted products or services, but: - No age verification process was included in your opt-in flow\n- The age verification method is insufficient (e.g., simply asking \"Are you 18+?\")\n- Age verification is mentioned but not demonstrated in your submission",
    "solutions": "* Implement a robust age gate that verifies users meet the required age (21+ for alcohol, 18+ for other restricted items)\n* Use acceptable age verification methods such as:\n\n  * Requiring users to enter their full date of birth (MM/DD/YYYY)\n  * Using a third-party age verification service\n* Provide evidence of your age verification process in your submission\n* Ensure age verification occurs before messaging opt-in for age-restricted content [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:45:17Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30513,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in not sufficient: Language Unclear",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe opt-in language in your submission is insufficient because:\n\n- It lacks clear language requesting consent for messaging\n- SMS or text messaging isn't explicitly mentioned\n- Consent language is hidden in terms of service or privacy policy\n- The language doesn't clearly indicate what the user is agreeing to receive\n\n### Possible solutions\n\n- Add explicit language to your opt-in form that clearly requests consent for SMS messaging\n- Separate messaging consent from other agreements (privacy policy, terms of service)\n- Use clear statements like \"I agree to receive text messages from \\[Business Name]\"\n- Ensure consent language is prominently displayed, not hidden or in small print\n- Describe the types of messages users will receive (e.g., promotions, account alerts)\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The opt-in language in your submission is insufficient because: - It lacks clear language requesting consent for messaging\n- SMS or text messaging isn't explicitly mentioned\n- Consent language is hidden in terms of service or privacy policy\n- The language doesn't clearly indicate what the user is agreeing to receive",
    "solutions": "* Add explicit language to your opt-in form that clearly requests consent for SMS messaging\n* Separate messaging consent from other agreements (privacy policy, terms of service)\n* Use clear statements like \"I agree to receive text messages from \\[Business Name]\"\n* Ensure consent language is prominently displayed, not hidden or in small print\n* Describe the types of messages users will receive (e.g., promotions, account alerts) [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:46:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30515,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Valid opt-in required for all submissions",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour submission relies on an organizational or government exemption for messaging consent, but:\n\n- Toll-Free verification requires explicit opt-in evidence regardless of exemption status\n- No opt-in process was provided despite claiming exemption\n- The exemption claimed does not apply to toll-free messaging requirements\n\n### Possible solutions\n\n- Explicit consumer consent (opt-in) is required for all toll-free verifications, without exception\n- Implement a compliant opt-in process that meets TCPA and carrier requirements\n- Provide evidence of this opt-in process in your submission\n- Do not rely on organizational or government exemptions for toll-free verification\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your submission relies on an organizational or government exemption for messaging consent, but: - Toll-Free verification requires explicit opt-in evidence regardless of exemption status\n- No opt-in process was provided despite claiming exemption\n- The exemption claimed does not apply to toll-free messaging requirements",
    "solutions": "* Explicit consumer consent (opt-in) is required for all toll-free verifications, without exception\n* Implement a compliant opt-in process that meets TCPA and carrier requirements\n* Provide evidence of this opt-in process in your submission\n* Do not rely on organizational or government exemptions for toll-free verification [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:47:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30516,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Double opt-in required for this use case",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour messaging use case requires a double opt-in process, but:\n\n- Only a single opt-in was provided\n- The double opt-in process was not documented\n- The confirmation step was missing or incomplete\n\nDouble opt-in is required for certain use cases including shopping cart reminders.\n\n### Possible solutions\n\n- Implement a double opt-in process for your specific use case\n- Ensure the process includes:\n\n  1. Initial opt-in (web form, keyword, etc.)\n  2. Confirmation message asking user to confirm subscription\n  3. User's affirmative response to complete enrollment\n- Document the complete double opt-in flow in your submission\n- Provide example messages for both steps of the double opt-in process\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your messaging use case requires a double opt-in process, but: - Only a single opt-in was provided\n- The double opt-in process was not documented\n- The confirmation step was missing or incomplete Double opt-in is required for certain use cases including shopping cart reminders.",
    "solutions": "* Implement a double opt-in process for your specific use case\n* Ensure the process includes:\n\n  1. Initial opt-in (web form, keyword, etc.)\n  2. Confirmation message asking user to confirm subscription\n  3. User's affirmative response to complete enrollment\n* Document the complete double opt-in flow in your submission\n* Provide example messages for both steps of the double opt-in process [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:49:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30517,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Shopping cart reminders must follow specific guidelines",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour submission indicates shopping cart reminder messages, but does not meet the specific requirements for this use case:\n\n- The opt-in terms don't explicitly mention shopping cart reminders\n- There is no double opt-in mechanism via text\n- The privacy policy doesn't disclose how abandoned cart data is captured\n- The terms and conditions don't reflect the shopping cart reminder policy\n\n### Possible solutions\n\n- Update your opt-in terms to explicitly state that the program includes shopping cart reminders\n- Implement a double opt-in mechanism via text that clearly informs users about cart reminders\n- Revise your privacy policy to disclose how abandoned cart data is captured (cookies, plugins, etc.)\n- Ensure terms and conditions reflect your shopping cart reminder policy\n- Limit reminders to one alert per unique abandoned cart within 48 hours\n- Confirm cart notifications do not complete transactions or collect payment via text\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your submission indicates shopping cart reminder messages, but does not meet the specific requirements for this use case: - The opt-in terms don't explicitly mention shopping cart reminders\n- There is no double opt-in mechanism via text\n- The privacy policy doesn't disclose how abandoned cart data is captured\n- The terms and conditions don't reflect the shopping cart reminder policy",
    "solutions": "* Update your opt-in terms to explicitly state that the program includes shopping cart reminders\n* Implement a double opt-in mechanism via text that clearly informs users about cart reminders\n* Revise your privacy policy to disclose how abandoned cart data is captured (cookies, plugins, etc.)\n* Ensure terms and conditions reflect your shopping cart reminder policy\n* Limit reminders to one alert per unique abandoned cart within 48 hours\n* Confirm cart notifications do not complete transactions or collect payment via text [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:50:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30518,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Call-to-action missing required disclosures",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe call-to-action (CTA) in your opt-in process is missing required disclosures. These may include:\n\n- Brand/Program Name\n- Message frequency disclosure for recurring programs\n- Opt-in disclosure and pricing statement (e.g., \"Msg & Data rates may apply\")\n- Customer support and Opt-Out details\n- Inconsistency between the Toll-Free Number in the submission and the one in the Call-to-Action\n\n### Possible solutions\n\n- Update your Call-to-Action to include all required details:\n\n  - Your business or program name\n  - Message frequency disclosure (for recurring messages)\n  - Standard pricing statement (\"Msg & Data rates may apply\")\n  - Customer support information and opt-out instructions\n- Ensure consistency between the toll-free number in your submission and in your Call-to-Action\n- Include all disclosures in proximity to where consumers provide their phone number\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The call-to-action (CTA) in your opt-in process is missing required disclosures. These may include: - Brand/Program Name\n- Message frequency disclosure for recurring programs\n- Opt-in disclosure and pricing statement (e.g., \"Msg & Data rates may apply\")\n- Customer support and Opt-Out details\n- Inconsistency between the Toll-Free Number in the submission and the one in the Call-to-Action",
    "solutions": "* Update your Call-to-Action to include all required details:\n\n  * Your business or program name\n  * Message frequency disclosure (for recurring messages)\n  * Standard pricing statement (\"Msg & Data rates may apply\")\n  * Customer support information and opt-out instructions\n* Ensure consistency between the toll-free number in your submission and in your Call-to-Action\n* Include all disclosures in proximity to where consumers provide their phone number [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:52:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30519,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Privacy policy required for personal data collection",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour business collects personal data but:\n\n- No privacy policy was provided in your submission\n- The privacy policy URL was invalid or inaccessible\n- The policy does not explain how personal data is handled\n- Required privacy disclosures are missing\n\n### Possible solutions\n\n- Create and publish a comprehensive privacy policy on your website\n- Ensure your privacy policy includes:\n\n  - How personal data is collected, stored, and used\n  - Data protection measures and sharing policies\n  - Compliance with applicable privacy regulations\n  - Information specific to messaging practices\n- Submit a valid, accessible URL to your privacy policy\n- Make sure the policy is publicly viewable without login requirements\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your business collects personal data but: - No privacy policy was provided in your submission\n- The privacy policy URL was invalid or inaccessible\n- The policy does not explain how personal data is handled\n- Required privacy disclosures are missing",
    "solutions": "* Create and publish a comprehensive privacy policy on your website\n* Ensure your privacy policy includes:\n\n  * How personal data is collected, stored, and used\n  * Data protection measures and sharing policies\n  * Compliance with applicable privacy regulations\n  * Information specific to messaging practices\n* Submit a valid, accessible URL to your privacy policy\n* Make sure the policy is publicly viewable without login requirements [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:53:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30520,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Privacy policy mentions sharing opt-in data",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour privacy policy contains language indicating that personal data, including opt-in information, may be:\n\n- Shared with third parties\n- Sold to other organizations\n- Rented to marketing partners\n- Transferred to affiliates or other entities\n\n### Possible solutions\n\n- Update your privacy policy to include clear language prohibiting the sharing of opt-in data\n- Add specific language such as:\n\n  - \"Opt-in data and consent will not be shared with third parties.\"\n  - \"SMS collected information is not shared with third parties or associates.\"\n  - \"The above excludes text messaging originator opt-in data and consent; this information will not be shared with any third parties.\"\n- Ensure your policy explicitly protects messaging consent from being shared or transferred\n- Remove any language suggesting opt-in data may be shared\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your privacy policy contains language indicating that personal data, including opt-in information, may be: - Shared with third parties\n- Sold to other organizations\n- Rented to marketing partners\n- Transferred to affiliates or other entities",
    "solutions": "* Update your privacy policy to include clear language prohibiting the sharing of opt-in data\n* Add specific language such as:\n\n  * \"Opt-in data and consent will not be shared with third parties.\"\n  * \"SMS collected information is not shared with third parties or associates.\"\n  * \"The above excludes text messaging originator opt-in data and consent; this information will not be shared with any third parties.\"\n* Ensure your policy explicitly protects messaging consent from being shared or transferred\n* Remove any language suggesting opt-in data may be shared [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:54:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30521,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Opt-in data cannot be shared with third parties",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour verification indicates that opt-in data may be shared, transferred, rented, or sold to third parties through:\n\n- Language in your opt-in terms about sharing data with non-affiliates or partners\n- Privacy policy or terms that mention transferring messaging consent\n- Business practices that involve sharing or selling consent data\n- Lack of explicit protection for messaging consent\n\n### Possible solutions\n\n- Remove all language that allows sharing opt-in data with third parties\n- Update your privacy policy and terms to include specific language prohibiting the sharing of consent:\n  - \"The above excludes text messaging originator opt-in data and consent; this information will not be shared with any third parties.\"\n- Ensure your business practices maintain consent as a direct 1:1 agreement between consumer and message sender\n- Make it clear that opt-in cannot be transferred or sold\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your verification indicates that opt-in data may be shared, transferred, rented, or sold to third parties through: - Language in your opt-in terms about sharing data with non-affiliates or partners\n- Privacy policy or terms that mention transferring messaging consent\n- Business practices that involve sharing or selling consent data\n- Lack of explicit protection for messaging consent",
    "solutions": "* Remove all language that allows sharing opt-in data with third parties\n* Update your privacy policy and terms to include specific language prohibiting the sharing of consent:\n  * \"The above excludes text messaging originator opt-in data and consent; this information will not be shared with any third parties.\"\n* Ensure your business practices maintain consent as a direct 1:1 agreement between consumer and message sender\n* Make it clear that opt-in cannot be transferred or sold [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:56:12Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30522,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - SMS terms must be accessible and compliant",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour SMS Terms and Conditions:\n\n- URL is not accessible or returns an error\n- Content is missing required program details\n- Document is incomplete or lacks messaging-specific terms\n- SMS program details are not clearly outlined\n\n### Possible solutions\n\n- Provide an accessible Terms and Conditions URL\n- Ensure your Terms include all required messaging program details:\n\n  - Program name\n  - Product description\n  - Customer care contact information\n  - Opt-out instructions\n  - \"Message and data rates may apply\" pricing disclosure\n  - Message frequency disclosure (for recurring programs)\n- Make your Terms publicly accessible without login requirements\n- Create a specific section for SMS/messaging if not already present\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your SMS Terms and Conditions: - URL is not accessible or returns an error\n- Content is missing required program details\n- Document is incomplete or lacks messaging-specific terms\n- SMS program details are not clearly outlined",
    "solutions": "* Provide an accessible Terms and Conditions URL\n* Ensure your Terms include all required messaging program details:\n\n  * Program name\n  * Product description\n  * Customer care contact information\n  * Opt-out instructions\n  * \"Message and data rates may apply\" pricing disclosure\n  * Message frequency disclosure (for recurring programs)\n* Make your Terms publicly accessible without login requirements\n* Create a specific section for SMS/messaging if not already present [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:57:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30523,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - High-risk domain reputation",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nThe website domain you provided has been flagged for a high-risk reputation, indicating potential association with:\n\n- Suspicious or questionable activities\n- Previously identified fraudulent behavior\n- Security concerns or compromised status\n- Misleading or deceptive content\n\n### Possible solutions\n\n- This content is ineligible for resubmission with the current domain\n- If you believe this is an error, contact Twilio Support with evidence of your domain's legitimacy\n- Future submissions must use a domain with a positive reputation and no security concerns\n- Ensure your website meets security best practices and contains accurate business information\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The website domain you provided has been flagged for a high-risk reputation, indicating potential association with: - Suspicious or questionable activities\n- Previously identified fraudulent behavior\n- Security concerns or compromised status\n- Misleading or deceptive content",
    "solutions": "* This content is ineligible for resubmission with the current domain\n* If you believe this is an error, contact Twilio Support with evidence of your domain's legitimacy\n* Future submissions must use a domain with a positive reputation and no security concerns\n* Ensure your website meets security best practices and contains accurate business information [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:58:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30524,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Potential fraud risk",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour verification submission has been flagged for potential fraud risk based on:\n\n- Risk assessment of business information provided\n- Suspicious patterns or inconsistencies in submission details\n- Association with previously identified fraudulent activity\n\n### Possible solutions\n\n- This content is ineligible for resubmission\n- Businesses associated with fraudulent activity are not permitted on the network\n- Any future submissions must comply with fraud prevention requirements and pass security checks\n- If you believe this is an error, contact Twilio Support with documentation verifying your business legitimacy\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your verification submission has been flagged for potential fraud risk based on: - Risk assessment of business information provided\n- Suspicious patterns or inconsistencies in submission details\n- Association with previously identified fraudulent activity",
    "solutions": "* This content is ineligible for resubmission\n* Businesses associated with fraudulent activity are not permitted on the network\n* Any future submissions must comply with fraud prevention requirements and pass security checks\n* If you believe this is an error, contact Twilio Support with documentation verifying your business legitimacy [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T16:59:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30525,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Public URL shorteners not allowed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour sample message content includes URLs from public URL shortening services such as:\n\n- bit.ly\n- goo.gl\n- t.co\n- tinyurl.com\n- Other generic URL shorteners\n\nThese services obscure the destination and don't reflect your brand identity.\n\n### Possible solutions\n\n- Replace public URL shorteners with branded, custom domain URLs\n- Set up your own URL shortening service with a custom domain\n- Use Twilio's [Link Shortening](https://help.twilio.com/articles/1260804572090-How-can-I-send-shortened-URLs-links-in-my-messages) feature to programmatically shorten links using your own branded domain\n- Update your sample message with the full, branded URL or a properly branded shortened URL\n- Ensure all URLs in your messaging clearly identify your business\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your sample message content includes URLs from public URL shortening services such as: - bit.ly\n- goo.gl\n- t.co\n- tinyurl.com\n- Other generic URL shorteners These services obscure the destination and don't reflect your brand identity.",
    "solutions": "* Replace public URL shorteners with branded, custom domain URLs\n* Set up your own URL shortening service with a custom domain\n* Use Twilio's [Link Shortening](https://help.twilio.com/articles/1260804572090-How-can-I-send-shortened-URLs-links-in-my-messages) feature to programmatically shorten links using your own branded domain\n* Update your sample message with the full, branded URL or a properly branded shortened URL\n* Ensure all URLs in your messaging clearly identify your business [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T17:01:17Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30526,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - High-risk domain issues",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nDomain provided was flagged for high-risk issues with the website URL provided, such as:\n\n- Recently registered domain with minimal history\n- Domain associated with suspicious activity\n- Security vulnerabilities or improper configuration\n- Misalignment between domain ownership and business details\n\n### Possible solutions\n\n- This content is ineligible for resubmission with the current domain\n- URLs that fail domain inspection are considered high risk and cannot be approved\n- For future submissions, ensure your domain:\n\n  - Has been established for a reasonable period\n  - Is properly secured and configured\n  - Has clear ownership aligned with business details\n  - Maintains a positive reputation\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Domain provided was flagged for high-risk issues with the website URL provided, such as: - Recently registered domain with minimal history\n- Domain associated with suspicious activity\n- Security vulnerabilities or improper configuration\n- Misalignment between domain ownership and business details",
    "solutions": "* This content is ineligible for resubmission with the current domain\n* URLs that fail domain inspection are considered high risk and cannot be approved\n* For future submissions, ensure your domain:\n\n  * Has been established for a reasonable period\n  * Is properly secured and configured\n  * Has clear ownership aligned with business details\n  * Maintains a positive reputation [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T17:01:22Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30527,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Toll Free verification rejection - Business Registration Number is Missing or Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe business name or brand listed in your submission does not align with your registered business details. This inconsistency may be due to:\n\nUsing a brand name that differs from your registered business name Operating under a \"Doing Business As\" (DBA) name but leaving the DBA field blank\n\n### Possible causes\n\nThe business registration number does not match the brand name.\n\n### Possible solutions\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "The business registration number does not match the brand name.",
    "solutions": "[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The business name or brand listed in your submission does not align with your registered business details. This inconsistency may be due to: Using a brand name that differs from your registered business name Operating under a \"Doing Business As\" (DBA) name but leaving the DBA field blank",
    "date_created": "2025-04-16T15:57:27Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30528,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Disallowed: Non-federally compliant use case",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour messaging use case does not comply with federal regulations applicable across all 50 U.S. states. This may involve:\n\n- Content that is legal in some states but federally prohibited\n- Activities that violate federal communications laws\n- Products or services that are federally regulated but not properly licensed\n- Use cases explicitly prohibited by federal guidelines\n\n### Possible solutions\n\n- This content is ineligible for resubmission\n- Messaging use cases must comply with federal regulations applicable in all 50 U.S. states\n- State-level legality is insufficient if federal compliance is not met\n- Future submissions must focus on use cases that are fully compliant with all applicable federal laws\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your messaging use case does not comply with federal regulations applicable across all 50 U.S. states. This may involve: - Content that is legal in some states but federally prohibited\n- Activities that violate federal communications laws\n- Products or services that are federally regulated but not properly licensed\n- Use cases explicitly prohibited by federal guidelines",
    "solutions": "* This content is ineligible for resubmission\n* Messaging use cases must comply with federal regulations applicable in all 50 U.S. states\n* State-level legality is insufficient if federal compliance is not met\n* Future submissions must focus on use cases that are fully compliant with all applicable federal laws [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T17:04:44Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30529,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Toll Free verification rejection - Disallowed: Alcohol promotions without age verification",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified.\n\nVerification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.\n\n### Possible causes\n\nYour business involves alcohol, but:\n\n- No robust age verification process is in place\n- Age verification is insufficient (e.g., simply asking users to click \"Yes\")\n- The 21+ age gate is missing or inadequate\n- Alcohol content is accessible without proper age verification\n\n### Possible solutions\n\n- Implement a robust 21+ age gate in your opt-in process\n- Use proper age verification methods such as:\n\n  - Requiring users to enter their complete date of birth (MM/DD/YYYY)\n  - Using a third-party age verification service\n- Ensure verification requires more than just a simple \"Yes\" confirmation\n- Include evidence of your updated age verification process when resubmitting\n- Note that for Canadian destinations, additional restrictions apply to alcohol messaging\n\n[Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n\n[Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n\n[Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "Your business involves alcohol, but: - No robust age verification process is in place\n- Age verification is insufficient (e.g., simply asking users to click \"Yes\")\n- The 21+ age gate is missing or inadequate\n- Alcohol content is accessible without proper age verification",
    "solutions": "* Implement a robust 21+ age gate in your opt-in process\n* Use proper age verification methods such as:\n\n  * Requiring users to enter their complete date of birth (MM/DD/YYYY)\n  * Using a third-party age verification service\n* Ensure verification requires more than just a simple \"Yes\" confirmation\n* Include evidence of your updated age verification process when resubmitting\n* Note that for Canadian destinations, additional restrictions apply to alcohol messaging [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected) [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification) [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)",
    "description": "The Toll-Free phone number verification submission has been reviewed and it was rejected. Messaging traffic on this Toll-Free number is blocked until it's verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process looks at the business sending messaging (not the software powering it), the use case, sample content, the web presence, the opt-in/consent collected and associated website terms and privacy policies.",
    "date_created": "2025-04-15T17:05:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30530,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - Official business registration documents required",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and rejected. Messaging traffic on this Toll-Free number is blocked until it is verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process evaluates the business sending messaging, the use case, sample content, web presence, opt-in/consent collected, and associated website terms and privacy policies.\n\n### Possible causes\n\nWe were unable to fully verify your business based on the information provided. This may be due to:\n- Insufficient content on your website to confirm business operations\n- Discrepancies in the business information provided during verification\n- Incomplete business details that cannot be independently verified\n\n### Possible solutions\n\n- Submit official business registration documents such as a business registration certificate, articles of incorporation, or business license.\n- Include documents in the **Additional Information** field when resubmitting your verification request. You can provide multiple links by listing them separately on new lines. \n- Ensure your website content clearly reflects your business operations and matches the details provided in your verification submission.\n\n#### Additional resources\n\n- [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n- [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n- [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "We were unable to fully verify your business based on the information provided. This may be due to: - Insufficient content on your website to confirm business operations\n- Discrepancies in the business information provided during verification\n- Incomplete business details that cannot be independently verified",
    "solutions": "* Submit official business registration documents such as a business registration certificate, articles of incorporation, or business license.\n* Include documents in the **Additional Information** field when resubmitting your verification request. You can provide multiple links by listing them separately on new lines.\n* Ensure your website content clearly reflects your business operations and matches the details provided in your verification submission.",
    "description": "The Toll-Free phone number verification submission has been reviewed and rejected. Messaging traffic on this Toll-Free number is blocked until it is verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process evaluates the business sending messaging, the use case, sample content, web presence, opt-in/consent collected, and associated website terms and privacy policies.",
    "date_created": "2026-03-03T18:54:31-05:00",
    "last_updated": "2026-03-26T11:56:21-04:00"
  },
  {
    "code": 30531,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Toll Free verification rejection - HELP keyword response must meet requirements",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Toll-Free phone number verification submission has been reviewed and rejected. Messaging traffic on this Toll-Free number is blocked until it is verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process evaluates the business sending messaging, the use case, sample content, web presence, opt-in/consent collected, and associated website terms and privacy policies.\n\n### Possible causes\n\n- `HELP` keyword response is missing customer contact details such as a phone number, email, or website.\n- `HELP` keyword response is missing the business or brand name.\n- `HELP` keyword response contains incomplete or unclear support information.\n- `HELP` keyword respond's formatting or content is non-compliant. \n\n### Possible solutions\n\n- Update the `HELP` keyword response to include your business or brand name and customer contact details such as phone, email, or website.\n- Ensure the `HELP` response provides clear instructions for getting assistance.\n- Resubmit the Toll-Free verification request after updating the `HELP` response to meet requirements.\n\n#### Additional resources\n\n- [Why was my Toll Free Verification Rejected?](https://support.twilio.com/hc/en-us/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected)\n- [Required information for Toll-free verification](https://support.twilio.com/hc/en-us/articles/13264118705051-Required-Information-for-Toll-Free-Verification)\n- [Toll-Free best practices](https://support.twilio.com/hc/en-us/articles/360038172934-Information-and-best-practices-for-using-Toll-Free-SMS-and-MMS-in-the-US-and-Canada)\n",
    "causes": "* `HELP` keyword response is missing customer contact details such as a phone number, email, or website.\n* `HELP` keyword response is missing the business or brand name.\n* `HELP` keyword response contains incomplete or unclear support information.\n* `HELP` keyword respond's formatting or content is non-compliant.",
    "solutions": "* Update the `HELP` keyword response to include your business or brand name and customer contact details such as phone, email, or website.\n* Ensure the `HELP` response provides clear instructions for getting assistance.\n* Resubmit the Toll-Free verification request after updating the `HELP` response to meet requirements.",
    "description": "The Toll-Free phone number verification submission has been reviewed and rejected. Messaging traffic on this Toll-Free number is blocked until it is verified. Verification is one component of ensuring A2P SMS is used by businesses in a legal and compliant manner. The review process evaluates the business sending messaging, the use case, sample content, web presence, opt-in/consent collected, and associated website terms and privacy policies.",
    "date_created": "2026-03-09T15:03:10+01:00",
    "last_updated": "2026-03-16T14:00:25Z"
  },
  {
    "code": 30610,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message couldn't be delivered",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage couldn't be delivered to the recipients number you are trying to reach at this time due to local regulatory restrictions.\n\n### Possible causes\n\nMarketing, promotional & other non essential messages are restricted under the local regulatory requirement (e.g.TCPA in US) to certain hours of the day. Specifically, these communications cannot be made before 8 a.m. or after 9 p.m. local time at the recipient's location. This restriction is intended to protect consumers from intrusive communications during times they are likely to be resting or engaged in personal activities.\n\n### Possible solutions\n\n**Verify Local Time:** Implement a system to accurately determine the local time zone of each recipient based on their area code and address data.\n\n**Schedule Adjustments:** Configure your messaging campaign schedules to operate only within the permitted hours of 8 a.m. to 9 p.m. local time for each recipient.\n\n**Update recipients location:** Configure your recipients location using this [API](/docs/messaging/features/contact-api), incase recipients location is different & doesn't currently fall under 9 p.m. to 8 a.m.\n\n#### Continued issues with error 30610\n\nTwilio's support team can help investigate what went wrong with delivering your message. Please collect 3 or more message SIDs in your SMS [logs](https://www.twilio.com/console/sms/logs) from the last 24 hours that were flagged with Error 30610, and [open a support request.](https://www.twilio.com/console/support/tickets/create)\n",
    "causes": "Marketing, promotional & other non essential messages are restricted under the local regulatory requirement (e.g.TCPA in US) to certain hours of the day. Specifically, these communications cannot be made before 8 a.m. or after 9 p.m. local time at the recipient's location. This restriction is intended to protect consumers from intrusive communications during times they are likely to be resting or engaged in personal activities.",
    "solutions": "**Verify Local Time:** Implement a system to accurately determine the local time zone of each recipient based on their area code and address data. **Schedule Adjustments:** Configure your messaging campaign schedules to operate only within the permitted hours of 8 a.m. to 9 p.m. local time for each recipient. **Update recipients location:** Configure your recipients location using this [API](/docs/messaging/features/contact-api), incase recipients location is different & doesn't currently fall under 9 p.m. to 8 a.m.",
    "description": "Message couldn't be delivered to the recipients number you are trying to reach at this time due to local regulatory restrictions.",
    "date_created": "2024-04-16T06:06:20Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30615,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message couldn't be delivered",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage couldn't be delivered to the recipients number you are trying to reach at this time due to local regulatory restrictions.\n\n### Possible causes\n\nMarketing, promotional & other non essential messages are restricted under the local regulatory requirement (e.g.TCPA in US) to certain hours of the day. Specifically, these communications cannot be made before 8 a.m. or after 9 p.m. local time at the recipient's location. This restriction is intended to protect consumers from intrusive communications during times they are likely to be resting or engaged in personal activities.\n\n### Possible solutions\n\n**Verify Local Time:** Implement a system to accurately determine the local time zone of each recipient based on their area code and address data.\n\n**Schedule Adjustments:** Configure your messaging campaign schedules to operate only within the permitted hours of 8 a.m. to 9 p.m. local time for each recipient.\n\n#### Continued issues with error 30615\n\nTwilio's support team can help investigate what went wrong with delivering your message. Please collect 3 or more message SIDs in your SMS [logs](https://www.twilio.com/console/sms/logs) from the last 24 hours that were flagged with Error 30615, and [open a support request.](https://www.twilio.com/console/support/tickets/create)\n",
    "causes": "Marketing, promotional & other non essential messages are restricted under the local regulatory requirement (e.g.TCPA in US) to certain hours of the day. Specifically, these communications cannot be made before 8 a.m. or after 9 p.m. local time at the recipient's location. This restriction is intended to protect consumers from intrusive communications during times they are likely to be resting or engaged in personal activities.",
    "solutions": "**Verify Local Time:** Implement a system to accurately determine the local time zone of each recipient based on their area code and address data. **Schedule Adjustments:** Configure your messaging campaign schedules to operate only within the permitted hours of 8 a.m. to 9 p.m. local time for each recipient.",
    "description": "Message couldn't be delivered to the recipients number you are trying to reach at this time due to local regulatory restrictions.",
    "date_created": "2024-04-16T06:06:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30620,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message couldn't be delivered",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage couldn't be delivered to the recipients number you are trying to reach due to a potential mismatch message intent with the registered use case of the Sender ID used.\n\n### Possible causes\n\nThis error occurs when a message is sent using a Sender ID that does not align with the registered use case for that particular Sender ID in your account. Ensure that the message content matches the use case registered with the Sender ID to comply with regulations and avoid failures.\n\n### Possible solutions\n\n**Use alternate sender ID:** Use a different Sender ID, whose registered use case matches to the intent of the message being sent.\n\n**Register the sender ID:** Consider re-registering the Sender ID with a use case which is appropriate for your business use case\n\n#### Continued issues with error 30620\n\nTwilio's support team can help investigate what went wrong with delivering your message. Please collect 3 or more message SIDs in your SMS [logs](https://www.twilio.com/console/sms/logs) from the last 24 hours that were flagged with Error 30620, and [open a support request.](https://www.twilio.com/console/support/tickets/create)\n",
    "causes": "This error occurs when a message is sent using a Sender ID that does not align with the registered use case for that particular Sender ID in your account. Ensure that the message content matches the use case registered with the Sender ID to comply with regulations and avoid failures.",
    "solutions": "**Use alternate sender ID:** Use a different Sender ID, whose registered use case matches to the intent of the message being sent. **Register the sender ID:** Consider re-registering the Sender ID with a use case which is appropriate for your business use case",
    "description": "Message couldn't be delivered to the recipients number you are trying to reach due to a potential mismatch message intent with the registered use case of the Sender ID used.",
    "date_created": "2024-04-16T06:24:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30630,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attempt to send to unsubscribed recipient",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe person you are trying to message has opted out of receiving messages from your Twilio phone number, Channels sender, or Messaging Service.\n\nYou have attempted to message a 'To' number that has replied with \"STOP\" to one of your previous messages. You will not be able to send to the phone number specified in the 'To' parameter until the subscriber identified by the phone number has responded with \"START\".\n\nPlease see this [FAQ](https://help.twilio.com/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering) for more information about how Twilio handles opt-out and opt-in.\n\n### Possible causes\n\nThe end user handset has responded with \"STOP\" or [another opt-out keyword.](https://help.twilio.com/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering)\n\n### Possible solutions\n\n- Consider removing this phone number from your list of recipients.\n- Request the recipient to resubscribe to your messages by texting in \"START\" or [another opt-in keyword](https://help.twilio.com/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering) to your Twilio sender.\n- Before sending messages to a recipient, ensure they have consented to receive messages from you. Please read these guidelines to understand [messaging opt-in requirements and best practices.](https://www.twilio.com/en-us/blog/ctia-messaging-principles-and-best-practices)\n",
    "causes": "The end user handset has responded with \"STOP\" or [another opt-out keyword.](https://help.twilio.com/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering)",
    "solutions": "* Consider removing this phone number from your list of recipients.\n* Request the recipient to resubscribe to your messages by texting in \"START\" or [another opt-in keyword](https://help.twilio.com/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering) to your Twilio sender.\n* Before sending messages to a recipient, ensure they have consented to receive messages from you. Please read these guidelines to understand [messaging opt-in requirements and best practices.](https://www.twilio.com/en-us/blog/ctia-messaging-principles-and-best-practices)",
    "description": "The person you are trying to message has opted out of receiving messages from your Twilio phone number, Channels sender, or Messaging Service. You have attempted to message a 'To' number that has replied with \"STOP\" to one of your previous messages. You will not be able to send to the phone number specified in the 'To' parameter until the subscriber identified by the phone number has responded with \"START\". Please see this [FAQ](https://help.twilio.com/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering) for more information about how Twilio handles opt-out and opt-in.",
    "date_created": "2024-04-16T06:25:19Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30640,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message couldn't be delivered",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe destination phone number is associated with elevated compliance risk. To protect against potential regulatory exposure, this message was not delivered.\n\n### Possible causes\n\nThis message was undelivered because the destination number was identified as having elevated compliance risk. To help protect our customers from potential regulatory issues, Twilio's Compliance Toolkit prevents message delivery to such numbers.\n\n### Possible solutions\n\nWe recommend to remove the destination phone number from your marketing, communication, or outreach lists. If you have verified that you have valid consent to message this recipient and would like to proceed despite the compliance risk, you can override this behavior by disabling this check in your API request. To do this, set the parameter riskcheck=disable in your message send request. Note: Use this override only when you are confident that the recipient has provided valid consent and that your use case complies with applicable messaging regulations. Twilio recommends keeping compliance checks enabled by default to minimize regulatory risk.\n",
    "causes": "This message was undelivered because the destination number was identified as having elevated compliance risk. To help protect our customers from potential regulatory issues, Twilio's Compliance Toolkit prevents message delivery to such numbers.",
    "solutions": "We recommend to remove the destination phone number from your marketing, communication, or outreach lists. If you have verified that you have valid consent to message this recipient and would like to proceed despite the compliance risk, you can override this behavior by disabling this check in your API request. To do this, set the parameter riskcheck=disable in your message send request. Note: Use this override only when you are confident that the recipient has provided valid consent and that your use case complies with applicable messaging regulations. Twilio recommends keeping compliance checks enabled by default to minimize regulatory risk.",
    "description": "The destination phone number is associated with elevated compliance risk. To protect against potential regulatory exposure, this message was not delivered.",
    "date_created": "2025-12-09T20:35:09.625Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30646,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to Upsert Consent",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when one or more fields in a consent object are invalid during the upsert process, or due to an internal server issue. The contact's consent status may fail validation due to issues with the sender ID, opt-in status, or the source from which the consent was collected.\n\n### Possible causes\n\n**INVALID\\_CORRELATION\\_ID:** The correlation\\_id field is not a valid 32-character UUID. Each correlation\\_id should be a unique identifier, exactly 32 characters long, to map the response to the original request.\n\n**INVALID\\_SENDER\\_ID:** The sender\\_id field is invalid. It must be either a valid Messaging Service SID or a from phone number. Ensure the sender\\_id is correctly formatted.\n\n**INVALID\\_CONTACT\\_ID:** The contact\\_id field is not in the correct [E.164 format.](http://localhost:4200/docs/glossary/what-e164)\n\n**INVALID\\_STATUS:** The status field is invalid. It must be one of the following values: opt-in or opt-out.\n\n**INVALID\\_SOURCE:** The source field is invalid. It must be one of the following values: website, offline, opt-in-message, opt-out-message, or others.\n\n**INVALID\\_DATE\\_OF\\_CONSENT:** The date\\_of\\_consent field is invalid. It must be a datetime string in ISO-8601 format (e.g., 2025-06-02T15:30:00Z) and cannot be set to a future date.\n\n**INTERNAL\\_SERVER\\_ERROR:** The request failed due to an internal server error during the upsert process. Retry the request.\n\n### Possible solutions\n\n- Ensure the correlation\\_id is a valid 32-character UUID. Each correlation\\_id must be unique across all contact objects. You can use a UUID generator if necessary.\n- Ensure the sender\\_id is either a valid Messaging Service SID or a from phone number.\n- Ensure the contact\\_id is a valid phone number in [E.164 format.](http://localhost:4200/docs/glossary/what-e164)\n- Ensure the status field contains a valid value (opt-in or opt-out).\n- Ensure the source field is one of the accepted values (website, offline, opt-in-message, opt-out-message, others).\n- Ensure the date\\_of\\_consent is a datetime string in ISO-8601 format (e.g., 2025-06-02T15:30:00Z) and is not set to a future date and time.\n- If an internal server error occurs, retry the request after some time.\n\n#### Continued issues with error 30646\n\nTwilio's support team can help investigate what went wrong with upserting your contacts. Please collect 3 or more correlation\\_id from the last 24 hours that were flagged with Error 30646, and [open a support request.](https://www.twilio.com/console/support/tickets/create)\n",
    "causes": "**INVALID\\_CORRELATION\\_ID:** The correlation\\_id field is not a valid 32-character UUID. Each correlation\\_id should be a unique identifier, exactly 32 characters long, to map the response to the original request. **INVALID\\_SENDER\\_ID:** The sender\\_id field is invalid. It must be either a valid Messaging Service SID or a from phone number. Ensure the sender\\_id is correctly formatted. **INVALID\\_CONTACT\\_ID:** The contact\\_id field is not in the correct [E.164 format.](http://localhost:4200/docs/glossary/what-e164) **INVALID\\_STATUS:** The status field is invalid. It must be one of the following values: opt-in or opt-out. **INVALID\\_SOURCE:** The source field is invalid. It must be one of the following values: website, offline, opt-in-message, opt-out-message, or others. **INVALID\\_DATE\\_OF\\_CONSENT:** The date\\_of\\_consent field is invalid. It must be a datetime string in ISO-8601 format (e.g., 2025-06-02T15:30:00Z) and cannot be set to a future date. **INTERNAL\\_SERVER\\_ERROR:** The request failed due to an internal server error during the upsert process. Retry the request.",
    "solutions": "* Ensure the correlation\\_id is a valid 32-character UUID. Each correlation\\_id must be unique across all contact objects. You can use a UUID generator if necessary.\n* Ensure the sender\\_id is either a valid Messaging Service SID or a from phone number.\n* Ensure the contact\\_id is a valid phone number in [E.164 format.](http://localhost:4200/docs/glossary/what-e164)\n* Ensure the status field contains a valid value (opt-in or opt-out).\n* Ensure the source field is one of the accepted values (website, offline, opt-in-message, opt-out-message, others).\n* Ensure the date\\_of\\_consent is a datetime string in ISO-8601 format (e.g., 2025-06-02T15:30:00Z) and is not set to a future date and time.\n* If an internal server error occurs, retry the request after some time.",
    "description": "This error occurs when one or more fields in a consent object are invalid during the upsert process, or due to an internal server issue. The contact's consent status may fail validation due to issues with the sender ID, opt-in status, or the source from which the consent was collected.",
    "date_created": "2024-09-26T10:24:59Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30647,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to Upsert Contact",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when a contact object fails validation during upsert operations. The error can result from one or more of the following issues: invalid correlation ID, incorrect phone number format, invalid country ISO code, or an improperly formatted postal code. Additionally, this error may also indicate an internal server issue during the upsert process.\n\n### Possible causes\n\n**INVALID\\_CORRELATION\\_ID:** The correlation\\_id field is not a valid 32-character UUID. Each correlation\\_id should be a unique identifier, exactly 32 characters long, to map the response to the original request.\n\n**INVALID\\_COUNTRY\\_ISO\\_CODE:** The country\\_iso\\_code is not a valid ISO 3166-1 alpha-2 country code. This field should be a 2-character uppercase string (e.g., \"US\" for the United States).\n\n**INVALID\\_CONTACT\\_ID:** The contact\\_id field is not in the correct [E.164 format.](http://localhost:4200/docs/glossary/what-e164)\n\n**INVALID\\_ZIP\\_CODE:** The zip\\_code field is not a valid postal code. The zip code should conform to the format used in the corresponding country as indicated by the country\\_iso\\_code.\n\n**INTERNAL\\_SERVER\\_ERROR:** This error indicates an internal server issue that caused the upsert process to fail. Please retry the request.\n\n### Possible solutions\n\n- Ensure the correlation\\_id is a valid 32-character UUID. Each correlation\\_id must be unique across all contact objects. You can use a UUID generator if necessary.\n- Ensure the contact\\_id is a valid phone number in [E.164 format.](http://localhost:4200/docs/glossary/what-e164)\n- Confirm the country\\_iso\\_code: Ensure the country\\_iso\\_code follows the ISO 3166-1 alpha-2 standard (e.g., \"US\").\n- Ensure the zip\\_code matches the postal code format for the specified country.\n- If an internal server error occurs, retry the request after some time.\n\n#### Continued issues with error 30647\n\nTwilio's support team can help investigate what went wrong with upserting your contacts. Please collect 3 or more correlation\\_id from the last 24 hours that were flagged with Error 30647, and [open a support request.](https://www.twilio.com/console/support/tickets/create)\n",
    "causes": "**INVALID\\_CORRELATION\\_ID:** The correlation\\_id field is not a valid 32-character UUID. Each correlation\\_id should be a unique identifier, exactly 32 characters long, to map the response to the original request. **INVALID\\_COUNTRY\\_ISO\\_CODE:** The country\\_iso\\_code is not a valid ISO 3166-1 alpha-2 country code. This field should be a 2-character uppercase string (e.g., \"US\" for the United States). **INVALID\\_CONTACT\\_ID:** The contact\\_id field is not in the correct [E.164 format.](http://localhost:4200/docs/glossary/what-e164) **INVALID\\_ZIP\\_CODE:** The zip\\_code field is not a valid postal code. The zip code should conform to the format used in the corresponding country as indicated by the country\\_iso\\_code. **INTERNAL\\_SERVER\\_ERROR:** This error indicates an internal server issue that caused the upsert process to fail. Please retry the request.",
    "solutions": "* Ensure the correlation\\_id is a valid 32-character UUID. Each correlation\\_id must be unique across all contact objects. You can use a UUID generator if necessary.\n* Ensure the contact\\_id is a valid phone number in [E.164 format.](http://localhost:4200/docs/glossary/what-e164)\n* Confirm the country\\_iso\\_code: Ensure the country\\_iso\\_code follows the ISO 3166-1 alpha-2 standard (e.g., \"US\").\n* Ensure the zip\\_code matches the postal code format for the specified country.\n* If an internal server error occurs, retry the request after some time.",
    "description": "This error occurs when a contact object fails validation during upsert operations. The error can result from one or more of the following issues: invalid correlation ID, incorrect phone number format, invalid country ISO code, or an improperly formatted postal code. Additionally, this error may also indicate an internal server issue during the upsert process.",
    "date_created": "2024-09-26T08:57:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30648,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Geo Permissions update restricted for subaccounts",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when attempting to update Geo Permissions of a subaccount where updates are restricted. Geo Permission updates can only be performed in the parent account.\n\n### Possible causes\n\nThe Geo Permissions inheritance is enabled for the subaccount. The subaccount will inherit the Geo Permissions from the parent account, and any attempts to update Geo Permissions in the subaccount will be rejected.\n\n### Possible solutions\n\nEnsure that you are attempting to update the Geo Permissions in the parent account, not in a subaccount where updates are restricted. If you need to update Geo Permissions for a subaccount, you will need to disable the Geo Permissions inheritance in the subaccount settings first.\n",
    "causes": "The Geo Permissions inheritance is enabled for the subaccount. The subaccount will inherit the Geo Permissions from the parent account, and any attempts to update Geo Permissions in the subaccount will be rejected.",
    "solutions": "Ensure that you are attempting to update the Geo Permissions in the parent account, not in a subaccount where updates are restricted. If you need to update Geo Permissions for a subaccount, you will need to disable the Geo Permissions inheritance in the subaccount settings first.",
    "description": "This error occurs when attempting to update Geo Permissions of a subaccount where updates are restricted. Geo Permission updates can only be performed in the parent account.",
    "date_created": "2025-09-25T07:20:25.747Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30649,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to Update Geo Permissions",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when there is a failure to update Messaging Geo Permissions.\n\n### Possible causes\n\nHigh risk country permission cannot be updated: Countries which are known for having high risk of fraudulent activity can only be managed via Twilio Console. Any attempts to update high risk country permissions via API will be ignored. List of High Risk Countries: Bangladesh, Israel, Nigeria, Pakistan, Palestinian Territories, Sri Lanka, Azerbaijan, Tajikistan, Oman, Tunisia, Algeria.\n\nNon-supported country permission cannot be updated: The Twilio's platform does not support delivering messaging traffic to recipients of Iran, Syria and Cuba. Any attempts to update Geo Permissions for these non-supported countries will be ignored.\n\n### Possible solutions\n\nEnsure that you are not attempting to update Geo Permissions for high risk countries or non-supported countries. You can manage high risk country permissions via Twilio Console.\n",
    "causes": "High risk country permission cannot be updated: Countries which are known for having high risk of fraudulent activity can only be managed via Twilio Console. Any attempts to update high risk country permissions via API will be ignored. List of High Risk Countries: Bangladesh, Israel, Nigeria, Pakistan, Palestinian Territories, Sri Lanka, Azerbaijan, Tajikistan, Oman, Tunisia, Algeria. Non-supported country permission cannot be updated: The Twilio's platform does not support delivering messaging traffic to recipients of Iran, Syria and Cuba. Any attempts to update Geo Permissions for these non-supported countries will be ignored.",
    "solutions": "Ensure that you are not attempting to update Geo Permissions for high risk countries or non-supported countries. You can manage high risk country permissions via Twilio Console.",
    "description": "This error occurs when there is a failure to update Messaging Geo Permissions.",
    "date_created": "2025-09-25T08:05:42.047Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30700,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Advanced messaging features are not available in this region.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error is returned by Twilio Systems when advanced messaging features are not available in the region.\n\n### Possible causes\n\nThe message request contains api params related to advanced messaging features which are not supported in the region.\n\n### Possible solutions\n\nTry to remove api params related to advanced messaging features and after then send the request to send a message in the region.\n",
    "causes": "The message request contains api params related to advanced messaging features which are not supported in the region.",
    "solutions": "Try to remove api params related to advanced messaging features and after then send the request to send a message in the region.",
    "description": "This error is returned by Twilio Systems when advanced messaging features are not available in the region.",
    "date_created": "2025-09-08T16:54:33.144Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30701,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Invalid input parameters",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrand registration request contained one or more invalid inputs.\n\n### Possible causes\n\nThe fields provided in the error message failed validations. Most string parameters are subject to min and/or max length validations. Some parameters are subject to additional country-specific validation rules, including business\\_registration\\_number, state, and postal\\_code. Please refer to the following table for validation details.\n\n#### Validation Rules\n\n| Property                       | Description                                                                                               | Validation                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |\n| ------------------------------ | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| friendly\\_name                 | Brand/Marketing/DBA name of the business                                                                  | Max length 255                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| business\\_name                 | The legal name of the business                                                                            | Max length 255                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| business\\_registration\\_number | Tax ID of the business                                                                                    | Max length 21                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| first\\_name                    | First name of business contact                                                                            | Max length 100                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| last\\_name                     | Last name of business contact                                                                             | Max length 100                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| phone\\_number                  | The support contact telephone in e.164 format. E.g. +12023339999                                          | Max length 20                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| mobile\\_phone\\_number          | Valid wireless telephone in e.164 format. E.g. +12023339999.                                              | Max length 20                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| street                         | Street name and house number. E.g. 1000 Sunset Hill Road                                                  | Max length 100                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| city                           | City name                                                                                                 | Max length 100                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| region                         | State, region or province. For the United States, please use 2 character codes. E.g. 'CA' for California. | Max length 20                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| postal\\_code                   | Zipcode or postal code. E.g. 21012                                                                        | Max length 10                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| iso\\_country                   | 2 letter ISO-2 country code. E.g. US, CA Length 2                                                         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |\n| email                          | The email address of support contact                                                                      | Max length 100                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| stock\\_ticker                  | The stock symbol of the brand                                                                             | Max length 10                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| stock\\_exchange                | The stock exchange of the brand                                                                           | Enumerated values: \"NONE\", \"NASDAQ\", \"NYSE\", \"AMEX\", \"AMX\", \"ASX\", \"B3\", \"BME\", \"BSE\", \"FRA\", \"ICEX\", \"JPX\", \"JSE\", \"KRX\", \"LON\", \"NSE\", \"OMX\", \"SEHK\", \"SGX\", \"SSE\", \"STO\", \"SWX\", \"SZSE\", \"TSX\", \"TWSE\", \"VSE\", \"OTHER\"                                                                                                                                                                                                                                                               |\n| website\\_url                   | The website/online presence of the business                                                               | Max length 100                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| business\\_industry             | The segment in which the business operates in                                                             | Enumerated values: \"AUTOMOTIVE\", \"AGRICULTURE\", \"BANKING\", \"CONSUMER\", \"EDUCATION\", \"ENGINEERING\", \"ENERGY\", \"OIL\\_AND\\_GAS\", \"FAST\\_MOVING\\_CONSUMER\\_GOODS\", \"FINANCIAL\", \"FINTECH\", \"FOOD\\_AND\\_BEVERAGE\", \"GOVERNMENT\", \"HEALTHCARE\", \"HOSPITALITY\", \"INSURANCE\", \"LEGAL\", \"MANUFACTURING\", \"MEDIA\", \"ONLINE\", \"RAW\\_MATERIALS\", \"REAL\\_ESTATE\", \"RELIGION\", \"RETAIL\", \"JEWELRY\", \"TECHNOLOGY\", \"TELECOMMUNICATIONS\", \"TRANSPORTATION\", \"TRAVEL\", \"ELECTRONICS\", \"NOT\\_FOR\\_PROFIT\" |\n\n### Possible solutions\n\nPlease check your inputs for the fields in the error message and confirm that they meet the validations listed in possible causes.\n\nAdditional help resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n",
    "causes": "The fields provided in the error message failed validations. Most string parameters are subject to min and/or max length validations. Some parameters are subject to additional country-specific validation rules, including business\\_registration\\_number, state, and postal\\_code. Please refer to the following table for validation details.",
    "solutions": "Please check your inputs for the fields in the error message and confirm that they meet the validations listed in possible causes. Additional help resources - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)",
    "description": "Brand registration request contained one or more invalid inputs.",
    "date_created": "2024-02-12T08:17:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30702,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Registration not found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThere was an error while reconciling data with TCR.\n\n### Possible causes\n\nFollowing case can cause this error:\n\n- Brand is no longer active or has been deleted.\n\n### Possible solutions\n\nPlease edit and resubmit the brand or re-register the brand.\n",
    "causes": "Following case can cause this error: - Brand is no longer active or has been deleted.",
    "solutions": "Please edit and resubmit the brand or re-register the brand.",
    "description": "There was an error while reconciling data with TCR.",
    "date_created": "2024-07-11T17:44:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30703,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Duplicate record detected",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrand registration failed due to duplicate record detection. Following attributes are expected to be unique for each brand and can fail with this duplication check.\n\n- Mobile phone number\n- Business registration identifier\n- Business legal name\n- Authorised representative's phone number\n- Email address\n- Website\n- Stock symbol (applicable only for public entities)\n\n### Possible causes\n\n- The mobile phone number provided in the brand registration request has already been used to register a US A2P Brand with TCR.\n- An existing brand is using the provided business identification type and number.\n- An existing brand is using the provided business legal name.\n- Authorised representative's phone number provided for brand registration has already been registered. Please retry with a different phone number.\n- Email address provided for brand registration has already been registered with another brand. Please try again with a different email address.\n- Website provided for brand registration has already been registered. Please try again with a different website url.\n- Business name provided for brand registration has already been registered. Business names are expected to be unique across all brands.\n- Stock symbol provided for brand registration has already been registered\n\n### Possible solutions\n\nDepending on the fields you may have received in the error message, please refer to the following solutions:\n\n- Use a unique US mobile phone number for the registration.\n- Use a unique business registration identifier for successful registration.\n- Use a unique business name.\n- Use a unique authorized representative.\n- Use a unique email address.\n- Use a unique website address.\n- Use a unique business name.\n- Use a unique stock symbol.\n\nAdditional help resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n",
    "causes": "* The mobile phone number provided in the brand registration request has already been used to register a US A2P Brand with TCR.\n* An existing brand is using the provided business identification type and number.\n* An existing brand is using the provided business legal name.\n* Authorised representative's phone number provided for brand registration has already been registered. Please retry with a different phone number.\n* Email address provided for brand registration has already been registered with another brand. Please try again with a different email address.\n* Website provided for brand registration has already been registered. Please try again with a different website url.\n* Business name provided for brand registration has already been registered. Business names are expected to be unique across all brands.\n* Stock symbol provided for brand registration has already been registered",
    "solutions": "Depending on the fields you may have received in the error message, please refer to the following solutions: - Use a unique US mobile phone number for the registration.\n- Use a unique business registration identifier for successful registration.\n- Use a unique business name.\n- Use a unique authorized representative.\n- Use a unique email address.\n- Use a unique website address.\n- Use a unique business name.\n- Use a unique stock symbol. Additional help resources - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)",
    "description": "Brand registration failed due to duplicate record detection. Following attributes are expected to be unique for each brand and can fail with this duplication check. - Mobile phone number\n- Business registration identifier\n- Business legal name\n- Authorised representative's phone number\n- Email address\n- Website\n- Stock symbol (applicable only for public entities)",
    "date_created": "2024-02-12T08:37:29Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30709,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Subscribers Must Be Opted In When Providing an Opt-In Message",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nWhen registering an A2P 10DLC campaign, an opt-in message is required if the campaign involves subscriber opt-in. If an opt-in message is provided, the campaign must ensure that subscribers are properly opted in before messages are sent.\n\n### Possible causes\n\n- An opt-in message was provided, but there is no clear opt-in process for subscribers.\n- The campaign setup does not align with opt-in policies.\n\n### Possible solutions\n\n- Ensure that subscribers explicitly opt in before receiving messages.\n- Provide an accurate opt-in process that aligns with compliance guidelines.\n- Review Twilio's A2P 10DLC opt-in compliance requirements.\n",
    "causes": "* An opt-in message was provided, but there is no clear opt-in process for subscribers.\n* The campaign setup does not align with opt-in policies.",
    "solutions": "* Ensure that subscribers explicitly opt in before receiving messages.\n* Provide an accurate opt-in process that aligns with compliance guidelines.\n* Review Twilio's A2P 10DLC opt-in compliance requirements.",
    "description": "When registering an A2P 10DLC campaign, an opt-in message is required if the campaign involves subscriber opt-in. If an opt-in message is provided, the campaign must ensure that subscribers are properly opted in before messages are sent.",
    "date_created": "2025-02-24T17:32:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30710,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Deleting a Brand with Active Campaigns is Not Allowed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrands that have active A2P 10DLC campaigns cannot be deleted. Before attempting to delete the brand, you must first remove or deactivate all associated campaigns. This restriction ensures compliance with campaign registration and prevents disruptions to ongoing messaging.\n\n### Possible causes\n\nThe brand is linked to one or more active A2P 10DLC campaigns.\n\n### Possible solutions\n\n- Remove or deactivate all associated A2P 10DLC campaigns before attempting to delete the brand.\n- Check your registered campaigns in the Twilio Console or via API.\n",
    "causes": "The brand is linked to one or more active A2P 10DLC campaigns.",
    "solutions": "* Remove or deactivate all associated A2P 10DLC campaigns before attempting to delete the brand.\n* Check your registered campaigns in the Twilio Console or via API.",
    "description": "Brands that have active A2P 10DLC campaigns cannot be deleted. Before attempting to delete the brand, you must first remove or deactivate all associated campaigns. This restriction ensures compliance with campaign registration and prevents disruptions to ongoing messaging.",
    "date_created": "2025-02-24T17:28:14Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30711,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Deleting a Brand with Active Brand Sharing is Not Allowed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA2P 10DLC brands that have active brand sharing with other accounts cannot be deleted. Before deletion, you must first remove all brand-sharing relationships. This restriction ensures compliance with brand registration policies.\n\n### Possible causes\n\nThe brand is currently shared with one or more other accounts.\n\n### Possible solutions\n\n- Remove all brand-sharing associations before attempting to delete the brand.\n- Review brand-sharing settings in the Twilio Console or via API.\n",
    "causes": "The brand is currently shared with one or more other accounts.",
    "solutions": "* Remove all brand-sharing associations before attempting to delete the brand.\n* Review brand-sharing settings in the Twilio Console or via API.",
    "description": "A2P 10DLC brands that have active brand sharing with other accounts cannot be deleted. Before deletion, you must first remove all brand-sharing relationships. This restriction ensures compliance with brand registration policies.",
    "date_created": "2025-02-24T17:29:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30712,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Max registration limit reached",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour account has reached maximum number allowed brand registrations.\n\n### Possible causes\n\nYour account has reached maximum number allowed brand registrations.\n\n### Possible solutions\n\nPlease contact Twilio Support with relevant error details.\n\nAdditional help resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n",
    "causes": "Your account has reached maximum number allowed brand registrations.",
    "solutions": "Please contact Twilio Support with relevant error details. Additional help resources - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)",
    "description": "Your account has reached maximum number allowed brand registrations.",
    "date_created": "2024-02-12T08:38:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30713,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Vetting Token",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe vetting token provided during A2P 10DLC brand or campaign registration is invalid. This may occur if the token has expired, is incorrectly formatted, or does not match the brand details submitted.\n\n### Possible causes\n\n- The vetting token is incorrect, expired, or does not match the brand information.\n- The token format is invalid.\n\n### Possible solutions\n\n- Verify that the token matches the correct brand.\n- Ensure the token is not expired.\n- Retrieve a new vetting token from the vetting provider.\n",
    "causes": "* The vetting token is incorrect, expired, or does not match the brand information.\n* The token format is invalid.",
    "solutions": "* Verify that the token matches the correct brand.\n* Ensure the token is not expired.\n* Retrieve a new vetting token from the vetting provider.",
    "description": "The vetting token provided during A2P 10DLC brand or campaign registration is invalid. This may occur if the token has expired, is incorrectly formatted, or does not match the brand details submitted.",
    "date_created": "2025-02-24T17:31:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30714,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Vetting Token Rejected by TCR",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe vetting token provided for A2P 10DLC brand or campaign registration was rejected by The Campaign Registry (TCR). This may be due to an invalid token, mismatched brand details, or an issue with the vetting provider.\n\n### Possible causes\n\n- The vetting token is invalid or does not match the brand details.\n- The vetting provider has revoked or rejected the token.\n- The token has expired or is not recognized by TCR.\n\n### Possible solutions\n\n- Verify the vetting token with your vetting provider.\n- Ensure the brand details match the vetted information.\n- Contact TCR or Twilio support for assistance.\n",
    "causes": "* The vetting token is invalid or does not match the brand details.\n* The vetting provider has revoked or rejected the token.\n* The token has expired or is not recognized by TCR.",
    "solutions": "* Verify the vetting token with your vetting provider.\n* Ensure the brand details match the vetted information.\n* Contact TCR or Twilio support for assistance.",
    "description": "The vetting token provided for A2P 10DLC brand or campaign registration was rejected by The Campaign Registry (TCR). This may be due to an invalid token, mismatched brand details, or an issue with the vetting provider.",
    "date_created": "2025-02-24T17:32:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30715,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Vetting Token Not Allowed for Sole Proprietor Brands",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSole proprietor brands registered under A2P 10DLC are not eligible to use vetting tokens. These brands must follow the standard registration process without an external vetting step.\n\n### Possible causes\n\nA vetting token was provided for a sole proprietor brand.\n\n### Possible solutions\n\n- Register the sole proprietor brand without a vetting token.\n- Ensure the correct brand type is selected before proceeding.\n",
    "causes": "A vetting token was provided for a sole proprietor brand.",
    "solutions": "* Register the sole proprietor brand without a vetting token.\n* Ensure the correct brand type is selected before proceeding.",
    "description": "Sole proprietor brands registered under A2P 10DLC are not eligible to use vetting tokens. These brands must follow the standard registration process without an external vetting step.",
    "date_created": "2025-02-24T17:30:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30729,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Country code not allowed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nProvided country code has been blacklisted and is not allowed for US A2P Brand registrations.\n\n### Possible causes\n\nProvided country code has been blacklisted and is not allowed for US A2P Brand registrations. Supported list of country codes are : PR,PS,PT,PW,PY,QA,AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,RE,AU,AW,AX,AZ,RO,BA,BB,RS,BD,RU,BE,BF,BG,RW,BH,BI,BJ,BL,BM,BN,BO,SA,SB,BQ,SC,BR,BS,SD,SE,BT,SG,BV,SH,BW,SI,SJ,BY,BZ,SK,SL,SM,SN,SO,CA,SR,CC,SS,ST,CD,CF,SV,CG,SX,CH,CI,SZ,CK,CL,CM,CN,CO,CR,TC,TD,TF,TG,CV,CW,TH,CX,TJ,CY,TK,CZ,TL,TM,TN,TO,TR,TT,DE,TV,TW,DJ,TZ,DK,DM,DO,UA,UG,DZ,UM,EC,US,EE,EG,EH,UY,UZ,VA,ER,VC,ES,VE,ET,VG,VI,VN,VU,FI,FJ,FK,FM,FO,FR,WF,GA,GB,WS,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,XE,GU,GW,GY,XK,HK,HM,HN,HR,YE,HT,HU,YT,ID,IE,IL,IM,IN,IO,ZA,IQ,IS,IT,ZM,JE,ZW,JM,JO,JP,KE,KG,KH,KI,KM,KN,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN\n\n### Possible solutions\n\nPlease use a supported country for brand registrations.\n\nAdditional help resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n",
    "causes": "Provided country code has been blacklisted and is not allowed for US A2P Brand registrations. Supported list of country codes are : PR,PS,PT,PW,PY,QA,AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,RE,AU,AW,AX,AZ,RO,BA,BB,RS,BD,RU,BE,BF,BG,RW,BH,BI,BJ,BL,BM,BN,BO,SA,SB,BQ,SC,BR,BS,SD,SE,BT,SG,BV,SH,BW,SI,SJ,BY,BZ,SK,SL,SM,SN,SO,CA,SR,CC,SS,ST,CD,CF,SV,CG,SX,CH,CI,SZ,CK,CL,CM,CN,CO,CR,TC,TD,TF,TG,CV,CW,TH,CX,TJ,CY,TK,CZ,TL,TM,TN,TO,TR,TT,DE,TV,TW,DJ,TZ,DK,DM,DO,UA,UG,DZ,UM,EC,US,EE,EG,EH,UY,UZ,VA,ER,VC,ES,VE,ET,VG,VI,VN,VU,FI,FJ,FK,FM,FO,FR,WF,GA,GB,WS,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,XE,GU,GW,GY,XK,HK,HM,HN,HR,YE,HT,HU,YT,ID,IE,IL,IM,IN,IO,ZA,IQ,IS,IT,ZM,JE,ZW,JM,JO,JP,KE,KG,KH,KI,KM,KN,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN",
    "solutions": "Please use a supported country for brand registrations. Additional help resources - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)",
    "description": "Provided country code has been blacklisted and is not allowed for US A2P Brand registrations.",
    "date_created": "2024-02-12T08:39:26Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30734,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Sole Proprietor brands are not enabled",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSole proprietor brand registration is not enabled for your account.\n\n### Possible causes\n\nSole proprietor brand registration is not enabled for your account.\n\n### Possible solutions\n\nPlease contact Twilio Support.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "Sole proprietor brand registration is not enabled for your account.",
    "solutions": "Please contact Twilio Support. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "Sole proprietor brand registration is not enabled for your account.",
    "date_created": "2024-02-12T08:40:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30747,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Address duplicate threshold reached",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrand can not be registered with provided address since duplicate threshold limit has been reached for it.\n\n### Possible causes\n\nReusing addresses for Sole Proprietor Brands is not allowed. Each Sole Proprietor Brand should have a unique address linked to it. It is possible that the Starter customer profile bundle associated with the brand you tried to register has a duplicate address linked to it.\n\n### Possible solutions\n\nPlease edit the connected starter customer profile and link a different (unique) address to it. Once updated and submitted for review, please resubmit the Sole Proprietor Brand registration request.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "Reusing addresses for Sole Proprietor Brands is not allowed. Each Sole Proprietor Brand should have a unique address linked to it. It is possible that the Starter customer profile bundle associated with the brand you tried to register has a duplicate address linked to it.",
    "solutions": "Please edit the connected starter customer profile and link a different (unique) address to it. Once updated and submitted for review, please resubmit the Sole Proprietor Brand registration request. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "Brand can not be registered with provided address since duplicate threshold limit has been reached for it.",
    "date_created": "2024-02-12T08:40:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30748,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Phone number duplicate threshold reached",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrand can not be registered with provided phone number since duplicate threshold limit has been reached for it.\n\n### Possible causes\n\nA phone number can not be used multiple times for Sole Proprietor Brand registrations. It is possible that the Starter customer profile bundle used for Sole Proprietor brand registration contains phone number that has been used to register multiple Sole Proprietor brands already.\n\n### Possible solutions\n\nPlease edit the starter customer profile and use a different phone number. Once submitted for review, you can resubmit the brand registration request.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "A phone number can not be used multiple times for Sole Proprietor Brand registrations. It is possible that the Starter customer profile bundle used for Sole Proprietor brand registration contains phone number that has been used to register multiple Sole Proprietor brands already.",
    "solutions": "Please edit the starter customer profile and use a different phone number. Once submitted for review, you can resubmit the brand registration request. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "Brand can not be registered with provided phone number since duplicate threshold limit has been reached for it.",
    "date_created": "2024-02-12T08:41:26Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30749,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Email address duplicate threshold reached",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrand can not be registered with provided email address since duplicate threshold limit has been reached for it.\n\n### Possible causes\n\nAn email address can not be used multiple times for Sole Proprietor Brand registrations. It is possible that the Starter customer profile bundle used for Sole Proprietor brand registration contains email address which has been used to register one or more Sole Proprietor Brands already.\n\n### Possible solutions\n\nPlease edit the starter customer profile and use a different email address. Once submitted for review, you can resubmit the brand registration request.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "An email address can not be used multiple times for Sole Proprietor Brand registrations. It is possible that the Starter customer profile bundle used for Sole Proprietor brand registration contains email address which has been used to register one or more Sole Proprietor Brands already.",
    "solutions": "Please edit the starter customer profile and use a different email address. Once submitted for review, you can resubmit the brand registration request. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "Brand can not be registered with provided email address since duplicate threshold limit has been reached for it.",
    "date_created": "2024-02-12T08:42:07Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30750,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Mobile phone number duplicate threshold reached",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrand can not be registered with provided mobile phone number since duplicate threshold limit has been reached for it.\n\n### Possible causes\n\nEach Sole Proprietor Brand registration requires a unique active wireless mobile phone number. It is possible that the Sole Proprietor A2P profile bundle used for brand registration contains a mobile number which has been used to register a Sole Proprietor Brand already.\n\n### Possible solutions\n\nPlease use a different mobile phone number. Please edit the Sole Proprietor A2P profile bundle and use a different active wireless mobile number for OTP verification. Once submitted for review, you can resubmit the brand registration request.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "Each Sole Proprietor Brand registration requires a unique active wireless mobile phone number. It is possible that the Sole Proprietor A2P profile bundle used for brand registration contains a mobile number which has been used to register a Sole Proprietor Brand already.",
    "solutions": "Please use a different mobile phone number. Please edit the Sole Proprietor A2P profile bundle and use a different active wireless mobile number for OTP verification. Once submitted for review, you can resubmit the brand registration request. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "Brand can not be registered with provided mobile phone number since duplicate threshold limit has been reached for it.",
    "date_created": "2024-02-12T08:42:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30751,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Unsupported mobile phone number",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have provided an unsupported mobile phone number for brand registration.\n\n### Possible causes\n\nYou have provided an unsupported mobile phone number for brand registration.\n\n### Possible solutions\n\nPlease use a valid US Wireless mobile phone number which is capable of receiving verification SMS.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "You have provided an unsupported mobile phone number for brand registration.",
    "solutions": "Please use a valid US Wireless mobile phone number which is capable of receiving verification SMS. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "You have provided an unsupported mobile phone number for brand registration.",
    "date_created": "2024-02-12T08:43:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30752,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Invalid or expired OTP",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have used either an invalid or an expired OTP for brand verification.\n\n### Possible causes\n\nYou have used either an invalid or an expired OTP for brand verification.\n\n### Possible solutions\n\nPlease use a valid OTP for verifying your Sole Proprietor brand. You can use our public api or console to request a latest OTP and use that for verification.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "You have used either an invalid or an expired OTP for brand verification.",
    "solutions": "Please use a valid OTP for verifying your Sole Proprietor brand. You can use our public api or console to request a latest OTP and use that for verification. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "You have used either an invalid or an expired OTP for brand verification.",
    "date_created": "2024-02-12T08:44:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30753,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Unsupported email address",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have used an unsupported email address for brand registration\n\n### Possible causes\n\nYou have used an unsupported email address for brand registration\n\n### Possible solutions\n\nPlease use a valid and supported email address.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "You have used an unsupported email address for brand registration",
    "solutions": "Please use a valid and supported email address. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "You have used an unsupported email address for brand registration",
    "date_created": "2024-02-12T08:45:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30754,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Invalid postal address",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have used an invalid postal address for brand registration.\n\n### Possible causes\n\nYou have used an invalid address for brand registration.\n\n### Possible solutions\n\nPlease ensure 'street', 'region', 'state', 'postal\\_code', and 'iso\\_country' collectively forms a valid postal address.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "You have used an invalid address for brand registration.",
    "solutions": "Please ensure 'street', 'region', 'state', 'postal\\_code', and 'iso\\_country' collectively forms a valid postal address. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "You have used an invalid postal address for brand registration.",
    "date_created": "2024-02-12T08:46:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30755,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Unsupported country code",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have used a country code which is not yet support for US A2P brand registrations.\n\n### Possible causes\n\nYou have used an country code which is not yet support for US A2P brand registrations. Supported list of country codes are : PR,PS,PT,PW,PY,QA,AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,RE,AU,AW,AX,AZ,RO,BA,BB,RS,BD,RU,BE,BF,BG,RW,BH,BI,BJ,BL,BM,BN,BO,SA,SB,BQ,SC,BR,BS,SD,SE,BT,SG,BV,SH,BW,SI,SJ,BY,BZ,SK,SL,SM,SN,SO,CA,SR,CC,SS,ST,CD,CF,SV,CG,SX,CH,CI,SZ,CK,CL,CM,CN,CO,CR,TC,TD,TF,TG,CV,CW,TH,CX,TJ,CY,TK,CZ,TL,TM,TN,TO,TR,TT,DE,TV,TW,DJ,TZ,DK,DM,DO,UA,UG,DZ,UM,EC,US,EE,EG,EH,UY,UZ,VA,ER,VC,ES,VE,ET,VG,VI,VN,VU,FI,FJ,FK,FM,FO,FR,WF,GA,GB,WS,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,XE,GU,GW,GY,XK,HK,HM,HN,HR,YE,HT,HU,YT,ID,IE,IL,IM,IN,IO,ZA,IQ,IS,IT,ZM,JE,ZW,JM,JO,JP,KE,KG,KH,KI,KM,KN,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN\n\n### Possible solutions\n\nPlease use a valid country code.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "You have used an country code which is not yet support for US A2P brand registrations. Supported list of country codes are : PR,PS,PT,PW,PY,QA,AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,RE,AU,AW,AX,AZ,RO,BA,BB,RS,BD,RU,BE,BF,BG,RW,BH,BI,BJ,BL,BM,BN,BO,SA,SB,BQ,SC,BR,BS,SD,SE,BT,SG,BV,SH,BW,SI,SJ,BY,BZ,SK,SL,SM,SN,SO,CA,SR,CC,SS,ST,CD,CF,SV,CG,SX,CH,CI,SZ,CK,CL,CM,CN,CO,CR,TC,TD,TF,TG,CV,CW,TH,CX,TJ,CY,TK,CZ,TL,TM,TN,TO,TR,TT,DE,TV,TW,DJ,TZ,DK,DM,DO,UA,UG,DZ,UM,EC,US,EE,EG,EH,UY,UZ,VA,ER,VC,ES,VE,ET,VG,VI,VN,VU,FI,FJ,FK,FM,FO,FR,WF,GA,GB,WS,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,XE,GU,GW,GY,XK,HK,HM,HN,HR,YE,HT,HU,YT,ID,IE,IL,IM,IN,IO,ZA,IQ,IS,IT,ZM,JE,ZW,JM,JO,JP,KE,KG,KH,KI,KM,KN,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN",
    "solutions": "Please use a valid country code. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "You have used a country code which is not yet support for US A2P brand registrations.",
    "date_created": "2024-02-12T08:46:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30756,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Obfuscation check failure",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nObfuscation check failed for brand registration inputs.\n\n### Possible causes\n\nObfuscation check failed for brand registration inputs.\n\n### Possible solutions\n\nPlease use natural text inputs for business name, first and last name.\n\nAdditional help resources\n\n- \\[Troubleshooting US A2P Brand registration failures]\n",
    "causes": "Obfuscation check failed for brand registration inputs.",
    "solutions": "Please use natural text inputs for business name, first and last name. Additional help resources - \\[Troubleshooting US A2P Brand registration failures]",
    "description": "Obfuscation check failed for brand registration inputs.",
    "date_created": "2024-02-12T08:47:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30757,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Missing Business Registration Number ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means the brand registration request did not include a business registration number, so Twilio cannot complete brand registration until you add the missing value.\n\n### Possible causes\n\n- The brand registration request is missing the business registration number.\n- The business registration number was not added to the customer profile or registration data used to create the brand.\n\n### Possible solutions\n\n- Add the business registration number to the brand registration data, then resubmit the brand.\n- Make sure the registration details match the legal business information you use for A2P 10DLC onboarding. ([help.twilio.com](https://help.twilio.com/articles/4405758341659-A2P-10DLC-Brand-Approval-Best-Practices))\n- If the brand already failed, update the associated customer profile and submit the brand again through the Messaging compliance flow.\n\n#### Additional resources\n\n- [Troubleshooting A2P 10DLC Registrations](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n- [A2P 10DLC Brand Approval Best Practices](https://help.twilio.com/articles/4405758341659-A2P-10DLC-Brand-Approval-Best-Practices)\n",
    "causes": "* The brand registration request is missing the business registration number.\n* The business registration number was not added to the customer profile or registration data used to create the brand.",
    "solutions": "* Add the business registration number to the brand registration data, then resubmit the brand.\n* Make sure the registration details match the legal business information you use for A2P 10DLC onboarding. ([help.twilio.com](https://help.twilio.com/articles/4405758341659-A2P-10DLC-Brand-Approval-Best-Practices))\n* If the brand already failed, update the associated customer profile and submit the brand again through the Messaging compliance flow.",
    "description": "This error means the brand registration request did not include a business registration number, so Twilio cannot complete brand registration until you add the missing value.",
    "date_created": "2025-01-22T21:41:36Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 30758,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unknown Error Code",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nRegistration Authority was not provided for brand registration to complete. Update the connected A2P 10DLC business data so `business_registration_identifier` is set to a supported value such as `EIN` or `DUNS`, and use `EIN` for US entities or international tax IDs.\n\n### Possible causes\n\n- The business profile used for A2P 10DLC registration is missing `business_registration_identifier`. Twilio uses this field to capture the business registration authority.\n- The registration authority was set to a value that isn't supported for the business or registration type. Supported values include `EIN` and `DUNS`, along with country-specific identifiers for other regions.\n- The matching `business_registration_number` was not supplied, or its format does not match the selected registration authority.\n\n### Possible solutions\n\n- Set `business_registration_identifier` to the correct authority for the business. Use `EIN` for US entities or international tax IDs.\n- Enter the matching `business_registration_number` in the correct format. Use EIN format for `EIN` and DUNS format for `DUNS`.\n- Review the business information in Trust Hub, then resubmit the brand registration after the profile contains complete and valid data.\n\n#### Additional resources\n\n- [Troubleshooting A2P 10DLC Registrations](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n- [Gather the Required Business Information](/docs/messaging/compliance/a2p-10dlc/collect-business-info)\n- [BrandRegistrations resource](/docs/messaging/api/brand-registration-resource)\n",
    "causes": "* The business profile used for A2P 10DLC registration is missing `business_registration_identifier`. Twilio uses this field to capture the business registration authority.\n* The registration authority was set to a value that isn't supported for the business or registration type. Supported values include `EIN` and `DUNS`, along with country-specific identifiers for other regions.\n* The matching `business_registration_number` was not supplied, or its format does not match the selected registration authority.",
    "solutions": "* Set `business_registration_identifier` to the correct authority for the business. Use `EIN` for US entities or international tax IDs.\n* Enter the matching `business_registration_number` in the correct format. Use EIN format for `EIN` and DUNS format for `DUNS`.\n* Review the business information in Trust Hub, then resubmit the brand registration after the profile contains complete and valid data.",
    "description": "Registration Authority was not provided for brand registration to complete. Update the connected A2P 10DLC business data so `business_registration_identifier` is set to a supported value such as `EIN` or `DUNS`, and use `EIN` for US entities or international tax IDs.",
    "date_created": "2025-01-22T21:40:03Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 30759,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "US A2P Registration: Insufficient Permissions to Perform Operation",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when an action is performed on an A2P 10DLC brand or campaign but is not supported. This may be due to missing account-level permissions, compliance settings, or specific flags that need to be enabled by Twilio.\n\nTo resolve this issue, you may need to have additional permissions granted for your account.\n\n### Possible causes\n\n- A required permission flag is missing for this operation.\n- The operation requires additional account verification or approval.\n\n### Possible solutions\n\n- Contact Twilio Support to request the necessary permissions for your account.\n- Verify that your account is properly registered and compliant with A2P 10DLC requirements.\n",
    "causes": "* A required permission flag is missing for this operation.\n* The operation requires additional account verification or approval.",
    "solutions": "* Contact Twilio Support to request the necessary permissions for your account.\n* Verify that your account is properly registered and compliant with A2P 10DLC requirements.",
    "description": "This error occurs when an action is performed on an A2P 10DLC brand or campaign but is not supported. This may be due to missing account-level permissions, compliance settings, or specific flags that need to be enabled by Twilio. To resolve this issue, you may need to have additional permissions granted for your account.",
    "date_created": "2025-02-28T19:22:19Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30790,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Internal system error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThere was an internal system error when processing brand registration request.\n\n### Possible causes\n\nThere was an internal system error when processing brand registration request.\n\n### Possible solutions\n\nPlease contact Twilio Support.\n",
    "causes": "There was an internal system error when processing brand registration request.",
    "solutions": "Please contact Twilio Support.",
    "description": "There was an internal system error when processing brand registration request.",
    "date_created": "2024-02-12T08:48:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30791,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Temporary system error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThere was a temporary system error when processing brand registration request.\n\n### Possible causes\n\nThere was a temporary system error when processing brand registration request.\n\n### Possible solutions\n\nPlease try again after 30 seconds.\n",
    "causes": "There was a temporary system error when processing brand registration request.",
    "solutions": "Please try again after 30 seconds.",
    "description": "There was a temporary system error when processing brand registration request.",
    "date_created": "2024-02-12T08:48:52Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30792,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: General error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means Twilio encountered a general system error while processing a brand registration request. Check the Brand Overview page in Console or the `errors[]` field on the `BrandRegistration` resource for a more specific failure reason when one is available.\n\n### Possible causes\n\n- Twilio hit a general processing failure while handling the brand registration request.\n- The registration workflow may have stopped before Twilio could return a more specific validation error. This is an inference from the general error wording and the neighboring temporary system error entry.\n\n### Possible solutions\n\n- Retry the request after a short delay. A similar brand registration system error recommends trying again after 30 seconds.\n- Check the Brand Overview page in Console. If the Brand registration status is `FAILED`, review the `errors[]` fields to find the specific issue before resubmitting.\n- If the Brand is `SUSPENDED` or you still cannot resolve the error, contact Twilio Support.\n\n#### Additional resources\n\n- [Troubleshooting A2P 10DLC Registrations](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n- [Direct Standard and Low-Volume Standard Registration Guide](/docs/messaging/compliance/a2p-10dlc/direct-standard-onboarding)\n- [A2P 10DLC Brand Approval Best Practices](https://help.twilio.com/articles/4405758341659-A2P-10DLC-Brand-Approval-Best-Practices)\n",
    "causes": "* Twilio hit a general processing failure while handling the brand registration request.\n* The registration workflow may have stopped before Twilio could return a more specific validation error. This is an inference from the general error wording and the neighboring temporary system error entry.",
    "solutions": "* Retry the request after a short delay. A similar brand registration system error recommends trying again after 30 seconds.\n* Check the Brand Overview page in Console. If the Brand registration status is `FAILED`, review the `errors[]` fields to find the specific issue before resubmitting.\n* If the Brand is `SUSPENDED` or you still cannot resolve the error, contact Twilio Support.",
    "description": "This error means Twilio encountered a general system error while processing a brand registration request. Check the Brand Overview page in Console or the `errors[]` field on the `BrandRegistration` resource for a more specific failure reason when one is available.",
    "date_created": "2024-02-12T08:49:29Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 30793,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Failure: Validation problems with connected bundles",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThere was an error while processing the provided customer and a2p information.\n\n### Possible causes\n\nFollowing cases can cause this error :\n\n- We were not able to find A2P bundle with the bundle SID provided as A2PProfileBundleSid\n- We were not able to find Customer Profile bundle with the bundle SID provided as CustomerProfileBundleSid\n- Invalid/unsupported stock exchange information was provided as part of A2P bundle (applicable only for public entities registering Low Volume Standard or Standard Brands)\n\n### Possible solutions\n\nPlease check that bundle SIDs provide as A2PProfileBundleSid/CustomerProfileBundleSid exist and contain valid information.\n\nPlease check that you have provided one the following support Stock Exchanges (applicable only for public entities registering Low Volume Standard or Standard Brands) NONE, NASDAQ, NYSE, AMEX, AMX, ASX, B3, BME, BSE, FRA, ICEX, JPX, JSE, KRX, LON, NSE, OMX, SEHK, SGX, SSE, STO, SWX, SZSE, TSX, TWSE, VSE, OTHER\n",
    "causes": "Following cases can cause this error : - We were not able to find A2P bundle with the bundle SID provided as A2PProfileBundleSid\n- We were not able to find Customer Profile bundle with the bundle SID provided as CustomerProfileBundleSid\n- Invalid/unsupported stock exchange information was provided as part of A2P bundle (applicable only for public entities registering Low Volume Standard or Standard Brands)",
    "solutions": "Please check that bundle SIDs provide as A2PProfileBundleSid/CustomerProfileBundleSid exist and contain valid information. Please check that you have provided one the following support Stock Exchanges (applicable only for public entities registering Low Volume Standard or Standard Brands) NONE, NASDAQ, NYSE, AMEX, AMX, ASX, B3, BME, BSE, FRA, ICEX, JPX, JSE, KRX, LON, NSE, OMX, SEHK, SGX, SSE, STO, SWX, SZSE, TSX, TWSE, VSE, OTHER",
    "description": "There was an error while processing the provided customer and a2p information.",
    "date_created": "2024-02-13T08:46:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30794,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "US A2P Registration: General error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThere was a general system error when processing your registration request.\n\n### Possible causes\n\nYour US A2P Brand or Campaign registration request was not processed successfully. While our systems were not able to identify the exact cause of failure, the error description provided as part of registration response should indicate the possible issue.\n\n### Possible solutions\n\nPlease fix the cause of error message and retry the registration request. If issue persists, please contact Twilio support.\n\nAdditional help resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n- [Troubleshooting and rectifying US A2P Campaigns](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns-1)\n",
    "causes": "Your US A2P Brand or Campaign registration request was not processed successfully. While our systems were not able to identify the exact cause of failure, the error description provided as part of registration response should indicate the possible issue.",
    "solutions": "Please fix the cause of error message and retry the registration request. If issue persists, please contact Twilio support. Additional help resources - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n- [Troubleshooting and rectifying US A2P Campaigns](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns-1)",
    "description": "There was a general system error when processing your registration request.",
    "date_created": "2024-02-13T08:44:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30795,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Feedback: Data mismatch related to tax id and its associated properties.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour Brand has received feedback from The Campaign Registry upon registration. This Brand Registration can not be used for campaign creation until the provided feedback has been addressed. In this particular case, there is a data mismatch related to the Tax ID that was provided during the registration and its associated properties such as business legal name.\n\n### Possible causes\n\n- The submitted US EIN is invalid.\n- The submitted Canadian government ID cannot be verified.\n- The submitted foreign government ID cannot be verified.\n- The submitted legal company name does not match with US EIN.\n- The submitted legal company name does not match with the Canadian government ID.\n- The submitted legal company name does not match with foreign government ID.\n- The submitted US EIN appears to be a US SSN.\n\n### Possible solutions\n\nPlease edit your customer profile and update the business registration identifier with correct information that matches your tax returns. Please also make sure that your legal company name also matches the tax documents.\n\nAdditional help resources:\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n",
    "causes": "* The submitted US EIN is invalid.\n* The submitted Canadian government ID cannot be verified.\n* The submitted foreign government ID cannot be verified.\n* The submitted legal company name does not match with US EIN.\n* The submitted legal company name does not match with the Canadian government ID.\n* The submitted legal company name does not match with foreign government ID.\n* The submitted US EIN appears to be a US SSN.",
    "solutions": "Please edit your customer profile and update the business registration identifier with correct information that matches your tax returns. Please also make sure that your legal company name also matches the tax documents. Additional help resources: - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)",
    "description": "Your Brand has received feedback from The Campaign Registry upon registration. This Brand Registration can not be used for campaign creation until the provided feedback has been addressed. In this particular case, there is a data mismatch related to the Tax ID that was provided during the registration and its associated properties such as business legal name.",
    "date_created": "2024-02-28T16:27:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30796,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Feedback: Non public entity registered as a public for profit entity or the stock information mismatch.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour Brand has received feedback from The Campaign Registry upon registration. This Brand Registration can not be used for campaign creation until the provided feedback has been addressed. In this particular case, either a non-public entity has been registered as a public for profit entity or the stock information provided during the registration process doesn't match the public company records.\n\n### Possible causes\n\n- The submitted stock symbol and stock exchange could not be verified for the submitted legal company name.\n- The submitted stock exchange is not recognized.\n\n### Possible solutions\n\nPlease edit your A2P profile and update the stock\\_symbol and/or stock\\_exchange with correct information.\n\nAdditional help resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n",
    "causes": "* The submitted stock symbol and stock exchange could not be verified for the submitted legal company name.\n* The submitted stock exchange is not recognized.",
    "solutions": "Please edit your A2P profile and update the stock\\_symbol and/or stock\\_exchange with correct information. Additional help resources - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)",
    "description": "Your Brand has received feedback from The Campaign Registry upon registration. This Brand Registration can not be used for campaign creation until the provided feedback has been addressed. In this particular case, either a non-public entity has been registered as a public for profit entity or the stock information provided during the registration process doesn't match the public company records.",
    "date_created": "2024-02-28T16:29:44Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30797,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Feedback: Non government entity registered as a government entity. Must be a U.S. government entity.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour Brand has received feedback from The Campaign Registry upon registration. This Brand Registration can not be used for campaign creation until the provided feedback has been addressed. In this particular case, a non-government entity has been registered as a government entity. The entity registering the brand must be a U.S. government entity.\n\n### Possible causes\n\n- The submitted company is not a US entity. Only US entities qualify for the Government Entity Type.\n- The company's submission as a Government Entity type could not be confirmed from independent sources.\n\n### Possible solutions\n\nPlease change the entity\\_type field value to something other than Government. If you are a US Entity, please update the customer profile address to indicate the same.\n\nAdditional help resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n",
    "causes": "* The submitted company is not a US entity. Only US entities qualify for the Government Entity Type.\n* The company's submission as a Government Entity type could not be confirmed from independent sources.",
    "solutions": "Please change the entity\\_type field value to something other than Government. If you are a US Entity, please update the customer profile address to indicate the same. Additional help resources - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)",
    "description": "Your Brand has received feedback from The Campaign Registry upon registration. This Brand Registration can not be used for campaign creation until the provided feedback has been addressed. In this particular case, a non-government entity has been registered as a government entity. The entity registering the brand must be a U.S. government entity.",
    "date_created": "2024-02-28T16:31:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30798,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Feedback: No IRS 501c tax-exempt status found.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour Brand has received feedback from The Campaign Registration upon registration. This brand registration can not be used for campaign creation till the provided feedback has been addressed. In this particular case, no IRS 501c tax-exempt status was found for the entity being registered.\n\n### Possible causes\n\n- The submitted company is not a US entity. Only US entities qualify for the Non-Profit Entity Type.\n- The submitted company is not verified as a US IRS recognised non-profit organisation.\n- The submitted company is verified as a US IRS recognised non-profit organisation but the charitable subsection code was not reported.\n\n### Possible solutions\n\nPlease change the entity\\_type field value to something other than Non-Profit. If you are a Non-Profit Entity, please update the customer profile to indicate the same.\n\nAdditional help resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n",
    "causes": "* The submitted company is not a US entity. Only US entities qualify for the Non-Profit Entity Type.\n* The submitted company is not verified as a US IRS recognised non-profit organisation.\n* The submitted company is verified as a US IRS recognised non-profit organisation but the charitable subsection code was not reported.",
    "solutions": "Please change the entity\\_type field value to something other than Non-Profit. If you are a Non-Profit Entity, please update the customer profile to indicate the same. Additional help resources - [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)",
    "description": "Your Brand has received feedback from The Campaign Registration upon registration. This brand registration can not be used for campaign creation till the provided feedback has been addressed. In this particular case, no IRS 501c tax-exempt status was found for the entity being registered.",
    "date_created": "2024-02-28T16:33:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30799,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Brand Registration Feedback: We were unable to verify the details of the registration data.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when The Campaign Registry cannot verify the brand details you submitted for A2P 10DLC registration. Correct the business profile or brand values before you create a campaign, because brand registrations can fail when the business information is incomplete, formatted incorrectly, or does not match existing records.\n\n### Possible causes\n\n- The business registration number you submitted is invalid, or the legal company name does not match the registration record. For US companies, the EIN must match the legal company name exactly as registered.\n- The government ID you submitted for a Canadian or foreign company could not be verified, or the legal company name does not match the ID.\n- The EIN you submitted appears to be a US SSN.\n- The stock exchange or stock ticker symbol could not be verified for the legal company name, or the stock exchange is not recognized.\n- You selected Government for a company that is not a US government entity, or independent sources could not confirm the government entity classification.\n- You selected Non-Profit for a company that is not a US entity, is not verified as a US IRS-recognized nonprofit, or is missing the required charitable subsection code.\n\n### Possible solutions\n\n- Update the `business_registration_identifier` and legal company name so they match your tax or registration documents. For US companies, use an EIN that matches the legal name exactly.\n- If your brand is publicly listed, update `stock_exchange` and `stock_ticker` to match the company and exchange records.\n- If you are registering a government or nonprofit organization, set the Trust Hub and Brand values to the required government or nonprofit values before you resubmit. Use `company_type` `government` for government organizations and `company_type` `non_profit` for nonprofit organizations.\n- If the data is already correct and the brand still fails, contact Twilio Support for further review.\n\n#### Additional resources\n\n- [Troubleshooting US A2P Brand registration failures](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands)\n- [A2P 10DLC - Registration for Government and Nonprofit Agencies](/docs/messaging/compliance/a2p-10dlc/onboarding-for-government-and-non-profit-agencies)\n- [A2P 10DLC Brand Approval Best Practices](https://help.twilio.com/articles/4405758341659-A2P-10DLC-Brand-Approval-Best-Practices)\n",
    "causes": "* The business registration number you submitted is invalid, or the legal company name does not match the registration record. For US companies, the EIN must match the legal company name exactly as registered.\n* The government ID you submitted for a Canadian or foreign company could not be verified, or the legal company name does not match the ID.\n* The EIN you submitted appears to be a US SSN.\n* The stock exchange or stock ticker symbol could not be verified for the legal company name, or the stock exchange is not recognized.\n* You selected Government for a company that is not a US government entity, or independent sources could not confirm the government entity classification.\n* You selected Non-Profit for a company that is not a US entity, is not verified as a US IRS-recognized nonprofit, or is missing the required charitable subsection code.",
    "solutions": "* Update the `business_registration_identifier` and legal company name so they match your tax or registration documents. For US companies, use an EIN that matches the legal name exactly.\n* If your brand is publicly listed, update `stock_exchange` and `stock_ticker` to match the company and exchange records.\n* If you are registering a government or nonprofit organization, set the Trust Hub and Brand values to the required government or nonprofit values before you resubmit. Use `company_type` `government` for government organizations and `company_type` `non_profit` for nonprofit organizations.\n* If the data is already correct and the brand still fails, contact Twilio Support for further review.",
    "description": "This error appears when The Campaign Registry cannot verify the brand details you submitted for A2P 10DLC registration. Correct the business profile or brand values before you create a campaign, because brand registrations can fail when the business information is incomplete, formatted incorrectly, or does not match existing records.",
    "date_created": "2024-02-28T16:42:57Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 30880,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Unknown Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because of an unknown reason.\n\n### Possible causes\n\nThe campaign cannot be approved because of an unknown error and may stem from an issue raised by other vetting parties in the ecosystem.\n\n### Possible solutions\n\nOur Support team has the means to obtain more detailed information about this specific error. Please contact [Twilio Customer Support](https://www.twilio.com/help/contact) for assistance in understanding the underlying problem and finding a resolution.\n",
    "causes": "The campaign cannot be approved because of an unknown error and may stem from an issue raised by other vetting parties in the ecosystem.",
    "solutions": "Our Support team has the means to obtain more detailed information about this specific error. Please contact [Twilio Customer Support](https://www.twilio.com/help/contact) for assistance in understanding the underlying problem and finding a resolution.",
    "description": "The campaign submission has been reviewed and it was rejected because of an unknown reason.",
    "date_created": "2023-04-18T11:30:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30881,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Invalid Brand Support Email",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because invalid brand support email.\n\n### Possible causes\n\nThe campaign cannot be approved because support email needs is not associated with the brand. The brand support email was either invalid or associated with a public domain email.\n\n### Possible solutions\n\nPlease verify that brand support email is valid and not associated with a public domain email.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because support email needs is not associated with the brand. The brand support email was either invalid or associated with a public domain email.",
    "solutions": "Please verify that brand support email is valid and not associated with a public domain email. Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because invalid brand support email.",
    "date_created": "2023-04-18T11:31:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30882,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Terms & Conditions",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected due to Terms and Conditions issues.\n\n### Possible causes\n\nThe campaign cannot be approved because affiliated marketing is not a supported use case. Terms and conditions do not support this use case.\n\n### Possible solutions\n\nIneligible for resubmission. If you feel that this was in error, contact Twilio Customer Support.\n\nAdditional help resources\n\n- [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because affiliated marketing is not a supported use case. Terms and conditions do not support this use case.",
    "solutions": "Ineligible for resubmission. If you feel that this was in error, contact Twilio Customer Support. Additional help resources - [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected due to Terms and Conditions issues.",
    "date_created": "2023-04-18T11:32:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30883,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Content Violation",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected due to Content Violation.\n\n### Possible causes\n\nThe campaign cannot be approved because the submission indicated that the business was part of a prohibited SHAFT category or the content was potentially sending SHAFT material. SHAFT (Sex, Hate, Alcohol, Firearms, Tobacco/Vape) and Marijuana/CBD are prohibited categories.\n\n### Possible solutions\n\nThe rejected campaign is ineligible for resubmission. If you feel that this was in error, please contact Twilio Customer Support.\n\nAdditional help resources\n\n- [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because the submission indicated that the business was part of a prohibited SHAFT category or the content was potentially sending SHAFT material. SHAFT (Sex, Hate, Alcohol, Firearms, Tobacco/Vape) and Marijuana/CBD are prohibited categories.",
    "solutions": "The rejected campaign is ineligible for resubmission. If you feel that this was in error, please contact Twilio Customer Support. Additional help resources - [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected due to Content Violation.",
    "date_created": "2023-04-18T11:33:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30884,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Spam/Phishing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because it was found to be a known Spam or Phishing campaign.\n\n### Possible causes\n\nThe campaign cannot be approved because it found to be a known Spam or Phishing campaign.\n\n### Possible solutions\n\nThe rejected campaign is ineligible for resubmission. If you feel that this was in error, please contact Twilio Customer Support.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because it found to be a known Spam or Phishing campaign.",
    "solutions": "The rejected campaign is ineligible for resubmission. If you feel that this was in error, please contact Twilio Customer Support. Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because it was found to be a known Spam or Phishing campaign.",
    "date_created": "2023-04-18T11:34:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30885,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - High Risk",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because it is considered High Risk.\n\n### Possible causes\n\nThe campaign cannot be approved because it is considered Fraud or Deceptive Marketing.\n\n### Possible solutions\n\nThe rejected campaign is ineligible for resubmission. If you feel that this was in error, please contact Twilio Customer Support.\n\nAdditional help resources\n\n- [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because it is considered Fraud or Deceptive Marketing.",
    "solutions": "The rejected campaign is ineligible for resubmission. If you feel that this was in error, please contact Twilio Customer Support. Additional help resources - [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because it is considered High Risk.",
    "date_created": "2023-04-18T11:35:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30886,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Invalid Campaign Description",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because of invalid campaign description.\n\n### Possible causes\n\nThe campaign does not thoroughly describe explain the purpose or description does not match the use case.\n\n### Possible solutions\n\nVerify that campaign description is accurate and detailed. If you are an ISV registering a direct offering to your customers, please indicate that in the campaign description. Resubmit campaign for review.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign does not thoroughly describe explain the purpose or description does not match the use case.",
    "solutions": "Verify that campaign description is accurate and detailed. If you are an ISV registering a direct offering to your customers, please indicate that in the campaign description. Resubmit campaign for review. Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because of invalid campaign description.",
    "date_created": "2023-04-18T11:35:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30887,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Opt-out Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because of provided Opt-out information.\n\n### Possible causes\n\nThe campaign cannot be approved because it was indicated that you are collecting and processing consumer Opt-Outs, but the workflow is unclear, missing opt-out keywords or opt-message.\n\n### Possible solutions\n\nPlease verify that opt-out workflow is accurate and update Call-to-Action/ Message Flow description with opt-out process.\n\nIf opt-out is managed, add opt-out keywords and update opt-out message to to include acknowledgement of opt-out request, confirmation that no further messages will be sent, and brand name.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because it was indicated that you are collecting and processing consumer Opt-Outs, but the workflow is unclear, missing opt-out keywords or opt-message.",
    "solutions": "Please verify that opt-out workflow is accurate and update Call-to-Action/ Message Flow description with opt-out process. If opt-out is managed, add opt-out keywords and update opt-out message to to include acknowledgement of opt-out request, confirmation that no further messages will be sent, and brand name. Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because of provided Opt-out information.",
    "date_created": "2023-04-18T11:36:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30888,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Age Gate Not Present / Not Acceptable",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected due to Age Gate issues.\n\n### Possible causes\n\nThe campaign cannot be approved because you indicated that the campaign includes age-gated content, but an Age Gate is not present or is not acceptable on your website and/or opt-in policy.\n\n### Possible solutions\n\nPlease verify and add a robust age gate to your website or opt-in policy. Resubmit the campaign with the updated age gate information for review.\n\nAdditional help resources\n\n- [Age Gating](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=Age%20and%20Geographic%20Gating\\&text=In%20addition%20to%20obtaining%20consent,where%20the%20recipient%20is%20located)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because you indicated that the campaign includes age-gated content, but an Age Gate is not present or is not acceptable on your website and/or opt-in policy.",
    "solutions": "Please verify and add a robust age gate to your website or opt-in policy. Resubmit the campaign with the updated age gate information for review. Additional help resources - [Age Gating](https://www.twilio.com/en-us/legal/messaging-policy#:~:text=Age%20and%20Geographic%20Gating\\&text=In%20addition%20to%20obtaining%20consent,where%20the%20recipient%20is%20located)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected due to Age Gate issues.",
    "date_created": "2023-04-18T11:37:35Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30889,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Embedded Phone Number",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because Embedded Phone Number selection.\n\n### Possible causes\n\nThe campaign cannot be approved because embedded phone number use is selected, but is not reflective in the sample message.\n\n### Possible solutions\n\nPlease verify that embedded phone number selection is accurate. Update the Sample Messages with Embedded Phone Number or update Embedded Phone Number selection. Resubmit campaign for review.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because embedded phone number use is selected, but is not reflective in the sample message.",
    "solutions": "Please verify that embedded phone number selection is accurate. Update the Sample Messages with Embedded Phone Number or update Embedded Phone Number selection. Resubmit campaign for review. Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because Embedded Phone Number selection.",
    "date_created": "2023-04-18T11:38:15Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30890,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Subscriber Help",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because of provided Subscriber Help information.\n\n### Possible causes\n\nThe campaign cannot be approved because it was indicated that you have a HELP message reply but it does not contain brand name, phone number, or email address.\n\n### Possible solutions\n\nPlease verify that subscriber help message contains brand name, phone number, or email address. Message needs to guide customers on who them can contact after replying \"\"help\"\".\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because it was indicated that you have a HELP message reply but it does not contain brand name, phone number, or email address.",
    "solutions": "Please verify that subscriber help message contains brand name, phone number, or email address. Message needs to guide customers on who them can contact after replying \"\"help\"\". Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because of provided Subscriber Help information.",
    "date_created": "2023-04-18T11:39:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30891,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Invalid Website URL",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because of unverifiable website.\n\n### Possible causes\n\n- An invalid URL was provided during the registration process.\n- The website associated with the campaign is not functioning or inaccessible.\n- Opt-in flow is not found on website provided.\n- Lack of proper indication in the campaign description if the registration pertains to a pre-launch website.\n\n### Possible solutions\n\n- Verify that the provided website(s) are functioning correctly, and accessible. If the website(s) are geographic specific, please indicate this in the campaign description and provide a link to a screenshot.\n- If the registration is for a pre-launch website, instead include a publically accessible URL to view a screenshot of the SMS opt-in flow that will appear.\n- If opt-in occurs on website, provide the direct link in the Message Flow field.\n- If opt-in is collected through a paper form or behind a login, supply a hosted link to an image of the opt-in. If the opt-in occurs on a website, provide the relevant link.\n\nOnce you have made a change to address the issue, please resubmit the campaign for review.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* An invalid URL was provided during the registration process.\n* The website associated with the campaign is not functioning or inaccessible.\n* Opt-in flow is not found on website provided.\n* Lack of proper indication in the campaign description if the registration pertains to a pre-launch website.",
    "solutions": "* Verify that the provided website(s) are functioning correctly, and accessible. If the website(s) are geographic specific, please indicate this in the campaign description and provide a link to a screenshot.\n* If the registration is for a pre-launch website, instead include a publically accessible URL to view a screenshot of the SMS opt-in flow that will appear.\n* If opt-in occurs on website, provide the direct link in the Message Flow field.\n* If opt-in is collected through a paper form or behind a login, supply a hosted link to an image of the opt-in. If the opt-in occurs on a website, provide the relevant link. Once you have made a change to address the issue, please resubmit the campaign for review. Additional help resources * [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because of unverifiable website.",
    "date_created": "2023-04-18T11:39:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30892,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Invalid Sample Message - Public URL Shorteners",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because of URL shortener in the sample message.\n\n### Possible causes\n\nThe campaign cannot be approved because public URL shorteners are not accepted. The website URL included in the sample messages was either from a public URL shortener or is unsecured.\n\n### Possible solutions\n\nVerify URL in sample messages does not contain public URL shorteners. Resubmit campaign.\n",
    "causes": "The campaign cannot be approved because public URL shorteners are not accepted. The website URL included in the sample messages was either from a public URL shortener or is unsecured.",
    "solutions": "Verify URL in sample messages does not contain public URL shorteners. Resubmit campaign.",
    "description": "The campaign submission has been reviewed and it was rejected because of URL shortener in the sample message.",
    "date_created": "2023-04-18T11:40:27Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30893,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Inconsistency between Sample Message and Use-case",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and rejected due to inconsistencies between the sample message and the intended use-case of the campaign.\n\n### Possible causes\n\n- Sample messages are missing, unclear, or their content does not match the campaign's use-case.\n- Invalid content within the sample messages.\n\n### Possible solutions\n\n- Verify that the sample messages are accurate, detailed, and reflective of the actual messages to be sent under the campaign.\n- Indicate templated fields within sample messages using brackets.\n- At least one of the sample messages should include your business name and opt-out message.\n- Ensure at least two sample messages are provided.\n- Ensure that the use-case and campaign description align with each other.\n\nOnce you have made a change to address the issue, please resubmit the campaign for review.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* Sample messages are missing, unclear, or their content does not match the campaign's use-case.\n* Invalid content within the sample messages.",
    "solutions": "* Verify that the sample messages are accurate, detailed, and reflective of the actual messages to be sent under the campaign.\n* Indicate templated fields within sample messages using brackets.\n* At least one of the sample messages should include your business name and opt-out message.\n* Ensure at least two sample messages are provided.\n* Ensure that the use-case and campaign description align with each other. Once you have made a change to address the issue, please resubmit the campaign for review. Additional help resources * [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and rejected due to inconsistencies between the sample message and the intended use-case of the campaign.",
    "date_created": "2023-04-18T11:41:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30894,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Invalid Brand Information",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because invalid brand information.\n\n### Possible causes\n\nThe campaign cannot be approved because registration needs to be associated with the brand behind the campaign. If you are an ISV registering a direct offering, campaign description needs to indicate a direct offering.\n\n### Possible solutions\n\nPlease verify that the brand information is valid. Resubmit campaign for review.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because registration needs to be associated with the brand behind the campaign. If you are an ISV registering a direct offering, campaign description needs to indicate a direct offering.",
    "solutions": "Please verify that the brand information is valid. Resubmit campaign for review. Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because invalid brand information.",
    "date_created": "2023-04-18T11:41:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30895,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Direct Lending - Campaign and Content Attribute Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign cannot be approved because it appears to be associated with direct lending or loan arrangement, and the necessary content attribute was not indicated\n\n### Possible causes\n\nThe campaign may involve direct lending or loan arrangements, and this was not accurately reflected in the content attribute during registration.\n\n### Possible solutions\n\n1. Verify Direct Lending Indicated in Campaign Description: If the campaign involves direct lending or loan arrangement or is associated with a financial services organization, ensure \"DIRECT LENDING\" is mentioned in campaign description. Please mention this even if the specified campaign use case does not directly relate to loan offering (e.g. 2FA).\n2. Update Campaign Description if Needed: If the campaign is not related to direct lending or loan arrangement, update the campaign description to reflect the actual content and purpose. If the campaign is related to a financial services organization, update the campaign descripton to contain \"DIRECT LENDING\".\n\nOnce you have made a change to address the issue, please resubmit the campaign for review.\n\nAdditional help resources\n\n- [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign may involve direct lending or loan arrangements, and this was not accurately reflected in the content attribute during registration.",
    "solutions": "1. Verify Direct Lending Indicated in Campaign Description: If the campaign involves direct lending or loan arrangement or is associated with a financial services organization, ensure \"DIRECT LENDING\" is mentioned in campaign description. Please mention this even if the specified campaign use case does not directly relate to loan offering (e.g. 2FA).\n2. Update Campaign Description if Needed: If the campaign is not related to direct lending or loan arrangement, update the campaign description to reflect the actual content and purpose. If the campaign is related to a financial services organization, update the campaign descripton to contain \"DIRECT LENDING\". Once you have made a change to address the issue, please resubmit the campaign for review. Additional help resources - [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign cannot be approved because it appears to be associated with direct lending or loan arrangement, and the necessary content attribute was not indicated",
    "date_created": "2023-04-18T11:42:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30896,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Opt-in Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because of provided Opt-in information.\n\n### Possible causes\n\n- Opt-in message workflow does not meet the requirements for the specific campaign type.\n- Consent is required but not adequately provided or maintained.\n- Opt-in information is shared with third-party entities.\n\n### Possible solutions\n\n1. Ensure compliance with Twilio Messaging Policy relating to opt-in\n2. Detail All Opt-in Methods: Include all methods of opt-in, whether electronic, paper form, in-person verbal opt-in, or other means.\n3. Provide Necessary Links and Documentation: If opt-in is collected through a paper form or behind a login, supply a hosted link to an image of the opt-in. If the opt-in occurs on a website, provide the relevant link.\n4. Include Privacy Policy and Terms of Service: The website where opt-in occurs must contain a privacy policy and terms of service.\n5. Avoid Third-Party Sharing: Make sure that opt-in information is not shared with unauthorized third parties.\n6. Ensure Opt-in is Verifable: Each campaign is manually reviewed and needs to be verifable by a human.\n\nOnce you have made a change to address the issue, please resubmit the campaign for review.\n\nAdditional help resources\n\n- [CTIA Guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* Opt-in message workflow does not meet the requirements for the specific campaign type.\n* Consent is required but not adequately provided or maintained.\n* Opt-in information is shared with third-party entities.",
    "solutions": "1. Ensure compliance with Twilio Messaging Policy relating to opt-in\n2. Detail All Opt-in Methods: Include all methods of opt-in, whether electronic, paper form, in-person verbal opt-in, or other means.\n3. Provide Necessary Links and Documentation: If opt-in is collected through a paper form or behind a login, supply a hosted link to an image of the opt-in. If the opt-in occurs on a website, provide the relevant link.\n4. Include Privacy Policy and Terms of Service: The website where opt-in occurs must contain a privacy policy and terms of service.\n5. Avoid Third-Party Sharing: Make sure that opt-in information is not shared with unauthorized third parties.\n6. Ensure Opt-in is Verifable: Each campaign is manually reviewed and needs to be verifable by a human. Once you have made a change to address the issue, please resubmit the campaign for review. Additional help resources - [CTIA Guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because of provided Opt-in information.",
    "date_created": "2023-04-18T11:43:14Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30897,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Disallowed Content",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected due to Disallowed Content.\n\n### Possible causes\n\nThe campaign cannot be approved because it has disallowed content types, such as Loan Marketing, 3rd party debt collection, gambling, sweepstakes, stock alerts, cryptocurrency, risk investments, debt reduction, credit repair, 3rd party lead generation, federally illegal substances.\n\n### Possible solutions\n\nThe rejected campaign is ineligible for resubmission. If you feel that this was in error, please contact Twilio Customer Support.\n\nAdditional help resources\n\n- [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because it has disallowed content types, such as Loan Marketing, 3rd party debt collection, gambling, sweepstakes, stock alerts, cryptocurrency, risk investments, debt reduction, credit repair, 3rd party lead generation, federally illegal substances.",
    "solutions": "The rejected campaign is ineligible for resubmission. If you feel that this was in error, please contact Twilio Customer Support. Additional help resources - [Forbidden message categories](https://support.twilio.com/hc/en-us/articles/360045004974-Forbidden-message-categories-for-SMS-and-MMS-in-the-US-and-Canada)\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected due to Disallowed Content.",
    "date_created": "2023-04-18T11:44:01Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30898,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Excessive EIN  ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and it was rejected because of repeated use of same for multiple brands.\n\n### Possible causes\n\nThe campaign cannot be approved because it the same EIN is used for multiple brands.\n\n### Possible solutions\n\nOnly register minimum number of brands per EIN and do not resubmit until brand registration is updated.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "The campaign cannot be approved because it the same EIN is used for multiple brands.",
    "solutions": "Only register minimum number of brands per EIN and do not resubmit until brand registration is updated. Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and it was rejected because of repeated use of same for multiple brands.",
    "date_created": "2023-05-10T07:42:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30899,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejection - The campaign registration failed because of carrier rejection(s).",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign registration failed because of carrier rejection(s).\n\n### Possible causes\n\nOne or more carriers rejected this campaign upon submission.\n\n### Possible solutions\n\nPlease reach out to customer support with campaign and account details for resolution.\n",
    "causes": "One or more carriers rejected this campaign upon submission.",
    "solutions": "Please reach out to customer support with campaign and account details for resolution.",
    "description": "The campaign registration failed because of carrier rejection(s).",
    "date_created": "2023-05-25T08:17:52Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30900,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejection - The campaign use case is ineligible for registration.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign use case provided as part of registration request is ineligible for registration.\n\n### Possible causes\n\nReasons for this failure can be:\n\n- Provided use case is not supported yet.\n- Campaign use case not supported by one of the carriers.\n- The brand is not qualified to run campaign of provide use case for one of the carriers.\n- The brand with use case campaign is not within sub-usecase bounds.\n- The for profit, public brand has not completed Auth+ which is required before a new campaign can be created.\n\n### Possible solutions\n\n- Try to select another use case for campaign registration that reflects your A2P Messaging use case with Twilio\n- Complete Auth+ for the brand and retry registration.\n- Reach out to support with campaign details for resolution.\n",
    "causes": "Reasons for this failure can be: - Provided use case is not supported yet.\n- Campaign use case not supported by one of the carriers.\n- The brand is not qualified to run campaign of provide use case for one of the carriers.\n- The brand with use case campaign is not within sub-usecase bounds.\n- The for profit, public brand has not completed Auth+ which is required before a new campaign can be created.",
    "solutions": "* Try to select another use case for campaign registration that reflects your A2P Messaging use case with Twilio\n* Complete Auth+ for the brand and retry registration.\n* Reach out to support with campaign details for resolution.",
    "description": "The campaign use case provided as part of registration request is ineligible for registration.",
    "date_created": "2023-05-25T08:29:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30901,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejection - The campaign registration request timed out.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign registration request timed out due to an error.\n\n### Possible causes\n\nReasons for this failure can be:\n\n- Review was not completed\n- Third parties involved in campaign registration did not respond within defined SLA\n\n### Possible solutions\n\nPlease retry with a new campaign registration.\n",
    "causes": "Reasons for this failure can be: - Review was not completed\n- Third parties involved in campaign registration did not respond within defined SLA",
    "solutions": "Please retry with a new campaign registration.",
    "description": "The campaign registration request timed out due to an error.",
    "date_created": "2023-06-07T15:23:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30902,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejection - A DCA2 rejected this campaign registration request.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign registration request failed due to a DCA2 rejecting this campaign.\n\n### Possible causes\n\nReasons for this failure can be:\n\n- Third parties involved in campaign registration rejected the campaign registration request.\n\n### Possible solutions\n\nPlease reach out to customer support with campaign and account details for resolution.\n",
    "causes": "Reasons for this failure can be: - Third parties involved in campaign registration rejected the campaign registration request.",
    "solutions": "Please reach out to customer support with campaign and account details for resolution.",
    "description": "The campaign registration request failed due to a DCA2 rejecting this campaign.",
    "date_created": "2023-07-12T20:28:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30903,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejection - Incorrect Sole Prop Brand Registration",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign for a Sole Proprietorship Brand has been rejected due to incorrect registration and failure to meet the small business Sole Proprietor (EIN) criteria set by TCR and mobile carriers.\n\n### Possible causes\n\nReasons for this failure can be:\n\n- Failure to meet the specified criteria for Sole Proprietor registration, entities with EINs should be registered as a Standard Brand.\n- Incorrect or incomplete registration information provided during the brand registration process.\n- Inconsistencies or discrepancies in the provided information.\n\n### Possible solutions\n\n- Verify the accuracy and completeness of the registration information for the Sole Proprietorship Brand.\n- Ensure that the brand meets the criteria defined by TCR and mobile carriers for Sole Proprietor (EIN) registration.\n- If the brand does not qualify as a Sole Proprietorship, consider registering it as a standard brand according to the appropriate guidelines and requirements.\n- Register a standard or acceptable campaign use case that aligns with the registered brand's classification.\n",
    "causes": "Reasons for this failure can be: - Failure to meet the specified criteria for Sole Proprietor registration, entities with EINs should be registered as a Standard Brand.\n- Incorrect or incomplete registration information provided during the brand registration process.\n- Inconsistencies or discrepancies in the provided information.",
    "solutions": "* Verify the accuracy and completeness of the registration information for the Sole Proprietorship Brand.\n* Ensure that the brand meets the criteria defined by TCR and mobile carriers for Sole Proprietor (EIN) registration.\n* If the brand does not qualify as a Sole Proprietorship, consider registering it as a standard brand according to the appropriate guidelines and requirements.\n* Register a standard or acceptable campaign use case that aligns with the registered brand's classification.",
    "description": "The campaign for a Sole Proprietorship Brand has been rejected due to incorrect registration and failure to meet the small business Sole Proprietor (EIN) criteria set by TCR and mobile carriers.",
    "date_created": "2023-07-21T07:06:27Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30904,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Not Shared with Twilio",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessaging Service could not be associated with the Campaign because the specific Campaign was not found in Twilio's DCA records.\n\n### Possible causes\n\n- Campaign has not been shared with Twilio's DCA.\n- Provided campaignID is incorrect.\n\n### Possible solutions\n\n- Ensure that the Campaign has been successfully shared with Twilio as the DCA and has received approval.\n- Confirm that the entered CampaignID is accurate.\n- If needed, re-share the Campaign through TCR, await the CAMPAIGN\\_SHARE\\_ACCEPT webhook, and then proceed to assign the Messaging Service.\n\nAdditional help resources\n\n- [Changes to Externally Registered Campaign Submission](https://support.twilio.com/hc/en-us/articles/13097615242395-Changes-to-Externally-Registered-Campaign-Submission)\n",
    "causes": "* Campaign has not been shared with Twilio's DCA.\n* Provided campaignID is incorrect.",
    "solutions": "* Ensure that the Campaign has been successfully shared with Twilio as the DCA and has received approval.\n* Confirm that the entered CampaignID is accurate.\n* If needed, re-share the Campaign through TCR, await the CAMPAIGN\\_SHARE\\_ACCEPT webhook, and then proceed to assign the Messaging Service. Additional help resources * [Changes to Externally Registered Campaign Submission](https://support.twilio.com/hc/en-us/articles/13097615242395-Changes-to-Externally-Registered-Campaign-Submission)",
    "description": "Messaging Service could not be associated with the Campaign because the specific Campaign was not found in Twilio's DCA records.",
    "date_created": "2023-10-23T14:02:30Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30905,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Review Pending by Twilio",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nUnable to attach the Messaging Service to the Campaign as the Campaign is still under review and has not been accepted by Twilio's DCA.\n\n### Possible causes\n\n- Messaging Service was attempted to be associated before receiving the CAMPAIGN\\_SHARE\\_ACCEPT webhook from TCR.\n\n### Possible solutions\n\n- Await the CAMPAIGN\\_SHARE\\_ACCEPT webhook from TCR before assigning the Messaging Service to the CampaignID.\n- Note: Campaign will remain in a 'FAILED' state until the Messaging Service is successfully re-attached.\n\nAdditional help resources\n\n- [Changes to Externally Registered Campaign Submission](https://support.twilio.com/hc/en-us/articles/13097615242395-Changes-to-Externally-Registered-Campaign-Submission)\n",
    "causes": "* Messaging Service was attempted to be associated before receiving the CAMPAIGN\\_SHARE\\_ACCEPT webhook from TCR.",
    "solutions": "* Await the CAMPAIGN\\_SHARE\\_ACCEPT webhook from TCR before assigning the Messaging Service to the CampaignID.\n* Note: Campaign will remain in a 'FAILED' state until the Messaging Service is successfully re-attached. Additional help resources * [Changes to Externally Registered Campaign Submission](https://support.twilio.com/hc/en-us/articles/13097615242395-Changes-to-Externally-Registered-Campaign-Submission)",
    "description": "Unable to attach the Messaging Service to the Campaign as the Campaign is still under review and has not been accepted by Twilio's DCA.",
    "date_created": "2023-10-23T14:04:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30906,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Rejected by Twilio",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessaging Service could not be attached to the Campaign because Twilio's DCA declined the Campaign due to compliance violations.\n\n### Possible causes\n\n- Twilio identified compliance violations during the review process. The specific reason for rejection is provided in the CAMPAIGN\\_SHARE\\_DELETE webhook from TCR.\n\n### Possible solutions\n\n- Revise the Campaign details to address the compliance issues and re-share the Campaign with Twilio's DCA for another review.\n- For further clarification and resolution, contact Twilio Customer Support.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n- [Changes to Externally Registered Campaign Submission](https://support.twilio.com/hc/en-us/articles/13097615242395-Changes-to-Externally-Registered-Campaign-Submission)\n",
    "causes": "* Twilio identified compliance violations during the review process. The specific reason for rejection is provided in the CAMPAIGN\\_SHARE\\_DELETE webhook from TCR.",
    "solutions": "* Revise the Campaign details to address the compliance issues and re-share the Campaign with Twilio's DCA for another review.\n* For further clarification and resolution, contact Twilio Customer Support. Additional help resources * [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n* [Changes to Externally Registered Campaign Submission](https://support.twilio.com/hc/en-us/articles/13097615242395-Changes-to-Externally-Registered-Campaign-Submission)",
    "description": "Messaging Service could not be attached to the Campaign because Twilio's DCA declined the Campaign due to compliance violations.",
    "date_created": "2023-10-23T14:05:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30907,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Website URL Validation Issue",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected during vetting because the website URL in the registration does not align with the Brand or Campaign information you submitted. During campaign review, the website, campaign purpose, consent flow, and sample messages must consistently identify the same sender and use case.\n\n### Possible causes\n\n- The submitted website URL points to a site or domain that does not match the registered Brand information.\n- The website content describes a different business, product, or campaign purpose than the one in your Brand and Campaign registration.\n- Your campaign description, Message Flow, or sample messages reference a different brand name or website than the URL you submitted.\n- If you are registering on behalf of a customer, the website belongs to your platform or company instead of the actual business sending the messages.\n\n### Possible solutions\n\n- Update your Brand and Campaign details so the business name, website URL, campaign description, Message Flow, and sample messages all describe the same sender and the same messaging use case.\n- If customers opt in on your website, include the direct opt-in link in `message_flow` and make sure the website includes a privacy policy and terms of service.\n- If the opt-in flow or supporting content is not publicly accessible, provide a public URL to hosted screenshots of the relevant pages so reviewers can verify the registration.\n- If you are an ISV, register the end customer's actual brand and website rather than your own company website.\n- After you correct the website and registration details, resubmit the campaign for review.\n\n#### Additional resources\n\n- [Programmable Messaging and A2P 10DLC](/docs/messaging/compliance/a2p-10dlc)\n- [Troubleshooting and rectifying A2P Campaigns](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns)\n- [A2P 10DLC Campaign Approval Requirements](https://help.twilio.com/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* The submitted website URL points to a site or domain that does not match the registered Brand information.\n* The website content describes a different business, product, or campaign purpose than the one in your Brand and Campaign registration.\n* Your campaign description, Message Flow, or sample messages reference a different brand name or website than the URL you submitted.\n* If you are registering on behalf of a customer, the website belongs to your platform or company instead of the actual business sending the messages.",
    "solutions": "* Update your Brand and Campaign details so the business name, website URL, campaign description, Message Flow, and sample messages all describe the same sender and the same messaging use case.\n* If customers opt in on your website, include the direct opt-in link in `message_flow` and make sure the website includes a privacy policy and terms of service.\n* If the opt-in flow or supporting content is not publicly accessible, provide a public URL to hosted screenshots of the relevant pages so reviewers can verify the registration.\n* If you are an ISV, register the end customer's actual brand and website rather than your own company website.\n* After you correct the website and registration details, resubmit the campaign for review.",
    "description": "Your A2P 10DLC campaign was rejected during vetting because the website URL in the registration does not align with the Brand or Campaign information you submitted. During campaign review, the website, campaign purpose, consent flow, and sample messages must consistently identify the same sender and use case.",
    "date_created": "2023-11-09T16:25:32Z",
    "last_updated": "2026-03-23T14:59:39+01:00"
  },
  {
    "code": 30908,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign vetting rejection - Compliant Privacy Policy Required",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign submission has been reviewed and rejected because a compliant privacy policy can not be verified.\n\n### Possible causes\n\n- *Missing Privacy Policy*: A compliant privacy policy was not located on the website provided or Message Flow during the review process.\n- *Policy Inconsistencies*: Discrepancies in the provided privacy policy such as multiple privacy policies.\n- *Mobile Information Sharing*: Privacy policy indicates end-user mobile information is shared with third parties/affiliates.\n\n### Possible solutions\n\n1. Verify privacy policy is accessible to end-users and meets the compliance standards for the collection and use of mobile phone numbers for messaging.\n2. Include a direct link to the privacy policy within the Message Flow. Once you have made a change to address the privacy policy error, please resubmit the campaign for review.\n3. Ensure that Privacy Policy states that no mobile information will be shared with third parties/affiliates for marketing/promotional purposes.\n\nAdditional help resources\n\n- [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* *Missing Privacy Policy*: A compliant privacy policy was not located on the website provided or Message Flow during the review process.\n* *Policy Inconsistencies*: Discrepancies in the provided privacy policy such as multiple privacy policies.\n* *Mobile Information Sharing*: Privacy policy indicates end-user mobile information is shared with third parties/affiliates.",
    "solutions": "1. Verify privacy policy is accessible to end-users and meets the compliance standards for the collection and use of mobile phone numbers for messaging.\n2. Include a direct link to the privacy policy within the Message Flow. Once you have made a change to address the privacy policy error, please resubmit the campaign for review.\n3. Ensure that Privacy Policy states that no mobile information will be shared with third parties/affiliates for marketing/promotional purposes. Additional help resources - [A2P 10DLC campaign approval best practices](https://support.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)",
    "description": "The campaign submission has been reviewed and rejected because a compliant privacy policy can not be verified.",
    "date_created": "2023-11-09T16:26:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30909,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Campaign vetting rejection - Message Flow / Call to Action Incomplete or Verification Issue",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when an A2P 10DLC campaign registration is rejected due to issues verifying the Call to Action (CTA). The error page states the submission \"was reviewed and rejected due to issues verifying the Call to Action (CTA) provided for the campaign,\" and notes that if opt‑in occurs outside a website, the information provided was incomplete or insufficiently detailed.\n\nIn Twilio's A2P registration flow, the CTA is captured in the \"Message Flow/Call to Action\" text where you must describe how end users give consent. Twilio's guidance explains this section's purpose and required disclosures, including brand identification, message frequency (for recurring programs), links to terms and privacy policy, \"message and data rates may apply,\" and opt‑out instructions.\n\n### Possible causes\n\n- The CTA (Message Flow) does not clearly explain how users opt in, or lacks sufficient detail to verify off‑website consent flows (for example, in‑store, verbal, or paper).\n- The Message Flow omits one or more required elements such as brand identification, frequency disclosure (if recurring), links to terms and privacy policy, the \"message and data rates may apply\" disclosure, or opt‑out instructions.\n- Not all opt‑in methods used by the campaign are listed in the Message Flow (for example, web form plus keyword plus in‑person), preventing reviewers from validating consent.\n- The opt‑in evidence is not publicly accessible (for example, behind a login) and no hosted screenshots or equivalent proof were provided, so reviewers can't verify the CTA.\n\n### Possible solutions\n\n- Rewrite the Message Flow to fully describe every way consent is collected (web, keyword/text‑in, verbal script, paper form, QR, etc.), then resubmit the campaign. Twilio confirms you should include all consent methods when opt‑in isn't solely on a website.\n- Ensure the Message Flow includes required disclosures: brand identification, message frequency (for recurring programs), links to terms and a compliant privacy policy, \"message and data rates may apply,\" and opt‑out instructions.\n- If the web opt‑in or other required info isn't publicly accessible, add a public URL with hosted screenshots of the relevant pages to allow verification.\n- If your app primarily \"replies\" to inbound messages (conversational use), explicitly document in the Message Flow how users initiate contact and consent (for example, \"customers text our support number to start a conversation\"), and include required disclosures and opt‑out instructions.\n- When using keyword/text‑in opt‑in, include the keyword(s) and provide the required help/opt‑out responses (or use Twilio's defaults). Align your message samples and campaign description with the Message Flow.\n- After updating the CTA information, resubmit the campaign for review. This is the prescribed next step on the error page.\n\n## Additional resources\n\n- [A2P 10DLC - Gather the Required Business Information](/docs/messaging/compliance/a2p-10dlc/collect-business-info)\n- [What is A2P 10DLC (10-Digit Long Code) registration?](https://www.twilio.com/en-us/blog/insights/best-practices/improving-your-chances-of-a2p10dlc-registration-approval)\n- [Programmable Messaging and A2P 10DLC](/docs/messaging/compliance/a2p-10dlc)\n- [Troubleshooting and rectifying A2P Campaigns](/docs/messaging/compliance/a2p-10dlc/troubleshooting-a2p-brands/troubleshooting-and-rectifying-a2p-campaigns)\n- [\\[U.S. A2P 10DLC\\] Additional Error Codes for A2P 10DLC Campaign Reviews](https://www.twilio.com/en-us/changelog/-u-s--a2p-10dlc---additional-error-codes-for-a2p-10dlc-campaign-)\n",
    "causes": "* The CTA (Message Flow) does not clearly explain how users opt in, or lacks sufficient detail to verify off‑website consent flows (for example, in‑store, verbal, or paper).\n* The Message Flow omits one or more required elements such as brand identification, frequency disclosure (if recurring), links to terms and privacy policy, the \"message and data rates may apply\" disclosure, or opt‑out instructions.\n* Not all opt‑in methods used by the campaign are listed in the Message Flow (for example, web form plus keyword plus in‑person), preventing reviewers from validating consent.\n* The opt‑in evidence is not publicly accessible (for example, behind a login) and no hosted screenshots or equivalent proof were provided, so reviewers can't verify the CTA.",
    "solutions": "* Rewrite the Message Flow to fully describe every way consent is collected (web, keyword/text‑in, verbal script, paper form, QR, etc.), then resubmit the campaign. Twilio confirms you should include all consent methods when opt‑in isn't solely on a website.\n* Ensure the Message Flow includes required disclosures: brand identification, message frequency (for recurring programs), links to terms and a compliant privacy policy, \"message and data rates may apply,\" and opt‑out instructions.\n* If the web opt‑in or other required info isn't publicly accessible, add a public URL with hosted screenshots of the relevant pages to allow verification.\n* If your app primarily \"replies\" to inbound messages (conversational use), explicitly document in the Message Flow how users initiate contact and consent (for example, \"customers text our support number to start a conversation\"), and include required disclosures and opt‑out instructions.\n* When using keyword/text‑in opt‑in, include the keyword(s) and provide the required help/opt‑out responses (or use Twilio's defaults). Align your message samples and campaign description with the Message Flow.\n* After updating the CTA information, resubmit the campaign for review. This is the prescribed next step on the error page.",
    "description": "Twilio returns this error when an A2P 10DLC campaign registration is rejected due to issues verifying the Call to Action (CTA). The error page states the submission \"was reviewed and rejected due to issues verifying the Call to Action (CTA) provided for the campaign,\" and notes that if opt‑in occurs outside a website, the information provided was incomplete or insufficiently detailed. In Twilio's A2P registration flow, the CTA is captured in the \"Message Flow/Call to Action\" text where you must describe how end users give consent. Twilio's guidance explains this section's purpose and required disclosures, including brand identification, message frequency (for recurring programs), links to terms and privacy policy, \"message and data rates may apply,\" and opt‑out instructions.",
    "date_created": "2023-11-09T16:27:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30910,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: non-English language content detected. A2P 10DLC campaigns must be submitted in English",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains non-English language content. The Campaign Registry (TCR) requires all campaign registration fields, including use case descriptions, sample messages, and opt-in details, to be submitted in English. This applies even if your messaging traffic will be sent in another language.\n\n### Possible causes\n\n- **Non-English use case description:** The campaign description or message flow fields contain text in a language other than English.\n- **Non-English sample messages:** Sample messages were submitted in a non-English language without English translations.\n- **Mixed-language content:** Fields contain a mix of English and non-English text that reviewers couldn't fully evaluate.\n\n### Possible solutions\n\n- **Translate all campaign fields to English:** Resubmit your campaign with all registration fields written in English, including use case descriptions, sample messages, and opt-in language.\n- **Provide English translations alongside non-English samples:** If your actual messages will be sent in another language, provide English translations of sample messages in parentheses or as a note.\n- **Review A2P 10DLC registration requirements:** Visit the [A2P 10DLC Campaign Registration Guide](/docs/messaging/compliance/a2p-10dlc) for detailed field requirements.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n",
    "causes": "* **Non-English use case description:** The campaign description or message flow fields contain text in a language other than English.\n* **Non-English sample messages:** Sample messages were submitted in a non-English language without English translations.\n* **Mixed-language content:** Fields contain a mix of English and non-English text that reviewers couldn't fully evaluate.",
    "solutions": "* **Translate all campaign fields to English:** Resubmit your campaign with all registration fields written in English, including use case descriptions, sample messages, and opt-in language.\n* **Provide English translations alongside non-English samples:** If your actual messages will be sent in another language, provide English translations of sample messages in parentheses or as a note.\n* **Review A2P 10DLC registration requirements:** Visit the [A2P 10DLC Campaign Registration Guide](/docs/messaging/compliance/a2p-10dlc) for detailed field requirements.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains non-English language content. The Campaign Registry (TCR) requires all campaign registration fields, including use case descriptions, sample messages, and opt-in details, to be submitted in English. This applies even if your messaging traffic will be sent in another language.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30911,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: same template text detected across multiple fields. Each field must contain unique, field-specific content",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the same text or template was reused across multiple registration fields. Each field in the campaign registration form serves a distinct purpose, and reviewers expect unique, field-specific content. Copying the same text into multiple fields suggests the submission wasn't carefully completed and prevents reviewers from properly evaluating the campaign.\n\n### Possible causes\n\n- **Copy-pasted content:** The same text was pasted into multiple fields such as use case description, sample messages, and message flow.\n- **Generic template reuse:** A boilerplate template was used without customizing the content for each field.\n- **Identical sample messages:** All sample message fields contain the same message text instead of showing a variety of messages your campaign will send.\n\n### Possible solutions\n\n- **Provide unique content for each field:** Resubmit the campaign with distinct, relevant content in each registration field that accurately describes that specific aspect of your campaign.\n- **Customize sample messages:** Include at least two different sample messages that represent the range of messages your campaign will send.\n- **Review field requirements:** Each field has specific requirements. Visit the [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices) for guidance on what each field should contain.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n",
    "causes": "* **Copy-pasted content:** The same text was pasted into multiple fields such as use case description, sample messages, and message flow.\n* **Generic template reuse:** A boilerplate template was used without customizing the content for each field.\n* **Identical sample messages:** All sample message fields contain the same message text instead of showing a variety of messages your campaign will send.",
    "solutions": "* **Provide unique content for each field:** Resubmit the campaign with distinct, relevant content in each registration field that accurately describes that specific aspect of your campaign.\n* **Customize sample messages:** Include at least two different sample messages that represent the range of messages your campaign will send.\n* **Review field requirements:** Each field has specific requirements. Visit the [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices) for guidance on what each field should contain.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the same text or template was reused across multiple registration fields. Each field in the campaign registration form serves a distinct purpose, and reviewers expect unique, field-specific content. Copying the same text into multiple fields suggests the submission wasn't carefully completed and prevents reviewers from properly evaluating the campaign.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30912,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: personal or peer-to-peer (P2P) use case detected. A2P 10DLC is for application-to-person messaging only",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the described use case appears to be personal or peer-to-peer (P2P) messaging rather than application-to-person (A2P) messaging. A2P 10DLC campaigns are designed for businesses sending messages to customers through an application, not for individual or personal communications between people.\n\n### Possible causes\n\n- **Personal messaging use case:** The campaign description indicates messages will be sent for personal or individual communication rather than business purposes.\n- **P2P messaging pattern:** The described message flow resembles person-to-person conversation rather than automated or application-driven messaging.\n- **No clear business purpose:** The campaign registration doesn't describe a clear business use case or application that generates the messages.\n\n### Possible solutions\n\n- **Clarify your business use case:** Resubmit with a clear description of how your application or business system generates and sends messages to customers.\n- **Describe the application component:** Explain what software, platform, or system triggers the messages. A2P messaging requires an application layer between the business and the message recipient.\n- **Use an appropriate messaging product:** If your use case is genuinely personal or P2P, consider using a different Twilio messaging product that supports conversational messaging.\n- **Review A2P 10DLC guidelines:** Visit the [A2P 10DLC Campaign Registration Guide](/docs/messaging/compliance/a2p-10dlc) to understand eligible use cases.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n",
    "causes": "* **Personal messaging use case:** The campaign description indicates messages will be sent for personal or individual communication rather than business purposes.\n* **P2P messaging pattern:** The described message flow resembles person-to-person conversation rather than automated or application-driven messaging.\n* **No clear business purpose:** The campaign registration doesn't describe a clear business use case or application that generates the messages.",
    "solutions": "* **Clarify your business use case:** Resubmit with a clear description of how your application or business system generates and sends messages to customers.\n* **Describe the application component:** Explain what software, platform, or system triggers the messages. A2P messaging requires an application layer between the business and the message recipient.\n* **Use an appropriate messaging product:** If your use case is genuinely personal or P2P, consider using a different Twilio messaging product that supports conversational messaging.\n* **Review A2P 10DLC guidelines:** Visit the [A2P 10DLC Campaign Registration Guide](/docs/messaging/compliance/a2p-10dlc) to understand eligible use cases.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the described use case appears to be personal or peer-to-peer (P2P) messaging rather than application-to-person (A2P) messaging. A2P 10DLC campaigns are designed for businesses sending messages to customers through an application, not for individual or personal communications between people.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30913,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: marketing consent must be collected separately from informational consent",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because your opt-in process combines marketing consent with informational or transactional consent. Under TCPA (Telephone Consumer Protection Act) guidelines, consumers must be given a clear and separate choice to opt in to marketing or promotional messages. Bundling marketing consent with other types of messaging consent doesn't provide consumers adequate control over the types of messages they receive.\n\n### Possible causes\n\n- **Combined consent checkbox:** A single opt-in checkbox or agreement covers both marketing/promotional messages and informational/transactional messages.\n- **Broad consent language:** The opt-in language is too broad, grouping all message types under one consent without distinguishing marketing from non-marketing content.\n- **Missing marketing-specific opt-in:** The campaign includes a marketing use case but the opt-in process does not include a separate, explicit consent for marketing messages.\n\n### Possible solutions\n\n- **Separate marketing consent:** Implement a distinct opt-in mechanism specifically for marketing or promotional messages, separate from informational or transactional messaging consent.\n- **Review TCPA compliance:** Visit the [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices) for guidance on compliant opt-in processes.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n",
    "causes": "* **Combined consent checkbox:** A single opt-in checkbox or agreement covers both marketing/promotional messages and informational/transactional messages.\n* **Broad consent language:** The opt-in language is too broad, grouping all message types under one consent without distinguishing marketing from non-marketing content.\n* **Missing marketing-specific opt-in:** The campaign includes a marketing use case but the opt-in process does not include a separate, explicit consent for marketing messages.",
    "solutions": "* **Separate marketing consent:** Implement a distinct opt-in mechanism specifically for marketing or promotional messages, separate from informational or transactional messaging consent.\n* **Review TCPA compliance:** Visit the [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices) for guidance on compliant opt-in processes.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because your opt-in process combines marketing consent with informational or transactional consent. Under TCPA (Telephone Consumer Protection Act) guidelines, consumers must be given a clear and separate choice to opt in to marketing or promotional messages. Bundling marketing consent with other types of messaging consent doesn't provide consumers adequate control over the types of messages they receive.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30914,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: sole proprietor campaign title does not match sole proprietor name",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the title used in the sole proprietor campaign doesn't match the registered sole proprietor name on file. For sole proprietor registrations, the campaign details must be consistent with the brand identity verified during registration. A mismatch between the campaign title and the sole proprietor name raises verification concerns.\n\n### Possible causes\n\n- **Campaign title uses a different name:** The campaign title references a business name, DBA, or alias that does not match the sole proprietor name submitted during brand registration.\n- **Nickname or abbreviation used:** The campaign title uses a shortened or informal version of the sole proprietor name.\n- **Incorrect brand registration:** The sole proprietor brand was registered with a name that does not match the name being used in the campaign.\n\n### Possible solutions\n\n- **Match the campaign title to your registered name:** Resubmit the campaign with a title that matches or closely aligns with the sole proprietor name registered with your brand.\n- **Update your brand registration:** If your sole proprietor name has changed, update your brand registration first, then resubmit the campaign.\n- **Review sole proprietor requirements:** Visit the [A2P 10DLC Campaign Registration Guide](/docs/messaging/compliance/a2p-10dlc) for details on sole proprietor campaign requirements.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n",
    "causes": "* **Campaign title uses a different name:** The campaign title references a business name, DBA, or alias that does not match the sole proprietor name submitted during brand registration.\n* **Nickname or abbreviation used:** The campaign title uses a shortened or informal version of the sole proprietor name.\n* **Incorrect brand registration:** The sole proprietor brand was registered with a name that does not match the name being used in the campaign.",
    "solutions": "* **Match the campaign title to your registered name:** Resubmit the campaign with a title that matches or closely aligns with the sole proprietor name registered with your brand.\n* **Update your brand registration:** If your sole proprietor name has changed, update your brand registration first, then resubmit the campaign.\n* **Review sole proprietor requirements:** Visit the [A2P 10DLC Campaign Registration Guide](/docs/messaging/compliance/a2p-10dlc) for details on sole proprietor campaign requirements.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the title used in the sole proprietor campaign doesn't match the registered sole proprietor name on file. For sole proprietor registrations, the campaign details must be consistent with the brand identity verified during registration. A mismatch between the campaign title and the sole proprietor name raises verification concerns.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30915,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: sole proprietor campaign is using a corporate or business entity name instead of the individual's name",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because a sole proprietor registration is using a corporate or business entity name (such as an LLC, Inc., or Corp.) instead of the individual proprietor's personal name. Sole proprietor registrations are intended for individuals operating a business under their own name. If your business is a registered corporate entity, you should register under a standard (non-sole-proprietor) brand instead.\n\n### Possible causes\n\n- **Corporate name used in sole proprietor registration:** The brand or campaign was registered as a sole proprietor but uses a corporate name such as \"ABC LLC\" or \"XYZ Inc.\"\n- **Incorrect registration type:** The business is a registered legal entity (LLC, corporation, partnership) but was submitted under the sole proprietor registration path.\n- **DBA name resembles a corporate entity:** The name used includes corporate suffixes or language that suggests a formal business entity rather than an individual.\n\n### Possible solutions\n\n- **Re-register as a standard brand:** If your business is a registered legal entity, register under a standard brand registration (not sole proprietor) using your EIN and corporate information.\n- **Use your personal name:** If you are genuinely a sole proprietor, resubmit the campaign using your personal legal name rather than a corporate or business entity name.\n- **Review registration types:** Visit the [A2P 10DLC Campaign Registration Guide](/docs/messaging/compliance/a2p-10dlc) to determine the correct registration type for your business.\n- **Contact support:** If you need help determining the appropriate registration type, [contact support](https://support.twilio.com).\n",
    "causes": "* **Corporate name used in sole proprietor registration:** The brand or campaign was registered as a sole proprietor but uses a corporate name such as \"ABC LLC\" or \"XYZ Inc.\"\n* **Incorrect registration type:** The business is a registered legal entity (LLC, corporation, partnership) but was submitted under the sole proprietor registration path.\n* **DBA name resembles a corporate entity:** The name used includes corporate suffixes or language that suggests a formal business entity rather than an individual.",
    "solutions": "* **Re-register as a standard brand:** If your business is a registered legal entity, register under a standard brand registration (not sole proprietor) using your EIN and corporate information.\n* **Use your personal name:** If you are genuinely a sole proprietor, resubmit the campaign using your personal legal name rather than a corporate or business entity name.\n* **Review registration types:** Visit the [A2P 10DLC Campaign Registration Guide](/docs/messaging/compliance/a2p-10dlc) to determine the correct registration type for your business.\n* **Contact support:** If you need help determining the appropriate registration type, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because a sole proprietor registration is using a corporate or business entity name (such as an LLC, Inc., or Corp.) instead of the individual proprietor's personal name. Sole proprietor registrations are intended for individuals operating a business under their own name. If your business is a registered corporate entity, you should register under a standard (non-sole-proprietor) brand instead.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30916,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: campaign registered as lead generation but describes lead nurture activities, or the reverse",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because there is a mismatch between the selected campaign use case type and the actual messaging activities described. Specifically, the campaign is registered as \"lead generation\" but the description and sample messages indicate \"lead nurture\" activities, or the reverse. These are distinct use case categories with different requirements, and the selected type must accurately reflect the messaging content.\n\n### Possible causes\n\n- **Lead generation selected but describes nurturing:** The campaign was registered under a \"lead generation\" use case, but the sample messages and description show ongoing engagement with existing leads (for example, follow-ups, drip campaigns, re-engagement) rather than initial outreach to acquire new leads.\n- **Lead nurture selected but describes generation:** The campaign was registered under a \"lead nurture\" use case, but the sample messages indicate cold outreach or initial contact with prospects who haven't yet engaged with your business.\n- **Unclear use case distinction:** The campaign description blurs the line between lead generation (acquiring new leads) and lead nurture (engaging existing leads), making it difficult for reviewers to classify.\n\n### Possible solutions\n\n- **Select the correct use case type:** Determine whether your messaging is primarily lead generation (initial outreach to new prospects) or lead nurture (ongoing engagement with existing leads) and select the matching use case.\n- **Align description with use case:** Resubmit the campaign ensuring the description, message flow, and sample messages all match the selected use case type.\n- **Split into separate campaigns:** If your messaging includes both lead generation and lead nurture activities, consider registering separate campaigns for each use case.\n- **Review use case definitions:** Visit the [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices) for definitions and examples of each use case type.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n",
    "causes": "* **Lead generation selected but describes nurturing:** The campaign was registered under a \"lead generation\" use case, but the sample messages and description show ongoing engagement with existing leads (for example, follow-ups, drip campaigns, re-engagement) rather than initial outreach to acquire new leads.\n* **Lead nurture selected but describes generation:** The campaign was registered under a \"lead nurture\" use case, but the sample messages indicate cold outreach or initial contact with prospects who haven't yet engaged with your business.\n* **Unclear use case distinction:** The campaign description blurs the line between lead generation (acquiring new leads) and lead nurture (engaging existing leads), making it difficult for reviewers to classify.",
    "solutions": "* **Select the correct use case type:** Determine whether your messaging is primarily lead generation (initial outreach to new prospects) or lead nurture (ongoing engagement with existing leads) and select the matching use case.\n* **Align description with use case:** Resubmit the campaign ensuring the description, message flow, and sample messages all match the selected use case type.\n* **Split into separate campaigns:** If your messaging includes both lead generation and lead nurture activities, consider registering separate campaigns for each use case.\n* **Review use case definitions:** Visit the [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices) for definitions and examples of each use case type.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because there is a mismatch between the selected campaign use case type and the actual messaging activities described. Specifically, the campaign is registered as \"lead generation\" but the description and sample messages indicate \"lead nurture\" activities, or the reverse. These are distinct use case categories with different requirements, and the selected type must accurately reflect the messaging content.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30917,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: Incomplete opt-in details. All opt-in methods must include complete workflow descriptions.",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because one or more of the declared opt-in methods don't include sufficient detail. When you select multiple opt-in types (such as website, keyword, or paper form), each one must include a complete description of how end users provide consent to receive messages.\n\n### Possible causes\n\n- **Missing workflow for an opt-in type:** You selected multiple opt-in methods but only provided details for some of them.\n- **Incomplete opt-in description:** The description for one or more opt-in methods is too brief or lacks specifics about how the consumer provides consent.\n- **Generic opt-in language:** The opt-in description uses vague language without explaining the specific steps a consumer takes to opt in.\n\n### Possible solutions\n\n- **Provide complete details for each opt-in method:** For every opt-in type you selected, describe the full workflow including where and how consumers encounter the opt-in, what they see, and what action they take to consent.\n- **Remove unused opt-in types:** If you do not actually use a particular opt-in method, deselect it rather than leaving it with incomplete information.\n- **Review opt-in documentation:** Refer to the [A2P 10DLC Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices) for examples of compliant opt-in descriptions.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Missing workflow for an opt-in type:** You selected multiple opt-in methods but only provided details for some of them.\n* **Incomplete opt-in description:** The description for one or more opt-in methods is too brief or lacks specifics about how the consumer provides consent.\n* **Generic opt-in language:** The opt-in description uses vague language without explaining the specific steps a consumer takes to opt in.",
    "solutions": "* **Provide complete details for each opt-in method:** For every opt-in type you selected, describe the full workflow including where and how consumers encounter the opt-in, what they see, and what action they take to consent.\n* **Remove unused opt-in types:** If you do not actually use a particular opt-in method, deselect it rather than leaving it with incomplete information.\n* **Review opt-in documentation:** Refer to the [A2P 10DLC Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices) for examples of compliant opt-in descriptions.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign registration was rejected because one or more of the declared opt-in methods don't include sufficient detail. When you select multiple opt-in types (such as website, keyword, or paper form), each one must include a complete description of how end users provide consent to receive messages.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30918,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: The DBA (Doing Business As) name does not match the legal business name on file.",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because the DBA (Doing Business As) name provided in the campaign doesn't match the legal business name associated with your brand registration. The Campaign Registry requires consistency between the business name used in customer-facing communications and the registered legal entity.\n\n### Possible causes\n\n- **DBA differs from legal name without proper registration:** Your campaign uses a trade name or brand name that is not formally registered as a DBA with your brand profile.\n- **Typographical error:** The business name in the campaign contains a spelling mistake or formatting difference from the registered legal name.\n- **Subsidiary or brand name used instead of parent company:** The campaign references a subsidiary or product brand rather than the registered legal entity name.\n\n### Possible solutions\n\n- **Align campaign name with registered brand:** Update the campaign to use the exact legal business name that matches your brand registration.\n- **Register a DBA with your brand:** If you legitimately operate under a different name, update your brand registration to include the DBA name before resubmitting the campaign.\n- **Verify brand registration details:** Check your brand profile in the [Twilio Console](https://console.twilio.com) to confirm the registered legal name and ensure it matches your campaign submission.\n- **Contact support:** If you believe the names should match or need assistance updating your brand, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **DBA differs from legal name without proper registration:** Your campaign uses a trade name or brand name that is not formally registered as a DBA with your brand profile.\n* **Typographical error:** The business name in the campaign contains a spelling mistake or formatting difference from the registered legal name.\n* **Subsidiary or brand name used instead of parent company:** The campaign references a subsidiary or product brand rather than the registered legal entity name.",
    "solutions": "* **Align campaign name with registered brand:** Update the campaign to use the exact legal business name that matches your brand registration.\n* **Register a DBA with your brand:** If you legitimately operate under a different name, update your brand registration to include the DBA name before resubmitting the campaign.\n* **Verify brand registration details:** Check your brand profile in the [Twilio Console](https://console.twilio.com) to confirm the registered legal name and ensure it matches your campaign submission.\n* **Contact support:** If you believe the names should match or need assistance updating your brand, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign registration was rejected because the DBA (Doing Business As) name provided in the campaign doesn't match the legal business name associated with your brand registration. The Campaign Registry requires consistency between the business name used in customer-facing communications and the registered legal entity.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30919,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: The provided website does not contain sufficient information about the business or its messaging use case.",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because the website URL provided doesn't contain enough information for reviewers to verify your business identity and messaging use case. The website must clearly demonstrate who the business is, what services it provides, and how messaging fits into its operations.\n\n### Possible causes\n\n- **Minimal or placeholder website:** The website is a single landing page, under construction, or contains very little content about the business.\n- **No business information:** The website lacks essential details such as company name, contact information, description of services, or terms of service.\n- **Website does not reference messaging:** There is no indication on the website that the business sends SMS or MMS messages to customers.\n- **Domain parking page:** The URL points to a parked domain or domain registrar placeholder page.\n\n### Possible solutions\n\n- **Ensure your website includes business details:** Add company name, physical address or contact information, description of services, and a privacy policy to your website.\n- **Add messaging disclosure:** Include information about your SMS/MMS messaging program on the website, such as terms and conditions for messaging or a description of what messages customers will receive.\n- **Use an established website:** Provide a URL for a fully functional website with meaningful content rather than a placeholder or single-page site.\n- **Provide an alternative URL:** If your primary website does not cover messaging, consider linking to a page that specifically describes your messaging program.\n- **Contact support:** If you believe your website meets requirements, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Minimal or placeholder website:** The website is a single landing page, under construction, or contains very little content about the business.\n* **No business information:** The website lacks essential details such as company name, contact information, description of services, or terms of service.\n* **Website does not reference messaging:** There is no indication on the website that the business sends SMS or MMS messages to customers.\n* **Domain parking page:** The URL points to a parked domain or domain registrar placeholder page.",
    "solutions": "* **Ensure your website includes business details:** Add company name, physical address or contact information, description of services, and a privacy policy to your website.\n* **Add messaging disclosure:** Include information about your SMS/MMS messaging program on the website, such as terms and conditions for messaging or a description of what messages customers will receive.\n* **Use an established website:** Provide a URL for a fully functional website with meaningful content rather than a placeholder or single-page site.\n* **Provide an alternative URL:** If your primary website does not cover messaging, consider linking to a page that specifically describes your messaging program.\n* **Contact support:** If you believe your website meets requirements, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign registration was rejected because the website URL provided doesn't contain enough information for reviewers to verify your business identity and messaging use case. The website must clearly demonstrate who the business is, what services it provides, and how messaging fits into its operations.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30920,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: The provided website consists only of a form without sufficient business context or content.",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because the website URL you provided leads to a page that contains only a form (such as a lead capture form, sign-up form, or contact form) without adequate surrounding business content. Reviewers need to verify your business identity and messaging use case, which requires more than a standalone form.\n\n### Possible causes\n\n- **Landing page with only a form:** The website is a single-purpose lead capture or sign-up page with no additional business information.\n- **No business context around the form:** The page lacks company information, service descriptions, or other content that establishes the legitimacy of the business.\n- **Marketing funnel page:** The URL points to a campaign-specific landing page designed solely to collect user information.\n\n### Possible solutions\n\n- **Provide a full business website:** Submit a URL that leads to a website with complete business information including company details, service descriptions, contact information, and privacy policy.\n- **Add business context to the form page:** If the form page is your primary customer-facing page, add company information, a description of your services, and details about your messaging program around the form.\n- **Link to your main website:** Use your primary business website URL rather than a campaign-specific landing page.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Landing page with only a form:** The website is a single-purpose lead capture or sign-up page with no additional business information.\n* **No business context around the form:** The page lacks company information, service descriptions, or other content that establishes the legitimacy of the business.\n* **Marketing funnel page:** The URL points to a campaign-specific landing page designed solely to collect user information.",
    "solutions": "* **Provide a full business website:** Submit a URL that leads to a website with complete business information including company details, service descriptions, contact information, and privacy policy.\n* **Add business context to the form page:** If the form page is your primary customer-facing page, add company information, a description of your services, and details about your messaging program around the form.\n* **Link to your main website:** Use your primary business website URL rather than a campaign-specific landing page.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign registration was rejected because the website URL you provided leads to a page that contains only a form (such as a lead capture form, sign-up form, or contact form) without adequate surrounding business content. Reviewers need to verify your business identity and messaging use case, which requires more than a standalone form.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30921,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: The provided website requires authentication to access and cannot be reviewed.",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because the website URL you provided requires a login or authentication to access its content. Campaign reviewers must be able to visit and verify the website without needing credentials, so websites behind login walls, password protection, or authentication screens can't be used for campaign verification.\n\n### Possible causes\n\n- **Content behind authentication wall:** The business information or opt-in details are only visible after signing in.\n- **Internal or staging URL:** The URL points to an internal tool, staging environment, or admin portal that is not publicly accessible.\n- **Gated content:** The website content is behind a paywall or registration gate.\n\n### Possible solutions\n\n- **Provide a publicly accessible URL:** Submit a website URL that can be accessed by anyone without requiring login credentials.\n- **Use your public-facing website:** Provide the URL for your main business website rather than an authenticated portal or internal tool.\n- **Create a public information page:** If your primary service is behind a login, create a publicly accessible page that describes your business, services, and messaging program.\n- **Ensure the opt-in page is public:** The page showing your opt-in flow and consent language must be accessible without authentication.\n- **Contact support:** If you need to provide access to a gated website for verification, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Content behind authentication wall:** The business information or opt-in details are only visible after signing in.\n* **Internal or staging URL:** The URL points to an internal tool, staging environment, or admin portal that is not publicly accessible.\n* **Gated content:** The website content is behind a paywall or registration gate.",
    "solutions": "* **Provide a publicly accessible URL:** Submit a website URL that can be accessed by anyone without requiring login credentials.\n* **Use your public-facing website:** Provide the URL for your main business website rather than an authenticated portal or internal tool.\n* **Create a public information page:** If your primary service is behind a login, create a publicly accessible page that describes your business, services, and messaging program.\n* **Ensure the opt-in page is public:** The page showing your opt-in flow and consent language must be accessible without authentication.\n* **Contact support:** If you need to provide access to a gated website for verification, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign registration was rejected because the website URL you provided requires a login or authentication to access its content. Campaign reviewers must be able to visit and verify the website without needing credentials, so websites behind login walls, password protection, or authentication screens can't be used for campaign verification.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30922,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: The provided website does not meet the requirements for campaign verification.",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because the website URL you provided doesn't meet the minimum requirements for campaign verification. The website must be functional, relevant to the registered business, and provide enough information for reviewers to validate the campaign use case.\n\n### Possible causes\n\n- **Website is not functional:** The URL returns an error, times out, or the site is down.\n- **Domain does not resolve:** The website URL points to a domain that does not exist or has expired.\n- **Website content is unrelated:** The website content does not relate to the business or messaging use case described in the campaign registration.\n- **Website is under construction:** The site displays an \"under construction\" or \"coming soon\" page without substantive content.\n- **Non-standard URL:** The URL provided is not a valid website (for example, a social media profile, app store link, or file download link used where a website URL is required).\n\n### Possible solutions\n\n- **Verify your website is live and accessible:** Visit the URL you submitted and confirm it loads correctly and displays your business information.\n- **Use a relevant business website:** Ensure the website clearly relates to the business name and messaging use case in your campaign registration.\n- **Provide a standard website URL:** Submit a URL to an actual business website rather than a social media profile, app store listing, or document link.\n- **Contact support:** If your website meets requirements and you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Website is not functional:** The URL returns an error, times out, or the site is down.\n* **Domain does not resolve:** The website URL points to a domain that does not exist or has expired.\n* **Website content is unrelated:** The website content does not relate to the business or messaging use case described in the campaign registration.\n* **Website is under construction:** The site displays an \"under construction\" or \"coming soon\" page without substantive content.\n* **Non-standard URL:** The URL provided is not a valid website (for example, a social media profile, app store link, or file download link used where a website URL is required).",
    "solutions": "* **Verify your website is live and accessible:** Visit the URL you submitted and confirm it loads correctly and displays your business information.\n* **Use a relevant business website:** Ensure the website clearly relates to the business name and messaging use case in your campaign registration.\n* **Provide a standard website URL:** Submit a URL to an actual business website rather than a social media profile, app store listing, or document link.\n* **Contact support:** If your website meets requirements and you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign registration was rejected because the website URL you provided doesn't meet the minimum requirements for campaign verification. The website must be functional, relevant to the registered business, and provide enough information for reviewers to validate the campaign use case.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30923,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: Consent to receive messages must not be a required condition for using the service.",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because your opt-in process requires consumers to consent to receiving messages as a mandatory condition for using your service or completing a transaction. Under TCPA (Telephone Consumer Protection Act) regulations and carrier guidelines, consent to receive non-essential marketing or informational messages must be freely given and can't be bundled as a required condition of service.\n\n### Possible causes\n\n- **Mandatory messaging consent:** Your sign-up or checkout flow requires users to agree to receive SMS/MMS messages to proceed, with no option to decline.\n- **Consent bundled with terms of service:** The agreement to receive messages is combined with the general terms of service in a way that users cannot accept one without the other.\n- **No opt-out of messaging at sign-up:** Users cannot complete registration or purchase without also opting into messaging.\n- **Pre-checked required consent box:** A messaging consent checkbox is pre-selected and cannot be unchecked while still completing the intended action.\n\n### Possible solutions\n\n- **Make messaging consent optional:** Ensure that consumers can use your service, complete purchases, or sign up for accounts without being required to opt in to messaging.\n- **Separate messaging consent from terms of service:** Use a distinct, separate checkbox or opt-in mechanism for messaging consent that is independent from your general terms of service agreement.\n- **Use an unchecked checkbox:** If using a checkbox for messaging consent, ensure it is unchecked by default and clearly labeled as optional.\n- **Review TCPA compliance:** Ensure your opt-in process complies with TCPA requirements for prior express consent. See the [CTIA Messaging Principles and Best Practices](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms) for guidance.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Mandatory messaging consent:** Your sign-up or checkout flow requires users to agree to receive SMS/MMS messages to proceed, with no option to decline.\n* **Consent bundled with terms of service:** The agreement to receive messages is combined with the general terms of service in a way that users cannot accept one without the other.\n* **No opt-out of messaging at sign-up:** Users cannot complete registration or purchase without also opting into messaging.\n* **Pre-checked required consent box:** A messaging consent checkbox is pre-selected and cannot be unchecked while still completing the intended action.",
    "solutions": "* **Make messaging consent optional:** Ensure that consumers can use your service, complete purchases, or sign up for accounts without being required to opt in to messaging.\n* **Separate messaging consent from terms of service:** Use a distinct, separate checkbox or opt-in mechanism for messaging consent that is independent from your general terms of service agreement.\n* **Use an unchecked checkbox:** If using a checkbox for messaging consent, ensure it is unchecked by default and clearly labeled as optional.\n* **Review TCPA compliance:** Ensure your opt-in process complies with TCPA requirements for prior express consent. See the [CTIA Messaging Principles and Best Practices](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms) for guidance.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign registration was rejected because your opt-in process requires consumers to consent to receiving messages as a mandatory condition for using your service or completing a transaction. Under TCPA (Telephone Consumer Protection Act) regulations and carrier guidelines, consent to receive non-essential marketing or informational messages must be freely given and can't be bundled as a required condition of service.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30924,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Missing or non-compliant consent agreement language in opt-in flow",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the opt-in flow you provided doesn't contain compliant consent agreement language. Carriers require that consumers are clearly informed about what types of messages they will receive, the frequency of messages, and how to opt out before they provide consent. Your submitted opt-in evidence is either missing this language entirely or the language present does not meet TCPA and CTIA compliance requirements.\n\n### Possible causes\n\n- **Missing consent disclosure:** The opt-in flow does not include language informing the consumer about the nature of the messages they will receive.\n- **No frequency disclosure:** The opt-in does not state the expected message frequency (for example, \"Up to 5 messages per month\").\n- **Missing opt-out instructions:** The consent language does not include instructions on how to stop receiving messages (for example, \"Reply STOP to unsubscribe\").\n- **No \"message and data rates may apply\" disclosure:** The opt-in is missing the standard rate disclosure language.\n\n### Possible solutions\n\n- **Add compliant consent language** to your opt-in flow that includes: (1) the type of messages the consumer will receive, (2) message frequency, (3) \"Message and data rates may apply,\" and (4) opt-out instructions such as \"Reply STOP to unsubscribe.\"\n- **Review CTIA guidelines** for short code and messaging compliance to ensure your consent language meets industry standards.\n- **Provide a screenshot or URL** showing the complete consent language as it appears to the consumer at the point of opt-in.\n- **Consult the registration guide:** [A2P 10DLC Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n- **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Missing consent disclosure:** The opt-in flow does not include language informing the consumer about the nature of the messages they will receive.\n* **No frequency disclosure:** The opt-in does not state the expected message frequency (for example, \"Up to 5 messages per month\").\n* **Missing opt-out instructions:** The consent language does not include instructions on how to stop receiving messages (for example, \"Reply STOP to unsubscribe\").\n* **No \"message and data rates may apply\" disclosure:** The opt-in is missing the standard rate disclosure language.",
    "solutions": "* **Add compliant consent language** to your opt-in flow that includes: (1) the type of messages the consumer will receive, (2) message frequency, (3) \"Message and data rates may apply,\" and (4) opt-out instructions such as \"Reply STOP to unsubscribe.\"\n* **Review CTIA guidelines** for short code and messaging compliance to ensure your consent language meets industry standards.\n* **Provide a screenshot or URL** showing the complete consent language as it appears to the consumer at the point of opt-in.\n* **Consult the registration guide:** [A2P 10DLC Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n* **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the opt-in flow you provided doesn't contain compliant consent agreement language. Carriers require that consumers are clearly informed about what types of messages they will receive, the frequency of messages, and how to opt out before they provide consent. Your submitted opt-in evidence is either missing this language entirely or the language present does not meet TCPA and CTIA compliance requirements.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30925,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Opt-in checkbox is missing or pre-selected, consent must be actively given",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the opt-in mechanism you provided either doesn't include a checkbox for the consumer to actively grant consent, or the checkbox is pre-selected (pre-checked) by default. TCPA regulations and carrier policies require that consumers take an affirmative action to opt in to receiving messages. A pre-selected checkbox does not constitute valid express consent.\n\n### Possible causes\n\n- **No checkbox present:** The opt-in form or flow does not include a checkbox or equivalent mechanism for the consumer to actively grant messaging consent.\n- **Pre-selected checkbox:** The consent checkbox is checked by default, which does not meet the requirement for affirmative consumer action.\n- **Checkbox is for general terms only:** The form has a checkbox for Terms of Service or Privacy Policy acceptance, but no separate checkbox specifically for SMS/messaging consent.\n- **Consent bundled into submit button:** Messaging consent is implied through form submission rather than an explicit, separate opt-in action.\n\n### Possible solutions\n\n- **Add an unchecked checkbox** specifically for SMS/messaging consent that the consumer must actively select before submitting.\n- **Ensure the checkbox is unchecked by default** so the consumer must take affirmative action to opt in.\n- **Separate messaging consent** from other terms: Do not bundle SMS opt-in with general Terms of Service or Privacy Policy acceptance.\n- **Provide updated screenshots** showing the unchecked checkbox in your opt-in flow when resubmitting the campaign.\n- **Consult the registration guide:** [A2P 10DLC Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n- **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **No checkbox present:** The opt-in form or flow does not include a checkbox or equivalent mechanism for the consumer to actively grant messaging consent.\n* **Pre-selected checkbox:** The consent checkbox is checked by default, which does not meet the requirement for affirmative consumer action.\n* **Checkbox is for general terms only:** The form has a checkbox for Terms of Service or Privacy Policy acceptance, but no separate checkbox specifically for SMS/messaging consent.\n* **Consent bundled into submit button:** Messaging consent is implied through form submission rather than an explicit, separate opt-in action.",
    "solutions": "* **Add an unchecked checkbox** specifically for SMS/messaging consent that the consumer must actively select before submitting.\n* **Ensure the checkbox is unchecked by default** so the consumer must take affirmative action to opt in.\n* **Separate messaging consent** from other terms: Do not bundle SMS opt-in with general Terms of Service or Privacy Policy acceptance.\n* **Provide updated screenshots** showing the unchecked checkbox in your opt-in flow when resubmitting the campaign.\n* **Consult the registration guide:** [A2P 10DLC Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n* **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the opt-in mechanism you provided either doesn't include a checkbox for the consumer to actively grant consent, or the checkbox is pre-selected (pre-checked) by default. TCPA regulations and carrier policies require that consumers take an affirmative action to opt in to receiving messages. A pre-selected checkbox does not constitute valid express consent.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30926,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Multiple companies or brands cannot be registered under a single campaign",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the campaign registration references multiple companies or brands. Each A2P 10DLC campaign must represent a single brand sending messages for a single use case. Carriers require a one-to-one relationship between a campaign and the brand it represents. If your business operates multiple brands or sends messages on behalf of multiple companies, each must have its own separate campaign registration.\n\n### Possible causes\n\n- **Multiple brand names in campaign details:** The campaign description, sample messages, or opt-in materials reference more than one company or brand name.\n- **Shared campaign across subsidiaries:** A single campaign is being used to send messages for multiple subsidiaries or business units that operate under different brand names.\n- **ISV sending on behalf of multiple clients:** An ISV (Independent Software Vendor) registered one campaign but intends to use it for multiple end-client brands.\n\n### Possible solutions\n\n- **Create separate campaigns** for each brand or company that will be sending messages. Each campaign should represent exactly one brand.\n- **Ensure consistency** across all campaign fields: the brand name, sample messages, opt-in materials, and website should all reference the same single company.\n- **For ISVs:** Register individual campaigns for each client brand using the appropriate brand registration. Review Twilio's ISV documentation for multi-brand registration guidance.\n- **Resubmit the campaign** with references to only one brand throughout all campaign materials and fields.\n- **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Multiple brand names in campaign details:** The campaign description, sample messages, or opt-in materials reference more than one company or brand name.\n* **Shared campaign across subsidiaries:** A single campaign is being used to send messages for multiple subsidiaries or business units that operate under different brand names.\n* **ISV sending on behalf of multiple clients:** An ISV (Independent Software Vendor) registered one campaign but intends to use it for multiple end-client brands.",
    "solutions": "* **Create separate campaigns** for each brand or company that will be sending messages. Each campaign should represent exactly one brand.\n* **Ensure consistency** across all campaign fields: the brand name, sample messages, opt-in materials, and website should all reference the same single company.\n* **For ISVs:** Register individual campaigns for each client brand using the appropriate brand registration. Review Twilio's ISV documentation for multi-brand registration guidance.\n* **Resubmit the campaign** with references to only one brand throughout all campaign materials and fields.\n* **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the campaign registration references multiple companies or brands. Each A2P 10DLC campaign must represent a single brand sending messages for a single use case. Carriers require a one-to-one relationship between a campaign and the brand it represents. If your business operates multiple brands or sends messages on behalf of multiple companies, each must have its own separate campaign registration.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30927,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Opt-in evidence is for a different company than the one registered for this campaign",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the opt-in evidence you submitted belongs to a different company than the brand registered for this campaign. The opt-in flow, consent language, or website provided during campaign registration references a company name that doesn't match the brand associated with this campaign. Carriers require that the opt-in evidence directly corresponds to the registered brand to verify that the correct entity has obtained consumer consent.\n\n### Possible causes\n\n- **Wrong opt-in screenshot uploaded:** The opt-in evidence submitted belongs to a different campaign or a different brand within your organization.\n- **Brand name mismatch:** The company name shown in the opt-in materials does not match the brand name registered for this campaign.\n- **Shared opt-in across brands:** A single opt-in flow is being used for multiple brands, and the evidence shows a different brand than the one registered.\n- **Outdated materials:** The opt-in evidence reflects a previous company name or branding that has since changed but was not updated in the campaign registration.\n\n### Possible solutions\n\n- **Submit opt-in evidence that matches the registered brand.** Ensure the company name, logo, and branding in your opt-in materials exactly match the brand registered for this campaign.\n- **Verify the brand registration** to confirm which company name is associated with this campaign, and provide corresponding opt-in materials.\n- **Update your opt-in flow** if your brand name has changed, so that the current company name is displayed to consumers.\n- **Create a separate campaign** if the opt-in evidence is for a legitimately different brand that needs its own campaign registration.\n- **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Wrong opt-in screenshot uploaded:** The opt-in evidence submitted belongs to a different campaign or a different brand within your organization.\n* **Brand name mismatch:** The company name shown in the opt-in materials does not match the brand name registered for this campaign.\n* **Shared opt-in across brands:** A single opt-in flow is being used for multiple brands, and the evidence shows a different brand than the one registered.\n* **Outdated materials:** The opt-in evidence reflects a previous company name or branding that has since changed but was not updated in the campaign registration.",
    "solutions": "* **Submit opt-in evidence that matches the registered brand.** Ensure the company name, logo, and branding in your opt-in materials exactly match the brand registered for this campaign.\n* **Verify the brand registration** to confirm which company name is associated with this campaign, and provide corresponding opt-in materials.\n* **Update your opt-in flow** if your brand name has changed, so that the current company name is displayed to consumers.\n* **Create a separate campaign** if the opt-in evidence is for a legitimately different brand that needs its own campaign registration.\n* **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the opt-in evidence you submitted belongs to a different company than the brand registered for this campaign. The opt-in flow, consent language, or website provided during campaign registration references a company name that doesn't match the brand associated with this campaign. Carriers require that the opt-in evidence directly corresponds to the registered brand to verify that the correct entity has obtained consumer consent.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30928,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Social influencer or public figure communications are not permitted as a campaign use case",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the declared use case involves communications solely for a social media influencer or public figure. A2P 10DLC campaigns are intended for business-to-consumer (B2C) messaging by registered businesses. Campaigns whose sole purpose is enabling a social media influencer or public figure to communicate with followers don't qualify as a valid A2P business use case under current carrier policies.\n\n### Possible causes\n\n- **Use case describes influencer outreach:** The campaign description indicates that the primary purpose is for a social media influencer or public figure to send messages to their audience or followers.\n- **No underlying business entity:** The campaign is registered under a personal brand or individual personality rather than a business entity with a legitimate B2C messaging use case.\n- **Sample messages indicate fan communications:** The sample messages provided describe content typical of influencer-to-follower communications (for example, promotional shoutouts, personal updates) rather than standard business messaging.\n\n### Possible solutions\n\n- **Register as a business entity** if the influencer or public figure operates a legitimate business (for example, an e-commerce store, subscription service, or event business) and reframe the campaign around that business use case.\n- **Select an appropriate use case** that reflects the actual business purpose of the messaging, such as marketing, customer care, or account notifications, rather than describing it as influencer communications.\n- **Provide business context** in the campaign description that demonstrates a legitimate B2C relationship beyond influencer-follower interactions.\n- **Contact support** if you have questions about eligible use cases: [Twilio Support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Use case describes influencer outreach:** The campaign description indicates that the primary purpose is for a social media influencer or public figure to send messages to their audience or followers.\n* **No underlying business entity:** The campaign is registered under a personal brand or individual personality rather than a business entity with a legitimate B2C messaging use case.\n* **Sample messages indicate fan communications:** The sample messages provided describe content typical of influencer-to-follower communications (for example, promotional shoutouts, personal updates) rather than standard business messaging.",
    "solutions": "* **Register as a business entity** if the influencer or public figure operates a legitimate business (for example, an e-commerce store, subscription service, or event business) and reframe the campaign around that business use case.\n* **Select an appropriate use case** that reflects the actual business purpose of the messaging, such as marketing, customer care, or account notifications, rather than describing it as influencer communications.\n* **Provide business context** in the campaign description that demonstrates a legitimate B2C relationship beyond influencer-follower interactions.\n* **Contact support** if you have questions about eligible use cases: [Twilio Support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the declared use case involves communications solely for a social media influencer or public figure. A2P 10DLC campaigns are intended for business-to-consumer (B2C) messaging by registered businesses. Campaigns whose sole purpose is enabling a social media influencer or public figure to communicate with followers don't qualify as a valid A2P business use case under current carrier policies.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30929,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Emergency alert notifications are not permitted as a campaign use case",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the declared use case involves sending emergency alert notifications. Emergency alert messaging (for example, AMBER alerts, weather emergencies, public safety warnings) is governed by dedicated systems such as the Wireless Emergency Alerts (WEA) program and isn't permitted through standard A2P 10DLC campaigns. Carriers restrict this use case to authorized government agencies and emergency management organizations using approved alerting infrastructure.\n\n### Possible causes\n\n- **Use case describes emergency alerts:** The campaign description indicates the purpose is to send emergency or public safety alert notifications.\n- **Sample messages contain emergency language:** The sample messages include terms like \"emergency alert,\" \"severe weather warning,\" \"evacuation notice,\" or similar emergency notification language.\n- **Confusion with urgent notifications:** The campaign may involve time-sensitive business notifications (for example, security alerts, fraud alerts) but was described using emergency alert terminology.\n\n### Possible solutions\n\n- **Use the appropriate alerting system:** If you are a government agency or authorized organization that needs to send emergency alerts, use the Wireless Emergency Alerts (WEA) system or other approved emergency notification channels.\n- **Reframe non-emergency use cases:** If your messages are time-sensitive business notifications (such as account security alerts, fraud detection, or service outage notifications) rather than true emergency alerts, resubmit the campaign with a description and use case that accurately reflects the business nature of the messaging.\n- **Select the correct use case category** that matches your actual messaging purpose, such as \"Security Alerts\" or \"Account Notifications,\" and avoid emergency alert language.\n- **Contact support** if you have questions about eligible use cases: [Twilio Support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Use case describes emergency alerts:** The campaign description indicates the purpose is to send emergency or public safety alert notifications.\n* **Sample messages contain emergency language:** The sample messages include terms like \"emergency alert,\" \"severe weather warning,\" \"evacuation notice,\" or similar emergency notification language.\n* **Confusion with urgent notifications:** The campaign may involve time-sensitive business notifications (for example, security alerts, fraud alerts) but was described using emergency alert terminology.",
    "solutions": "* **Use the appropriate alerting system:** If you are a government agency or authorized organization that needs to send emergency alerts, use the Wireless Emergency Alerts (WEA) system or other approved emergency notification channels.\n* **Reframe non-emergency use cases:** If your messages are time-sensitive business notifications (such as account security alerts, fraud detection, or service outage notifications) rather than true emergency alerts, resubmit the campaign with a description and use case that accurately reflects the business nature of the messaging.\n* **Select the correct use case category** that matches your actual messaging purpose, such as \"Security Alerts\" or \"Account Notifications,\" and avoid emergency alert language.\n* **Contact support** if you have questions about eligible use cases: [Twilio Support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the declared use case involves sending emergency alert notifications. Emergency alert messaging (for example, AMBER alerts, weather emergencies, public safety warnings) is governed by dedicated systems such as the Wireless Emergency Alerts (WEA) program and isn't permitted through standard A2P 10DLC campaigns. Carriers restrict this use case to authorized government agencies and emergency management organizations using approved alerting infrastructure.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30930,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Campaign limit exceeded. A brand may have a maximum of 100 campaigns",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because the brand associated with this campaign has already reached the maximum limit of 100 campaigns. The Campaign Registry (TCR) enforces a limit of 100 active campaigns per brand. This limit exists to prevent abuse and ensure that brands maintain a manageable and legitimate set of campaign registrations.\n\n### Possible causes\n\n- **Brand has 100 active campaigns:** The brand associated with this campaign already has 100 registered campaigns, which is the maximum allowed by TCR.\n- **Unused campaigns not cleaned up:** Previously registered campaigns that are no longer in use have not been deactivated or removed, consuming the available campaign slots.\n- **Duplicate or redundant campaigns:** Multiple campaigns were registered for similar use cases that could have been consolidated.\n\n### Possible solutions\n\n- **Review existing campaigns** in your Twilio Console and identify any that are no longer needed or active. Deregister unused campaigns to free up capacity.\n- **Consolidate similar campaigns** where possible. If multiple campaigns serve the same use case and brand, consider merging them into fewer campaigns.\n- **Deregister inactive campaigns** before attempting to register new ones. You can manage campaign registrations through the Twilio Console or API.\n- **Contact support** if you need assistance reviewing or managing your campaign registrations: [Twilio Support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Brand has 100 active campaigns:** The brand associated with this campaign already has 100 registered campaigns, which is the maximum allowed by TCR.\n* **Unused campaigns not cleaned up:** Previously registered campaigns that are no longer in use have not been deactivated or removed, consuming the available campaign slots.\n* **Duplicate or redundant campaigns:** Multiple campaigns were registered for similar use cases that could have been consolidated.",
    "solutions": "* **Review existing campaigns** in your Twilio Console and identify any that are no longer needed or active. Deregister unused campaigns to free up capacity.\n* **Consolidate similar campaigns** where possible. If multiple campaigns serve the same use case and brand, consider merging them into fewer campaigns.\n* **Deregister inactive campaigns** before attempting to register new ones. You can manage campaign registrations through the Twilio Console or API.\n* **Contact support** if you need assistance reviewing or managing your campaign registrations: [Twilio Support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign registration was rejected because the brand associated with this campaign has already reached the maximum limit of 100 campaigns. The Campaign Registry (TCR) enforces a limit of 100 active campaigns per brand. This limit exists to prevent abuse and ensure that brands maintain a manageable and legitimate set of campaign registrations.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30931,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Opt-in process forces consent without allowing the consumer to decline",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the opt-in process forces the consumer to consent to receiving messages without providing a clear option to decline. TCPA regulations require that messaging consent be freely and voluntarily given. If a consumer cannot complete a transaction, registration, or other action without also consenting to receive SMS messages, the consent is considered forced and does not meet compliance requirements. This code applies when the opt-in form mechanics prevent the consumer from declining messaging (no unchecked checkbox, no skip option, or a single button that grants all permissions). For consent bundled into mandatory terms of service or conditions of use, see error code 30923.\n\n### Possible causes\n\n- **Consent required to proceed:** The opt-in flow requires the consumer to agree to receive SMS messages in order to complete a purchase, registration, or account creation. Messaging consent cannot be a precondition for accessing a service.\n- **No option to decline:** The form or flow does not provide a way for the consumer to opt out of messaging while still completing the primary action (for example, there is no \"skip\" option or the checkbox cannot be unchecked).\n- **Consent buried in mandatory terms:** SMS messaging consent is embedded within mandatory Terms of Service or Privacy Policy acceptance, giving the consumer no choice to accept the terms while declining messaging.\n- **Single action grants all permissions:** A single button or action simultaneously grants messaging consent along with other required agreements, with no way to separate them.\n\n### Possible solutions\n\n- **Make messaging consent optional.** Ensure the consumer can complete the primary action (purchase, registration, sign-up) without being required to opt in to SMS messaging.\n- **Provide a separate, optional checkbox** for SMS consent that is not required to proceed with the form or transaction.\n- **Separate consent from required terms:** Do not bundle messaging opt-in with mandatory Terms of Service or Privacy Policy acceptance. Consent to receive messages must be a separate, voluntary action.\n- **Add a clear decline option** so consumers can choose not to receive messages while still completing the intended action.\n- **Resubmit with updated evidence** showing that consumers can decline messaging consent and still proceed.\n- **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Consent required to proceed:** The opt-in flow requires the consumer to agree to receive SMS messages in order to complete a purchase, registration, or account creation. Messaging consent cannot be a precondition for accessing a service.\n* **No option to decline:** The form or flow does not provide a way for the consumer to opt out of messaging while still completing the primary action (for example, there is no \"skip\" option or the checkbox cannot be unchecked).\n* **Consent buried in mandatory terms:** SMS messaging consent is embedded within mandatory Terms of Service or Privacy Policy acceptance, giving the consumer no choice to accept the terms while declining messaging.\n* **Single action grants all permissions:** A single button or action simultaneously grants messaging consent along with other required agreements, with no way to separate them.",
    "solutions": "* **Make messaging consent optional.** Ensure the consumer can complete the primary action (purchase, registration, sign-up) without being required to opt in to SMS messaging.\n* **Provide a separate, optional checkbox** for SMS consent that is not required to proceed with the form or transaction.\n* **Separate consent from required terms:** Do not bundle messaging opt-in with mandatory Terms of Service or Privacy Policy acceptance. Consent to receive messages must be a separate, voluntary action.\n* **Add a clear decline option** so consumers can choose not to receive messages while still completing the intended action.\n* **Resubmit with updated evidence** showing that consumers can decline messaging consent and still proceed.\n* **Contact support** if you believe this rejection is incorrect: [Twilio Support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the opt-in process forces the consumer to consent to receiving messages without providing a clear option to decline. TCPA regulations require that messaging consent be freely and voluntarily given. If a consumer cannot complete a transaction, registration, or other action without also consenting to receive SMS messages, the consent is considered forced and does not meet compliance requirements. This code applies when the opt-in form mechanics prevent the consumer from declining messaging (no unchecked checkbox, no skip option, or a single button that grants all permissions). For consent bundled into mandatory terms of service or conditions of use, see error code 30923.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30932,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Opt-in data shared with third parties without proper disclosure in privacy policy",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because opt-in consent data is being shared with third parties without proper disclosure. TCPA regulations and carrier guidelines require that any sharing of consumer opt-in information with third-party entities must be clearly disclosed in your privacy policy and opt-in flow.\n\n### Possible causes\n\n- **Privacy policy indicates data sharing:** Your privacy policy indicates mobile information may be shared with third parties or affiliates for marketing purposes.\n- **Consent shared without disclosure:** Opt-in consent is collected by one entity but shared with another entity without explicit disclosure.\n- **Lead generation data sharing:** Lead generation campaigns that pass opt-in data to multiple downstream recipients.\n- **Affiliate network sharing:** Affiliate marketing arrangements where consumer consent is shared across partner networks.\n\n### Possible solutions\n\n- **Update privacy policy:** Explicitly state that mobile information will *not* be shared with third parties for marketing purposes.\n- **Disclose data sharing at opt-in:** If data sharing is required, ensure explicit and prominent disclosure at the point of opt-in.\n- **Obtain direct consent:** For lead generation use cases, ensure each recipient company obtains its own direct consent.\n- **Review TCPA requirements:** Review TCPA requirements for consent transfer and third-party data sharing.\n- **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n- [CTIA Messaging Principles and Best Practices](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms)\n",
    "causes": "* **Privacy policy indicates data sharing:** Your privacy policy indicates mobile information may be shared with third parties or affiliates for marketing purposes.\n* **Consent shared without disclosure:** Opt-in consent is collected by one entity but shared with another entity without explicit disclosure.\n* **Lead generation data sharing:** Lead generation campaigns that pass opt-in data to multiple downstream recipients.\n* **Affiliate network sharing:** Affiliate marketing arrangements where consumer consent is shared across partner networks.",
    "solutions": "* **Update privacy policy:** Explicitly state that mobile information will *not* be shared with third parties for marketing purposes.\n* **Disclose data sharing at opt-in:** If data sharing is required, ensure explicit and prominent disclosure at the point of opt-in.\n* **Obtain direct consent:** For lead generation use cases, ensure each recipient company obtains its own direct consent.\n* **Review TCPA requirements:** Review TCPA requirements for consent transfer and third-party data sharing.\n* **Contact support:** If you believe this rejection is incorrect, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because opt-in consent data is being shared with third parties without proper disclosure. TCPA regulations and carrier guidelines require that any sharing of consumer opt-in information with third-party entities must be clearly disclosed in your privacy policy and opt-in flow.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30933,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: Privacy Policy URL is required for A2P 10DLC campaign registration",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because the `PrivacyPolicyUrl` field was not included in the API request. Starting June 30, 2026, the `PrivacyPolicyUrl` parameter is required when creating a campaign via the Twilio REST API. This field must contain a valid, publicly accessible URL to the privacy policy for the business registering the campaign.\n\nThis error is distinct from [Error 30908](/docs/api/errors/30908), which indicates that a privacy policy was provided but its content did not pass compliance review. Error 30933 means the URL field itself was missing from the request.\n\n### Possible Causes\n\n- **Field omitted from API request:** The `PrivacyPolicyUrl` parameter was not included in the `POST` request to the campaign creation endpoint (`/v1/Services/{MessagingServiceSid}/Compliance/Usa2p`).\n- **Integration not updated:** Your integration code was written before June 30, 2026 when this field was optional, and has not been updated to include it.\n- **ISV onboarding flow missing field:** If you are an ISV registering campaigns on behalf of customers, your onboarding flow may not collect the privacy policy URL from end customers.\n- **Empty or null value:** The field was included in the request but with an empty string or null value.\n\n### Possible Solutions\n\n- **Add `PrivacyPolicyUrl` to your API request:** Include the `PrivacyPolicyUrl` parameter in every campaign creation request. The value must be a valid, publicly accessible HTTPS URL pointing to the business's privacy policy page.\n- **Collect privacy policy URLs from your customers:** If you are an ISV, update your customer onboarding flow to require a privacy policy URL before submitting campaign registrations.\n- **Verify the URL is valid:** Ensure the URL uses `https://`, is publicly accessible without authentication, and points to a page containing an actual privacy policy relevant to the business.\n- **Resubmit the campaign:** Once you have added the `PrivacyPolicyUrl` field, submit a new campaign registration request.\n\nAdditional help resources\n\n- [ISV API Onboarding Guide — Privacy Policy and Terms & Conditions URLs](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#53-privacy-policy-and-terms--conditions-urls)\n- [UsAppToPerson Resource API Reference](/docs/messaging/api/usapptoperson-resource)\n- [A2P 10DLC Campaign Approval Best Practices](https://help.twilio.com/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n- [A2P 10DLC — Gather Business Information](/docs/messaging/compliance/a2p-10dlc/collect-business-info)\n",
    "causes": null,
    "solutions": null,
    "description": "Your A2P 10DLC campaign registration was rejected because the `PrivacyPolicyUrl` field was not included in the API request. Starting June 30, 2026, the `PrivacyPolicyUrl` parameter is required when creating a campaign via the Twilio REST API. This field must contain a valid, publicly accessible URL to the privacy policy for the business registering the campaign. This error is distinct from [Error 30908](/docs/api/errors/30908), which indicates that a privacy policy was provided but its content did not pass compliance review. Error 30933 means the URL field itself was missing from the request.",
    "date_created": "2026-04-01T13:57:11-04:00",
    "last_updated": "2026-04-01T13:57:11-04:00"
  },
  {
    "code": 30934,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign registration rejected: Terms and Conditions URL is required for A2P 10DLC campaign registration",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign registration was rejected because the `TermsAndConditionsUrl` field was not included in the API request. Starting June 30, 2026, the `TermsAndConditionsUrl` parameter is required when creating a campaign via the Twilio REST API. This field must contain a valid, publicly accessible URL to the terms and conditions for the business registering the campaign.\n\nThis error is distinct from [Error 30882](/docs/api/errors/30882), which indicates that terms and conditions content did not pass compliance review. Error 30934 means the URL field itself was missing from the request.\n\n### Possible Causes\n\n- **Field omitted from API request:** The `TermsAndConditionsUrl` parameter was not included in the `POST` request to the campaign creation endpoint (`/v1/Services/{MessagingServiceSid}/Compliance/Usa2p`).\n- **Integration not updated:** Your integration code was written before June 30, 2026 when this field was optional, and has not been updated to include it.\n- **ISV onboarding flow missing field:** If you are an ISV registering campaigns on behalf of customers, your onboarding flow may not collect the terms and conditions URL from end customers.\n- **Empty or null value:** The field was included in the request but with an empty string or null value.\n\n### Possible Solutions\n\n- **Add `TermsAndConditionsUrl` to your API request:** Include the `TermsAndConditionsUrl` parameter in every campaign creation request. The value must be a valid, publicly accessible HTTPS URL pointing to the business's terms and conditions page.\n- **Collect terms and conditions URLs from your customers:** If you are an ISV, update your customer onboarding flow to require a terms and conditions URL before submitting campaign registrations.\n- **Verify the URL is valid:** Ensure the URL uses `https://`, is publicly accessible without authentication, and points to a page containing actual terms and conditions relevant to the business.\n- **Resubmit the campaign:** Once you have added the `TermsAndConditionsUrl` field, submit a new campaign registration request.\n\nAdditional help resources\n\n- [ISV API Onboarding Guide — Privacy Policy and Terms & Conditions URLs](/docs/messaging/compliance/a2p-10dlc/onboarding-isv-api#53-privacy-policy-and-terms--conditions-urls)\n- [UsAppToPerson Resource API Reference](/docs/messaging/api/usapptoperson-resource)\n- [A2P 10DLC Campaign Approval Best Practices](https://help.twilio.com/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n- [A2P 10DLC — Gather Business Information](/docs/messaging/compliance/a2p-10dlc/collect-business-info)\n",
    "causes": null,
    "solutions": null,
    "description": "Your A2P 10DLC campaign registration was rejected because the `TermsAndConditionsUrl` field was not included in the API request. Starting June 30, 2026, the `TermsAndConditionsUrl` parameter is required when creating a campaign via the Twilio REST API. This field must contain a valid, publicly accessible URL to the terms and conditions for the business registering the campaign. This error is distinct from [Error 30882](/docs/api/errors/30882), which indicates that terms and conditions content did not pass compliance review. Error 30934 means the URL field itself was missing from the request.",
    "date_created": "2026-04-01T13:57:11-04:00",
    "last_updated": "2026-04-01T13:57:11-04:00"
  },
  {
    "code": 30940,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Cannabis, CBD, or illegal substance content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains content related to cannabis, CBD, marijuana, or other illegal substances. Under carrier policies and CTIA guidelines, A2P messaging campaigns that promote, advertise, or facilitate the sale of cannabis, CBD products, marijuana, or controlled substances are prohibited regardless of state-level legality. These restrictions reflect federal law classifications and carrier acceptable use policies.\n\n### Possible causes\n\n- **Cannabis or marijuana promotion:** The campaign description, sample messages, or website promotes the sale or delivery of cannabis or marijuana products.\n- **CBD product marketing:** The campaign involves marketing or advertising CBD oils, edibles, or other CBD-derived products via SMS/MMS messaging.\n- **Illegal substance references:** The campaign content references controlled or illegal substances, including synthetic drugs or drug paraphernalia.\n- **Dispensary or delivery service messaging:** The campaign is associated with a cannabis dispensary, delivery service, or related business that facilitates substance transactions.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving cannabis, CBD, marijuana, or illegal substance content are prohibited under carrier guidelines.\n- Review the CTIA Short Code Monitoring Handbook and carrier acceptable use policies for the full list of prohibited content categories before registering future campaigns.\n- Consider alternative communication channels that may support your business use case outside of A2P 10DLC messaging.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Cannabis or marijuana promotion:** The campaign description, sample messages, or website promotes the sale or delivery of cannabis or marijuana products.\n* **CBD product marketing:** The campaign involves marketing or advertising CBD oils, edibles, or other CBD-derived products via SMS/MMS messaging.\n* **Illegal substance references:** The campaign content references controlled or illegal substances, including synthetic drugs or drug paraphernalia.\n* **Dispensary or delivery service messaging:** The campaign is associated with a cannabis dispensary, delivery service, or related business that facilitates substance transactions.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving cannabis, CBD, marijuana, or illegal substance content are prohibited under carrier guidelines.\n* Review the CTIA Short Code Monitoring Handbook and carrier acceptable use policies for the full list of prohibited content categories before registering future campaigns.\n* Consider alternative communication channels that may support your business use case outside of A2P 10DLC messaging.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains content related to cannabis, CBD, marijuana, or other illegal substances. Under carrier policies and CTIA guidelines, A2P messaging campaigns that promote, advertise, or facilitate the sale of cannabis, CBD products, marijuana, or controlled substances are prohibited regardless of state-level legality. These restrictions reflect federal law classifications and carrier acceptable use policies.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30941,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Prescription drug or controlled substance content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains content related to prescription drug marketing or controlled substances. Carrier policies and CTIA guidelines prohibit A2P messaging campaigns that promote, advertise, or facilitate the sale or distribution of prescription medications or controlled substances. This includes direct-to-consumer pharmaceutical marketing, online pharmacy promotions, and messaging related to controlled substance availability.\n\n### Possible causes\n\n- **Prescription drug advertising:** The campaign promotes or advertises specific prescription medications directly to consumers via SMS/MMS.\n- **Online pharmacy promotion:** The campaign is associated with an online pharmacy or mail-order prescription service that markets medications through messaging.\n- **Controlled substance references:** The campaign content references the availability, pricing, or distribution of controlled substances as classified by the DEA.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving prescription drug marketing or controlled substance content are prohibited under carrier guidelines.\n- Note that transactional messages such as prescription refill reminders from a licensed pharmacy to existing patients may be permissible under a different campaign use case. Consult Twilio documentation for guidance on compliant healthcare messaging.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Prescription drug advertising:** The campaign promotes or advertises specific prescription medications directly to consumers via SMS/MMS.\n* **Online pharmacy promotion:** The campaign is associated with an online pharmacy or mail-order prescription service that markets medications through messaging.\n* **Controlled substance references:** The campaign content references the availability, pricing, or distribution of controlled substances as classified by the DEA.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving prescription drug marketing or controlled substance content are prohibited under carrier guidelines.\n* Note that transactional messages such as prescription refill reminders from a licensed pharmacy to existing patients may be permissible under a different campaign use case. Consult Twilio documentation for guidance on compliant healthcare messaging.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains content related to prescription drug marketing or controlled substances. Carrier policies and CTIA guidelines prohibit A2P messaging campaigns that promote, advertise, or facilitate the sale or distribution of prescription medications or controlled substances. This includes direct-to-consumer pharmaceutical marketing, online pharmacy promotions, and messaging related to controlled substance availability.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30942,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Loan marketing content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains direct loan marketing content. Carrier policies prohibit A2P messaging campaigns that promote or solicit lending products such as payday loans, auto title loans, personal loans, or similar financial products. These restrictions apply to direct-to-consumer loan solicitations and promotional lending messages sent via SMS/MMS.\n\n### Possible causes\n\n- **Payday loan promotion:** The campaign promotes payday lending, cash advance services, or short-term high-interest loan products.\n- **Auto title or personal loan marketing:** The campaign advertises auto title loans, personal loans, or other consumer lending products via messaging.\n- **Loan lead generation:** The campaign collects consumer information for the purpose of connecting them with loan providers or lending marketplaces.\n- **Promotional lending offers:** The campaign sample messages or description include loan offers, interest rate promotions, or pre-approval solicitations.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving direct loan marketing content are prohibited under carrier guidelines.\n- Note that transactional messages such as payment reminders, account notifications, or servicing communications to existing borrowers may be permissible under a different campaign use case. Consult Twilio documentation for compliant financial services messaging.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Payday loan promotion:** The campaign promotes payday lending, cash advance services, or short-term high-interest loan products.\n* **Auto title or personal loan marketing:** The campaign advertises auto title loans, personal loans, or other consumer lending products via messaging.\n* **Loan lead generation:** The campaign collects consumer information for the purpose of connecting them with loan providers or lending marketplaces.\n* **Promotional lending offers:** The campaign sample messages or description include loan offers, interest rate promotions, or pre-approval solicitations.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving direct loan marketing content are prohibited under carrier guidelines.\n* Note that transactional messages such as payment reminders, account notifications, or servicing communications to existing borrowers may be permissible under a different campaign use case. Consult Twilio documentation for compliant financial services messaging.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains direct loan marketing content. Carrier policies prohibit A2P messaging campaigns that promote or solicit lending products such as payday loans, auto title loans, personal loans, or similar financial products. These restrictions apply to direct-to-consumer loan solicitations and promotional lending messages sent via SMS/MMS.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30943,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Third-party debt collection content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it involves third-party debt collection messaging. Carrier policies prohibit A2P messaging campaigns where a third-party entity attempts to collect debts on behalf of another creditor via SMS/MMS. Third-party debt collection is heavily regulated under the Fair Debt Collection Practices Act (FDCPA) and is classified as a prohibited use case for A2P 10DLC campaigns.\n\n### Possible causes\n\n- **Third-party collection agency messaging:** The campaign is registered by a debt collection agency that collects debts owed to other companies or creditors.\n- **Debt recovery solicitation:** The campaign content references debt recovery, past-due account collection, or payment demands on behalf of a third party.\n- **FDCPA-regulated communications:** The campaign involves communications that fall under FDCPA third-party debt collection regulations, including balance notifications or settlement offers from a non-original creditor.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving third-party debt collection are prohibited under carrier guidelines.\n- Note that first-party debt communications (where the original creditor contacts their own customers about outstanding balances) may be permissible under a different campaign use case. Consult Twilio documentation for guidance.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Third-party collection agency messaging:** The campaign is registered by a debt collection agency that collects debts owed to other companies or creditors.\n* **Debt recovery solicitation:** The campaign content references debt recovery, past-due account collection, or payment demands on behalf of a third party.\n* **FDCPA-regulated communications:** The campaign involves communications that fall under FDCPA third-party debt collection regulations, including balance notifications or settlement offers from a non-original creditor.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving third-party debt collection are prohibited under carrier guidelines.\n* Note that first-party debt communications (where the original creditor contacts their own customers about outstanding balances) may be permissible under a different campaign use case. Consult Twilio documentation for guidance.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it involves third-party debt collection messaging. Carrier policies prohibit A2P messaging campaigns where a third-party entity attempts to collect debts on behalf of another creditor via SMS/MMS. Third-party debt collection is heavily regulated under the Fair Debt Collection Practices Act (FDCPA) and is classified as a prohibited use case for A2P 10DLC campaigns.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30944,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Gambling or betting content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains gambling or betting-related content. Carrier policies and CTIA guidelines prohibit A2P messaging campaigns that promote, advertise, or facilitate gambling, sports betting, casino games, or other wagering activities. This restriction applies regardless of whether the gambling activity is licensed or legal in a particular jurisdiction.\n\n### Possible causes\n\n- **Sports betting promotion:** The campaign promotes sports betting platforms, wagering offers, or betting odds via SMS/MMS messaging.\n- **Casino or online gambling marketing:** The campaign advertises online casinos, poker platforms, slot games, or other gambling services.\n- **Wagering facilitation:** The campaign facilitates placing bets, managing wagers, or distributing gambling-related promotional offers such as free bets or deposit bonuses.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving gambling or betting content are prohibited under carrier guidelines.\n- Review carrier acceptable use policies for the full list of prohibited content categories before registering future campaigns.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Sports betting promotion:** The campaign promotes sports betting platforms, wagering offers, or betting odds via SMS/MMS messaging.\n* **Casino or online gambling marketing:** The campaign advertises online casinos, poker platforms, slot games, or other gambling services.\n* **Wagering facilitation:** The campaign facilitates placing bets, managing wagers, or distributing gambling-related promotional offers such as free bets or deposit bonuses.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving gambling or betting content are prohibited under carrier guidelines.\n* Review carrier acceptable use policies for the full list of prohibited content categories before registering future campaigns.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains gambling or betting-related content. Carrier policies and CTIA guidelines prohibit A2P messaging campaigns that promote, advertise, or facilitate gambling, sports betting, casino games, or other wagering activities. This restriction applies regardless of whether the gambling activity is licensed or legal in a particular jurisdiction.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30945,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Sweepstakes or contest content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains sweepstakes, contest, or prize promotion content. Carrier policies prohibit A2P messaging campaigns that promote or facilitate sweepstakes, contests, giveaways, or prize-based promotions via SMS/MMS. These restrictions apply due to the high abuse potential and regulatory complexity associated with prize promotions in messaging channels.\n\n### Possible causes\n\n- **Sweepstakes promotion:** The campaign promotes a sweepstakes, raffle, or random-draw prize giveaway through messaging.\n- **Contest or competition messaging:** The campaign facilitates entry into contests, competitions, or other promotional events that award prizes.\n- **Prize notification messages:** The campaign sends messages informing recipients that they have won or may win prizes, rewards, or free items.\n- **Incentivized opt-in with prizes:** The campaign uses prize offers or giveaways as incentives to drive consumer opt-in to messaging.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving sweepstakes or contest content are prohibited under carrier guidelines.\n- Review the CTIA guidelines and carrier acceptable use policies for the complete list of prohibited promotional content categories.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Sweepstakes promotion:** The campaign promotes a sweepstakes, raffle, or random-draw prize giveaway through messaging.\n* **Contest or competition messaging:** The campaign facilitates entry into contests, competitions, or other promotional events that award prizes.\n* **Prize notification messages:** The campaign sends messages informing recipients that they have won or may win prizes, rewards, or free items.\n* **Incentivized opt-in with prizes:** The campaign uses prize offers or giveaways as incentives to drive consumer opt-in to messaging.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving sweepstakes or contest content are prohibited under carrier guidelines.\n* Review the CTIA guidelines and carrier acceptable use policies for the complete list of prohibited promotional content categories.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains sweepstakes, contest, or prize promotion content. Carrier policies prohibit A2P messaging campaigns that promote or facilitate sweepstakes, contests, giveaways, or prize-based promotions via SMS/MMS. These restrictions apply due to the high abuse potential and regulatory complexity associated with prize promotions in messaging channels.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30946,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Stock alert content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains stock alert or investment signal content. Carrier policies prohibit A2P messaging campaigns that distribute stock tips, trading alerts, buy/sell signals, or other securities-related investment advice via SMS/MMS. These restrictions exist due to the high potential for fraud, market manipulation, and violations of SEC regulations associated with unsolicited stock tip messaging.\n\n### Possible causes\n\n- **Stock tip distribution:** The campaign sends stock picks, trading recommendations, or buy/sell alerts to recipients via messaging.\n- **Investment signal service:** The campaign operates as a subscription-based stock alert or trading signal service delivered through SMS/MMS.\n- **Penny stock or microcap promotion:** The campaign promotes penny stocks, microcap securities, or other speculative investment opportunities through messaging.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving stock alert content are prohibited under carrier guidelines.\n- Review SEC and FINRA regulations regarding electronic communications and investment advice before considering alternative communication channels.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Stock tip distribution:** The campaign sends stock picks, trading recommendations, or buy/sell alerts to recipients via messaging.\n* **Investment signal service:** The campaign operates as a subscription-based stock alert or trading signal service delivered through SMS/MMS.\n* **Penny stock or microcap promotion:** The campaign promotes penny stocks, microcap securities, or other speculative investment opportunities through messaging.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving stock alert content are prohibited under carrier guidelines.\n* Review SEC and FINRA regulations regarding electronic communications and investment advice before considering alternative communication channels.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains stock alert or investment signal content. Carrier policies prohibit A2P messaging campaigns that distribute stock tips, trading alerts, buy/sell signals, or other securities-related investment advice via SMS/MMS. These restrictions exist due to the high potential for fraud, market manipulation, and violations of SEC regulations associated with unsolicited stock tip messaging.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30947,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Cryptocurrency content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains cryptocurrency-related content. Carrier policies prohibit A2P messaging campaigns that promote, advertise, or facilitate cryptocurrency trading, initial coin offerings (ICOs), token sales, or other digital asset promotions via SMS/MMS. These restrictions reflect the high incidence of fraud and consumer harm associated with cryptocurrency promotion through messaging channels.\n\n### Possible causes\n\n- **Cryptocurrency trading promotion:** The campaign promotes cryptocurrency exchanges, trading platforms, or specific digital asset purchases.\n- **ICO or token sale marketing:** The campaign advertises initial coin offerings, token launches, NFT drops, or other digital asset sale events.\n- **Crypto investment signals:** The campaign distributes cryptocurrency price alerts, trading signals, or investment recommendations via messaging.\n- **DeFi or yield promotion:** The campaign promotes decentralized finance platforms, staking rewards, yield farming, or other crypto-based financial products.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving cryptocurrency content are prohibited under carrier guidelines.\n- Review carrier acceptable use policies for the full list of prohibited financial content categories before registering future campaigns.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Cryptocurrency trading promotion:** The campaign promotes cryptocurrency exchanges, trading platforms, or specific digital asset purchases.\n* **ICO or token sale marketing:** The campaign advertises initial coin offerings, token launches, NFT drops, or other digital asset sale events.\n* **Crypto investment signals:** The campaign distributes cryptocurrency price alerts, trading signals, or investment recommendations via messaging.\n* **DeFi or yield promotion:** The campaign promotes decentralized finance platforms, staking rewards, yield farming, or other crypto-based financial products.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving cryptocurrency content are prohibited under carrier guidelines.\n* Review carrier acceptable use policies for the full list of prohibited financial content categories before registering future campaigns.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains cryptocurrency-related content. Carrier policies prohibit A2P messaging campaigns that promote, advertise, or facilitate cryptocurrency trading, initial coin offerings (ICOs), token sales, or other digital asset promotions via SMS/MMS. These restrictions reflect the high incidence of fraud and consumer harm associated with cryptocurrency promotion through messaging channels.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30948,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: High-risk investment content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains high-risk investment content. Carrier policies prohibit A2P messaging campaigns that promote or facilitate high-risk investment opportunities such as forex trading, binary options, contracts for difference (CFDs), or other speculative financial instruments via SMS/MMS. These investment categories carry significant consumer risk and are frequently associated with fraudulent schemes.\n\n### Possible causes\n\n- **Forex trading promotion:** The campaign promotes foreign exchange trading platforms, forex signals, or currency trading opportunities.\n- **Binary options or CFD marketing:** The campaign advertises binary options, contracts for difference, or other derivative financial products to consumers.\n- **High-yield investment schemes:** The campaign promotes investment opportunities promising unusually high or guaranteed returns, which are characteristic of fraudulent schemes.\n- **Unregistered securities offerings:** The campaign markets investment products that are not registered with appropriate financial regulatory authorities.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving high-risk investment content are prohibited under carrier guidelines.\n- Review applicable SEC, CFTC, and FINRA regulations regarding the promotion of financial products through electronic communications.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Forex trading promotion:** The campaign promotes foreign exchange trading platforms, forex signals, or currency trading opportunities.\n* **Binary options or CFD marketing:** The campaign advertises binary options, contracts for difference, or other derivative financial products to consumers.\n* **High-yield investment schemes:** The campaign promotes investment opportunities promising unusually high or guaranteed returns, which are characteristic of fraudulent schemes.\n* **Unregistered securities offerings:** The campaign markets investment products that are not registered with appropriate financial regulatory authorities.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving high-risk investment content are prohibited under carrier guidelines.\n* Review applicable SEC, CFTC, and FINRA regulations regarding the promotion of financial products through electronic communications.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains high-risk investment content. Carrier policies prohibit A2P messaging campaigns that promote or facilitate high-risk investment opportunities such as forex trading, binary options, contracts for difference (CFDs), or other speculative financial instruments via SMS/MMS. These investment categories carry significant consumer risk and are frequently associated with fraudulent schemes.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30949,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Debt reduction or consolidation content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains debt reduction or consolidation content. Carrier policies prohibit A2P messaging campaigns that promote or solicit debt reduction, debt consolidation, or debt settlement services via SMS/MMS. These services are frequently associated with deceptive practices and consumer harm, leading carriers to classify them as prohibited content for A2P messaging.\n\n### Possible causes\n\n- **Debt consolidation promotion:** The campaign promotes debt consolidation loans or programs that combine multiple debts into a single payment.\n- **Debt settlement solicitation:** The campaign advertises debt settlement or debt negotiation services that claim to reduce the total amount owed.\n- **Debt relief lead generation:** The campaign collects consumer information for the purpose of connecting them with debt reduction or consolidation service providers.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving debt reduction or consolidation content are prohibited under carrier guidelines.\n- Note that existing creditors communicating with their own customers about account management or payment options may be permissible under a different campaign use case. Consult Twilio documentation for guidance.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Debt consolidation promotion:** The campaign promotes debt consolidation loans or programs that combine multiple debts into a single payment.\n* **Debt settlement solicitation:** The campaign advertises debt settlement or debt negotiation services that claim to reduce the total amount owed.\n* **Debt relief lead generation:** The campaign collects consumer information for the purpose of connecting them with debt reduction or consolidation service providers.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving debt reduction or consolidation content are prohibited under carrier guidelines.\n* Note that existing creditors communicating with their own customers about account management or payment options may be permissible under a different campaign use case. Consult Twilio documentation for guidance.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains debt reduction or consolidation content. Carrier policies prohibit A2P messaging campaigns that promote or solicit debt reduction, debt consolidation, or debt settlement services via SMS/MMS. These services are frequently associated with deceptive practices and consumer harm, leading carriers to classify them as prohibited content for A2P messaging.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30950,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Credit repair content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains credit repair content. Carrier policies prohibit A2P messaging campaigns that promote or solicit credit repair services via SMS/MMS. Credit repair messaging is classified as a prohibited content category due to the high prevalence of deceptive practices, consumer complaints, and regulatory enforcement actions associated with credit repair solicitations through messaging channels.\n\n### Possible causes\n\n- **Credit repair service promotion:** The campaign promotes services that claim to improve, fix, or repair consumer credit scores or credit reports.\n- **Credit score improvement solicitation:** The campaign advertises programs that promise to remove negative items from credit reports or rapidly increase credit scores.\n- **Credit repair lead generation:** The campaign collects consumer information for the purpose of marketing credit repair or credit restoration services.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving credit repair content are prohibited under carrier guidelines.\n- Review the Credit Repair Organizations Act (CROA) and FTC guidelines regarding credit repair service marketing before considering alternative communication channels.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Credit repair service promotion:** The campaign promotes services that claim to improve, fix, or repair consumer credit scores or credit reports.\n* **Credit score improvement solicitation:** The campaign advertises programs that promise to remove negative items from credit reports or rapidly increase credit scores.\n* **Credit repair lead generation:** The campaign collects consumer information for the purpose of marketing credit repair or credit restoration services.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving credit repair content are prohibited under carrier guidelines.\n* Review the Credit Repair Organizations Act (CROA) and FTC guidelines regarding credit repair service marketing before considering alternative communication channels.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains credit repair content. Carrier policies prohibit A2P messaging campaigns that promote or solicit credit repair services via SMS/MMS. Credit repair messaging is classified as a prohibited content category due to the high prevalence of deceptive practices, consumer complaints, and regulatory enforcement actions associated with credit repair solicitations through messaging channels.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30951,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Third-party lead generation or MLM content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains third-party lead generation or multi-level marketing (MLM) content. Carrier policies prohibit A2P messaging campaigns that involve generating leads for third-party businesses or promoting MLM/network marketing opportunities via SMS/MMS. These use cases are prohibited due to consent chain issues, high complaint rates, and the deceptive nature frequently associated with these messaging patterns.\n\n### Possible causes\n\n- **Third-party lead generation:** The campaign collects consumer information (phone numbers, personal details) to sell or distribute to other businesses as sales leads.\n- **MLM or network marketing recruitment:** The campaign promotes multi-level marketing, network marketing, or direct sales recruitment opportunities via messaging.\n- **Affiliate lead capture:** The campaign operates as an affiliate or intermediary, capturing consumer interest for products or services offered by unrelated third parties.\n- **Shared or resold consent:** The campaign uses consumer consent obtained for one purpose to send messages on behalf of different, unrelated businesses.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving third-party lead generation or MLM content are prohibited under carrier guidelines.\n- Ensure that messaging consent is specific to your brand and use case. Consent obtained for one business cannot be transferred to or shared with another entity.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Third-party lead generation:** The campaign collects consumer information (phone numbers, personal details) to sell or distribute to other businesses as sales leads.\n* **MLM or network marketing recruitment:** The campaign promotes multi-level marketing, network marketing, or direct sales recruitment opportunities via messaging.\n* **Affiliate lead capture:** The campaign operates as an affiliate or intermediary, capturing consumer interest for products or services offered by unrelated third parties.\n* **Shared or resold consent:** The campaign uses consumer consent obtained for one purpose to send messages on behalf of different, unrelated businesses.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving third-party lead generation or MLM content are prohibited under carrier guidelines.\n* Ensure that messaging consent is specific to your brand and use case. Consent obtained for one business cannot be transferred to or shared with another entity.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains third-party lead generation or multi-level marketing (MLM) content. Carrier policies prohibit A2P messaging campaigns that involve generating leads for third-party businesses or promoting MLM/network marketing opportunities via SMS/MMS. These use cases are prohibited due to consent chain issues, high complaint rates, and the deceptive nature frequently associated with these messaging patterns.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30952,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Non-federally compliant use case detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the described use case does not comply with federal regulations. Carrier policies require that all A2P messaging campaigns operate within the bounds of applicable federal laws and regulations. Your campaign was identified as involving a use case that violates or cannot be reconciled with federal regulatory requirements, making it ineligible for A2P 10DLC messaging.\n\n### Possible causes\n\n- **Federally prohibited activity:** The campaign involves messaging for a use case that is prohibited under federal law, even if it may be permitted at the state or local level.\n- **Regulatory non-compliance:** The campaign use case conflicts with specific federal regulations governing the industry or activity described in the campaign registration.\n- **Unverifiable compliance claims:** The campaign claims compliance with federal regulations but the registration materials do not provide sufficient evidence to verify this claim.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving use cases that do not comply with federal regulations are prohibited under carrier guidelines.\n- Review all applicable federal regulations for your industry and messaging use case to understand why the campaign was classified as non-compliant.\n- Consult with legal counsel familiar with telecommunications and messaging regulations to evaluate whether your use case can be restructured to meet federal compliance requirements.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Federally prohibited activity:** The campaign involves messaging for a use case that is prohibited under federal law, even if it may be permitted at the state or local level.\n* **Regulatory non-compliance:** The campaign use case conflicts with specific federal regulations governing the industry or activity described in the campaign registration.\n* **Unverifiable compliance claims:** The campaign claims compliance with federal regulations but the registration materials do not provide sufficient evidence to verify this claim.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. A2P 10DLC campaigns involving use cases that do not comply with federal regulations are prohibited under carrier guidelines.\n* Review all applicable federal regulations for your industry and messaging use case to understand why the campaign was classified as non-compliant.\n* Consult with legal counsel familiar with telecommunications and messaging regulations to evaluate whether your use case can be restructured to meet federal compliance requirements.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the described use case does not comply with federal regulations. Carrier policies require that all A2P messaging campaigns operate within the bounds of applicable federal laws and regulations. Your campaign was identified as involving a use case that violates or cannot be reconciled with federal regulatory requirements, making it ineligible for A2P 10DLC messaging.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30953,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: sex or adult content violation detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains sex or adult content that violates CTIA SHAFT guidelines. The Cellular Telecommunications Industry Association (CTIA) prohibits sexual, pornographic, or adult-oriented content in A2P messaging campaigns. This restriction applies to campaign descriptions, sample messages, website content, and any linked URLs.\n\n### Possible causes\n\n- **Explicit or suggestive content in campaign fields:** Campaign description, sample messages, or use case details contain sexually explicit, suggestive, or adult-oriented language.\n- **Adult content on linked website or landing page:** The website URL provided in the campaign registration hosts or links to pornographic, escort, dating, or adult entertainment content.\n- **Promotion of adult products or services:** The campaign promotes adult products, services, or content that falls under the CTIA sex/adult content prohibition.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. Sex and adult content is a prohibited content category under CTIA SHAFT guidelines and cannot be sent via A2P 10DLC messaging.\n- Review the [CTIA Messaging Principles and Best Practices](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-principles-and-best-practices) for full details on prohibited content categories.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Explicit or suggestive content in campaign fields:** Campaign description, sample messages, or use case details contain sexually explicit, suggestive, or adult-oriented language.\n* **Adult content on linked website or landing page:** The website URL provided in the campaign registration hosts or links to pornographic, escort, dating, or adult entertainment content.\n* **Promotion of adult products or services:** The campaign promotes adult products, services, or content that falls under the CTIA sex/adult content prohibition.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. Sex and adult content is a prohibited content category under CTIA SHAFT guidelines and cannot be sent via A2P 10DLC messaging.\n* Review the [CTIA Messaging Principles and Best Practices](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-principles-and-best-practices) for full details on prohibited content categories.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains sex or adult content that violates CTIA SHAFT guidelines. The Cellular Telecommunications Industry Association (CTIA) prohibits sexual, pornographic, or adult-oriented content in A2P messaging campaigns. This restriction applies to campaign descriptions, sample messages, website content, and any linked URLs.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30954,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: hate speech or violent content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains hate speech or violent content that violates CTIA SHAFT guidelines. The CTIA prohibits messaging campaigns that promote hatred, violence, harassment, or discrimination against individuals or groups. This includes content that incites violence, threatens harm, or uses derogatory language targeting protected characteristics.\n\n### Possible causes\n\n- **Hate speech or discriminatory language:** Campaign description, sample messages, or related content contains language that targets individuals or groups based on race, ethnicity, religion, gender, sexual orientation, disability, or other protected characteristics.\n- **Violent or threatening content:** The campaign includes content that promotes, glorifies, or incites violence, threats, or physical harm.\n- **Harassing or intimidating messaging:** Campaign content is designed to harass, bully, or intimidate recipients.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. Hate speech and violent content is a prohibited content category under CTIA SHAFT guidelines and cannot be sent via A2P 10DLC messaging.\n- Review your messaging use case to ensure it does not contain content that could be interpreted as hateful, violent, or discriminatory before considering a new campaign registration.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Hate speech or discriminatory language:** Campaign description, sample messages, or related content contains language that targets individuals or groups based on race, ethnicity, religion, gender, sexual orientation, disability, or other protected characteristics.\n* **Violent or threatening content:** The campaign includes content that promotes, glorifies, or incites violence, threats, or physical harm.\n* **Harassing or intimidating messaging:** Campaign content is designed to harass, bully, or intimidate recipients.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. Hate speech and violent content is a prohibited content category under CTIA SHAFT guidelines and cannot be sent via A2P 10DLC messaging.\n* Review your messaging use case to ensure it does not contain content that could be interpreted as hateful, violent, or discriminatory before considering a new campaign registration.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains hate speech or violent content that violates CTIA SHAFT guidelines. The CTIA prohibits messaging campaigns that promote hatred, violence, harassment, or discrimination against individuals or groups. This includes content that incites violence, threatens harm, or uses derogatory language targeting protected characteristics.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30955,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: alcohol promotion content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains alcohol promotion content that violates CTIA SHAFT guidelines. The CTIA restricts alcohol-related messaging campaigns unless strict compliance requirements are met, including robust age-gating mechanisms and adherence to applicable federal and state regulations. Campaigns that promote alcohol sales, consumption, or marketing without meeting these requirements are prohibited.\n\n### Possible causes\n\n- **Direct alcohol promotion without compliance:** The campaign promotes alcohol sales, deals, or consumption without demonstrating compliance with CTIA age-gating and regulatory requirements.\n- **Missing or insufficient age verification:** The campaign's linked website or opt-in flow does not include a compliant age verification mechanism to confirm recipients are of legal drinking age.\n- **Non-compliant marketing content:** Campaign sample messages or descriptions contain alcohol marketing that does not meet industry self-regulatory standards.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. Alcohol content is a restricted category under CTIA SHAFT guidelines and requires strict compliance measures that were not met.\n- If you are a legitimate alcohol brand or retailer, ensure your website implements robust 21+ age-gate verification and that your campaign registration clearly demonstrates compliance before registering a new campaign.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Direct alcohol promotion without compliance:** The campaign promotes alcohol sales, deals, or consumption without demonstrating compliance with CTIA age-gating and regulatory requirements.\n* **Missing or insufficient age verification:** The campaign's linked website or opt-in flow does not include a compliant age verification mechanism to confirm recipients are of legal drinking age.\n* **Non-compliant marketing content:** Campaign sample messages or descriptions contain alcohol marketing that does not meet industry self-regulatory standards.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. Alcohol content is a restricted category under CTIA SHAFT guidelines and requires strict compliance measures that were not met.\n* If you are a legitimate alcohol brand or retailer, ensure your website implements robust 21+ age-gate verification and that your campaign registration clearly demonstrates compliance before registering a new campaign.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains alcohol promotion content that violates CTIA SHAFT guidelines. The CTIA restricts alcohol-related messaging campaigns unless strict compliance requirements are met, including robust age-gating mechanisms and adherence to applicable federal and state regulations. Campaigns that promote alcohol sales, consumption, or marketing without meeting these requirements are prohibited.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30956,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: alcohol content without required age verification detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains alcohol-related content without the required age verification mechanisms. CTIA SHAFT guidelines require that any alcohol-related messaging campaign implement robust 21+ age-gate verification on all linked websites and opt-in flows. Without verified age-gating, alcohol-related campaigns cannot be approved for A2P 10DLC messaging.\n\n### Possible causes\n\n- **No age-gate on website:** The website URL provided in the campaign registration does not include an age verification gate that confirms visitors are 21 years of age or older.\n- **Insufficient age verification method:** The website uses a simple checkbox or date-of-birth field that does not meet the CTIA standard for robust age-gate verification.\n- **Age-gate bypassed or non-functional:** The age verification mechanism on the linked website can be easily bypassed, is broken, or does not appear consistently on all entry points.\n- **Opt-in flow lacks age confirmation:** The SMS opt-in process does not include a step to verify the subscriber's age before enrollment.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. The campaign was rejected specifically because the required 21+ age-gate verification was missing or insufficient.\n- Implement a robust age-gate verification system on your website that meets CTIA standards before registering a new campaign. The age-gate must appear before any alcohol content is accessible and must verify users are 21 or older.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **No age-gate on website:** The website URL provided in the campaign registration does not include an age verification gate that confirms visitors are 21 years of age or older.\n* **Insufficient age verification method:** The website uses a simple checkbox or date-of-birth field that does not meet the CTIA standard for robust age-gate verification.\n* **Age-gate bypassed or non-functional:** The age verification mechanism on the linked website can be easily bypassed, is broken, or does not appear consistently on all entry points.\n* **Opt-in flow lacks age confirmation:** The SMS opt-in process does not include a step to verify the subscriber's age before enrollment.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. The campaign was rejected specifically because the required 21+ age-gate verification was missing or insufficient.\n* Implement a robust age-gate verification system on your website that meets CTIA standards before registering a new campaign. The age-gate must appear before any alcohol content is accessible and must verify users are 21 or older.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains alcohol-related content without the required age verification mechanisms. CTIA SHAFT guidelines require that any alcohol-related messaging campaign implement robust 21+ age-gate verification on all linked websites and opt-in flows. Without verified age-gating, alcohol-related campaigns cannot be approved for A2P 10DLC messaging.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30957,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: firearms or explosives content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains content related to firearms, explosives, or related weapons that violates CTIA SHAFT guidelines. The CTIA prohibits A2P messaging campaigns that promote the sale, distribution, or marketing of firearms, ammunition, fireworks, explosives, or other weapons. This restriction applies regardless of whether the sale would be legal in certain jurisdictions.\n\n### Possible causes\n\n- **Firearms or ammunition promotion:** The campaign promotes the sale, marketing, or distribution of guns, rifles, handguns, ammunition, or firearm accessories.\n- **Explosives or fireworks content:** Campaign content references the sale or promotion of explosives, fireworks, pyrotechnics, or related materials.\n- **Weapons-related website content:** The website URL provided in the campaign registration hosts content related to firearms sales, gun shows, weapons auctions, or similar offerings.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. Firearms and explosives content is a prohibited content category under CTIA SHAFT guidelines and cannot be sent via A2P 10DLC messaging.\n- Review the CTIA prohibited content categories to understand the full scope of restricted weapons-related content before considering alternative campaign use cases.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Firearms or ammunition promotion:** The campaign promotes the sale, marketing, or distribution of guns, rifles, handguns, ammunition, or firearm accessories.\n* **Explosives or fireworks content:** Campaign content references the sale or promotion of explosives, fireworks, pyrotechnics, or related materials.\n* **Weapons-related website content:** The website URL provided in the campaign registration hosts content related to firearms sales, gun shows, weapons auctions, or similar offerings.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. Firearms and explosives content is a prohibited content category under CTIA SHAFT guidelines and cannot be sent via A2P 10DLC messaging.\n* Review the CTIA prohibited content categories to understand the full scope of restricted weapons-related content before considering alternative campaign use cases.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains content related to firearms, explosives, or related weapons that violates CTIA SHAFT guidelines. The CTIA prohibits A2P messaging campaigns that promote the sale, distribution, or marketing of firearms, ammunition, fireworks, explosives, or other weapons. This restriction applies regardless of whether the sale would be legal in certain jurisdictions.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30958,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: tobacco or vape content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains content related to tobacco or vaping products that violates CTIA SHAFT guidelines. The CTIA prohibits A2P messaging campaigns that promote the sale, marketing, or distribution of tobacco products, e-cigarettes, vape devices, or related accessories. This restriction applies to all tobacco and nicotine delivery products regardless of local legality.\n\n### Possible causes\n\n- **Tobacco product promotion:** The campaign promotes the sale or marketing of cigarettes, cigars, chewing tobacco, or other traditional tobacco products.\n- **Vape or e-cigarette content:** Campaign content references the sale, promotion, or marketing of vape devices, e-cigarettes, vape juice, pods, or related accessories.\n- **Tobacco or vape-related website:** The website URL provided in the campaign registration hosts or links to content promoting tobacco or vaping products.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. Tobacco and vape content is a prohibited content category under CTIA SHAFT guidelines and cannot be sent via A2P 10DLC messaging.\n- Review the CTIA prohibited content categories for the full scope of restricted tobacco and nicotine-related content before considering alternative campaign use cases.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Tobacco product promotion:** The campaign promotes the sale or marketing of cigarettes, cigars, chewing tobacco, or other traditional tobacco products.\n* **Vape or e-cigarette content:** Campaign content references the sale, promotion, or marketing of vape devices, e-cigarettes, vape juice, pods, or related accessories.\n* **Tobacco or vape-related website:** The website URL provided in the campaign registration hosts or links to content promoting tobacco or vaping products.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. Tobacco and vape content is a prohibited content category under CTIA SHAFT guidelines and cannot be sent via A2P 10DLC messaging.\n* Review the CTIA prohibited content categories for the full scope of restricted tobacco and nicotine-related content before considering alternative campaign use cases.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains content related to tobacco or vaping products that violates CTIA SHAFT guidelines. The CTIA prohibits A2P messaging campaigns that promote the sale, marketing, or distribution of tobacco products, e-cigarettes, vape devices, or related accessories. This restriction applies to all tobacco and nicotine delivery products regardless of local legality.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30959,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: fraudulent or misleading content detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it was identified as containing fraudulent or intentionally misleading content. Campaign reviewers determined that the campaign description, sample messages, website, or associated business information contains indicators of fraud or deliberate deception. Fraudulent campaigns pose a direct threat to consumer trust and violate carrier and CTIA messaging policies.\n\n### Possible causes\n\n- **Fraudulent business information:** The business details provided during campaign registration do not match legitimate business records, or the business entity appears to be fabricated.\n- **Misleading campaign content:** Sample messages or campaign descriptions contain false claims, fabricated offers, or intentionally deceptive information designed to mislead consumers.\n- **Scam indicators detected:** The campaign exhibits patterns commonly associated with known fraud schemes, such as fake prize notifications, impersonation of legitimate brands, or advance-fee fraud.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. The campaign was identified as fraudulent or intentionally misleading, which is a permanent disqualification from A2P 10DLC messaging.\n- Ensure your business registration details are accurate and match your legal business entity before registering any new campaigns.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Fraudulent business information:** The business details provided during campaign registration do not match legitimate business records, or the business entity appears to be fabricated.\n* **Misleading campaign content:** Sample messages or campaign descriptions contain false claims, fabricated offers, or intentionally deceptive information designed to mislead consumers.\n* **Scam indicators detected:** The campaign exhibits patterns commonly associated with known fraud schemes, such as fake prize notifications, impersonation of legitimate brands, or advance-fee fraud.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. The campaign was identified as fraudulent or intentionally misleading, which is a permanent disqualification from A2P 10DLC messaging.\n* Ensure your business registration details are accurate and match your legal business entity before registering any new campaigns.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it was identified as containing fraudulent or intentionally misleading content. Campaign reviewers determined that the campaign description, sample messages, website, or associated business information contains indicators of fraud or deliberate deception. Fraudulent campaigns pose a direct threat to consumer trust and violate carrier and CTIA messaging policies.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30960,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: known phishing campaign detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it was identified as a phishing attempt. Campaign reviewers determined that the campaign is designed to deceive consumers into revealing sensitive personal information, credentials, or financial data. Phishing campaigns are a serious violation of carrier messaging policies and applicable laws, and represent a direct threat to consumer safety.\n\n### Possible causes\n\n- **Credential harvesting URLs:** The campaign links to websites designed to impersonate legitimate services and capture login credentials, Social Security numbers, or other sensitive data.\n- **Brand impersonation:** The campaign impersonates a bank, government agency, technology company, or other trusted entity to trick recipients into providing personal information.\n- **Deceptive urgency tactics:** Sample messages use false urgency (for example, \"Your account will be suspended\") to pressure recipients into clicking malicious links or sharing sensitive information.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. Phishing campaigns are permanently prohibited and may result in account-level enforcement actions.\n- If you are a legitimate business, ensure your campaign content does not resemble phishing patterns. Use your verified business domain, avoid urgency-based language that mimics social engineering, and clearly identify your brand.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Credential harvesting URLs:** The campaign links to websites designed to impersonate legitimate services and capture login credentials, Social Security numbers, or other sensitive data.\n* **Brand impersonation:** The campaign impersonates a bank, government agency, technology company, or other trusted entity to trick recipients into providing personal information.\n* **Deceptive urgency tactics:** Sample messages use false urgency (for example, \"Your account will be suspended\") to pressure recipients into clicking malicious links or sharing sensitive information.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. Phishing campaigns are permanently prohibited and may result in account-level enforcement actions.\n* If you are a legitimate business, ensure your campaign content does not resemble phishing patterns. Use your verified business domain, avoid urgency-based language that mimics social engineering, and clearly identify your brand.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it was identified as a phishing attempt. Campaign reviewers determined that the campaign is designed to deceive consumers into revealing sensitive personal information, credentials, or financial data. Phishing campaigns are a serious violation of carrier messaging policies and applicable laws, and represent a direct threat to consumer safety.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30961,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: high-risk domain reputation detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because one or more URLs in the campaign have a poor domain reputation or are flagged in threat intelligence databases. Campaign reviewers evaluate the reputation of all domains referenced in campaign content, including website URLs and sample messages. Domains associated with malware distribution, spam, phishing, or other malicious activity are grounds for campaign rejection.\n\n### Possible causes\n\n- **Domain flagged in threat databases:** The website URL associated with your campaign appears in one or more threat intelligence or domain reputation databases as malicious or suspicious.\n- **Recently registered or disposable domain:** The domain used in the campaign was recently registered, has no established reputation, or uses a disposable domain service commonly associated with fraudulent activity.\n- **Compromised or previously abused domain:** The domain may have been previously compromised or used for spam, malware distribution, or other abuse, resulting in a poor reputation score.\n- **Shared hosting with malicious sites:** The domain is hosted on infrastructure shared with known malicious websites, resulting in a negative reputation by association.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. The domain's reputation score does not meet the minimum threshold required for A2P 10DLC campaign approval.\n- Check your domain reputation using publicly available tools (for example, Google Safe Browsing, VirusTotal) and work to remediate any issues before registering a new campaign with a clean domain.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Domain flagged in threat databases:** The website URL associated with your campaign appears in one or more threat intelligence or domain reputation databases as malicious or suspicious.\n* **Recently registered or disposable domain:** The domain used in the campaign was recently registered, has no established reputation, or uses a disposable domain service commonly associated with fraudulent activity.\n* **Compromised or previously abused domain:** The domain may have been previously compromised or used for spam, malware distribution, or other abuse, resulting in a poor reputation score.\n* **Shared hosting with malicious sites:** The domain is hosted on infrastructure shared with known malicious websites, resulting in a negative reputation by association.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. The domain's reputation score does not meet the minimum threshold required for A2P 10DLC campaign approval.\n* Check your domain reputation using publicly available tools (for example, Google Safe Browsing, VirusTotal) and work to remediate any issues before registering a new campaign with a clean domain.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because one or more URLs in the campaign have a poor domain reputation or are flagged in threat intelligence databases. Campaign reviewers evaluate the reputation of all domains referenced in campaign content, including website URLs and sample messages. Domains associated with malware distribution, spam, phishing, or other malicious activity are grounds for campaign rejection.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30962,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: deceptive marketing practices detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains deceptive marketing practices. Campaign reviewers identified content that uses misleading claims, fabricated urgency, bait-and-switch tactics, false endorsements, or other deceptive techniques designed to manipulate consumers. These practices violate carrier messaging policies and may also violate FTC regulations governing commercial communications.\n\n### Possible causes\n\n- **Misleading or unsubstantiated claims:** Campaign content makes false health claims, exaggerated product benefits, fake testimonials, or guarantees that cannot be verified.\n- **Fabricated urgency or scarcity:** Sample messages use artificial countdown timers, fake limited-time offers, or false scarcity claims (\"Only 2 left!\") to pressure consumers into immediate action.\n- **Bait-and-switch tactics:** The campaign advertises one product, price, or offer but the linked website delivers a different product, higher price, or unrelated content.\n- **False endorsements or affiliations:** Campaign content falsely claims endorsement by celebrities, government agencies, or well-known brands without authorization.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. The campaign was identified as using deceptive marketing practices that violate A2P 10DLC messaging policies.\n- Ensure all marketing claims in your campaigns are truthful, substantiated, and comply with FTC guidelines before registering a new campaign.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Misleading or unsubstantiated claims:** Campaign content makes false health claims, exaggerated product benefits, fake testimonials, or guarantees that cannot be verified.\n* **Fabricated urgency or scarcity:** Sample messages use artificial countdown timers, fake limited-time offers, or false scarcity claims (\"Only 2 left!\") to pressure consumers into immediate action.\n* **Bait-and-switch tactics:** The campaign advertises one product, price, or offer but the linked website delivers a different product, higher price, or unrelated content.\n* **False endorsements or affiliations:** Campaign content falsely claims endorsement by celebrities, government agencies, or well-known brands without authorization.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. The campaign was identified as using deceptive marketing practices that violate A2P 10DLC messaging policies.\n* Ensure all marketing claims in your campaigns are truthful, substantiated, and comply with FTC guidelines before registering a new campaign.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains deceptive marketing practices. Campaign reviewers identified content that uses misleading claims, fabricated urgency, bait-and-switch tactics, false endorsements, or other deceptive techniques designed to manipulate consumers. These practices violate carrier messaging policies and may also violate FTC regulations governing commercial communications.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30963,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: public URL shortener detected in campaign",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains public URL shorteners in campaign content or sample messages. Public URL shortening services such as bit.ly, tinyurl.com, goo.gl, and similar services are not permitted in A2P 10DLC campaigns because they mask the true destination URL. Carriers require full transparency into linked destinations to protect consumers from malicious content.\n\n### Possible causes\n\n- **Public URL shortener in sample messages:** One or more sample messages contain shortened URLs from public services like bit.ly, tinyurl.com, t.co, ow.ly, or similar shortening platforms.\n- **URL shortener in campaign description:** The campaign description or use case fields reference shortened URLs instead of full destination URLs.\n- **Redirecting domain detected:** The campaign uses a domain that functions as a URL redirect service, behaving similarly to a public URL shortener even if it is a custom domain.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. Public URL shorteners are prohibited in A2P 10DLC campaigns because they obscure destination URLs.\n- Replace all shortened URLs with full destination URLs using your own branded domain before registering a new campaign. Branded short domains owned and operated by your business (for example, yourcompany.link) are generally acceptable.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Public URL shortener in sample messages:** One or more sample messages contain shortened URLs from public services like bit.ly, tinyurl.com, t.co, ow.ly, or similar shortening platforms.\n* **URL shortener in campaign description:** The campaign description or use case fields reference shortened URLs instead of full destination URLs.\n* **Redirecting domain detected:** The campaign uses a domain that functions as a URL redirect service, behaving similarly to a public URL shortener even if it is a custom domain.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. Public URL shorteners are prohibited in A2P 10DLC campaigns because they obscure destination URLs.\n* Replace all shortened URLs with full destination URLs using your own branded domain before registering a new campaign. Branded short domains owned and operated by your business (for example, yourcompany.link) are generally acceptable.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains public URL shorteners in campaign content or sample messages. Public URL shortening services such as bit.ly, tinyurl.com, goo.gl, and similar services are not permitted in A2P 10DLC campaigns because they mask the true destination URL. Carriers require full transparency into linked destinations to protect consumers from malicious content.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30964,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: non-secured URL (http://) detected",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because it contains URLs that use the insecure HTTP protocol instead of HTTPS. All URLs included in A2P 10DLC campaigns, whether in sample messages, campaign descriptions, or opt-in flows, must use HTTPS to ensure encrypted communication between consumers and your website. Non-secured HTTP URLs expose consumers to man-in-the-middle attacks and data interception.\n\n### Possible causes\n\n- **HTTP URLs in sample messages:** One or more sample messages contain URLs using `http://` instead of `https://`.\n- **Non-secured website URL in campaign registration:** The website URL provided during campaign registration uses HTTP rather than HTTPS.\n- **Mixed content on landing page:** While the main URL may use HTTPS, the landing page loads resources or redirects through insecure HTTP connections.\n\n### Possible solutions\n\n- The rejected campaign is **not eligible for resubmission**. Campaign URLs must use HTTPS to protect consumer security and privacy.\n- Ensure your website has a valid SSL/TLS certificate installed and that all URLs in your campaign use `https://` before registering a new campaign.\n- If you believe this rejection was made in error, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **HTTP URLs in sample messages:** One or more sample messages contain URLs using `http://` instead of `https://`.\n* **Non-secured website URL in campaign registration:** The website URL provided during campaign registration uses HTTP rather than HTTPS.\n* **Mixed content on landing page:** While the main URL may use HTTPS, the landing page loads resources or redirects through insecure HTTP connections.",
    "solutions": "* The rejected campaign is **not eligible for resubmission**. Campaign URLs must use HTTPS to protect consumer security and privacy.\n* Ensure your website has a valid SSL/TLS certificate installed and that all URLs in your campaign use `https://` before registering a new campaign.\n* If you believe this rejection was made in error, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because it contains URLs that use the insecure HTTP protocol instead of HTTPS. All URLs included in A2P 10DLC campaigns, whether in sample messages, campaign descriptions, or opt-in flows, must use HTTPS to ensure encrypted communication between consumers and your website. Non-secured HTTP URLs expose consumers to man-in-the-middle attacks and data interception.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30971,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Business email must use official domain",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the business contact email address uses a free or unofficial email domain. Campaign registration requires that the contact email use your company's official domain (for example, name@yourcompany.com) rather than a generic consumer email provider. This requirement helps verify the legitimacy of the business and its association with the registering entity.\n\n### Possible causes\n\n- **Free email provider used:** The contact email uses a free email service such as Gmail, Yahoo, Hotmail, or Outlook.com instead of a company domain.\n- **Personal email submitted:** A personal email address was provided instead of an official business email.\n- **Domain mismatch:** The email domain does not match the business name or website domain provided in the registration.\n\n### Possible solutions\n\n- **Use your official business email:** Update the contact email to one that uses your company's official domain (for example, yourname@yourcompany.com).\n- **Verify domain ownership:** Ensure the email domain matches the business website and registered business name.\n- **Set up a business email:** If your company does not yet have a custom email domain, set one up through your domain registrar or an email hosting provider before resubmitting.\n- Once corrected, resubmit your campaign for review.\n- If you need assistance, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Free email provider used:** The contact email uses a free email service such as Gmail, Yahoo, Hotmail, or Outlook.com instead of a company domain.\n* **Personal email submitted:** A personal email address was provided instead of an official business email.\n* **Domain mismatch:** The email domain does not match the business name or website domain provided in the registration.",
    "solutions": "* **Use your official business email:** Update the contact email to one that uses your company's official domain (for example, yourname@yourcompany.com).\n* **Verify domain ownership:** Ensure the email domain matches the business website and registered business name.\n* **Set up a business email:** If your company does not yet have a custom email domain, set one up through your domain registrar or an email hosting provider before resubmitting.\n* Once corrected, resubmit your campaign for review.\n* If you need assistance, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the business contact email address uses a free or unofficial email domain. Campaign registration requires that the contact email use your company's official domain (for example, name@yourcompany.com) rather than a generic consumer email provider. This requirement helps verify the legitimacy of the business and its association with the registering entity.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30972,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign rejected: Contact must be an authorized business representative",
    "secondary_message": null,
    "product": "Branded Comms, Phone Numbers",
    "docs": "\n## Description\n\nYour A2P 10DLC campaign was rejected because the listed contact person could not be verified as an authorized representative of the registered business. The Campaign Registry (TCR) and carriers require that the individual associated with a campaign registration be an authorized representative who can act on behalf of the business. This verification helps prevent unauthorized parties from registering campaigns under a business they do not represent.\n\n### Possible causes\n\n- **Contact not associated with the business:** The contact person listed in the registration cannot be verified as an employee or authorized agent of the registered business.\n- **Mismatched contact information:** The contact name, email, or phone number does not align with publicly available business records or the company's official domain.\n- **Third-party registration without authorization:** A third party submitted the registration without proper documentation showing they are authorized to act on behalf of the business.\n\n### Possible solutions\n\n- **Use an authorized representative:** Update the campaign registration with the name and contact details of someone who is a verified employee or officer of the business.\n- **Ensure email matches business domain:** The contact email should use the company's official domain and match the individual listed.\n- **Provide authorization documentation:** If a third party is registering on behalf of the business, include a letter of authorization or similar documentation.\n- **Verify business records:** Ensure the contact information is consistent with what is on file in public business registries and your company website.\n- Once corrected, resubmit your campaign for review.\n- If you need assistance, [contact support](https://support.twilio.com).\n\n### Additional resources\n\n- [A2P 10DLC Registration Guide](/docs/messaging/compliance/a2p-10dlc)\n- [Campaign Registration Best Practices](https://help.twilio.com/hc/en-us/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)\n",
    "causes": "* **Contact not associated with the business:** The contact person listed in the registration cannot be verified as an employee or authorized agent of the registered business.\n* **Mismatched contact information:** The contact name, email, or phone number does not align with publicly available business records or the company's official domain.\n* **Third-party registration without authorization:** A third party submitted the registration without proper documentation showing they are authorized to act on behalf of the business.",
    "solutions": "* **Use an authorized representative:** Update the campaign registration with the name and contact details of someone who is a verified employee or officer of the business.\n* **Ensure email matches business domain:** The contact email should use the company's official domain and match the individual listed.\n* **Provide authorization documentation:** If a third party is registering on behalf of the business, include a letter of authorization or similar documentation.\n* **Verify business records:** Ensure the contact information is consistent with what is on file in public business registries and your company website.\n* Once corrected, resubmit your campaign for review.\n* If you need assistance, [contact support](https://support.twilio.com).",
    "description": "Your A2P 10DLC campaign was rejected because the listed contact person could not be verified as an authorized representative of the registered business. The Campaign Registry (TCR) and carriers require that the individual associated with a campaign registration be an authorized representative who can act on behalf of the business. This verification helps prevent unauthorized parties from registering campaigns under a business they do not represent.",
    "date_created": "2026-03-23T10:08:55-04:00",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 30990,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Suspension",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe campaign has been suspended. Messaging has been halted and number registration/deregistration is not available until suspension has been lifted\n\n### Possible causes\n\n*Active Suspension*: The campaign has been suspended due to a violation of messaging policies or other related issues.\n\n*Suspension Reason Category : Suspension Reason Description*\n\n- Campaign-to-traffic mismatch: In-market traffic does not match with the registered campaign.\n- Spam: Including but not limited to any kind of unwanted or unsolicited messaging.\n- Controlled substance: Including but not limited to messaging pertaining to controlled substances.\n- Phishing Messages: Including but not limited to messaging designed to gain access.\n- Excessive Complaints: Including but not limited to unacceptable volumes of consumer complaints.\n- Illicit Content: Including but not limited to messages relating to illegal activity.\n- Fraudulent Messages: Including but not limited to counterfeit/fraudulent goods or activities.\n- Affiliate Marketing: Including but not limited to sharing of opt-ins to affiliate companies.\n- Promotional Gambling: Including but not limited to the act of gambling or promoting gambling.\n- Lack of Age Gate: No age gate mechanism for messaging campaigns that require it.\n- Illegal Sweepstakes: Including but not limited to sweepstakes that do not follow required laws.\n- Other: As applicable.\n\n### Possible solutions\n\n1. Review the specific reasons for the campaign suspension and resolve any outstanding compliance or policy issues.\n2. Contact Twilio Support team to receive more details around why your campaign has been suspended, and how to resolve the issue.\n",
    "causes": "*Active Suspension*: The campaign has been suspended due to a violation of messaging policies or other related issues. *Suspension Reason Category : Suspension Reason Description* - Campaign-to-traffic mismatch: In-market traffic does not match with the registered campaign.\n- Spam: Including but not limited to any kind of unwanted or unsolicited messaging.\n- Controlled substance: Including but not limited to messaging pertaining to controlled substances.\n- Phishing Messages: Including but not limited to messaging designed to gain access.\n- Excessive Complaints: Including but not limited to unacceptable volumes of consumer complaints.\n- Illicit Content: Including but not limited to messages relating to illegal activity.\n- Fraudulent Messages: Including but not limited to counterfeit/fraudulent goods or activities.\n- Affiliate Marketing: Including but not limited to sharing of opt-ins to affiliate companies.\n- Promotional Gambling: Including but not limited to the act of gambling or promoting gambling.\n- Lack of Age Gate: No age gate mechanism for messaging campaigns that require it.\n- Illegal Sweepstakes: Including but not limited to sweepstakes that do not follow required laws.\n- Other: As applicable.",
    "solutions": "1. Review the specific reasons for the campaign suspension and resolve any outstanding compliance or policy issues.\n2. Contact Twilio Support team to receive more details around why your campaign has been suspended, and how to resolve the issue.",
    "description": "The campaign has been suspended. Messaging has been halted and number registration/deregistration is not available until suspension has been lifted",
    "date_created": "2023-12-06T20:44:20Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30991,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Registration Failed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Brand of this Campaign is in an unverified status. Campaign registrations under unverified brands is not allowed.\n\n### Possible causes\n\nReason(s) for this failure can be:\n\n- Brand is in unverified state\n\n### Possible solutions\n\nReview the Brand associated with this Campaign you are trying to register.\n",
    "causes": "Reason(s) for this failure can be: - Brand is in unverified state",
    "solutions": "Review the Brand associated with this Campaign you are trying to register.",
    "description": "The Brand of this Campaign is in an unverified status. Campaign registrations under unverified brands is not allowed.",
    "date_created": "2024-07-12T11:26:20Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30992,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Registration Failed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nConnectivity partner migration process was cancelled.\n\n### Possible causes\n\nThe user cancelled the CNP migration process before it could complete.\n\n### Possible solutions\n\nPlease retry the registration after starting the CNP migration process.\n",
    "causes": "The user cancelled the CNP migration process before it could complete.",
    "solutions": "Please retry the registration after starting the CNP migration process.",
    "description": "Connectivity partner migration process was cancelled.",
    "date_created": "2024-07-19T08:29:22Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30993,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Registration Failed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nCampaign's CNP Migration did not complete in expected time!\n\n### Possible causes\n\nIt is possible that all the necessary elections for the Campaign's CNP migration process to complete, were not done in time.\n\n### Possible solutions\n\nPlease trigger the migration process again and register the campaign with Twilio's ERC api. If the issue persists, please contact support.\n",
    "causes": "It is possible that all the necessary elections for the Campaign's CNP migration process to complete, were not done in time.",
    "solutions": "Please trigger the migration process again and register the campaign with Twilio's ERC api. If the issue persists, please contact support.",
    "description": "Campaign's CNP Migration did not complete in expected time!",
    "date_created": "2024-07-25T08:08:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30994,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Campaign Registration Failed",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nCampaign Registration failed due to it's brand being in a pending state. Additional information may be required for the brand registration to proceed.\n\n### Possible causes\n\nIt's possible the brand associated with this campaign is awaiting 2FA email verification.\n\n### Possible solutions\n\nCheck your inbox for a 2FA email verification. If issue persists, please contact support.\n",
    "causes": "It's possible the brand associated with this campaign is awaiting 2FA email verification.",
    "solutions": "Check your inbox for a 2FA email verification. If issue persists, please contact support.",
    "description": "Campaign Registration failed due to it's brand being in a pending state. Additional information may be required for the brand registration to proceed.",
    "date_created": "2024-09-18T20:18:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 30995,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Messaging Service size limit reached",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have attempted to create a Messaging Service, but you are already at the limit of Messaging Services. By default, an account can have a total of 10,000 Messaging Services.\n\n### Possible causes\n\n- You have reached the maximum number of Messaging Services per account. (default: 10,000 Messaging Services per account)\n\n### Possible solutions\n\n- Please delete unused services or contact support as you may be eligible to have your Messaging Service size limit increased. Please [submit a ticket](https://www.twilio.com/console/support/tickets/create) with a description of your use case and why you need a higher Messaging Service size limit. These requests will be reviewed by our Messaging team.\n",
    "causes": "* You have reached the maximum number of Messaging Services per account. (default: 10,000 Messaging Services per account)",
    "solutions": "* Please delete unused services or contact support as you may be eligible to have your Messaging Service size limit increased. Please [submit a ticket](https://www.twilio.com/console/support/tickets/create) with a description of your use case and why you need a higher Messaging Service size limit. These requests will be reviewed by our Messaging team.",
    "description": "You have attempted to create a Messaging Service, but you are already at the limit of Messaging Services. By default, an account can have a total of 10,000 Messaging Services.",
    "date_created": "2025-12-12T18:23:28.61Z",
    "last_updated": "2026-03-23T10:08:55-04:00"
  },
  {
    "code": 31000,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Generic error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nError 31000 is a generic Programmable Voice error in the 310xx series. More details are often available in the Twilio Debugger or, for the JavaScript SDK, in the `twilioError` field.\n\n### Possible causes\n\n- A non-specific condition occurred in the Programmable Voice SDK or platform during call setup or operation, and no more-specific 31xxx code was emitted. Refer to the Twilio Debugger details or the SDK's `twilioError` field for additional context.\n- The underlying issue surfaced elsewhere in logs as a related 31xxx error, for example connection or signaling problems, which should be identified and addressed based on the more specific code shown in your logs.\n\n### Possible solutions\n\n- Check Twilio Debugger error logs in **Console** under **Monitor** > **Logs** > **Error logs** to review the event, its description, potential causes, and suggested solutions.\n- If you use the Voice JavaScript SDK, inspect the `twilioError` field on emitted errors for diagnostics that explain the generic 31000 condition.\n- Use the troubleshooting guidance for Programmable Voice to examine request and response details, identify failing webhooks or TwiML, and isolate where the issue occurs in the call flow.\n- When you open a support case, include recent Call SIDs, Notification SIDs, relevant error codes, and SDK logs so that Support can investigate quickly.\n\n#### Additional resources\n\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Troubleshooting Voice Calls](/docs/voice/troubleshooting)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": "* A non-specific condition occurred in the Programmable Voice SDK or platform during call setup or operation, and no more-specific 31xxx code was emitted. Refer to the Twilio Debugger details or the SDK's `twilioError` field for additional context.\n* The underlying issue surfaced elsewhere in logs as a related 31xxx error, for example connection or signaling problems, which should be identified and addressed based on the more specific code shown in your logs.",
    "solutions": "* Check Twilio Debugger error logs in **Console** under **Monitor** > **Logs** > **Error logs** to review the event, its description, potential causes, and suggested solutions.\n* If you use the Voice JavaScript SDK, inspect the `twilioError` field on emitted errors for diagnostics that explain the generic 31000 condition.\n* Use the troubleshooting guidance for Programmable Voice to examine request and response details, identify failing webhooks or TwiML, and isolate where the issue occurs in the call flow.\n* When you open a support case, include recent Call SIDs, Notification SIDs, relevant error codes, and SDK logs so that Support can investigate quickly.",
    "description": "Error 31000 is a generic Programmable Voice error in the 310xx series. More details are often available in the Twilio Debugger or, for the JavaScript SDK, in the `twilioError` field.",
    "date_created": "2017-10-05T22:56:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Application not found.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns this error when a call flow tries to use a TwiML App resource that Twilio can't find. In the Voice SDK error list, error 31001 appears as TwiML application not found. In the Error and Warning Dictionary, the same code appears as Application not found (Voice).\n\n### Possible causes\n\n- The Voice SDK Access Token doesn't include a valid TwiML App SID in the `grants.voice.outgoing.application_sid` property, which Twilio needs to route outbound SDK calls through a TwiML App.\n- The required TwiML App resource was never created in the account, so there is no Application SID for Twilio to reference.\n- A workflow dials a TwiML App via `<Dial><Application>` but references an app that does not exist in the target account.\n\n### Possible solutions\n\n- Verify and regenerate the Voice SDK Access Token so that the `grants.voice.outgoing.application_sid` property contains the correct TwiML App SID for your application.\n- Create a TwiML App and use its Application SID in your token or configuration, ensuring the Voice URL is set to return valid Voice TwiML. You can create and manage TwiML Apps via the API.\n- If you are using `<Dial><Application>` to connect to another Twilio account, confirm the referenced TwiML App exists in that receiving account and is configured to accept calls from other accounts.\n- Check Twilio's Debugger error logs to confirm the exact error context and retry after correcting your configuration.\n\n#### Additional resources\n\n- [Voice SDKs](/docs/voice/sdks)\n- [REST API: Applications](/docs/usage/api/applications)\n- [Getting Started with the Voice Android SDK](/docs/voice/sdks/android/get-started)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* The Voice SDK Access Token doesn't include a valid TwiML App SID in the `grants.voice.outgoing.application_sid` property, which Twilio needs to route outbound SDK calls through a TwiML App.\n* The required TwiML App resource was never created in the account, so there is no Application SID for Twilio to reference.\n* A workflow dials a TwiML App via `<Dial><Application>` but references an app that does not exist in the target account.",
    "solutions": "* Verify and regenerate the Voice SDK Access Token so that the `grants.voice.outgoing.application_sid` property contains the correct TwiML App SID for your application.\n* Create a TwiML App and use its Application SID in your token or configuration, ensuring the Voice URL is set to return valid Voice TwiML. You can create and manage TwiML Apps via the API.\n* If you are using `<Dial><Application>` to connect to another Twilio account, confirm the referenced TwiML App exists in that receiving account and is configured to accept calls from other accounts.\n* Check Twilio's Debugger error logs to confirm the exact error context and retry after correcting your configuration.",
    "description": "Twilio returns this error when a call flow tries to use a TwiML App resource that Twilio can't find. In the Voice SDK error list, error 31001 appears as TwiML application not found. In the Error and Warning Dictionary, the same code appears as Application not found (Voice).",
    "date_created": "2019-01-24T20:36:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Connection declined.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nError 31002 is a Voice error that means Twilio declined the connection. Use the Debugger to view details about the underlying cause.\n\n### Possible causes\n\n- The called party or application rejected the incoming call—for example, by calling `call.reject()` in the Voice JavaScript SDK or by returning TwiML that uses the `<Reject>` verb.\n- The call was declined at the signaling layer and surfaced to the SDK as a declined connection. Twilio Voice SDKs document a decline as a SIP server error with code `31603`, and the JavaScript SDK maps the `ConnectionDeclinedError` exception to error 31002.\n\n### Possible solutions\n\n- Use the Twilio Debugger to inspect the event details and any linked error codes to determine why the connection was declined.\n- If your client app unintentionally rejects calls, update the logic to accept incoming calls and avoid calling `call.reject()` unless the user explicitly declines.\n- If your server application is returning `<Reject>`, remove or adjust that TwiML so legitimate calls are accepted.\n- For the Voice JavaScript SDK, consider enabling improved signaling error precision and update your error handling to recognize 31002 for declined connections instead of generic errors.\n\n#### Additional resources\n\n- [Voice JavaScript SDK: Changelog](/docs/voice/sdks/javascript/changelog)\n- [TwiML Voice: \\<Reject>](/docs/voice/twiml/reject)\n- [Voice JavaScript SDK: Twilio.Call](/docs/voice/sdks/javascript/twiliocall)\n",
    "causes": "* The called party or application rejected the incoming call—for example, by calling `call.reject()` in the Voice JavaScript SDK or by returning TwiML that uses the `<Reject>` verb.\n* The call was declined at the signaling layer and surfaced to the SDK as a declined connection. Twilio Voice SDKs document a decline as a SIP server error with code `31603`, and the JavaScript SDK maps the `ConnectionDeclinedError` exception to error 31002.",
    "solutions": "* Use the Twilio Debugger to inspect the event details and any linked error codes to determine why the connection was declined.\n* If your client app unintentionally rejects calls, update the logic to accept incoming calls and avoid calling `call.reject()` unless the user explicitly declines.\n* If your server application is returning `<Reject>`, remove or adjust that TwiML so legitimate calls are accepted.\n* For the Voice JavaScript SDK, consider enabling improved signaling error precision and update your error handling to recognize 31002 for declined connections instead of generic errors.",
    "description": "Error 31002 is a Voice error that means Twilio declined the connection. Use the Debugger to view details about the underlying cause.",
    "date_created": "2019-01-24T20:38:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31003,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Connection timeout",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nError 31003 (Connection timeout) occurs in the Voice SDK when a call can't establish or maintain connectivity. You see this error when a Voice SDK call can't establish or maintain connectivity within the expected interval. In Voice JavaScript SDK version 2.0 or later, ICE failures map to error 53405. You might still see 31003 in legacy references.\n\n### Possible causes\n\n- ICE negotiation can't find viable candidates because restrictive networks or firewalls block the required media paths.\n- An established media connection is interrupted and the ICE state changes from connected to failed, causing the call to drop and return 31003.\n- Browser or SDK retry attempts to recover media through an ICE restart exceed internal timeouts, resulting in a disconnect with 31003.\n\n### Possible solutions\n\n- Check that the network is ready for the Voice SDK and adjust firewall rules to allow outbound and return TCP and UDP traffic to Twilio.\n- If UDP is restricted, supply TURN servers from the Twilio Network Traversal Service in the `iceServers` array when you connect or accept calls.\n- On restrictive networks, specify a single Twilio Edge to reduce the set of media IPs that must be allowed.\n- For Mobile SDK scenarios that involve VPNs or unusual interfaces, enable ICE gathering on any address so the SDK can collect candidates from all interfaces.\n- Prompt the user or application to retry the call after a transient 31003; the failure is often temporary.\n- Where supported, enable ICE restart behavior to help recover from brief network disruptions during an active call.\n\n#### Additional resources\n\n- [Voice SDKs Network Connectivity Requirements](/docs/voice/sdks/network-connectivity-requirements)\n- [What are ICE errors?](https://help.twilio.com/articles/223133067)\n",
    "causes": "* ICE negotiation can't find viable candidates because restrictive networks or firewalls block the required media paths.\n* An established media connection is interrupted and the ICE state changes from connected to failed, causing the call to drop and return 31003.\n* Browser or SDK retry attempts to recover media through an ICE restart exceed internal timeouts, resulting in a disconnect with 31003.",
    "solutions": "* Check that the network is ready for the Voice SDK and adjust firewall rules to allow outbound and return TCP and UDP traffic to Twilio.\n* If UDP is restricted, supply TURN servers from the Twilio Network Traversal Service in the `iceServers` array when you connect or accept calls.\n* On restrictive networks, specify a single Twilio Edge to reduce the set of media IPs that must be allowed.\n* For Mobile SDK scenarios that involve VPNs or unusual interfaces, enable ICE gathering on any address so the SDK can collect candidates from all interfaces.\n* Prompt the user or application to retry the call after a transient 31003; the failure is often temporary.\n* Where supported, enable ICE restart behavior to help recover from brief network disruptions during an active call.",
    "description": "Error 31003 (Connection timeout) occurs in the Voice SDK when a call can't establish or maintain connectivity. You see this error when a Voice SDK call can't establish or maintain connectivity within the expected interval. In Voice JavaScript SDK version 2.0 or later, ICE failures map to error 53405. You might still see 31003 in legacy references.",
    "date_created": "2019-01-24T19:26:00Z",
    "last_updated": "2026-03-23T10:48:25-07:00"
  },
  {
    "code": 31004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Initialization error in iOS SDK",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCouldn't initialize user agent.\n",
    "causes": null,
    "solutions": null,
    "description": "Couldn't initialize user agent.",
    "date_created": "2019-05-24T22:57:56Z",
    "last_updated": "2020-08-04T03:00:09.394Z"
  },
  {
    "code": 31005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Connection error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe WebSocket connection to the Twilio signaling servers closed unexpectedly during the call. If this issue occurs consistently, verify that the provided hostname resolves correctly. If you specify the `region` parameter during Device setup, ensure that the value is valid.\n\n### Possible causes\n\n- DNS or hostname resolution problems for the Twilio signaling endpoint cause the signaling WebSocket to close.\n- An invalid `region` value in Device setup.\n- Underlying network conditions can drop or block the WebSocket—for example, DNS failures, restrictive firewalls, the client going offline, or an unreachable Edge.\n\n### Possible solutions\n\n- Verify that the signaling hostname you provided resolves correctly in your environment.\n- If you specify the `region` parameter during Device setup, ensure that the value is valid. In newer SDKs, use a specific `edge` instead of the deprecated `region` parameter.\n- Confirm that your firewall and network allow outbound TCP port 443 to the Twilio Voice signaling gateways and related endpoints, as documented in the Voice SDKs Network Connectivity Requirements.\n- If the WebSocket drops because of a network change, allow the SDK to reconnect. You can also configure `maxCallSignalingTimeoutMs` to permit up to 30 seconds of reconnection attempts.\n\n#### Additional resources\n\n- [Voice SDKs Network Connectivity Requirements](/docs/voice/sdks/network-connectivity-requirements)\n- [Voice JavaScript SDK: Edge Locations](/docs/voice/sdks/javascript/edges)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": "* DNS or hostname resolution problems for the Twilio signaling endpoint cause the signaling WebSocket to close.\n* An invalid `region` value in Device setup.\n* Underlying network conditions can drop or block the WebSocket—for example, DNS failures, restrictive firewalls, the client going offline, or an unreachable Edge.",
    "solutions": "* Verify that the signaling hostname you provided resolves correctly in your environment.\n* If you specify the `region` parameter during Device setup, ensure that the value is valid. In newer SDKs, use a specific `edge` instead of the deprecated `region` parameter.\n* Confirm that your firewall and network allow outbound TCP port 443 to the Twilio Voice signaling gateways and related endpoints, as documented in the Voice SDKs Network Connectivity Requirements.\n* If the WebSocket drops because of a network change, allow the SDK to reconnect. You can also configure `maxCallSignalingTimeoutMs` to permit up to 30 seconds of reconnection attempts.",
    "description": "The WebSocket connection to the Twilio signaling servers closed unexpectedly during the call. If this issue occurs consistently, verify that the provided hostname resolves correctly. If you specify the `region` parameter during Device setup, ensure that the value is valid.",
    "date_created": "2019-01-24T19:28:32Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31006,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Audio device error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio raises this Voice error when it can't start the audio device.\n\n### Possible causes\n\n- The browser has not been granted microphone access.\n- A USB headset is disconnected or faulty.\n- Headset driver issues are preventing the audio device from starting.\n\n### Possible solutions\n\n- Ask for microphone access before you create the `Device` object by calling `navigator.mediaDevices.getUserMedia({ audio: true })`, and stop the tracks right away if you only need the device list. This helps surface `getUserMedia` errors early.\n- Update your device picker when `device.audio.on('deviceChange', ...)` fires so the UI reflects microphones or headsets that are plugged in, unplugged, or relabeled.\n- If users select a specific microphone, call `device.audio.setInputDevice()` before `device.connect()` or `call.accept()`, then call `device.audio.unsetInputDevice()` after the call disconnects so future calls can fall back to the default input device.\n- If you use Flex, keep initial audio device check enabled so Flex verifies device health at startup, on browser refresh, and when the available device list changes.\n\n#### Additional resources\n\n- [Voice JavaScript SDK: Best Practices](/docs/voice/sdks/javascript/best-practices)\n- [Twilio.Device.audio](/docs/voice/sdks/javascript/twiliodevice/device-audio)\n- [Initial Audio Device Check](/docs/flex/end-user-guide/initial-audio-device-check)\n",
    "causes": "* The browser has not been granted microphone access.\n* A USB headset is disconnected or faulty.\n* Headset driver issues are preventing the audio device from starting.",
    "solutions": "* Ask for microphone access before you create the `Device` object by calling `navigator.mediaDevices.getUserMedia({ audio: true })`, and stop the tracks right away if you only need the device list. This helps surface `getUserMedia` errors early.\n* Update your device picker when `device.audio.on('deviceChange', ...)` fires so the UI reflects microphones or headsets that are plugged in, unplugged, or relabeled.\n* If users select a specific microphone, call `device.audio.setInputDevice()` before `device.connect()` or `call.accept()`, then call `device.audio.unsetInputDevice()` after the call disconnects so future calls can fall back to the default input device.\n* If you use Flex, keep initial audio device check enabled so Flex verifies device health at startup, on browser refresh, and when the available device list changes.",
    "description": "Twilio raises this Voice error when it can't start the audio device.",
    "date_created": "2019-01-24T19:29:27Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Twilio Client: Voice JavaScript SDK version not supported",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio Voice JavaScript SDK 1.x has been shut down. If you are receiving this error, you must upgrade your application to 2.x to restore functionality.\n\n### Possible causes\n\n- You are using Voice JavaScript SDK version 1.x in your application\n- You are using Twilio Flex UI version 1.x in your contact center\n\n### Possible solutions\n\n- Upgrade your application to Twilio Voice JavaScript SDK 2.x\n- Follow the [Flex migration guide](/docs/flex/developer/ui/migration-guide) to upgrade your Flex instance to UI 2.x\n",
    "causes": "* You are using Voice JavaScript SDK version 1.x in your application\n* You are using Twilio Flex UI version 1.x in your contact center",
    "solutions": "* Upgrade your application to Twilio Voice JavaScript SDK 2.x\n* Follow the [Flex migration guide](/docs/flex/developer/ui/migration-guide) to upgrade your Flex instance to UI 2.x",
    "description": "Twilio Voice JavaScript SDK 1.x has been shut down. If you are receiving this error, you must upgrade your application to 2.x to restore functionality.",
    "date_created": "2018-08-27T20:31:01Z",
    "last_updated": "2026-03-23T10:48:25-07:00"
  },
  {
    "code": 31008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Call cancelled",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Call cancelled\n\nUnable to answer because the call has ended\n\n### Possible causes\n\nThis error indicates that the incoming call was cancelled because it was not answered in time or it was accepted/rejected by another application instance registered with the same identity.\n\n### Possible solutions\n\nN/A\n",
    "causes": "This error indicates that the incoming call was cancelled because it was not answered in time or it was accepted/rejected by another application instance registered with the same identity.",
    "solutions": "N/A",
    "description": "",
    "date_created": "2019-01-24T19:30:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31009,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Transport error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYou might see this error when the Programmable Voice SDK can't establish a transport to send or receive messages during a call.\n\n### Possible causes\n\n- Required Voice SDK signaling or media connectivity is blocked by a firewall or not allowed to Twilio destinations and ports, preventing the SDK from establishing a transport.\n- The client network's routing or DNS selection leads to suboptimal or incorrect edge selection, which can hinder establishing signaling transport until an explicit edge is chosen.\n- A highly restrictive NAT or enterprise network requires TURN relays and none are provided, so media or signaling cannot traverse the network.\n- On older Mobile SDK versions that use a non‑standard port, required signaling ports are closed, blocking transport establishment.\n\n### Possible solutions\n\n- Allow the outbound connectivity the Voice SDKs require. Open TCP port 443 to Twilio signaling gateways and Insights logging, and allow UDP ports 10000–60000 to Twilio media IP ranges for secure media. Coordinate firewall rules with the Voice SDKs Network Connectivity Requirements.\n- If you operate in restrictive networks, provide TURN servers through Twilio's Network Traversal Service so calls can relay through firewalls when needed.\n- Specify a Twilio edge explicitly when appropriate, especially if upstream DNS or routing selects a distant edge, to improve reliability of the signaling transport.\n- For Mobile SDK deployments on legacy versions that require it, ensure port 10194 is open, or upgrade to a current SDK release that uses TCP port 443 for signaling.\n- Run a PreflightTest before placing calls to verify end‑to‑end connectivity and capture diagnostics you can use to resolve transport setup failures. Use the JavaScript SDK PreflightTest for web apps and the Mobile SDK PreflightTest for native apps.\n\n#### Additional resources\n\n- [Voice SDKs Network Connectivity Requirements](/docs/voice/sdks/network-connectivity-requirements)\n- [Voice JavaScript SDK: Twilio.PreflightTest](/docs/voice/sdks/javascript/twiliopreflighttest)\n- [Network Traversal Service](/docs/stun-turn)\n",
    "causes": "* Required Voice SDK signaling or media connectivity is blocked by a firewall or not allowed to Twilio destinations and ports, preventing the SDK from establishing a transport.\n* The client network's routing or DNS selection leads to suboptimal or incorrect edge selection, which can hinder establishing signaling transport until an explicit edge is chosen.\n* A highly restrictive NAT or enterprise network requires TURN relays and none are provided, so media or signaling cannot traverse the network.\n* On older Mobile SDK versions that use a non‑standard port, required signaling ports are closed, blocking transport establishment.",
    "solutions": "* Allow the outbound connectivity the Voice SDKs require. Open TCP port 443 to Twilio signaling gateways and Insights logging, and allow UDP ports 10000–60000 to Twilio media IP ranges for secure media. Coordinate firewall rules with the Voice SDKs Network Connectivity Requirements.\n* If you operate in restrictive networks, provide TURN servers through Twilio's Network Traversal Service so calls can relay through firewalls when needed.\n* Specify a Twilio edge explicitly when appropriate, especially if upstream DNS or routing selects a distant edge, to improve reliability of the signaling transport.\n* For Mobile SDK deployments on legacy versions that require it, ensure port 10194 is open, or upgrade to a current SDK release that uses TCP port 443 for signaling.\n* Run a PreflightTest before placing calls to verify end‑to‑end connectivity and capture diagnostics you can use to resolve transport setup failures. Use the JavaScript SDK PreflightTest for web apps and the Mobile SDK PreflightTest for native apps.",
    "description": "You might see this error when the Programmable Voice SDK can't establish a transport to send or receive messages during a call.",
    "date_created": "2019-05-16T23:55:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31100,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Malformed request",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n31100 indicates a generic malformed request in the Twilio Programmable Voice context. The 311xx series represents malformed requests in the Voice SDKs, with 31100 serving as the generic catchall before a more specific 3111x code is identified. The Error and Warning Dictionary lists 31100 as Malformed request under Voice.\n\n### Possible causes\n\n- Required parameter array is missing in the request, which maps to 31101 in the same malformed request family.\n- Authorization token is missing from the request, corresponding to 31102.\n- The total length of parameters exceeds the maximum allowed value, corresponding to 31103.\n- Invalid bridge token supplied, corresponding to 31104.\n- Invalid client name identity, such as using disallowed characters or exceeding 256 characters, corresponding to 31105. Voice identities may include only alphanumeric and underscore characters and have a maximum length of 256.\n\n### Possible solutions\n\n- Validate request structure and include the required parameter array and fields before sending, aligning with 31101 guidance.\n- Ensure the request includes a valid authorization token or Voice Access Token when initiating SDK connections, aligning with 31102.\n- Keep the total parameter size under the documented maximum to avoid 31103 conditions.\n- Verify the client identity follows Voice rules: only alphanumeric and underscore characters and a maximum length of 256. Regenerate tokens if needed.\n- Use Twilio Monitor Error Logs and Alerts to inspect error details and the request or response involved, and consult Voice troubleshooting guidance to diagnose malformed requests. Enable SDK debugging as needed for additional context.\n\n#### Additional resources\n\n- [Monitor REST API Alerts](/docs/usage/monitor-alert)\n- [Troubleshooting Voice Calls](/docs/voice/troubleshooting)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": "* Required parameter array is missing in the request, which maps to 31101 in the same malformed request family.\n* Authorization token is missing from the request, corresponding to 31102.\n* The total length of parameters exceeds the maximum allowed value, corresponding to 31103.\n* Invalid bridge token supplied, corresponding to 31104.\n* Invalid client name identity, such as using disallowed characters or exceeding 256 characters, corresponding to 31105. Voice identities may include only alphanumeric and underscore characters and have a maximum length of 256.",
    "solutions": "* Validate request structure and include the required parameter array and fields before sending, aligning with 31101 guidance.\n* Ensure the request includes a valid authorization token or Voice Access Token when initiating SDK connections, aligning with 31102.\n* Keep the total parameter size under the documented maximum to avoid 31103 conditions.\n* Verify the client identity follows Voice rules: only alphanumeric and underscore characters and a maximum length of 256. Regenerate tokens if needed.\n* Use Twilio Monitor Error Logs and Alerts to inspect error details and the request or response involved, and consult Voice troubleshooting guidance to diagnose malformed requests. Enable SDK debugging as needed for additional context.",
    "description": "31100 indicates a generic malformed request in the Twilio Programmable Voice context. The 311xx series represents malformed requests in the Voice SDKs, with 31100 serving as the generic catchall before a more specific 3111x code is identified. The Error and Warning Dictionary lists 31100 as Malformed request under Voice.",
    "date_created": "2019-01-24T19:56:33Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31101,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Missing parameter array in request",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis is a Programmable Voice SDK malformed request error indicating that the request did not include the expected parameter array. Twilio lists 31101 in the 311xx malformed request series as \"The request is missing the parameter array,\" and the Error and Warning Dictionary enumerates 31101 as a Voice error.\n\n### Possible causes\n\n- A malformed Voice SDK request was sent without the parameters array required for that operation, which falls under the 311xx malformed request series.\n- When initiating an outgoing call with the Voice JavaScript SDK, the ConnectOptions payload was built incorrectly so the SDK did not include params as the key or did not provide a JavaScript object of key and value pairs.\n\n### Possible solutions\n\n- Ensure the request includes a parameters array. For Voice JavaScript SDK calls, pass custom parameters as a params object when invoking device.connect, for example `{ params: { To: \"+15551234567\" } }`.\n- Verify that your application logic constructs ConnectOptions correctly and retry. Confirm the parameters you intended to send are present by checking call.customParameters after connecting.\n- If you are on an older SDK, upgrade to the Voice JavaScript SDK 2.x and review recent changes that provide more descriptive errors to help identify malformed requests during development.\n\n#### Additional resources\n\n- [Voice JavaScript SDK: Twilio.Device](/docs/voice/sdks/javascript/twiliodevice)\n- [Voice JavaScript SDK: Twilio.Call](/docs/voice/sdks/javascript/twiliocall)\n",
    "causes": "* A malformed Voice SDK request was sent without the parameters array required for that operation, which falls under the 311xx malformed request series.\n* When initiating an outgoing call with the Voice JavaScript SDK, the ConnectOptions payload was built incorrectly so the SDK did not include params as the key or did not provide a JavaScript object of key and value pairs.",
    "solutions": "* Ensure the request includes a parameters array. For Voice JavaScript SDK calls, pass custom parameters as a params object when invoking device.connect, for example `{ params: { To: \"+15551234567\" } }`.\n* Verify that your application logic constructs ConnectOptions correctly and retry. Confirm the parameters you intended to send are present by checking call.customParameters after connecting.\n* If you are on an older SDK, upgrade to the Voice JavaScript SDK 2.x and review recent changes that provide more descriptive errors to help identify malformed requests during development.",
    "description": "This is a Programmable Voice SDK malformed request error indicating that the request did not include the expected parameter array. Twilio lists 31101 in the 311xx malformed request series as \"The request is missing the parameter array,\" and the Error and Warning Dictionary enumerates 31101 as a Voice error.",
    "date_created": "2019-01-24T20:41:46Z",
    "last_updated": "2026-03-23T10:48:25-07:00"
  },
  {
    "code": 31102,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Authorization token missing in request",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis Voice SDK error indicates the request was malformed because it lacked an authorization token. In the Voice SDK error taxonomy, 311xx denotes malformed requests and 31102 is explicitly defined as Authorization token missing from the request.\n\n### Possible causes\n\n- The client did not supply an Access Token when initializing the Voice SDK or before attempting to connect, so no authorization token reached Twilio. For example, the JavaScript SDK requires a token when creating a Device or during setup.\n- The application attempted to run a Voice SDK operation that requires a token, such as a preflight test, without providing an Access Token.\n- The app failed to retrieve a token from its server-side token endpoint and proceeded without passing a token to the SDK, resulting in a malformed request. Twilio's Voice SDKs require AccessTokens as credentials for end users.\n\n### Possible solutions\n\n- Generate a valid Access Token on your server using an API Key and Secret and include the appropriate Voice grant, then provide that token to the client before calling Voice SDK methods. Access Tokens are the required authentication mechanism for Twilio client-side SDKs.\n- Ensure the client initializes the SDK with a nonempty token and passes it when establishing a connection for calls. For example, instantiate or set up the Device with a token prior to use.\n- Verify your token vending flow works as documented so the client reliably fetches a token before attempting any Voice SDK requests. A typical pattern is exposing a /token endpoint that returns an Access Token to the app.\n- If your application still uses deprecated Capability Tokens, migrate to Access Tokens to align with current authentication requirements for the Voice SDK.\n- Use Twilio Debugger Error Logs to confirm 31102 events and gather context while testing your token flow.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [Voice JavaScript SDK: Twilio.Device](/docs/voice/sdks/javascript/twiliodevice)\n- [Migrate Capability Tokens to Access Tokens](/docs/voice/sdks/javascript/migrating-capability-token)\n",
    "causes": "* The client did not supply an Access Token when initializing the Voice SDK or before attempting to connect, so no authorization token reached Twilio. For example, the JavaScript SDK requires a token when creating a Device or during setup.\n* The application attempted to run a Voice SDK operation that requires a token, such as a preflight test, without providing an Access Token.\n* The app failed to retrieve a token from its server-side token endpoint and proceeded without passing a token to the SDK, resulting in a malformed request. Twilio's Voice SDKs require AccessTokens as credentials for end users.",
    "solutions": "* Generate a valid Access Token on your server using an API Key and Secret and include the appropriate Voice grant, then provide that token to the client before calling Voice SDK methods. Access Tokens are the required authentication mechanism for Twilio client-side SDKs.\n* Ensure the client initializes the SDK with a nonempty token and passes it when establishing a connection for calls. For example, instantiate or set up the Device with a token prior to use.\n* Verify your token vending flow works as documented so the client reliably fetches a token before attempting any Voice SDK requests. A typical pattern is exposing a /token endpoint that returns an Access Token to the app.\n* If your application still uses deprecated Capability Tokens, migrate to Access Tokens to align with current authentication requirements for the Voice SDK.\n* Use Twilio Debugger Error Logs to confirm 31102 events and gather context while testing your token flow.",
    "description": "This Voice SDK error indicates the request was malformed because it lacked an authorization token. In the Voice SDK error taxonomy, 311xx denotes malformed requests and 31102 is explicitly defined as Authorization token missing from the request.",
    "date_created": "2019-01-24T20:42:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31103,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Length of parameters cannot exceed MAX_PARAM_LENGTH.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis Programmable Voice error indicates the request was rejected because the total length of custom parameters exceeded the allowed maximum. In Twilio's Voice SDKs, this corresponds to the 311xx malformed request family and specifically to \"The total length of parameters exceeds MAX\\_PARAM\\_LENGTH.\"\n\nFor the Voice JavaScript SDK, the combined size of all params you pass when connecting a call must not exceed 800 bytes. Exceeding this limit triggers this error.\n\n### Possible causes\n\n- The params object passed to device.connect in the Voice JavaScript SDK exceeds the documented 800 byte combined limit.\n- Sending large key or value strings as custom parameters during call setup causes the total to surpass recommended limits for custom parameters.\n\n### Possible solutions\n\n- Reduce the total size of all custom parameters to under 800 bytes when initiating a call with the Voice JavaScript SDK.\n- Keep custom parameters minimal and rely on your application's TwiML webhook to receive those parameters and fetch any additional context server side after Twilio appends them to your request.\n- Ensure you are using the correct parameter structure when placing calls, for example ConnectOptions.params in the Voice JavaScript SDK, to avoid related malformed request errors.\n\n#### Additional resources\n\n- [Voice JavaScript SDK: Twilio.Device](/docs/voice/sdks/javascript/twiliodevice)\n- [How to Share Information Between Your Applications](/docs/voice/how-share-information-between-your-applications)\n",
    "causes": "* The params object passed to device.connect in the Voice JavaScript SDK exceeds the documented 800 byte combined limit.\n* Sending large key or value strings as custom parameters during call setup causes the total to surpass recommended limits for custom parameters.",
    "solutions": "* Reduce the total size of all custom parameters to under 800 bytes when initiating a call with the Voice JavaScript SDK.\n* Keep custom parameters minimal and rely on your application's TwiML webhook to receive those parameters and fetch any additional context server side after Twilio appends them to your request.\n* Ensure you are using the correct parameter structure when placing calls, for example ConnectOptions.params in the Voice JavaScript SDK, to avoid related malformed request errors.",
    "description": "This Programmable Voice error indicates the request was rejected because the total length of custom parameters exceeded the allowed maximum. In Twilio's Voice SDKs, this corresponds to the 311xx malformed request family and specifically to \"The total length of parameters exceeds MAX\\_PARAM\\_LENGTH.\" For the Voice JavaScript SDK, the combined size of all params you pass when connecting a call must not exceed 800 bytes. Exceeding this limit triggers this error.",
    "date_created": "2019-01-24T20:43:12Z",
    "last_updated": "2026-03-23T10:48:25-07:00"
  },
  {
    "code": 31104,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid bridge token.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio lists 31104 as \"Invalid bridge token\" within the Voice SDK error space and groups 311xx codes under malformed requests, indicating the client sent a malformed request that included an invalid bridge token.\n\n### Possible causes\n\n- The Voice SDK request contained an invalid bridge token and was rejected as a malformed request\n- Twilio classifies 311xx as malformed requests and defines 31104 as \"Invalid bridge token.\"\n\n### Possible solutions\n\n- Generate a fresh Access Token for the client and retry, since Access Tokens authenticate Voice SDK clients and Twilio recommends checking them first when SDK errors occur\n- Verify the Access Token's contents and grants are valid for your account and use case, and ensure the token has not expired\n- Capture SDK error details and client logs, and review Twilio Debugger error logs to pinpoint malformed parameters before retrying\n- If the issue persists after the above checks, contact Twilio Support with recent Call SIDs and debug logs for investigation\n\nThese steps reflect Twilio guidance to check AccessTokens first for Voice SDK errors, the short‑lived nature and validation of Access Tokens, the SDK's emitted error detail, and use of Debugger logs.\n\n#### Additional resources\n\n- [Voice SDKs](/docs/voice/sdks)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": "* The Voice SDK request contained an invalid bridge token and was rejected as a malformed request\n* Twilio classifies 311xx as malformed requests and defines 31104 as \"Invalid bridge token.\"",
    "solutions": "* Generate a fresh Access Token for the client and retry, since Access Tokens authenticate Voice SDK clients and Twilio recommends checking them first when SDK errors occur\n* Verify the Access Token's contents and grants are valid for your account and use case, and ensure the token has not expired\n* Capture SDK error details and client logs, and review Twilio Debugger error logs to pinpoint malformed parameters before retrying\n* If the issue persists after the above checks, contact Twilio Support with recent Call SIDs and debug logs for investigation These steps reflect Twilio guidance to check AccessTokens first for Voice SDK errors, the short‑lived nature and validation of Access Tokens, the SDK's emitted error detail, and use of Debugger logs.",
    "description": "Twilio lists 31104 as \"Invalid bridge token\" within the Voice SDK error space and groups 311xx codes under malformed requests, indicating the client sent a malformed request that included an invalid bridge token.",
    "date_created": "2019-01-24T20:44:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31105,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid client name",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when the client identifier used for a Voice connection violates Twilio's rules for the `<Client>` noun or related Voice SDK identity requirements. The client identifier must be no longer than 256 characters and should not contain control, space, delimiter, or unwise characters. For Mobile SDKs, the identifier must use only alphanumeric characters and underscore.\n\n### Possible causes\n\n- The client identifier includes control, space, delimiter, or unwise characters.\n- The client identifier exceeds the 256 character limit.\n- When using a Mobile Voice SDK, the identifier contains special characters other than underscore.\n\n### Possible solutions\n\n- Remove all control characters, spaces, delimiters, and unwise characters from the client identifier.\n- Shorten the client identifier to 256 characters or fewer.\n- For Mobile SDK implementations, restrict the identifier to alphanumeric characters and underscore.\n- Verify that the identity you set in your Voice AccessToken or TwiML `<Client>` noun matches these requirements before generating or refreshing tokens.\n\n#### Additional resources\n\n- [TwiML Voice: \\<Client>](/docs/voice/twiml/client)\n- [Voice SDKs](/docs/voice/sdks)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": "* The client identifier includes control, space, delimiter, or unwise characters.\n* The client identifier exceeds the 256 character limit.\n* When using a Mobile Voice SDK, the identifier contains special characters other than underscore.",
    "solutions": "* Remove all control characters, spaces, delimiters, and unwise characters from the client identifier.\n* Shorten the client identifier to 256 characters or fewer.\n* For Mobile SDK implementations, restrict the identifier to alphanumeric characters and underscore.\n* Verify that the identity you set in your Voice AccessToken or TwiML `<Client>` noun matches these requirements before generating or refreshing tokens.",
    "description": "This error occurs when the client identifier used for a Voice connection violates Twilio's rules for the `<Client>` noun or related Voice SDK identity requirements. The client identifier must be no longer than 256 characters and should not contain control, space, delimiter, or unwise characters. For Mobile SDKs, the identifier must use only alphanumeric characters and underscore.",
    "date_created": "2019-01-24T20:44:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid data",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n31106 means the data passed to the Voice SDK was not valid. On Android, `Voice.handleMessage(context, data)` returns `false` when the data is not a Twilio Voice push message, and `CallInvite.isValid(...)` validates whether a payload is a valid notification sent by Twilio.\n\n### Possible causes\n\n- You passed a payload to `Voice.handleMessage(context, data)` that is not a Twilio Voice push message.\n- The payload does not pass `CallInvite.isValid(...)` for a Twilio Voice notification.\n\n### Possible solutions\n\n- Call `CallInvite.isValid(...)` before you process the payload, and only continue when it returns `true`.\n- Use `Voice.handleMessage(context, data)` only for Twilio Voice push messages, and treat a `false` return value as non-Voice data.\n\n#### Additional resources\n\n- [Voice SDK Error Codes](/docs/voice/sdks/error-codes)\n- [Voice Android SDK Changelog](/docs/voice/sdks/android/3x-changelog)\n- [Getting Started with the Voice Android SDK](/docs/voice/sdks/android/get-started)\n",
    "causes": "* You passed a payload to `Voice.handleMessage(context, data)` that is not a Twilio Voice push message.\n* The payload does not pass `CallInvite.isValid(...)` for a Twilio Voice notification.",
    "solutions": "* Call `CallInvite.isValid(...)` before you process the payload, and only continue when it returns `true`.\n* Use `Voice.handleMessage(context, data)` only for Twilio Voice push messages, and treat a `false` return value as non-Voice data.",
    "description": "31106 means the data passed to the Voice SDK was not valid. On Android, `Voice.handleMessage(context, data)` returns `false` when the data is not a Twilio Voice push message, and `CallInvite.isValid(...)` validates whether a payload is a valid notification sent by Twilio.",
    "date_created": "2019-01-24T19:53:51Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31201,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Twilio Client: Error occurred while accessing microphone",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error is emitted by the Voice JavaScript SDK, formerly Twilio Client, when the browser has granted permission but getUserMedia fails to acquire the microphone during actions such as device.connect or connection.accept. In Voice JS SDK 2.x, this condition maps to error 31402 UserMedia Acquisition Failed.\n\n### Possible causes\n\n- The browser granted permission but getUserMedia couldn't create an input audio stream when initiating or accepting a call.\n- The microphone deviceId specified via Device.audio.setInputDevice is invalid or no longer available, producing a NotFoundError.\n- Disconnected or faulty headset or driver issues prevent the SDK from accessing the microphone.\n- Another application temporarily takes control of the microphone, causing loss of access until the app regains focus and reacquires input.\n\n### Possible solutions\n\n- Select a valid input device or clear any stale selection, for example by using Device.audio.setInputDevice or unsetting constraints, then retry the call.\n- Reconnect or replace the microphone and resolve headset driver problems, then retry.\n- Close other applications that may be using the microphone and, when focus returns to your app, reacquire the microphone before placing or resuming a call.\n- Use the Voice JS SDK PreflightTest to validate device and network before starting calls and review the report for capture issues.\n- If your app has migrated to Voice JS SDK 2.x, handle error 31402 for the same underlying user media acquisition failure.\n\n#### Additional resources\n\n- [Twilio.Device.audio](/docs/voice/sdks/javascript/twiliodevice/device-audio)\n- [Voice JavaScript SDK: Twilio.PreflightTest](/docs/voice/sdks/javascript/twiliopreflighttest)\n- [Migration to Voice JavaScript SDK 2.0](/docs/voice/sdks/javascript)\n",
    "causes": "* The browser granted permission but getUserMedia couldn't create an input audio stream when initiating or accepting a call.\n* The microphone deviceId specified via Device.audio.setInputDevice is invalid or no longer available, producing a NotFoundError.\n* Disconnected or faulty headset or driver issues prevent the SDK from accessing the microphone.\n* Another application temporarily takes control of the microphone, causing loss of access until the app regains focus and reacquires input.",
    "solutions": "* Select a valid input device or clear any stale selection, for example by using Device.audio.setInputDevice or unsetting constraints, then retry the call.\n* Reconnect or replace the microphone and resolve headset driver problems, then retry.\n* Close other applications that may be using the microphone and, when focus returns to your app, reacquire the microphone before placing or resuming a call.\n* Use the Voice JS SDK PreflightTest to validate device and network before starting calls and review the report for capture issues.\n* If your app has migrated to Voice JS SDK 2.x, handle error 31402 for the same underlying user media acquisition failure.",
    "description": "This error is emitted by the Voice JavaScript SDK, formerly Twilio Client, when the browser has granted permission but getUserMedia fails to acquire the microphone during actions such as device.connect or connection.accept. In Voice JS SDK 2.x, this condition maps to error 31402 UserMedia Acquisition Failed.",
    "date_created": "2018-04-10T03:35:58Z",
    "last_updated": "2026-04-01T15:03:58+01:00"
  },
  {
    "code": 31202,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Signature validation failed.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio rejected the provided Access Token because its JWT signature couldn't be validated against the API Key secret associated with the token's issuer. The Voice SDK classifies 31202 as a JWT signature validation failure, and Access Tokens use a signature computed from the token header and payload using your API Key secret.\n\n### Possible causes\n\n- The Access Token wasn't signed with the API Key secret that corresponds to the API Key SID in the token's iss claim, so Twilio cannot verify the signature.\n- The JWT header alg isn't HS256, which is the required algorithm for Twilio Access Tokens.\n\n### Possible solutions\n\n- Regenerate the Access Token using a Twilio SDK and provide the correct Account SID, API Key SID, and matching API Key Secret as documented. This ensures the token is constructed and signed correctly.\n- Ensure the JWT header explicitly uses alg set to HS256 before signing the token.\n- Verify you are using the exact API Key Secret that was issued for the API Key SID in iss and that it's securely stored and current. If the secret was rotated, update your server configuration and regenerate tokens.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [Voice JavaScript SDK: Twilio.PreflightTest](/docs/voice/sdks/javascript/twiliopreflighttest)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": "* The Access Token wasn't signed with the API Key secret that corresponds to the API Key SID in the token's iss claim, so Twilio cannot verify the signature.\n* The JWT header alg isn't HS256, which is the required algorithm for Twilio Access Tokens.",
    "solutions": "* Regenerate the Access Token using a Twilio SDK and provide the correct Account SID, API Key SID, and matching API Key Secret as documented. This ensures the token is constructed and signed correctly.\n* Ensure the JWT header explicitly uses alg set to HS256 before signing the token.\n* Verify you are using the exact API Key Secret that was issued for the API Key SID in iss and that it's securely stored and current. If the secret was rotated, update your server configuration and regenerate tokens.",
    "description": "Twilio rejected the provided Access Token because its JWT signature couldn't be validated against the API Key secret associated with the token's issuer. The Voice SDK classifies 31202 as a JWT signature validation failure, and Access Tokens use a signature computed from the token header and payload using your API Key secret.",
    "date_created": "2019-01-24T20:45:37Z",
    "last_updated": "2026-04-01T15:03:58+01:00"
  },
  {
    "code": 31203,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "No valid account.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nProgrammable Voice error 31203 indicates Twilio could not validate a usable Twilio account for the request.\n\n### Possible Causes\n\n- The Voice Access Token was created with API Key credentials that don't belong to the same Twilio account or subaccount referenced by the token, which is unsupported because API keys and secrets aren't shareable across main and subaccounts and the token's sub claim must scope to a specific Twilio Account SID.\n- The Voice Access Token is missing required grants or fields for Voice SDKs, such as the VoiceGrant or the required outgoingApplicationSid for making outgoing calls.\n- The Twilio account isn't in good standing or Voice calling is disabled on the project, which prevents Voice operations from succeeding.\n- Attempting to build Access Tokens with a Restricted API Key, which Twilio does not support for Access Token creation.\n\n### Possible Solutions\n\n- Verify the project is active and permitted to use Voice, and resolve account status issues before retrying. If your account is disabled or Voice calling has been disabled, follow the actions outlined for errors 10001 and 10005.\n- Regenerate the Voice Access Token using the correct Account SID together with an API Key and Secret that belong to that same account or subaccount, and include both an identity and a VoiceGrant with the required parameters.\n- If you use subaccounts, generate the API Key in the exact subaccount you scope the token to and ensure you're using the matching key and secret when signing the token.\n- If the issue persists after issuing a new token, collect SDK logs and review Twilio's Voice troubleshooting steps to isolate configuration or environment problems, then retry with a fresh token.\n\n#### Additional resources\n\n- [Voice JS SDK v1: Troubleshooting & Common Errors](/docs/voice/sdks/javascript)\n- [Troubleshooting Voice Calls](/docs/voice/troubleshooting)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": null,
    "solutions": null,
    "description": "Programmable Voice error 31203 indicates Twilio could not validate a usable Twilio account for the request.",
    "date_created": "2019-01-24T20:46:12Z",
    "last_updated": "2026-04-01T15:03:58+01:00"
  },
  {
    "code": 31204,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid JWT token.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe Twilio Voice SDK reports this error when the JSON Web Token presented for authentication is invalid. Voice SDK authorization errors list 31204 as \"Invalid JWT token,\" and Voice Access Tokens are the JWTs used to authenticate Voice SDK clients.\n\n### Possible Causes\n\n- The Access Token isn't a properly formed JWT, so it can't be parsed or validated by Twilio.\n- The Access Token was generated with an incorrect Account SID or API Key, making the issuer or subject invalid for Twilio's verification.\n- The token is missing required Voice SDK fields such as an identity grant and a VoiceGrant.\n\n### Possible Solutions\n\n- Regenerate a new Voice Access Token on your server using your Account SID and a valid API Key and Secret, and include the required VoiceGrant and identity before passing it to the SDK.\n- Decode and inspect the token to verify header, payload, signature, and grants, using a JWT decoder as recommended in the Voice SDKs documentation.\n- Verify the token's issuer and subject map to the correct API Key and Account SID to satisfy Twilio's validation requirements.\n- Use Main or Standard API Keys to create Access Tokens, as Restricted API Keys aren't supported for Access Token generation.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [Voice SDKs](/docs/voice/sdks)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": null,
    "solutions": null,
    "description": "The Twilio Voice SDK reports this error when the JSON Web Token presented for authentication is invalid. Voice SDK authorization errors list 31204 as \"Invalid JWT token,\" and Voice Access Tokens are the JWTs used to authenticate Voice SDK clients.",
    "date_created": "2019-01-24T20:46:52Z",
    "last_updated": "2026-04-01T15:03:58+01:00"
  },
  {
    "code": 31205,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "JWT token has expired",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio Voice SDKs emit error 31205 when the Access Token used for authentication has expired. In the Voice SDK error catalog, 31205 is listed under authorization errors with the description JWT token has expired. The Voice JS SDK v1 notes that when the token expires, signaling, DTMF and Insights stop working until the application supplies a fresh token.\n\n### Possible causes\n\n- The Access Token's configured lifetime elapsed and the token reached its exp timestamp, which limits tokens to short lifetimes up to 24 hours.\n- The application didn't refresh and update the SDK with a new token before the old token expired, so the SDK reported 31205.\n- The token was minted with a very short ttl, causing it to expire during or shortly after initialization.\n- Long‑running sessions or backgrounded apps missed the recommended pre‑expiry refresh window provided by the SDK, leading to expiry during an active session.\n\n### Possible solutions\n\n- Implement an automatic token refresh flow. In the Voice JavaScript SDK, handle the tokenWillExpire event and call device.updateToken with a freshly minted server token before expiry.\n- For applications using Voice JS SDK v1, create a new token on your server and reinitialize the device with the new token before the prior token expires.\n- Mint tokens with an appropriate ttl that balances security and session length. Tokens can be configured up to 24 hours but should be as short as feasible for your use case.\n- Verify your token generation uses the correct API key and secret, includes a VoiceGrant, and sets a nonempty identity to avoid related authorization issues when refreshing.\n\n#### Additional resources\n\n- [Voice JS SDK v1: Troubleshooting and Common Errors](/docs/voice/sdks/javascript)\n- [Access Tokens](/docs/iam/access-tokens)\n- [Common Twilio Programmable Voice SDK Error Codes and Debugging Help](https://www.twilio.com/en-us/blog/programmable-voice-common-sdk-error-codes-debugging-help)\n",
    "causes": "* The Access Token's configured lifetime elapsed and the token reached its exp timestamp, which limits tokens to short lifetimes up to 24 hours.\n* The application didn't refresh and update the SDK with a new token before the old token expired, so the SDK reported 31205.\n* The token was minted with a very short ttl, causing it to expire during or shortly after initialization.\n* Long‑running sessions or backgrounded apps missed the recommended pre‑expiry refresh window provided by the SDK, leading to expiry during an active session.",
    "solutions": "* Implement an automatic token refresh flow. In the Voice JavaScript SDK, handle the tokenWillExpire event and call device.updateToken with a freshly minted server token before expiry.\n* For applications using Voice JS SDK v1, create a new token on your server and reinitialize the device with the new token before the prior token expires.\n* Mint tokens with an appropriate ttl that balances security and session length. Tokens can be configured up to 24 hours but should be as short as feasible for your use case.\n* Verify your token generation uses the correct API key and secret, includes a VoiceGrant, and sets a nonempty identity to avoid related authorization issues when refreshing.",
    "description": "Twilio Voice SDKs emit error 31205 when the Access Token used for authentication has expired. In the Voice SDK error catalog, 31205 is listed under authorization errors with the description JWT token has expired. The Voice JS SDK v1 notes that when the token expires, signaling, DTMF and Insights stop working until the application supplies a fresh token.",
    "date_created": "2019-01-24T20:47:32Z",
    "last_updated": "2026-04-01T15:03:58+01:00"
  },
  {
    "code": 31206,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Rate exceeded authorized limit.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nError 31206 is returned by Twilio Programmable Voice when the client's request rate exceeds the authorized limit. It appears in the Voice error catalog and the Voice SDK error set as an authorization error described as the request rate exceeding the allowed limit.\n\n### Possible causes\n\n- Your application is making Voice SDK operations in rapid succession so the request rate to Twilio's Voice platform exceeds allowed limits, triggering this authorization error.\n- Bursts of outbound call starts that exceed Twilio's documented throughput can lead to rate limiting during voice operations, for example the default 1 call per second outbound rate noted in Twilio Help.\n- If your workflow mixes SDK actions with REST API calls, concurrent API activity may also be throttled by Twilio platform protections, which can surface as rate limit errors in client flows.\n- When using Voice SDK Call Message Events during a call, sending many messages in a short interval can contribute to hitting platform limits for messaging over the signaling channel. Ensure this feature is used only on active calls.\n\n### Possible solutions\n\n- Throttle or queue Voice SDK operations such as initiating connections or sending call messages to keep request rates under platform limits. Implement client‑side pacing to avoid bursts.\n- Apply retry policies with exponential backoff for actions retried after a rate event to prevent immediate re‑saturation. Twilio recommends backoff when encountering platform rate limits.\n- If you require higher sustained throughput for voice calling, engage Twilio to request a throughput increase as documented in Help Center guidance on call limits.\n- Use Twilio debugging tools to verify and monitor rate errors in real time, including the Debugger, Error Logs, or a Debugging Events Webhook, so you can identify the specific operations that are exceeding limits and adjust accordingly.\n- For Call Message Events, send messages only while a call is active and avoid rapid‑fire messaging patterns to reduce the likelihood of rate issues on the signaling channel.\n\n#### Additional resources\n\n- [Voice SDK Call Message Events](/docs/voice/sdks/call-message-events)\n- [Debugging your Twilio application](/docs/usage/troubleshooting/debugging-your-application)\n- [Sending and Receiving Limitations on Calls and SMS Messages](https://help.twilio.com/articles/223183648)\n",
    "causes": "* Your application is making Voice SDK operations in rapid succession so the request rate to Twilio's Voice platform exceeds allowed limits, triggering this authorization error.\n* Bursts of outbound call starts that exceed Twilio's documented throughput can lead to rate limiting during voice operations, for example the default 1 call per second outbound rate noted in Twilio Help.\n* If your workflow mixes SDK actions with REST API calls, concurrent API activity may also be throttled by Twilio platform protections, which can surface as rate limit errors in client flows.\n* When using Voice SDK Call Message Events during a call, sending many messages in a short interval can contribute to hitting platform limits for messaging over the signaling channel. Ensure this feature is used only on active calls.",
    "solutions": "* Throttle or queue Voice SDK operations such as initiating connections or sending call messages to keep request rates under platform limits. Implement client‑side pacing to avoid bursts.\n* Apply retry policies with exponential backoff for actions retried after a rate event to prevent immediate re‑saturation. Twilio recommends backoff when encountering platform rate limits.\n* If you require higher sustained throughput for voice calling, engage Twilio to request a throughput increase as documented in Help Center guidance on call limits.\n* Use Twilio debugging tools to verify and monitor rate errors in real time, including the Debugger, Error Logs, or a Debugging Events Webhook, so you can identify the specific operations that are exceeding limits and adjust accordingly.\n* For Call Message Events, send messages only while a call is active and avoid rapid‑fire messaging patterns to reduce the likelihood of rate issues on the signaling channel.",
    "description": "Error 31206 is returned by Twilio Programmable Voice when the client's request rate exceeds the authorized limit. It appears in the Voice error catalog and the Voice SDK error set as an authorization error described as the request rate exceeding the allowed limit.",
    "date_created": "2019-01-24T20:48:09Z",
    "last_updated": "2026-04-01T15:03:58+01:00"
  },
  {
    "code": 31207,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "JWT token expiration interval is too long",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe Programmable Voice SDK emits this authorization error when the JWT Access Token presented to the SDK is created with an expiration interval that exceeds Twilio's allowed maximum. The Voice SDK error list defines 31207 as JWT token expiration interval is too long and Access Tokens have a maximum lifetime of 24 hours. Twilio recommends issuing tokens for the shortest feasible time.\n\n### Possible causes\n\n- The Access Token ttl value or exp claim is set beyond Twilio's maximum of 24 hours.\n- The effective expiration interval exceeds the limit because exp was computed more than 86,400 seconds from the token's issued at time. The Voice SDK FAQs note the maximum expiry duration allowed is 24 hours and advise keeping expiry less than or equal to 86,400 minus 1 second.\n\n### Possible solutions\n\n- Regenerate the Access Token with a ttl that doesn't exceed 24 hours, for example ensure ttl is less than or equal to 86,399 seconds.\n- Follow Twilio guidance to keep Access Tokens short lived and refresh them as needed rather than extending their lifetime.\n- Implement token refresh in your client by listening for the tokenWillExpire event and updating the token before it expires using device.updateToken, supported in the Voice JavaScript SDK. This enables shorter ttls without disrupting sessions.\n\n#### Additional resources\n\n- [Access Tokens](/docs/iam/access-tokens)\n- [Voice iOS SDK FAQ](/docs/voice/sdks/ios/faq)\n- [Migration to Voice JavaScript SDK 2.0](/docs/voice/sdks/javascript)\n",
    "causes": "* The Access Token ttl value or exp claim is set beyond Twilio's maximum of 24 hours.\n* The effective expiration interval exceeds the limit because exp was computed more than 86,400 seconds from the token's issued at time. The Voice SDK FAQs note the maximum expiry duration allowed is 24 hours and advise keeping expiry less than or equal to 86,400 minus 1 second.",
    "solutions": "* Regenerate the Access Token with a ttl that doesn't exceed 24 hours, for example ensure ttl is less than or equal to 86,399 seconds.\n* Follow Twilio guidance to keep Access Tokens short lived and refresh them as needed rather than extending their lifetime.\n* Implement token refresh in your client by listening for the tokenWillExpire event and updating the token before it expires using device.updateToken, supported in the Voice JavaScript SDK. This enables shorter ttls without disrupting sessions.",
    "description": "The Programmable Voice SDK emits this authorization error when the JWT Access Token presented to the SDK is created with an expiration interval that exceeds Twilio's allowed maximum. The Voice SDK error list defines 31207 as JWT token expiration interval is too long and Access Tokens have a maximum lifetime of 24 hours. Twilio recommends issuing tokens for the shortest feasible time.",
    "date_created": "2019-01-24T20:48:52Z",
    "last_updated": "2026-04-01T15:03:58+01:00"
  },
  {
    "code": 31208,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "User denied access to microphone.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nEmitted by the Twilio Voice SDK when the browser or end user denies microphone permission during getUserMedia, preventing acquisition of an input audio track. In Voice JavaScript SDK 2.x this condition is reported as error 31401 UserMedia Permission Denied.\n\n### Possible Causes\n\n- The user clicked Block or otherwise denied the browser permission prompt for microphone access, so the SDK couldn't obtain an input audio track.\n- The browser has a saved deny or policy that blocks getUserMedia for the site, resulting in a permission denial.\n- On mobile or desktop, operating system level microphone permission for the browser or app is disabled.\n\n### Possible Solutions\n\n- Ask the user to reload the page and grant microphone permission when prompted so the SDK can acquire user media.\n- Instruct the user to allow microphone access in their browser site permissions if a previous deny was saved, then retry.\n- Ensure the device or mobile OS has granted microphone permission to the browser or app before attempting a call.\n- If your application uses Voice JavaScript SDK 2.x, handle error 31401 as the equivalent of 31208 and guide the user to enable microphone access.\n\n#### Additional resources\n\n- [Voice JS SDK v1: Troubleshooting & Common Errors](/docs/voice/sdks/javascript)\n- [Migration to Voice JavaScript SDK 2.0](/docs/voice/sdks/javascript)\n- [Details: Voice Insights SDK Events](/docs/voice/voice-insights/api/call/details-sdk-call-quality-events)\n",
    "causes": null,
    "solutions": null,
    "description": "Emitted by the Twilio Voice SDK when the browser or end user denies microphone permission during getUserMedia, preventing acquisition of an input audio track. In Voice JavaScript SDK 2.x this condition is reported as error 31401 UserMedia Permission Denied.",
    "date_created": "2019-01-24T20:49:47Z",
    "last_updated": "2026-04-01T15:03:58+01:00"
  },
  {
    "code": 31209,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Reconnect attempt error.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nReconnect attempt is not authorized.\n\n### Possible causes\n\nThe new identity for the reconnection and the old identity for the original call does not match.\n\n### Possible solutions\n\nPlease use same identity as the original call for the reconnection attempt.\n",
    "causes": "The new identity for the reconnection and the old identity for the original call does not match.",
    "solutions": "Please use same identity as the original call for the reconnection attempt.",
    "description": "Reconnect attempt is not authorized.",
    "date_created": "2022-11-07T23:45:21Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31210,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Call Message Event Type is invalid.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe Message Type used for sending Call Message Event is invalid. Please see Twilio's [Voice SDK Call Message Events Documentation](/docs/voice/sdks/call-message-events/) for more information on valid Message Type.\n\n### Possible causes\n\nThe Message Type used for sending Call Message Event is invalid.\n\n### Possible solutions\n\n- Verify that Message Type being sent with Call Message Event is a value supported by Twilio Programmable Voice\n- Use one of the [supported Message Types](/docs/voice/sdks/call-message-events/) to call a Twilio function.\n",
    "causes": "The Message Type used for sending Call Message Event is invalid.",
    "solutions": "* Verify that Message Type being sent with Call Message Event is a value supported by Twilio Programmable Voice\n* Use one of the [supported Message Types](/docs/voice/sdks/call-message-events/) to call a Twilio function.",
    "description": "The Message Type used for sending Call Message Event is invalid. Please see Twilio's [Voice SDK Call Message Events Documentation](/docs/voice/sdks/call-message-events/) for more information on valid Message Type.",
    "date_created": "2024-04-11T20:08:29Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31211,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Call is not in the expected state.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCall is not in the expected state.\n\n### Possible causes\n\nThe Call should be at least in the Ringing state to Subscribe and send Call Message.\n\n### Possible solutions\n\nEnsure the Call is at least in the Ringing state and the Subscription is successful and try again.\n",
    "causes": "The Call should be at least in the Ringing state to Subscribe and send Call Message.",
    "solutions": "Ensure the Call is at least in the Ringing state and the Subscription is successful and try again.",
    "description": "Call is not in the expected state.",
    "date_created": "2024-05-23T20:41:29Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31212,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Call Message Event Payload size exceeded authorized limit.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCall Message Event Payload size exceeded authorized limit.\n\n### Possible causes\n\nThe payload size of Call Message Event exceeds the authorized limit.\n\n### Possible solutions\n\nReduce payload size of Call Message Event to be within the authorized limit and try again.\n",
    "causes": "The payload size of Call Message Event exceeds the authorized limit.",
    "solutions": "Reduce payload size of Call Message Event to be within the authorized limit and try again.",
    "description": "Call Message Event Payload size exceeded authorized limit.",
    "date_created": "2024-06-20T20:29:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31301,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Registration error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when registration for incoming call push notifications fails. Set up your push certificate in the Console, register the app with `Voice.register(...)`, and use an Access Token that includes a `VoiceGrant` and a non-empty `identity`.\n\n### Possible causes\n\n- Your app is not set up with a push certificate in the Console, or it is not registering for incoming calls with `Voice.register(...)`.\n- The Access Token does not include a `VoiceGrant`, or the API key and secret used to generate the token are incorrect.\n- The device token has changed, or the registration has not been refreshed in more than 6 months.\n- The Access Token does not include a non-empty `identity`.\n\n### Possible solutions\n\n- Set up the push certificate in the Console and call `Voice.register(...)` when the app launches so the device can receive incoming calls.\n- Generate the Access Token with a `VoiceGrant`, and verify that you are using the correct API key and secret pair.\n- Re-register the device token whenever it changes, and register again if `Voice.register(...)` was last called more than 6 months ago.\n- Make sure the Access Token includes a non-empty `identity`.\n\n#### Additional resources\n\n- [Voice Android SDK FAQ](/docs/voice/sdks/android/faq)\n- [Voice Mobile SDKs: Best Practices](/docs/voice/sdks/mobile-best-practices)\n",
    "causes": "* Your app is not set up with a push certificate in the Console, or it is not registering for incoming calls with `Voice.register(...)`.\n* The Access Token does not include a `VoiceGrant`, or the API key and secret used to generate the token are incorrect.\n* The device token has changed, or the registration has not been refreshed in more than 6 months.\n* The Access Token does not include a non-empty `identity`.",
    "solutions": "* Set up the push certificate in the Console and call `Voice.register(...)` when the app launches so the device can receive incoming calls.\n* Generate the Access Token with a `VoiceGrant`, and verify that you are using the correct API key and secret pair.\n* Re-register the device token whenever it changes, and register again if `Voice.register(...)` was last called more than 6 months ago.\n* Make sure the Access Token includes a non-empty `identity`.",
    "description": "This error occurs when registration for incoming call push notifications fails. Set up your push certificate in the Console, register the app with `Voice.register(...)`, and use an Access Token that includes a `VoiceGrant` and a non-empty `identity`.",
    "date_created": "2019-01-24T19:32:46Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31302,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported Cancel Message Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis version of the SDK no longer supports processing cancel push notification messages. You must register via Voice.register(...) on Android or \\[TwilioVoice registerWithAccessToken:deviceToken:completion:] on iOS with this version of the SDK to stop receiving cancel push notification messages. Cancellations are now handled internally and reported to you on behalf of the SDK.\n\n### Possible causes\n\nThe identity associated with the Twilio Voice SDK is still registered to receive cancel push notification messages.\n\n### Possible solutions\n\nThe application must register via Voice.register(...) on Android or \\[TwilioVoice registerWithAccessToken:deviceToken:completion:] on iOS to stop receiving cancel push notification messages.\n",
    "causes": "The identity associated with the Twilio Voice SDK is still registered to receive cancel push notification messages.",
    "solutions": "The application must register via Voice.register(...) on Android or \\[TwilioVoice registerWithAccessToken:deviceToken:completion:] on iOS to stop receiving cancel push notification messages.",
    "description": "This version of the SDK no longer supports processing cancel push notification messages. You must register via Voice.register(...) on Android or \\[TwilioVoice registerWithAccessToken:deviceToken:completion:] on iOS with this version of the SDK to stop receiving cancel push notification messages. Cancellations are now handled internally and reported to you on behalf of the SDK.",
    "date_created": "2019-09-13T17:39:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31400,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Bad Request",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error means Twilio could not understand the request because the syntax was malformed. 31400 is a Voice error with the message Bad Request.\n\n### Possible causes\n\n- The request body or parameters are malformed, so Twilio cannot parse the request.\n- The request uses an unsupported content type instead of `application/x-www-form-urlencoded` or `multipart/form-data`.\n- If you are using `device.connect()`, the `params` value is not a JavaScript object of key/value pairs, or the call data you send does not match what the Voice SDK expects.\n\n### Possible solutions\n\n- Rebuild the request with valid syntax and include every required field before you send it.\n- Send Twilio API requests with a supported content type.\n- If you are using `device.connect()`, pass `params` as a JavaScript object of key/value pairs, and keep the total length within 800 bytes.\n\n#### Additional resources\n\n- [Twilio API requests](/docs/usage/requests-to-twilio)\n- [Voice SDK Error Codes](/docs/voice/sdks/error-codes)\n",
    "causes": "* The request body or parameters are malformed, so Twilio cannot parse the request.\n* The request uses an unsupported content type instead of `application/x-www-form-urlencoded` or `multipart/form-data`.\n* If you are using `device.connect()`, the `params` value is not a JavaScript object of key/value pairs, or the call data you send does not match what the Voice SDK expects.",
    "solutions": "* Rebuild the request with valid syntax and include every required field before you send it.\n* Send Twilio API requests with a supported content type.\n* If you are using `device.connect()`, pass `params` as a JavaScript object of key/value pairs, and keep the total length within 800 bytes.",
    "description": "This error means Twilio could not understand the request because the syntax was malformed. 31400 is a Voice error with the message Bad Request.",
    "date_created": "2019-05-22T22:11:40Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31401,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "UserMedia Permission Denied",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe browser or end-user denied permissions to user media. Therefore we were unable to acquire input audio.\n\n### Possible causes\n\n- The user denied the getUserMedia request.\n- The browser denied the getUserMedia request.\n- The application has not been configured with the proper permissions.\n\n### Possible solutions\n\n- The user should accept the request next time prompted. If the browser saved the deny, the user should change that permission in their browser.\n- The user should to verify that the browser has permission to access the microphone at this address.\n- The user should ensure that the proper permissions have been granted in the mobile device OS.\n",
    "causes": "* The user denied the getUserMedia request.\n* The browser denied the getUserMedia request.\n* The application has not been configured with the proper permissions.",
    "solutions": "* The user should accept the request next time prompted. If the browser saved the deny, the user should change that permission in their browser.\n* The user should to verify that the browser has permission to access the microphone at this address.\n* The user should ensure that the proper permissions have been granted in the mobile device OS.",
    "description": "The browser or end-user denied permissions to user media. Therefore we were unable to acquire input audio.",
    "date_created": "2024-07-25T23:28:19Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31402,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "UserMedia Acquisition Failed",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe browser and end-user allowed permissions, however getting the media failed. Usually this is due to bad constraints, but can sometimes fail due to browser, OS or hardware issues.\n\n### Possible causes\n\n- NotFoundError - The deviceID specified was not found.\n- The getUserMedia constraints were overconstrained and no devices matched.\n\n### Possible solutions\n\n- Ensure the deviceID being specified exists.\n- Try acquiring media with fewer constraints.\n",
    "causes": "* NotFoundError - The deviceID specified was not found.\n* The getUserMedia constraints were overconstrained and no devices matched.",
    "solutions": "* Ensure the deviceID being specified exists.\n* Try acquiring media with fewer constraints.",
    "description": "The browser and end-user allowed permissions, however getting the media failed. Usually this is due to bad constraints, but can sometimes fail due to browser, OS or hardware issues.",
    "date_created": "2024-07-25T23:37:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31403,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Forbidden",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe server understood the request, but is refusing to fulfill it.\n",
    "causes": null,
    "solutions": null,
    "description": "The server understood the request, but is refusing to fulfill it.",
    "date_created": "2019-05-22T22:12:20Z",
    "last_updated": "2020-08-04T10:00:08.5Z"
  },
  {
    "code": 31404,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Not Found",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe server has not found anything matching the request.\n",
    "causes": null,
    "solutions": null,
    "description": "The server has not found anything matching the request.",
    "date_created": "2019-05-22T22:12:50Z",
    "last_updated": "2020-08-04T10:00:08.451Z"
  },
  {
    "code": 31408,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Request Timeout",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis indicates a Voice request timed out. Twilio returns this code during Voice SDK registration, unregistration, `connect`, and `CallInvite.accept` flows. For call-related HTTP requests, Twilio enforces a hard 15-second upper timeout on the initial response packet.\n\n### Possible causes\n\n- Your Voice webhook or other call-related HTTP request did not send the initial response packet within Twilio's 15-second read timeout.\n- The call is on a restrictive network, and the Voice SDK cannot connect unless you provide ICE servers.\n\n### Possible solutions\n\n- Return TwiML from your Voice webhook within 15 seconds so Twilio receives a response before the read timeout expires.\n- Use webhook connection overrides such as `ct`, `rt`, `tt`, `rc`, and `rp` when you need to tune callback behavior, but keep in mind that the 15-second hard limit still applies to call-processing requests.\n- For `connect` and `CallInvite.accept` failures on restrictive networks, provide ICE servers with `ConnectOptions.Builder.iceOptions(...)` or `AcceptOptions.Builder.iceOptions(...)`.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [Voice Webhooks](/docs/usage/webhooks/voice-webhooks)\n- [Voice SDKs Network Connectivity Requirements](/docs/voice/sdks/network-connectivity-requirements)\n",
    "causes": "* Your Voice webhook or other call-related HTTP request did not send the initial response packet within Twilio's 15-second read timeout.\n* The call is on a restrictive network, and the Voice SDK cannot connect unless you provide ICE servers.",
    "solutions": "* Return TwiML from your Voice webhook within 15 seconds so Twilio receives a response before the read timeout expires.\n* Use webhook connection overrides such as `ct`, `rt`, `tt`, `rc`, and `rp` when you need to tune callback behavior, but keep in mind that the 15-second hard limit still applies to call-processing requests.\n* For `connect` and `CallInvite.accept` failures on restrictive networks, provide ICE servers with `ConnectOptions.Builder.iceOptions(...)` or `AcceptOptions.Builder.iceOptions(...)`.",
    "description": "This indicates a Voice request timed out. Twilio returns this code during Voice SDK registration, unregistration, `connect`, and `CallInvite.accept` flows. For call-related HTTP requests, Twilio enforces a hard 15-second upper timeout on the initial response packet.",
    "date_created": "2019-05-22T22:20:33Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31409,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conflict",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe request could not be processed because of a conflict in the current state of the resource. Another request may be in progress.\n",
    "causes": null,
    "solutions": null,
    "description": "The request could not be processed because of a conflict in the current state of the resource. Another request may be in progress.",
    "date_created": "2019-05-22T22:21:23Z",
    "last_updated": "2020-08-04T10:00:08.415Z"
  },
  {
    "code": 31426,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Upgrade Required",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error is raised when an HTTP 426 response is received. The reason for this is most likely because of an incompatible TLS version. To mitigate this, you may need to upgrade the OS or download a more recent version of the SDK.\n",
    "causes": null,
    "solutions": null,
    "description": "This error is raised when an HTTP 426 response is received. The reason for this is most likely because of an incompatible TLS version. To mitigate this, you may need to upgrade the OS or download a more recent version of the SDK.",
    "date_created": "2019-05-22T22:33:19Z",
    "last_updated": "2020-08-04T10:00:08.395Z"
  },
  {
    "code": 31429,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Too Many Requests",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nToo many requests were sent in a given amount of time.\n",
    "causes": null,
    "solutions": null,
    "description": "Too many requests were sent in a given amount of time.",
    "date_created": "2019-05-22T22:34:37Z",
    "last_updated": "2020-08-04T10:00:08.374Z"
  },
  {
    "code": 31480,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Temporarily Unavailable",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis means the callee is currently unavailable. In the Voice JavaScript SDK changelog, Twilio maps this to `ClientErrors.TemporarilyUnavilable`, and the error dictionary lists it as a Voice `ERROR`.\n\n### Possible causes\n\n- The callee is temporarily unavailable and cannot accept the call.\n- Your client cannot reach Twilio's signaling or media infrastructure because DNS, firewall, or edge configuration blocks the required connections. Voice SDKs require both signaling and media connectivity.\n- Your network restricts UDP, and you have not provided ICE servers from Twilio Network Traversal Service to establish media connectivity over TURN.\n\n### Possible solutions\n\n- Retry the call after the callee is available again.\n- Allow outgoing TCP and UDP traffic from your application to Twilio's signaling and media servers, and make sure your firewall allows return traffic.\n- If UDP is restricted, use Twilio Network Traversal Service and pass the returned `ice_servers` or `iceServers` values to your Voice client.\n- If you use a restrictive network, choose a specific edge location that matches your deployment so you only need to allow the relevant media server addresses.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [Voice SDK Error Codes](/docs/voice/sdks/error-codes)\n- [Voice SDKs Network Connectivity Requirements](/docs/voice/sdks/network-connectivity-requirements)\n",
    "causes": "* The callee is temporarily unavailable and cannot accept the call.\n* Your client cannot reach Twilio's signaling or media infrastructure because DNS, firewall, or edge configuration blocks the required connections. Voice SDKs require both signaling and media connectivity.\n* Your network restricts UDP, and you have not provided ICE servers from Twilio Network Traversal Service to establish media connectivity over TURN.",
    "solutions": "* Retry the call after the callee is available again.\n* Allow outgoing TCP and UDP traffic from your application to Twilio's signaling and media servers, and make sure your firewall allows return traffic.\n* If UDP is restricted, use Twilio Network Traversal Service and pass the returned `ice_servers` or `iceServers` values to your Voice client.\n* If you use a restrictive network, choose a specific edge location that matches your deployment so you only need to allow the relevant media server addresses.",
    "description": "This means the callee is currently unavailable. In the Voice JavaScript SDK changelog, Twilio maps this to `ClientErrors.TemporarilyUnavilable`, and the error dictionary lists it as a Voice `ERROR`.",
    "date_created": "2019-05-22T22:37:50Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31481,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Call/Transaction Does Not Exist",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n31481 means the call or transaction you are referencing no longer exists. For outgoing calls, Twilio does not assign a `CallSID` until the `accept` event fires, and a `Call` can move to `closed` after the remote end cancels it.\n\n### Possible causes\n\n- You tried to read or use an outgoing call's `CallSID` before the `accept` event fired. For outgoing calls, the call may not have a `CallSID` until then.\n- The call was canceled by the remote end, which transitions the `Call` to `closed`.\n- In a Voice SDK app, the `CallInvite` object was released before the underlying signaling connection finished processing the invite lifecycle.\n\n### Possible solutions\n\n- Wait for the outgoing call's `accept` event before you read or rely on `CallSID`.\n- Treat `cancel` as terminal in your call flow and stop any follow-up actions once the call has been canceled or disconnected.\n- Keep the `CallInvite` object alive until the invite is accepted, rejected, or canceled.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [Voice JavaScript SDK: Twilio.Call](/docs/voice/sdks/javascript/twiliocall)\n- [Voice Android SDK Changelog](/docs/voice/sdks/android/3x-changelog)\n",
    "causes": "* You tried to read or use an outgoing call's `CallSID` before the `accept` event fired. For outgoing calls, the call may not have a `CallSID` until then.\n* The call was canceled by the remote end, which transitions the `Call` to `closed`.\n* In a Voice SDK app, the `CallInvite` object was released before the underlying signaling connection finished processing the invite lifecycle.",
    "solutions": "* Wait for the outgoing call's `accept` event before you read or rely on `CallSID`.\n* Treat `cancel` as terminal in your call flow and stop any follow-up actions once the call has been canceled or disconnected.\n* Keep the `CallInvite` object alive until the invite is accepted, rejected, or canceled.",
    "description": "31481 means the call or transaction you are referencing no longer exists. For outgoing calls, Twilio does not assign a `CallSID` until the `accept` event fires, and a `Call` can move to `closed` after the remote end cancels it.",
    "date_created": "2019-05-22T22:38:19Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31484,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Address Incomplete",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe provided phone number is malformed.\n\n### Possible causes\n\n- The outbound call was made with a phone number that has an invalid format.\n\n### Possible solutions\n\n- Ensure the phone number dialed is formatted correctly.\n",
    "causes": "* The outbound call was made with a phone number that has an invalid format.",
    "solutions": "* Ensure the phone number dialed is formatted correctly.",
    "description": "The provided phone number is malformed.",
    "date_created": "2019-06-13T01:44:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31486,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Busy Here",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio returns this when it receives a busy response while trying to connect a Voice call. In Programmable Voice, `<Dial>` ends the new call when Twilio receives a busy signal, and the resulting `DialCallStatus` is `busy`. The Voice iOS and Android SDKs also expose this as `Busy Here` for call connect and accept flows.\n\n### Possible causes\n\n- The called party is already on another call, so the destination returns a busy signal.\n- The destination SIP endpoint or carrier network returns a `486 Busy Here` response during call setup.\n- A `<Dial>` attempt reaches a busy line, so Twilio exits the dial attempt before connecting the call.\n\n### Possible solutions\n\n- Use the `action` URL on `<Dial>` and check `DialCallStatus`; when the value is `busy`, route the caller to voicemail, an alternate number, or a retry flow.\n- Retry the call after the destination becomes available. Twilio ends the dial attempt when the line is busy, so a later attempt can succeed.\n- Verify the destination number or SIP endpoint is correct and ready to receive calls before you place the call.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice: `<Dial>`](/docs/voice/twiml/dial)\n- [Voice SDK Error Codes](/docs/voice/sdks/error-codes)\n",
    "causes": "* The called party is already on another call, so the destination returns a busy signal.\n* The destination SIP endpoint or carrier network returns a `486 Busy Here` response during call setup.\n* A `<Dial>` attempt reaches a busy line, so Twilio exits the dial attempt before connecting the call.",
    "solutions": "* Use the `action` URL on `<Dial>` and check `DialCallStatus`; when the value is `busy`, route the caller to voicemail, an alternate number, or a retry flow.\n* Retry the call after the destination becomes available. Twilio ends the dial attempt when the line is busy, so a later attempt can succeed.\n* Verify the destination number or SIP endpoint is correct and ready to receive calls before you place the call.",
    "description": "Twilio returns this when it receives a busy response while trying to connect a Voice call. In Programmable Voice, `<Dial>` ends the new call when Twilio receives a busy signal, and the resulting `DialCallStatus` is `busy`. The Voice iOS and Android SDKs also expose this as `Busy Here` for call connect and accept flows.",
    "date_created": "2019-05-22T22:40:25Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31487,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Request Terminated",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe request has terminated as a result of a bye or cancel.\n",
    "causes": null,
    "solutions": null,
    "description": "The request has terminated as a result of a bye or cancel.",
    "date_created": "2019-05-22T22:41:43Z",
    "last_updated": "2020-08-04T10:00:08.29Z"
  },
  {
    "code": 31500,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal Server Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe server could not fulfill the request due to some unexpected condition.\n",
    "causes": null,
    "solutions": null,
    "description": "The server could not fulfill the request due to some unexpected condition.",
    "date_created": "2019-05-22T22:44:23Z",
    "last_updated": "2020-08-04T10:00:08.273Z"
  },
  {
    "code": 31502,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Bad Gateway",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe server is acting as a gateway or proxy, and received an invalid response from a downstream server while attempting to fulfill the request.\n",
    "causes": null,
    "solutions": null,
    "description": "The server is acting as a gateway or proxy, and received an invalid response from a downstream server while attempting to fulfill the request.",
    "date_created": "2019-05-22T22:44:55Z",
    "last_updated": "2020-08-04T10:00:08.252Z"
  },
  {
    "code": 31503,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Service Unavailable",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Service Unavailable\n\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server. This error can also be caused by the Application SID provided in the access token pointing to an inaccessible URL.\n\n### Possible causes\n\n- The server is under maintenance.\n- The Application SID provided in the access token points to an inaccessible URL.\n\n### Possible solutions\n\nPlease check the Application SID URL. For further assistance, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "* The server is under maintenance.\n* The Application SID provided in the access token points to an inaccessible URL.",
    "solutions": "Please check the Application SID URL. For further assistance, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "",
    "date_created": "2019-05-22T22:46:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31504,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Gateway Timeout",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.\n",
    "causes": null,
    "solutions": null,
    "description": "The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.",
    "date_created": "2019-05-22T22:47:14Z",
    "last_updated": "2020-08-04T10:00:08.195Z"
  },
  {
    "code": 31530,
    "log_level": "ERROR",
    "log_type": null,
    "message": "DNS Resolution Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis indicates that the Voice client could not connect to the server.\n\n### Possible causes\n\n- Your network is restrictive or uses a VPN, and ICE gathering cannot reach Twilio from all available interfaces.\n- Your firewall blocks the outgoing `UDP` traffic required for Twilio Voice media, or it does not allow the Twilio signaling and media destinations your SDK needs.\n- You are connecting from a restricted network without providing ICE servers from Twilio Network Traversal Service.\n\n### Possible solutions\n\n- Enable `enableIceGatheringOnAnyAddressPorts` in `ConnectOptions` so ICE candidates are gathered from all available interfaces on Android or iOS.\n- Provide ICE servers from Twilio Network Traversal Service through `ConnectOptions` or `AcceptOptions` when your network requires `TURN`.\n- Allow outgoing `TCP` and `UDP` traffic to Twilio's signaling and media infrastructure, or use `TURN` over `TCP` or `TLS` if `UDP` is restricted.\n\n#### Additional resources\n\n- [Voice SDKs Network Connectivity Requirements](/docs/voice/sdks/network-connectivity-requirements)\n- [Voice Mobile SDKs: Best Practices](/docs/voice/sdks/mobile-best-practices)\n",
    "causes": "* Your network is restrictive or uses a VPN, and ICE gathering cannot reach Twilio from all available interfaces.\n* Your firewall blocks the outgoing `UDP` traffic required for Twilio Voice media, or it does not allow the Twilio signaling and media destinations your SDK needs.\n* You are connecting from a restricted network without providing ICE servers from Twilio Network Traversal Service.",
    "solutions": "* Enable `enableIceGatheringOnAnyAddressPorts` in `ConnectOptions` so ICE candidates are gathered from all available interfaces on Android or iOS.\n* Provide ICE servers from Twilio Network Traversal Service through `ConnectOptions` or `AcceptOptions` when your network requires `TURN`.\n* Allow outgoing `TCP` and `UDP` traffic to Twilio's signaling and media infrastructure, or use `TURN` over `TCP` or `TLS` if `UDP` is restricted.",
    "description": "This indicates that the Voice client could not connect to the server.",
    "date_created": "2019-05-22T22:47:58Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31600,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Busy Everywhere",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis is a Programmable Voice error with the message Busy Everywhere. Use this error as a signal that a `<Dial>` attempt reached a busy destination, and that Twilio will report `DialCallStatus=busy` to the `action` URL. This error can also appear when you dial multiple `<Client>` identities and every attempted client is busy before one accepts the call.\n\n### Possible causes\n\n- The called party returned a busy signal while `<Dial>` was trying to connect the call.\n- You dialed multiple `<Client>` identities, and each client was busy before any one accepted the call.\n\n### Possible solutions\n\n- Add an `action` URL to `<Dial>` and inspect `DialCallStatus` so your application can branch when the result is `busy`.\n- If you are dialing multiple `<Client>` identities, route the call so at least one client can accept, or use `<Conference>` when you need multiple participants connected at the same time.\n- Review the call in Twilio Console Logs, then use the Debugger and Request Inspector to inspect the failed request and error details.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [TwiML Voice: `<Dial>`](/docs/voice/twiml/dial)\n- [TwiML Voice: `<Conference>`](/docs/voice/twiml/conference)\n",
    "causes": "* The called party returned a busy signal while `<Dial>` was trying to connect the call.\n* You dialed multiple `<Client>` identities, and each client was busy before any one accepted the call.",
    "solutions": "* Add an `action` URL to `<Dial>` and inspect `DialCallStatus` so your application can branch when the result is `busy`.\n* If you are dialing multiple `<Client>` identities, route the call so at least one client can accept, or use `<Conference>` when you need multiple participants connected at the same time.\n* Review the call in Twilio Console Logs, then use the Debugger and Request Inspector to inspect the failed request and error details.",
    "description": "This is a Programmable Voice error with the message Busy Everywhere. Use this error as a signal that a `<Dial>` attempt reached a busy destination, and that Twilio will report `DialCallStatus=busy` to the `action` URL. This error can also appear when you dial multiple `<Client>` identities and every attempted client is busy before one accepts the call.",
    "date_created": "2019-05-22T22:48:42Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31603,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Decline",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nUse this to detect that the callee declined the call. In SIP termination flows, Twilio can also return `603 Decline` when the account is not active.\n\n### Possible causes\n\n- The callee rejected the call and returned `603 Decline`.\n- Twilio received SIP termination traffic for an account that is not active, which can happen when the account is closed or suspended because of lack of funds or a Terms of Service or Acceptable Use Policy violation.\n\n### Possible solutions\n\n- Treat the response as a declined-call outcome in your application.\n- If the decline happens on SIP termination traffic, check that the Twilio account is active, refill funds if needed, or contact Twilio Customer Support if the account is closed or suspended.\n- When Twilio returns `603 Decline` for an inactive account, inspect the `X-Twilio-Error` header for Error 10001.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [Troubleshooting your Trunk](/docs/sip-trunking/troubleshooting)\n- [Voice SDK Error Codes](/docs/voice/sdks/error-codes)\n",
    "causes": "* The callee rejected the call and returned `603 Decline`.\n* Twilio received SIP termination traffic for an account that is not active, which can happen when the account is closed or suspended because of lack of funds or a Terms of Service or Acceptable Use Policy violation.",
    "solutions": "* Treat the response as a declined-call outcome in your application.\n* If the decline happens on SIP termination traffic, check that the Twilio account is active, refill funds if needed, or contact Twilio Customer Support if the account is closed or suspended.\n* When Twilio returns `603 Decline` for an inactive account, inspect the `X-Twilio-Error` header for Error 10001.",
    "description": "Use this to detect that the callee declined the call. In SIP termination flows, Twilio can also return `603 Decline` when the account is not active.",
    "date_created": "2019-05-22T22:49:29Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31604,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Does Not Exist Anywhere",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe requested callee does not exist anywhere.\n",
    "causes": null,
    "solutions": null,
    "description": "The requested callee does not exist anywhere.",
    "date_created": "2019-05-22T22:50:35Z",
    "last_updated": "2020-08-04T10:00:08.115Z"
  },
  {
    "code": 31900,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Stream - Unknown Error",
    "secondary_message": "This stream has failed due to an unknown cause",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis stream has failed due to an unknown cause\n\n### Possible causes\n\nUnknown\n\n### Possible solutions\n\nUnknown\n",
    "causes": "Unknown",
    "solutions": "Unknown",
    "description": "This stream has failed due to an unknown cause",
    "date_created": "2019-07-31T10:52:27Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31901,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - Connection Timeout",
    "secondary_message": "The WebSocket connection request sent by the stream didn't receive any response from the server",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe WebSocket connection request sent by the stream didn't receive any response from the server\n\n### Possible causes\n\n- WebSocket server is not connected to any network\n- Bad IP address provided in the TwiML URL\n- Intermediate elements (like ngrok) are not routing traffic\n- There is a firewall blocking the traffic\n\n### Possible solutions\n\n- Verify server connectivity\n- Verify the TwiML URL is correct\n- Verify intermediate elements are routing traffic and firewall are not blocking ports\n",
    "causes": "* WebSocket server is not connected to any network\n* Bad IP address provided in the TwiML URL\n* Intermediate elements (like ngrok) are not routing traffic\n* There is a firewall blocking the traffic",
    "solutions": "* Verify server connectivity\n* Verify the TwiML URL is correct\n* Verify intermediate elements are routing traffic and firewall are not blocking ports",
    "description": "The WebSocket connection request sent by the stream didn't receive any response from the server",
    "date_created": "2019-07-31T10:54:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31902,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - Connection Refused",
    "secondary_message": "The WebSocket connection request sent by the stream is refused by the server host",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe WebSocket connection request sent by the stream is refused by the server host\n\n### Possible causes\n\n- The stream is trying to connect the wrong port\n- The WebSocket server is down\n- The connection is rejected by the server, for example, due to a transient failure\n\n### Possible solutions\n\n- Verify the TwiML URL is correct\n- Verify server process is up and running\n- Retry the connection later\n",
    "causes": "* The stream is trying to connect the wrong port\n* The WebSocket server is down\n* The connection is rejected by the server, for example, due to a transient failure",
    "solutions": "* Verify the TwiML URL is correct\n* Verify server process is up and running\n* Retry the connection later",
    "description": "The WebSocket connection request sent by the stream is refused by the server host",
    "date_created": "2019-07-31T10:54:15Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31903,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - Connection Broken Pipe",
    "secondary_message": "The WebSocket connection has been abruptly closed by the server",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe WebSocket connection has been abruptly closed by the server\n\n### Possible causes\n\n- WebSocket server is down\n- WebSocket server has experienced a problem causing the connection to close\n- Connection has been lost\n- End of stream is found. This happens when the socket has been closed by the Server leaving the websocket in an inconsistent state. The error is fired when the Streamer tries to read or write in a closed TCP socket.\n\n### Possible solutions\n\n- Verify server process is up and running\n- Verify if there is any related connection error in the server logs\n- Verify the server is connected and intermediate elements are routing traffic\n",
    "causes": "* WebSocket server is down\n* WebSocket server has experienced a problem causing the connection to close\n* Connection has been lost\n* End of stream is found. This happens when the socket has been closed by the Server leaving the websocket in an inconsistent state. The error is fired when the Streamer tries to read or write in a closed TCP socket.",
    "solutions": "* Verify server process is up and running\n* Verify if there is any related connection error in the server logs\n* Verify the server is connected and intermediate elements are routing traffic",
    "description": "The WebSocket connection has been abruptly closed by the server",
    "date_created": "2019-07-31T10:43:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31904,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - Host Unreachable",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe WebSocket connection cannot be created because the server is unreachable.\n\n### Possible causes\n\n- Wrong IP address or DNS name\n- IP address belongs to the private domain and it is non-routable\n- Host is down or disconnected from router\n\n### Possible solutions\n\n- Validate the IP address or DNS names are valid and belongs to the public domain\n- Validate the host is running and properly connected to the Internet\n",
    "causes": "* Wrong IP address or DNS name\n* IP address belongs to the private domain and it is non-routable\n* Host is down or disconnected from router",
    "solutions": "* Validate the IP address or DNS names are valid and belongs to the public domain\n* Validate the host is running and properly connected to the Internet",
    "description": "The WebSocket connection cannot be created because the server is unreachable.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31910,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - SSL Protocol Error",
    "secondary_message": "The server doesn't support SSL, can't provide a secure connection or the SSL handshake has failed",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe server doesn't support SSL, can't provide a secure connection or the SSL handshake has failed\n\n### Possible causes\n\n- Server doesn't support SSL\n- Stream is trying to connect the wrong port\n- Protocol or SSL handshake has failed\n\n### Possible solutions\n\n- Verify the server has enabled SSL\n- Verify the port in TwiML URL is actually the one supporting SSL\n- Verify the certificate is correct and accepted by HTTP clients\n",
    "causes": "* Server doesn't support SSL\n* Stream is trying to connect the wrong port\n* Protocol or SSL handshake has failed",
    "solutions": "* Verify the server has enabled SSL\n* Verify the port in TwiML URL is actually the one supporting SSL\n* Verify the certificate is correct and accepted by HTTP clients",
    "description": "The server doesn't support SSL, can't provide a secure connection or the SSL handshake has failed",
    "date_created": "2019-07-31T10:55:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31920,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - Handshake Error",
    "secondary_message": "The WebSocket protocol handshake was declined by the server",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe server has returned an HTTP code different from 101 to the connection request sent by stream\n\nSee https://tools.ietf.org/html/rfc6455#section-4 for details.\n\n### Possible causes\n\n- The server does not support WebSocket\n- The WebSocket protocol is not enabled for the requested URL\n\n### Possible solutions\n\n- Verify WebSocket protocol is enabled in the server\n- Verify the path in TwiML URL is actually the one supporting WebSocket\n",
    "causes": "* The server does not support WebSocket\n* The WebSocket protocol is not enabled for the requested URL",
    "solutions": "* Verify WebSocket protocol is enabled in the server\n* Verify the path in TwiML URL is actually the one supporting WebSocket",
    "description": "The server has returned an HTTP code different from 101 to the connection request sent by stream See https://tools.ietf.org/html/rfc6455#section-4 for details.",
    "date_created": "2019-07-31T10:55:22Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31921,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - Close Error",
    "secondary_message": "The remote server has closed the WebSocket connection",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe remote server has closed the WebSocket connection\n\n### Possible causes\n\n- The remote server ended the connection with a termination code listed in https://tools.ietf.org/html/rfc6455#section-7.4.1\n- The Media Stream has received a websocket close event defined by https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent\n\n### Possible solutions\n\n- Verify error logs in the remote websocket server\n",
    "causes": "* The remote server ended the connection with a termination code listed in https://tools.ietf.org/html/rfc6455#section-7.4.1\n* The Media Stream has received a websocket close event defined by https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent",
    "solutions": "* Verify error logs in the remote websocket server",
    "description": "The remote server has closed the WebSocket connection",
    "date_created": "2019-07-31T10:55:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31922,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - URL Schema Not Supported",
    "secondary_message": "The URL schema is not supported by Programmable Streams",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe URL schema is not supported by Programmable Streams\n\n### Possible causes\n\n- URL schema is not supported\n\n### Possible solutions\n\n- Verify the schema in TwiML URL is wss\n",
    "causes": "* URL schema is not supported",
    "solutions": "* Verify the schema in TwiML URL is wss",
    "description": "The URL schema is not supported by Programmable Streams",
    "date_created": "2019-07-31T10:55:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31923,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - WebSocket - Malformed URL",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\n- URL schema is malformed\n\n### Possible solutions\n\n- Verify the URL in TwiML is correct\n",
    "causes": "* URL schema is malformed",
    "solutions": "* Verify the URL in TwiML is correct",
    "description": "",
    "date_created": "2019-07-31T10:56:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31924,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - Websocket - Protocol Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nMalformed message or message not conformant with WebSocket protocol\n\n### Possible causes\n\n- The WebSocket control frame was fragmented\n\n### Possible solutions\n\n- Verify the messages sent by the server\n",
    "causes": "* The WebSocket control frame was fragmented",
    "solutions": "* Verify the messages sent by the server",
    "description": "Malformed message or message not conformant with WebSocket protocol",
    "date_created": "2021-02-18T14:33:15Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31930,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Stream - Media - Buffer Overflow",
    "secondary_message": "Audio is discarded due to a congestion control condition (restricted bandwidth) in the WebSocket upstream",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nAudio is discarded due to a congestion control condition (restricted bandwidth) in the WebSocket upstream\n\n### Possible causes\n\n- The server has an upstream bandwidth restriction\n\n### Possible solutions\n\n- Verify network load\n",
    "causes": "* The server has an upstream bandwidth restriction",
    "solutions": "* Verify network load",
    "description": "Audio is discarded due to a congestion control condition (restricted bandwidth) in the WebSocket upstream",
    "date_created": "2019-07-31T10:56:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31931,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Stream - Media - Media Discarded",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nAudio discarded due to buffer overflow in the Websocket downstream . NOTE: This error is sent once per stream\n\n### Possible causes\n\n- More than 10 minutes of audio is buffered by the Streamer. No more data is accepted.\n\n### Possible solutions\n\n- Wait until previous media has been processed before to send more media.\n",
    "causes": "* More than 10 minutes of audio is buffered by the Streamer. No more data is accepted.",
    "solutions": "* Wait until previous media has been processed before to send more media.",
    "description": "Audio discarded due to buffer overflow in the Websocket downstream . NOTE: This error is sent once per stream",
    "date_created": "2020-07-09T08:10:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31940,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - Invalid connectorName attribute in TwiML.",
    "secondary_message": "connectorName attribute provided does not reference a connector configuration.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInvalid connectorName attribute in TwiML.\n\n### Possible causes\n\nA 31940 Error is an indication that the value provided with connectorName attribute does not match to an installed configuration.\n\n### Possible solutions\n\n- Make sure that the connectorName matches a Unique Name in an installed connector.\n",
    "causes": "A 31940 Error is an indication that the value provided with connectorName attribute does not match to an installed configuration.",
    "solutions": "* Make sure that the connectorName matches a Unique Name in an installed connector.",
    "description": "Invalid connectorName attribute in TwiML.",
    "date_created": "2020-02-13T15:17:17Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31941,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - Invalid Track configuration",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nUnsupported value of track attribute in TwiML\n\n### Possible causes\n\n- Value different of \"inbound\\_track\" is used with verb Connect\n- Value different of \"inbound\\_track\", \"outbound\\_track\" or \"both\\_tracks\" is used with verb Start\n\n### Possible solutions\n\n- Make sure track value is among supported ones\n",
    "causes": "* Value different of \"inbound\\_track\" is used with verb Connect\n* Value different of \"inbound\\_track\", \"outbound\\_track\" or \"both\\_tracks\" is used with verb Start",
    "solutions": "* Make sure track value is among supported ones",
    "description": "Unsupported value of track attribute in TwiML",
    "date_created": "2020-07-08T15:08:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31942,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - Invalid connector configuration",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error occurs when the configuration for a `<VirtualAgent>` connector is invalid. Check the Project ID, Conversation Profile ID, and language settings used for your Virtual Agent setup.\n\n### Possible causes\n\n- The Virtual Agent connector was configured with an incorrect Project ID, Conversation Profile ID, or language value.\n\n### Possible solutions\n\n- Review the connector configuration and correct the Project ID, Conversation Profile ID, and language values used for your Dialogflow CX integration.\n- If you override Virtual Agent settings in TwiML or Studio, make sure each `<Config>` uses a valid `name` and `value`, and only override settings supported by your connector.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [Virtual Agent with Dialogflow CX](/docs/voice/twiml/connect/virtualagent/virtualagent-dialogflow-cx)\n- [Connect Virtual Agent widget](/docs/studio/widget-library/connect-virtual-agent)\n",
    "causes": "* The Virtual Agent connector was configured with an incorrect Project ID, Conversation Profile ID, or language value.",
    "solutions": "* Review the connector configuration and correct the Project ID, Conversation Profile ID, and language values used for your Dialogflow CX integration.\n* If you override Virtual Agent settings in TwiML or Studio, make sure each `<Config>` uses a valid `name` and `value`, and only override settings supported by your connector.",
    "description": "This error occurs when the configuration for a `<VirtualAgent>` connector is invalid. Check the Project ID, Conversation Profile ID, and language settings used for your Virtual Agent setup.",
    "date_created": "2020-09-08T08:07:27Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31950,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Stream - Protocol - Malformed Message",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe Streamer has received a message that cannot be decoded (This error is sent once per stream)\n\n### Possible causes\n\n- WebSocket binary format is used\n\n### Possible solutions\n\n- Do not use binary format\n",
    "causes": "* WebSocket binary format is used",
    "solutions": "* Do not use binary format",
    "description": "The Streamer has received a message that cannot be decoded (This error is sent once per stream)",
    "date_created": "2020-05-08T11:47:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31951,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Stream - Protocol - Invalid Message",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe Streamer has received a message non compliant with the protocol (This error is sent once per stream)\n\n### Possible causes\n\n- Message does not have JSON format\n- Unknown message type\n- Missing or extra field in message\n- Wrong Stream SID used in message\n\n### Possible solutions\n\n- Validate message is compliant with Stream protocols\n- Validate message is a valid JSON\n",
    "causes": "* Message does not have JSON format\n* Unknown message type\n* Missing or extra field in message\n* Wrong Stream SID used in message",
    "solutions": "* Validate message is compliant with Stream protocols\n* Validate message is a valid JSON",
    "description": "The Streamer has received a message non compliant with the protocol (This error is sent once per stream)",
    "date_created": "2020-05-08T11:48:02Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31952,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream Extension not found: ",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio couldn't find the Stream Extension referenced by your Voice stream. Stream Connectors are Add-ons for Media Streams, and an Extension describes the specific feature or API endpoint where an Add-on Listing can be used.\n\n### Possible causes\n\n- You used a Stream Extension name that is invalid or not available for the request. Twilio's error guidance calls out using a valid Stream Extension.\n- The extension is not enabled for the installed Add-on. Twilio disables Extensions by default and lets you enable them on the Installed Add-ons Extensions subresource.\n- The extension is not available in the current realm. Twilio's error guidance says to try the Stream Extension in another realm.\n\n### Possible solutions\n\n- Use a valid Stream Extension name for the request.\n- Try the Stream Extension in another realm if the extension exists there.\n- Confirm the Add-on is installed and the Extension is enabled in Marketplace before you start the stream.\n\n#### Additional resources\n\n- [Marketplace listings](/docs/marketplace/listings)\n- [Installed Add-ons Extensions Subresource](/docs/marketplace/api/installed-add-ons-extensions)\n",
    "causes": "* You used a Stream Extension name that is invalid or not available for the request. Twilio's error guidance calls out using a valid Stream Extension.\n* The extension is not enabled for the installed Add-on. Twilio disables Extensions by default and lets you enable them on the Installed Add-ons Extensions subresource.\n* The extension is not available in the current realm. Twilio's error guidance says to try the Stream Extension in another realm.",
    "solutions": "* Use a valid Stream Extension name for the request.\n* Try the Stream Extension in another realm if the extension exists there.\n* Confirm the Add-on is installed and the Extension is enabled in Marketplace before you start the stream.",
    "description": "Twilio couldn't find the Stream Extension referenced by your Voice stream. Stream Connectors are Add-ons for Media Streams, and an Extension describes the specific feature or API endpoint where an Add-on Listing can be used.",
    "date_created": "2020-08-31T17:10:44Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 31953,
    "log_level": "WARNING",
    "log_type": "CARRIER",
    "message": "Stream - Media - RTP timeout",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nAn RTP timeout is detected, meaning that inbound stream stopped flowing.\n\n### Possible causes\n\n- Phone call finished\n- Carrier stopped sending audio to Twilio\n\n### Possible solutions\n\n- Contact Twilio support\n",
    "causes": "* Phone call finished\n* Carrier stopped sending audio to Twilio",
    "solutions": "* Contact Twilio support",
    "description": "An RTP timeout is detected, meaning that inbound stream stopped flowing.",
    "date_created": "2023-06-28T12:56:21Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 31960,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stream - Quota exceeded",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis error means the Dialogflow API quota for the Google Cloud project connected to your Twilio Virtual Agent integration has been exceeded. Twilio Media Streams carries the call audio to Dialogflow, and Dialogflow CX processes the conversation and returns responses.\n\n### Possible causes\n\n- The Google Cloud project linked to your Dialogflow CX connector has reached its Dialogflow API quota.\n\n### Possible solutions\n\n- Increase the Dialogflow API quotas for the Google Cloud project used with Twilio Virtual Agent.\n- Confirm that your Twilio integration is connected to the correct Dialogflow CX project and connector.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [Connect Twilio with your Dialogflow Agent](/docs/voice/twiml/stream/connect-to-dialogflow)\n- [Dialogflow CX Onboarding Guide](/docs/voice/virtual-agent/dialogflow-cx-onboarding)\n",
    "causes": "* The Google Cloud project linked to your Dialogflow CX connector has reached its Dialogflow API quota.",
    "solutions": "* Increase the Dialogflow API quotas for the Google Cloud project used with Twilio Virtual Agent.\n* Confirm that your Twilio integration is connected to the correct Dialogflow CX project and connector.",
    "description": "This error means the Dialogflow API quota for the Google Cloud project connected to your Twilio Virtual Agent integration has been exceeded. Twilio Media Streams carries the call audio to Dialogflow, and Dialogflow CX processes the conversation and returns responses.",
    "date_created": "2020-09-08T08:14:00Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 32000,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid SIP Register request",
    "secondary_message": "**Cause**\n\nA catch-all category.\n\n**Solution**\n\nDouble check REGISTER request to verify it is well-formed.",
    "product": null,
    "docs": "\n## Description\n\nInvalid SIP Register request\n\n### Possible causes\n\nA catch-all category.\n\n### Possible solutions\n\nDouble check REGISTER request to verify it is well-formed.\n",
    "causes": "A catch-all category.",
    "solutions": "Double check REGISTER request to verify it is well-formed.",
    "description": "Invalid SIP Register request",
    "date_created": "2016-11-15T22:50:37.369Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "SIP: Trunk CPS limit exceeded",
    "secondary_message": "Calls Per Second placed against a SIP trunk exceeded its set limit.",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- Calls Per Second placed against a SIP trunk exceeded its set limit.\n\n### Possible solutions\n\n- You've exceeded the number of calls per second you are authorized to make on this SIP Trunk. Visit [Elastic SIP Trunks](/user/account/sip-trunking/trunks) and within a specific Trunk, under the `Termination` tab you may see your CPS limits.\n",
    "causes": "* Calls Per Second placed against a SIP trunk exceeded its set limit.",
    "solutions": "* You've exceeded the number of calls per second you are authorized to make on this SIP Trunk. Visit [Elastic SIP Trunks](/user/account/sip-trunking/trunks) and within a specific Trunk, under the `Termination` tab you may see your CPS limits.",
    "description": "",
    "date_created": "2016-03-31T17:14:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32002,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Dial failure - Twilio SIP Domain not found",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\n- There is a typo in the name of the SIP Domain.\n- When a SIP Domain is created you must press SAVE on Console.\n\n### Possible solutions\n\n- Verify the existence and name of the SIP Domain that you created.\n",
    "causes": "* There is a typo in the name of the SIP Domain.\n* When a SIP Domain is created you must press SAVE on Console.",
    "solutions": "* Verify the existence and name of the SIP Domain that you created.",
    "description": "",
    "date_created": "2016-10-28T21:16:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice calling has been disabled for this account",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nVoice calling has been disabled for this account.\n\n### Possible causes\n\nVoice Calling has been disabled by Twilio.\n\nPotential causes may be:\n\n- Your account requires an approved Primary Customer Profile\n- Your account has been flagged for review due to suspicious activity\n\n### Possible solutions\n\n- Please create a Primary Customer Profile to enable Voice calling through [Trust Hub](https://console.twilio.com/us1/account/trust-hub/customer-profiles).\n- If you received an email regarding your account being compromised, please also follow the instructions in the email.\n",
    "causes": "Voice Calling has been disabled by Twilio. Potential causes may be: - Your account requires an approved Primary Customer Profile\n- Your account has been flagged for review due to suspicious activity",
    "solutions": "* Please create a Primary Customer Profile to enable Voice calling through [Trust Hub](https://console.twilio.com/us1/account/trust-hub/customer-profiles).\n* If you received an email regarding your account being compromised, please also follow the instructions in the email.",
    "description": "Voice calling has been disabled for this account.",
    "date_created": "2023-09-05T16:44:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32006,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Too many hops",
    "secondary_message": "The request was rejected because its 'Max-Forward' header had reached zero. Ensure your infrastructure will send a minimum value of 20 for 'Max-Forward' to ensure your call is processed successfully.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The request was rejected because its `Max-Forward` header had reached zero.\n\n### Possible solutions\n\n- Ensure your infrastructure will send a minimum value of 20 for `Max-Forward` to ensure your call is processed successfully.\n",
    "causes": "* The request was rejected because its `Max-Forward` header had reached zero.",
    "solutions": "* Ensure your infrastructure will send a minimum value of 20 for `Max-Forward` to ensure your call is processed successfully.",
    "description": "",
    "date_created": "2016-03-31T17:14:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32007,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "SIP: Too many endpoints/bindings for the Address-of-record (AOR)",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe AOR refers to: username@yoursipdomain.com\n\nThere is a limit on the number of SIP Endpoints/bindings per AOR\n\n### Possible causes\n\nThere is a limit of 10 bindings (SIP Endpoints) per AOR.\n\n### Possible solutions\n\nReduce the number of SIP Endpoints\n",
    "causes": "There is a limit of 10 bindings (SIP Endpoints) per AOR.",
    "solutions": "Reduce the number of SIP Endpoints",
    "description": "The AOR refers to: username@yoursipdomain.com There is a limit on the number of SIP Endpoints/bindings per AOR",
    "date_created": "2016-11-15T19:54:16Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32008,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Registration per second limit reached",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRegistration per second limit reached\n\n**Cause**\n\nYou are allowed: 5 REGISTER requests / second / AOR\n\n**Solution**\n\nReduce the frequency (Increase interval) of REGISTRATIONS by your SIP Endpoints.\n",
    "causes": null,
    "solutions": null,
    "description": "Registration per second limit reached **Cause** You are allowed: 5 REGISTER requests / second / AOR **Solution** Reduce the frequency (Increase interval) of REGISTRATIONS by your SIP Endpoints.",
    "date_created": "2016-11-09T23:00:49Z",
    "last_updated": "2020-08-04T10:00:20.506Z"
  },
  {
    "code": 32009,
    "log_level": "WARNING",
    "log_type": null,
    "message": "The user you tried to dial is not registered with the corresponding SIP Domain",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThere was a failure attempting to Dial the specified SIP Endpoint. The User specified is not registered.\n\n### Possible causes\n\nYou tried to Dial a SIP Endpoint that is not currently registered with the corresponding SIP Domain. Please check your TwiML or REST API.\n\n### Possible solutions\n\n- If you are using TwiML Please check that there isn't a typo in \\<Dial>\\<Sip>**username**@yoursipdomain.sip.us1.twilio.com\\</Sip>\\</Dial> and compare against your SIP Endpoint configuration. Make sure the **username** matches a username in the Credential List used to authenticate the SIP Endpoint with the SIP Domain.\n- If you are using the REST API Please check the **To** field and verify there isn't a typo. Make sure the **username** matches a username in the Credential List used to authenticate the SIP Endpoint with the SIP Domain.\n\n### Troubleshooting\n\n- Prior to dialing, you can verify that your SIP Endpoint has successfully registered in the Console \"Registered SIP Endpoints\" tab found on the SIP Domains page.\n",
    "causes": "You tried to Dial a SIP Endpoint that is not currently registered with the corresponding SIP Domain. Please check your TwiML or REST API.",
    "solutions": "* If you are using TwiML Please check that there isn't a typo in \\<Dial>\\<Sip>**username**@yoursipdomain.sip.us1.twilio.com\\</Sip>\\</Dial> and compare against your SIP Endpoint configuration. Make sure the **username** matches a username in the Credential List used to authenticate the SIP Endpoint with the SIP Domain.\n* If you are using the REST API Please check the **To** field and verify there isn't a typo. Make sure the **username** matches a username in the Credential List used to authenticate the SIP Endpoint with the SIP Domain.",
    "description": "There was a failure attempting to Dial the specified SIP Endpoint. The User specified is not registered.",
    "date_created": "2016-10-28T19:54:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP: No valid Origination URIs configured",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nYour call can't be completed because no valid/active origination URLs could be found for your Elastic SIP Trunk or BYOC Trunk.\n\n### Possible causes\n\nYour Elastic SIP Trunk or BYOC Trunk does not have any valid active origination URLs\n\n### Possible solutions\n\nPlease verify your Origination settings of your [Elastic SIP Trunk](/docs/sip-trunking#origination) or [BYOC Trunk](/docs/voice/bring-your-own-carrier-byoc#origination-connection-policy-settings).\n",
    "causes": "Your Elastic SIP Trunk or BYOC Trunk does not have any valid active origination URLs",
    "solutions": "Please verify your Origination settings of your [Elastic SIP Trunk](/docs/sip-trunking#origination) or [BYOC Trunk](/docs/voice/bring-your-own-carrier-byoc#origination-connection-policy-settings).",
    "description": "Your call can't be completed because no valid/active origination URLs could be found for your Elastic SIP Trunk or BYOC Trunk.",
    "date_created": "2016-11-16T21:56:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32011,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Error communicating with your SIP communications infrastructure",
    "secondary_message": "Twilio received a SIP error while communicating with your communications infrastructure specified in either your Trunking Origination URI(s), or Dial SIP URI.",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nThere was a problem communicating with a specific endpoint of your SIP communications infrastructure. This means there was either a lack of timely response, an error response or an invalid response from your SIP endpoint. This may result in increased call setup times or even failed call depending on the failover configuration for your Elastic SIP Trunk or SIP application. Twilio will make multiple attempts to deliver calls to your endpoint and each failed attempt will have its own notification. The notification will have details about the specific error response and the SIP URI that causes the failure.\n\n### Possible causes\n\n- Your SIP endpoint is not reachable due to network connectivity issue between Twilio and your system\n- Your SIP endpoint is not responding (service down or maintenance)\n- There is a firewall in your network that is blocking SIP traffic from Twilio\n- Your SIP endpoint is sending an error response, such as SIP 500 response.\n- The SIP URI specified in your Trunking Origination URI, `<Dial>` `<SIP>` TwiML or REST API call is invalid\n- Your SIP endpoint does not support TLSv1.2\n\n### Possible solutions\n\n- Ensure the SIP URI used in the request is correctly configured.\n- For details on how to configure your Origination URIs for SIP trunking, please see [Origination settings](/docs/sip-trunking#origination).\n- For SIP interfaces verify that your SIP URI in your `<Dial>` `<SIP>` TwiML or REST API call, see [Receiving SIP from Twilio](/docs/voice/api/receiving-sip).\n- Ensure you've allowed Twilio's IP address ranges and ports on your firewall for SIP signalling and RTP media traffic, see [IP addresses - Trunking](/docs/sip-trunking#ip-addresses) or [IP addresses - SIP Interface](/docs/voice/api/sip-interface#ip-addresses)\n- Ensure that your SIP servers are running properly and is properly processing calls from Twilio.\n- Ensure that your SIP servers support TLSv1.2, or configure your account to allow TLSv1.0+\n",
    "causes": "* Your SIP endpoint is not reachable due to network connectivity issue between Twilio and your system\n* Your SIP endpoint is not responding (service down or maintenance)\n* There is a firewall in your network that is blocking SIP traffic from Twilio\n* Your SIP endpoint is sending an error response, such as SIP 500 response.\n* The SIP URI specified in your Trunking Origination URI, `<Dial>` `<SIP>` TwiML or REST API call is invalid\n* Your SIP endpoint does not support TLSv1.2",
    "solutions": "* Ensure the SIP URI used in the request is correctly configured.\n* For details on how to configure your Origination URIs for SIP trunking, please see [Origination settings](/docs/sip-trunking#origination).\n* For SIP interfaces verify that your SIP URI in your `<Dial>` `<SIP>` TwiML or REST API call, see [Receiving SIP from Twilio](/docs/voice/api/receiving-sip).\n* Ensure you've allowed Twilio's IP address ranges and ports on your firewall for SIP signalling and RTP media traffic, see [IP addresses - Trunking](/docs/sip-trunking#ip-addresses) or [IP addresses - SIP Interface](/docs/voice/api/sip-interface#ip-addresses)\n* Ensure that your SIP servers are running properly and is properly processing calls from Twilio.\n* Ensure that your SIP servers support TLSv1.2, or configure your account to allow TLSv1.0+",
    "description": "There was a problem communicating with a specific endpoint of your SIP communications infrastructure. This means there was either a lack of timely response, an error response or an invalid response from your SIP endpoint. This may result in increased call setup times or even failed call depending on the failover configuration for your Elastic SIP Trunk or SIP application. Twilio will make multiple attempts to deliver calls to your endpoint and each failed attempt will have its own notification. The notification will have details about the specific error response and the SIP URI that causes the failure.",
    "date_created": "2017-05-11T18:55:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32012,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "SIP: Parent account pooled Trunking CPS limit exceeded",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- Calls Per Second placed on a SIP trunk exceeded the Parent Account pool limit.\n\n### Possible solutions\n\n- You've exceeded the number of calls per second you are authorized to make on your Parent Account.\n",
    "causes": "* Calls Per Second placed on a SIP trunk exceeded the Parent Account pool limit.",
    "solutions": "* You've exceeded the number of calls per second you are authorized to make on your Parent Account.",
    "description": "",
    "date_created": "2017-05-23T20:53:16Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32013,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP: Parent account SIP Interface CPS limit exceeded",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\n- Calls Per Second placed on a SIP domain exceeded the Parent Account limits.\n\n### Possible solutions\n\n- You've exceeded the number of calls per second you are authorized to make on your Parent Account for SIP Interface.\n- Increase the CPS on the Parent Account.\n",
    "causes": "* Calls Per Second placed on a SIP domain exceeded the Parent Account limits.",
    "solutions": "* You've exceeded the number of calls per second you are authorized to make on your Parent Account for SIP Interface.\n* Increase the CPS on the Parent Account.",
    "description": "",
    "date_created": "2017-05-23T20:56:57Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32014,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Call is terminated because of no audio received",
    "secondary_message": "RTP-Timeout",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\n- One party doesn't send audio for an extended period of time and call is terminated.\n\n### Possible solutions\n\n- It could be the case when one party is disconnected without hanging up due to network failure. Try to call again later.\n- If this keeps happening, please contact Twilio support to enable voice trace. With voice trace enabled, Twilio can know which side stops sending audio to track down the root cause.\n",
    "causes": "* One party doesn't send audio for an extended period of time and call is terminated.",
    "solutions": "* It could be the case when one party is disconnected without hanging up due to network failure. Try to call again later.\n* If this keeps happening, please contact Twilio support to enable voice trace. With voice trace enabled, Twilio can know which side stops sending audio to track down the root cause.",
    "description": "",
    "date_created": "2017-08-24T16:39:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32015,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Call is terminated due to exceeding maximum call duration",
    "secondary_message": "Session-Timeout",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCall is terminated due to exceeding maximum call duration\n\n### Possible causes\n\nMaximum call duration as been exceeded.\n\n### Possible solutions\n\nPlease reduce call duration or adjust account configurable timeLimits.\n",
    "causes": "Maximum call duration as been exceeded.",
    "solutions": "Please reduce call duration or adjust account configurable timeLimits.",
    "description": "Call is terminated due to exceeding maximum call duration",
    "date_created": "2017-08-24T16:40:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32016,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "PSTN PDD timeout",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nPSTN Post-Dial Delay timer (60s) expired due to lack of response from multiple Carriers in route.\n\n### Possible solutions\n\n- Check the dialed Number to ensure it is currently reachable.\n- If you believe the Number is currently reachable, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) and be sure to mention this Error code.\n",
    "causes": "PSTN Post-Dial Delay timer (60s) expired due to lack of response from multiple Carriers in route.",
    "solutions": "* Check the dialed Number to ensure it is currently reachable.\n* If you believe the Number is currently reachable, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) and be sure to mention this Error code.",
    "description": "",
    "date_created": "2018-02-02T22:23:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32017,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "PSTN: Carrier blocked call due to calling number (caller ID)",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nIntermediary / Carrier Analytics blocked call due to poor reputation score on the telephone number\n\n### Possible causes\n\n- The calling number has a low answer rate from end users\n- The calling number generates low duration calls\n- The calling number is responsible for large volumes of unwanted calls\n\n### Possible solutions\n\nRegister the telephone numbers with the analytic providers. To reach the major mobile carrier's analytic providers, please register the telephone numbers at www.freecallerregistry.com . To reach T-Mobile's analytic provider directly to register numbers, please go to https://portal.firstorion.com to register numbers. Going direct to the analytic provider has a faster turnaround of being registered / call being delivered to end user\n",
    "causes": "* The calling number has a low answer rate from end users\n* The calling number generates low duration calls\n* The calling number is responsible for large volumes of unwanted calls",
    "solutions": "Register the telephone numbers with the analytic providers. To reach the major mobile carrier's analytic providers, please register the telephone numbers at www.freecallerregistry.com . To reach T-Mobile's analytic provider directly to register numbers, please go to https://portal.firstorion.com to register numbers. Going direct to the analytic provider has a faster turnaround of being registered / call being delivered to end user",
    "description": "Intermediary / Carrier Analytics blocked call due to poor reputation score on the telephone number",
    "date_created": "2019-08-14T23:43:57Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32018,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Twiml size exceeded maximum allowed value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwiml size exceeded maximum allowed value of 4000 characters\n\n### Possible causes\n\nTwiml size exceeded maximum allowed value of 4000 characters\n\n### Possible solutions\n\nReduce the size of the twiml embedded in the request\n",
    "causes": "Twiml size exceeded maximum allowed value of 4000 characters",
    "solutions": "Reduce the size of the twiml embedded in the request",
    "description": "Twiml size exceeded maximum allowed value of 4000 characters",
    "date_created": "2019-08-29T18:31:19Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32019,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Twiml and Voice URL are both set. Using Voice URL.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwiml and Voice URL are both set. Using Voice URL.\n\n### Possible causes\n\nBoth Voice URL and embedded twiml are provided in the request\n\n### Possible solutions\n\nUse only Voice URL or embedded twiml, not both, in the request\n",
    "causes": "Both Voice URL and embedded twiml are provided in the request",
    "solutions": "Use only Voice URL or embedded twiml, not both, in the request",
    "description": "Twiml and Voice URL are both set. Using Voice URL.",
    "date_created": "2019-08-29T18:32:59Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32020,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SHAKEN/STIR call verification failed due to invalid passport from customer",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nTwilio cannot verify incoming SHAKEN PASSporT from customer\n\n### Possible causes\n\nSee the error message for details\n\n### Possible solutions\n\nThe call is rejected. Reattempt the call with a new passport.\n",
    "causes": "See the error message for details",
    "solutions": "The call is rejected. Reattempt the call with a new passport.",
    "description": "Twilio cannot verify incoming SHAKEN PASSporT from customer",
    "date_created": "2023-05-26T16:35:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32021,
    "log_level": "WARNING",
    "log_type": "CARRIER",
    "message": "SHAKEN/STIR call verification failed",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio cannot verify incoming SHAKEN PASSporT from carrier\n\n### Possible causes\n\nSee the error message for details\n\n### Possible solutions\n\nNo action required. Incoming call to your Twilio number can still be established without verstat.\n",
    "causes": "See the error message for details",
    "solutions": "No action required. Incoming call to your Twilio number can still be established without verstat.",
    "description": "Twilio cannot verify incoming SHAKEN PASSporT from carrier",
    "date_created": "2020-02-03T19:48:01Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32022,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ACK not received from your SIP endpoint",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nNo ACK was received from your SIP endpoint 32 seconds after sending a `200 OK` response, which resulted in the termination of the Inbound call. As per RFC 3261, the calling device's SIP endpoint must send an ACK to acknowledge the receipt of a `200 OK` response, to establish a successful call.\n\n### Possible causes\n\n- Your NAT configuration may be incorrect.\n- Your Firewall may be blocking traffic.\n- SIP signaling not adhering to RFC 3261. For example ACK sent to the wrong IP address or using incorrect Route headers or Request URI.\n- A network disruption or packet loss within or between your network and the Twilio network may have caused the ACK messages to get lost.\n\n### Possible solutions\n\n- Review configurations of your SIP endpoint. Consult your documentation for details.\n- Review logs on your SIP endpoint if possible. Consult your documentation for details on how to enable and access the logs.\n- SIP devices generally re-transmit messages multiple times, in the event a single message is lost. Ensure your device is configured with the maximum retransmissions.\n- Review proper SIP signaling by downloading PCAP via call log in Twilio console. And if possible, capture PCAP at your SIP endpoint to narrow down the cause of the signaling issue.\n",
    "causes": "* Your NAT configuration may be incorrect.\n* Your Firewall may be blocking traffic.\n* SIP signaling not adhering to RFC 3261. For example ACK sent to the wrong IP address or using incorrect Route headers or Request URI.\n* A network disruption or packet loss within or between your network and the Twilio network may have caused the ACK messages to get lost.",
    "solutions": "* Review configurations of your SIP endpoint. Consult your documentation for details.\n* Review logs on your SIP endpoint if possible. Consult your documentation for details on how to enable and access the logs.\n* SIP devices generally re-transmit messages multiple times, in the event a single message is lost. Ensure your device is configured with the maximum retransmissions.\n* Review proper SIP signaling by downloading PCAP via call log in Twilio console. And if possible, capture PCAP at your SIP endpoint to narrow down the cause of the signaling issue.",
    "description": "No ACK was received from your SIP endpoint 32 seconds after sending a `200 OK` response, which resulted in the termination of the Inbound call. As per RFC 3261, the calling device's SIP endpoint must send an ACK to acknowledge the receipt of a `200 OK` response, to establish a successful call.",
    "date_created": "2022-04-20T16:40:11Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SHAKEN/STIR call verification failed due to invalid passport from customer",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nTwilio cannot verify incoming SHAKEN PASSporT from customer\n\n### Possible causes\n\nSee the error message for details\n\n### Possible solutions\n\nThe call is rejected. Reattempt the call with a new passport.\n",
    "causes": "See the error message for details",
    "solutions": "The call is rejected. Reattempt the call with a new passport.",
    "description": "Twilio cannot verify incoming SHAKEN PASSporT from customer",
    "date_created": "2023-05-25T21:14:14Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32100,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Trial accounts can only call verified caller IDs",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nYou must verify your caller ID on the Console or via the REST API. You must use a verified callerID for both the from and to number while in Trial status. Once you upgrade you can use any caller ID for the from and to number. You can verify you caller ID in the Console (https://www.twilio.com/console/phone-numbers/verified)\n",
    "causes": null,
    "solutions": null,
    "description": "You must verify your caller ID on the Console or via the REST API. You must use a verified callerID for both the from and to number while in Trial status. Once you upgrade you can use any caller ID for the from and to number. You can verify you caller ID in the Console (https://www.twilio.com/console/phone-numbers/verified)",
    "date_created": "2018-03-08T23:50:04Z",
    "last_updated": "2020-08-04T10:00:14.623Z"
  },
  {
    "code": 32101,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "SIP: Invalid phone number",
    "secondary_message": "The called number is not a valid E.164 number. Make sure that any phone number sent via SIP to Twilio is always E.164-formatted.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nSIP: Invalid phone number\n\n### Possible causes\n\nThe called number is not a valid [E.164](/docs/glossary/what-e164) number.\n\n### Possible solutions\n\nMake sure that any phone number sent via SIP to Twilio is always E.164-formatted.\n",
    "causes": "The called number is not a valid [E.164](/docs/glossary/what-e164) number.",
    "solutions": "Make sure that any phone number sent via SIP to Twilio is always E.164-formatted.",
    "description": "SIP: Invalid phone number",
    "date_created": "2016-03-31T17:14:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32102,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Bad SDP",
    "secondary_message": "The SDP is not correctly formatted.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The SDP is not correctly formatted.\n\n### Possible solutions\n\n- Please see [RFC 2327 - SDP: Session Description Protocol](https://www.ietf.org/rfc/rfc2327.txt).\n",
    "causes": "* The SDP is not correctly formatted.",
    "solutions": "* Please see [RFC 2327 - SDP: Session Description Protocol](https://www.ietf.org/rfc/rfc2327.txt).",
    "description": "",
    "date_created": "2016-03-31T17:14:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32103,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Empty body",
    "secondary_message": "The body of the request was empty, which is not allowed in this context.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The body of the request was empty, which is not allowed in this context.\n",
    "causes": "* The body of the request was empty, which is not allowed in this context.",
    "solutions": null,
    "description": "",
    "date_created": "2016-03-31T17:14:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Expiration time not in acceptable range",
    "secondary_message": "**Possible Causes**Minimum register expiration time is 10 minutes.**Possible Solutions** Configure your SIP Endpoint so it uses a minimum expiry time greater than 10 minutes or equivalently 600 seconds.",
    "product": null,
    "docs": "\n## Description\n\nExpiration time not in acceptable range\n\n### Possible causes\n\nMinimum register expiration time is 10 minutes.\n\n### Possible solutions\n\nConfigure your SIP Endpoint so it uses a minimum expiry time greater than 10 minutes or equivalently 600 seconds.\n",
    "causes": "Minimum register expiration time is 10 minutes.",
    "solutions": "Configure your SIP Endpoint so it uses a minimum expiry time greater than 10 minutes or equivalently 600 seconds.",
    "description": "Expiration time not in acceptable range",
    "date_created": "2016-10-20T03:13:56.341Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32105,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Invalid contact header",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nPossible loop in Contact header\n\n### Possible causes\n\nYou're sending `127.0.0.1` or `localhost` in the Contact header which will create a loop at Twilio.\n\n### Possible solutions\n\nConfigure your SIP stack so it populates the Contact header properly.\n",
    "causes": "You're sending `127.0.0.1` or `localhost` in the Contact header which will create a loop at Twilio.",
    "solutions": "Configure your SIP stack so it populates the Contact header properly.",
    "description": "Possible loop in Contact header",
    "date_created": "2016-11-09T00:55:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "SIP: Authentication Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nSIP authentication fails when the SIP endpoint's Authorization name and username do not match. Use the same username in the SIP endpoint and in the Credential List mapped to the SIP Domain, and make sure the password or secret matches that credential.\n\n### Possible causes\n\n- The SIP endpoint's Authorization name and username do not match.\n- The username on the SIP endpoint does not exactly match a username in the Credential List mapped to the SIP Domain.\n\n### Possible solutions\n\n- Configure the SIP endpoint so the username and Authorization name match.\n- Confirm the password or secret matches the Credential List entry mapped to the SIP Domain.\n\n#### Additional resources\n\n- [Error and Warning Dictionary](/docs/api/errors)\n- [SIP Registration](/docs/voice/api/sip-registration)\n- [SIP Security Best Practices](/docs/voice/api/sip-security)\n",
    "causes": "* The SIP endpoint's Authorization name and username do not match.\n* The username on the SIP endpoint does not exactly match a username in the Credential List mapped to the SIP Domain.",
    "solutions": "* Configure the SIP endpoint so the username and Authorization name match.\n* Confirm the password or secret matches the Credential List entry mapped to the SIP Domain.",
    "description": "SIP authentication fails when the SIP endpoint's Authorization name and username do not match. Use the same username in the SIP endpoint and in the Credential List mapped to the SIP Domain, and make sure the password or secret matches that credential.",
    "date_created": "2016-11-09T22:37:37Z",
    "last_updated": "2026-03-20T20:33:25Z"
  },
  {
    "code": 32110,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "SIP: URI is formatted incorrectly",
    "secondary_message": "Your SIP URI cannot be parsed unambiguously.",
    "product": null,
    "docs": "\n## Description\n\nTwilio cannot understand parts of your SIP URI. This may be due to invalid characters appearing in the user, params, or headers portion. While Twilio may still attempt to complete your call, the parts of the URI that are invalid will be ignored.\n\nThe format for a valid SIP URI is defined in [RFC 3261](https://tools.ietf.org/html/rfc3261).\n\n### Possible causes\n\n- The user-portion of the URI contains invalid characters. The user-info portion allows alphanumeric characters, hyphens, underscores, and a small number of additional punctuation characters.\n- A URI header or parameter value contains punctuation or whitespace that is not escaped.\n\n### Possible solutions\n\n- If you specify SIP headers in your URI, ensure any non-alphanumeric characters in the header values are escaped. For example, to add a User-to-User header with value `0A1B2C3D;encoding=hex`, you must encode this into the URI as `User-to-User=0A1B2C3D%3Bencoding%3Dhex`.\n",
    "causes": "* The user-portion of the URI contains invalid characters. The user-info portion allows alphanumeric characters, hyphens, underscores, and a small number of additional punctuation characters.\n* A URI header or parameter value contains punctuation or whitespace that is not escaped.",
    "solutions": "* If you specify SIP headers in your URI, ensure any non-alphanumeric characters in the header values are escaped. For example, to add a User-to-User header with value `0A1B2C3D;encoding=hex`, you must encode this into the URI as `User-to-User=0A1B2C3D%3Bencoding%3Dhex`.",
    "description": "Twilio cannot understand parts of your SIP URI. This may be due to invalid characters appearing in the user, params, or headers portion. While Twilio may still attempt to complete your call, the parts of the URI that are invalid will be ignored. The format for a valid SIP URI is defined in [RFC 3261](https://tools.ietf.org/html/rfc3261).",
    "date_created": "2019-06-13T20:30:14Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32111,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "SIP: Invalid header name",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe header you asked Twilio to stamp was omitted because it contains illegal characters in its *name*. Including this header would have resulted in Twilio generating a message that runs contrary to the SIP specification.\n\nThe set of legal characters for a header name is defined in [RFC 3261](https://tools.ietf.org/html/rfc3261).\n\n### Possible causes\n\n- If you specified headers in a SIP URI, invalid characters were most likely introduced by an escaped character. Escaped characters in SIP URIs are defined by a percent sign (%) followed by two hexadecimal digits specifying a character code.\n\n### Possible solutions\n\n- Ensure that your SIP URI is formed correctly. Header names should generally only consist of alphanumeric characters and hyphens.\n",
    "causes": "* If you specified headers in a SIP URI, invalid characters were most likely introduced by an escaped character. Escaped characters in SIP URIs are defined by a percent sign (%) followed by two hexadecimal digits specifying a character code.",
    "solutions": "* Ensure that your SIP URI is formed correctly. Header names should generally only consist of alphanumeric characters and hyphens.",
    "description": "The header you asked Twilio to stamp was omitted because it contains illegal characters in its *name*. Including this header would have resulted in Twilio generating a message that runs contrary to the SIP specification. The set of legal characters for a header name is defined in [RFC 3261](https://tools.ietf.org/html/rfc3261).",
    "date_created": "2019-06-13T20:34:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32112,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "SIP: Invalid header value",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe header you asked Twilio to stamp was omitted because it contains illegal characters in its *value*. Including this header would have resulting in Twilio generating a message that runs contrary to the SIP specification.\n\n### Possible causes\n\n- If you specified headers in a SIP URI, invalid characters were most likely introduced by an escaped character. Escaped characters in SIP URIs are defined by a percent sign (%) followed by two hexadecimal digits specifying a character code.\n\n### Possible solutions\n\n- If you are generating SIP headers from user input, ensure your application properly accounts for non-alphanumeric characters such as punctuation and whitespace, as well as international characters.\n",
    "causes": "* If you specified headers in a SIP URI, invalid characters were most likely introduced by an escaped character. Escaped characters in SIP URIs are defined by a percent sign (%) followed by two hexadecimal digits specifying a character code.",
    "solutions": "* If you are generating SIP headers from user input, ensure your application properly accounts for non-alphanumeric characters such as punctuation and whitespace, as well as international characters.",
    "description": "The header you asked Twilio to stamp was omitted because it contains illegal characters in its *value*. Including this header would have resulting in Twilio generating a message that runs contrary to the SIP specification.",
    "date_created": "2019-06-13T20:37:16Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32113,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "SIP: Header name is not allowed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe SIP header you asked Twilio to stamp was omitted because it is not supported on the Twilio platform.\n\nTwilio supports extension headers beginning with an X- prefix. Your extension header name cannot begin with the prefix `X-Twilio`.\n\n### Possible causes\n\n- SIP header name not supported on the Twilio platform.\n\n### Possible solutions\n\n- If your application can use a different header name, use an X- prefixed header name, e.g. if you want to use the name `Customer-Info`, see if your application can be configured to use `X-Customer-Info` instead.\n",
    "causes": "* SIP header name not supported on the Twilio platform.",
    "solutions": "* If your application can use a different header name, use an X- prefixed header name, e.g. if you want to use the name `Customer-Info`, see if your application can be configured to use `X-Customer-Info` instead.",
    "description": "The SIP header you asked Twilio to stamp was omitted because it is not supported on the Twilio platform. Twilio supports extension headers beginning with an X- prefix. Your extension header name cannot begin with the prefix `X-Twilio`.",
    "date_created": "2019-06-13T20:42:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32114,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "SIP: Unsupported parameter value",
    "secondary_message": "A URI parameter contains an unsupported value and will be ignored",
    "product": null,
    "docs": "\n## Description\n\nTwilio parses certain standard URI parameters, such as the \"transport\" parameter, as well as Twilio-specific parameters such as \"secure\".\n\n### Possible causes\n\n- If using the \"secure\" parameter, allowed values are \"true\" and \"false\". Any other value will be treated as \"false\" and trigger this warning.\n\n### Possible solutions\n\n- Check the other details of the debugger alert. The alert may indicate which parameter contains the unsupported value.\n- Update your application/configuration to ensure a URI with appropriate parameters is sent.\n",
    "causes": "* If using the \"secure\" parameter, allowed values are \"true\" and \"false\". Any other value will be treated as \"false\" and trigger this warning.",
    "solutions": "* Check the other details of the debugger alert. The alert may indicate which parameter contains the unsupported value.\n* Update your application/configuration to ensure a URI with appropriate parameters is sent.",
    "description": "Twilio parses certain standard URI parameters, such as the \"transport\" parameter, as well as Twilio-specific parameters such as \"secure\".",
    "date_created": "2020-01-15T18:56:07Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32115,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "X-Branded-CallReason header contains an invalid value.",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nX-Branded-CallReason header contains an invalid value.\n\n### Possible causes\n\nX-Branded-CallReason header contains an invalid value exceeding 50 character limit.\n\n### Possible solutions\n\nVerify that the call reason supplied does not exceed more than 50 characters\n",
    "causes": "X-Branded-CallReason header contains an invalid value exceeding 50 character limit.",
    "solutions": "Verify that the call reason supplied does not exceed more than 50 characters",
    "description": "X-Branded-CallReason header contains an invalid value.",
    "date_created": "2020-03-17T18:58:30Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32200,
    "log_level": "ERROR",
    "log_type": null,
    "message": "SIP: Insufficient permissions",
    "secondary_message": "Request failed due to insufficient permissions.",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request failed due to insufficient permissions.\n\n### Possible solutions\n\n- Please check that your account is active. Ensure that you have [Authentication details](/docs/sip-trunking#authentication) configured on your Trunk.\n",
    "causes": "* Request failed due to insufficient permissions.",
    "solutions": "* Please check that your account is active. Ensure that you have [Authentication details](/docs/sip-trunking#authentication) configured on your Trunk.",
    "description": "",
    "date_created": "2016-03-31T17:14:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP: Source IP address not in ACL",
    "secondary_message": "Authorization failure - source IP Address not in ACL. Either fix local routing so that you are sending us SIP from an address already in your ACL or add this other address to your [ACL](/user/account/sip-trunking/authentication/ip-acls).",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- Authorization failure - source IP Address not in ACL (Access Control List).\n\n### Possible solutions\n\n- There is an ACL on your trunk and you are sending us INVITE requests from an IP address not on that ACL. Either fix local routing so that you are sending us SIP from an address already in your ACL or add this other address to your ACL.\n",
    "causes": "* Authorization failure - source IP Address not in ACL (Access Control List).",
    "solutions": "* There is an ACL on your trunk and you are sending us INVITE requests from an IP address not on that ACL. Either fix local routing so that you are sending us SIP from an address already in your ACL or add this other address to your ACL.",
    "description": "",
    "date_created": "2016-03-31T17:14:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32202,
    "log_level": "ERROR",
    "log_type": null,
    "message": "SIP: Bad user credentials",
    "secondary_message": "Bad user credentials. Confirm that your username/password matches one in your [Credentials List](/user/account/sip-trunking/authentication/cls).",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- There is a Credentials List on your trunk, and your INVITE's Authentication Digest is incorrect due to wrong username/password\n\n### Possible solutions\n\n- Confirm that your username/password matches one in your Credentials List.\n",
    "causes": "* There is a Credentials List on your trunk, and your INVITE's Authentication Digest is incorrect due to wrong username/password",
    "solutions": "* Confirm that your username/password matches one in your Credentials List.",
    "description": "",
    "date_created": "2016-03-31T17:14:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32203,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SIP: Call blocked by Twilio",
    "secondary_message": null,
    "product": "Elastic SIP Trunking, Trust-Hub, Programmable Voice",
    "docs": "\n## Description\n\nTwilio blocked this outbound Elastic SIP Trunking call before it reached the destination. This error occurs when Twilio identifies the destination as high risk for fraud, cannot complete the call for regulatory reasons, or requires a valid Primary Customer Profile for calls to a +1 destination.\n\n### Possible causes\n\n- Twilio identified the destination as high risk for fraud.\n- Regulatory restrictions prevent the destination from being reached.\n- You are calling a +1 destination and your account does not have a valid Primary Customer Profile. This can occur when:\n  - Your account does not have a Primary Customer Profile.\n  - Your account has an Individual Customer Profile that was approved after October 2025. Individual profiles approved after this date do not satisfy the Primary Customer Profile requirement for +1 calling.\n\n### Possible solutions\n\n- If you believe the destination was blocked incorrectly and you have a legitimate need to call it, contact Support through the Console or the Help Center.\n- If you are calling a +1 destination, verify that your account has a Primary Customer Profile in Trust Hub from your main account. If your account only has an Individual Customer Profile approved after October 2025, create a Business Customer Profile and submit it for review. For more details, see [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379).\n- If your Primary Customer Profile is rejected, correct the information shown in the Console and resubmit the profile.\n\n#### Additional resources\n\n- [Troubleshooting your Trunk](/docs/sip-trunking/troubleshooting)\n- [Console: Create a Primary Customer Profile](/docs/trust-hub/trusthub-rest-api/console-create-a-primary-customer-profile)\n- [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379)\n",
    "causes": "* Twilio identified the destination as high risk for fraud.\n* Regulatory restrictions prevent the destination from being reached.\n* You are calling a +1 destination and your account does not have a valid Primary Customer Profile. This can occur when:\n  * Your account does not have a Primary Customer Profile.\n  * Your account has an Individual Customer Profile that was approved after October 2025. Individual profiles approved after this date do not satisfy the Primary Customer Profile requirement for +1 calling.",
    "solutions": "* If you believe the destination was blocked incorrectly and you have a legitimate need to call it, contact Support through the Console or the Help Center.\n* If you are calling a +1 destination, verify that your account has a Primary Customer Profile in Trust Hub from your main account. If your account only has an Individual Customer Profile approved after October 2025, create a Business Customer Profile and submit it for review. For more details, see [Calls blocked by Twilio due to Primary Customer Profile requirements](https://help.twilio.com/articles/42720101060379).\n* If your Primary Customer Profile is rejected, correct the information shown in the Console and resubmit the profile.",
    "description": "Twilio blocked this outbound Elastic SIP Trunking call before it reached the destination. This error occurs when Twilio identifies the destination as high risk for fraud, cannot complete the call for regulatory reasons, or requires a valid Primary Customer Profile for calls to a +1 destination.",
    "date_created": "2016-03-31T17:14:38Z",
    "last_updated": "2026-04-01T10:42:11+01:00"
  },
  {
    "code": 32204,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP: 'From' phone number not verified",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call, but the From number you specified is not a verified Outgoing Caller ID for your account. In order to use a phone number as the Caller ID on outgoing calls, you must first validate your ownership of that phone number.\n\n### Possible causes\n\nThe `From` number used to make outbound call not a Twilio number or not a verified caller ID\n\n### Possible solutions\n\nChange the callerID used in the From field of the SIP INVITE to a Twilio number on your account or verify your number by visiting the Console [Verified Caller IDs](/user/account/phone-numbers/verified) or REST API.\n",
    "causes": "The `From` number used to make outbound call not a Twilio number or not a verified caller ID",
    "solutions": "Change the callerID used in the From field of the SIP INVITE to a Twilio number on your account or verify your number by visiting the Console [Verified Caller IDs](/user/account/phone-numbers/verified) or REST API.",
    "description": "You attempted to initiate an outbound phone call, but the From number you specified is not a verified Outgoing Caller ID for your account. In order to use a phone number as the Caller ID on outgoing calls, you must first validate your ownership of that phone number.",
    "date_created": "2016-03-31T17:14:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32205,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP Trunking: Geo Permission configuration is not permitting call",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call to a phone number that is not enabled on your account.\n\n### Possible causes\n\nUser dialed a destination your application is not enabled to support calling to.\n\n### Possible solutions\n\nPlease check your [Voice Dialing Geographic Permissions](https://www.twilio.com/console/voice/calls/geo-permissions), fix it, and try again.\n",
    "causes": "User dialed a destination your application is not enabled to support calling to.",
    "solutions": "Please check your [Voice Dialing Geographic Permissions](https://www.twilio.com/console/voice/calls/geo-permissions), fix it, and try again.",
    "description": "You attempted to initiate an outbound phone call to a phone number that is not enabled on your account.",
    "date_created": "2016-03-31T17:14:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32206,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP: Invalid From number (caller ID)",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nYou attempted to initiate an outbound phone call or message, but the 'From' parameter you supplied was not a valid phone number or alphanumeric sender ID.\n\nTwilio accepts phone numbers in [E.164 format](/docs/glossary/what-e164) (i.e. \"+1 format\"), 10-digit US and Canadian numbers with any combination of non-digit separators, or Alphanumeric Sender IDs (SMS only) with up to 11 alphanumeric characters \\[a-zA-Z0-9]. Refer to [this page](https://support.twilio.com/hc/en-us/articles/223133867-Using-Alphanumeric-Sender-ID-with-Messaging-Services) for acceptable characters.\n\nThe number must not be on a do-not-originate (DNO) list, and Alpha Sender IDs may not be generic.\n\n### Possible causes\n\n- You have supplied a phone number that was not in [E.164 format](/docs/glossary/what-e164)\n- Your `From` phone number is on a do-not-originate (DNO) list\n\n### Possible solutions\n\n- Ensure your number is formatted in [E.164 format](/docs/glossary/what-e164)\n- Ensure that your `From` number is assigned and not on a do-not-originate (DNO) list.\n",
    "causes": "* You have supplied a phone number that was not in [E.164 format](/docs/glossary/what-e164)\n* Your `From` phone number is on a do-not-originate (DNO) list",
    "solutions": "* Ensure your number is formatted in [E.164 format](/docs/glossary/what-e164)\n* Ensure that your `From` number is assigned and not on a do-not-originate (DNO) list.",
    "description": "You attempted to initiate an outbound phone call or message, but the 'From' parameter you supplied was not a valid phone number or alphanumeric sender ID. Twilio accepts phone numbers in [E.164 format](/docs/glossary/what-e164) (i.e. \"+1 format\"), 10-digit US and Canadian numbers with any combination of non-digit separators, or Alphanumeric Sender IDs (SMS only) with up to 11 alphanumeric characters \\[a-zA-Z0-9]. Refer to [this page](https://support.twilio.com/hc/en-us/articles/223133867-Using-Alphanumeric-Sender-ID-with-Messaging-Services) for acceptable characters. The number must not be on a do-not-originate (DNO) list, and Alpha Sender IDs may not be generic.",
    "date_created": "2019-09-05T21:45:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32207,
    "log_level": "ERROR",
    "log_type": null,
    "message": "SIP: Secure media not accepted",
    "secondary_message": "Please use RTP. For SIP Trunking if you wish to use SRTP kindly enable [Secure Trunking](/docs/api/sip-trunking/getting-started#securetrunking).",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- A SIP Call is made to a Twilio SIP Domain using SRTP, which it is not supported\n- A termination Call is made to a Twilio SIP Trunk and the Twilio SIP Trunk is not configured to accept secure media (SRTP).\n\n### Possible solutions\n\n- Please use RTP.\n- For Twilio Elastic SIP Trunking, if you wish to use SRTP kindly enable [Secure Trunking](/docs/sip-trunking#securetrunking).\n",
    "causes": "* A SIP Call is made to a Twilio SIP Domain using SRTP, which it is not supported\n* A termination Call is made to a Twilio SIP Trunk and the Twilio SIP Trunk is not configured to accept secure media (SRTP).",
    "solutions": "* Please use RTP.\n* For Twilio Elastic SIP Trunking, if you wish to use SRTP kindly enable [Secure Trunking](/docs/sip-trunking#securetrunking).",
    "description": "",
    "date_created": "2016-03-31T17:14:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32208,
    "log_level": "ERROR",
    "log_type": null,
    "message": "SIP: Secure media required",
    "secondary_message": "This secure SIP trunk cannot accept insecure media (RTP). Please use SRTP. See more on [Secure Trunking](/docs/api/sip-trunking/getting-started#securetrunking).",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- This secure SIP trunk cannot accept insecure media (RTP).\n\n### Possible solutions\n\n- Please use SRTP. See more on [Secure Trunking](/docs/sip-trunking#securetrunking).\n",
    "causes": "* This secure SIP trunk cannot accept insecure media (RTP).",
    "solutions": "* Please use SRTP. See more on [Secure Trunking](/docs/sip-trunking#securetrunking).",
    "description": "",
    "date_created": "2016-03-31T17:14:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32209,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP: Secure transport required",
    "secondary_message": "When secure calling is enabled, Twilio cannot accept calls made using UDP or TCP. Please use TLS.",
    "product": null,
    "docs": "\n## Description\n\nWhen secure calling is enabled, Twilio cannot accept calls made using UDP or TCP. Please use TLS.\n\n### Possible causes\n\n- Media security is enabled on your SIP domain or trunk, but Twilio received SIP traffic over an insecure protocol, such as UDP or TCP.\n- You are using SIP registration, and are attempting to place a secure call to an endpoint where all of the available bindings were registered with an insecure protocol, such as UDP or TCP.\n\n### Possible solutions\n\n- Please ensure your PBX or end device is configured to send SIP traffic over the TLS transport.\n- If you are using SIP registration, your device must be configured to *register* over the TLS protocol. Devices registered over insecure protocols will not be attempted for secure calls.\n",
    "causes": "* Media security is enabled on your SIP domain or trunk, but Twilio received SIP traffic over an insecure protocol, such as UDP or TCP.\n* You are using SIP registration, and are attempting to place a secure call to an endpoint where all of the available bindings were registered with an insecure protocol, such as UDP or TCP.",
    "solutions": "* Please ensure your PBX or end device is configured to send SIP traffic over the TLS transport.\n* If you are using SIP registration, your device must be configured to *register* over the TLS protocol. Devices registered over insecure protocols will not be attempted for secure calls.",
    "description": "When secure calling is enabled, Twilio cannot accept calls made using UDP or TCP. Please use TLS.",
    "date_created": "2016-03-31T17:14:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32210,
    "log_level": "ERROR",
    "log_type": null,
    "message": "SIP: Register not supported",
    "secondary_message": "Registration is not enabled for the SIP domain",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\n- Registration is not enabled for the SIP domain\n\n### Possible solutions\n\n- Enable registration for the SIP domain.\n",
    "causes": "* Registration is not enabled for the SIP domain",
    "solutions": "* Enable registration for the SIP domain.",
    "description": "",
    "date_created": "2016-04-11T20:56:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32211,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Username being used to Register not found in one of the mapped Credential Lists.",
    "secondary_message": "**Possible Causes**\n\nThere exists a separate credential list mapping for SIP Registration. The user must be found in a credential list associated with the domain\n\n**Possible Solutions**\n\nAdd user to credentials list or use existing user when you specify a username in the SIP Endpoint.",
    "product": null,
    "docs": "\n## Description\n\nUsername being used to Register not found in one of the mapped Credential Lists.\n\n### Possible causes\n\nThere exists a separate credential list mapping for SIP Registration. The user must be found in a credential list associated with the domain\n\n### Possible solutions\n\nAdd user to credentials list or use existing user when you specify a username in the SIP Endpoint.\n",
    "causes": "There exists a separate credential list mapping for SIP Registration. The user must be found in a credential list associated with the domain",
    "solutions": "Add user to credentials list or use existing user when you specify a username in the SIP Endpoint.",
    "description": "Username being used to Register not found in one of the mapped Credential Lists.",
    "date_created": "2016-10-19T23:20:10.824Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32212,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Registration Authentication problem",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\nA SIP Endpoint tried to register with this SIP Domain and there isn't a Credential List mapped.\n\n### Possible solutions\n\nPlease map a Credential List to the Registration Authentication part of the SIP Domain\n",
    "causes": "A SIP Endpoint tried to register with this SIP Domain and there isn't a Credential List mapped.",
    "solutions": "Please map a Credential List to the Registration Authentication part of the SIP Domain",
    "description": "",
    "date_created": "2016-11-15T21:50:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32214,
    "log_level": "WARNING",
    "log_type": null,
    "message": "SIP: Invalid <Dial><Sip> ",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Invalid `<Dial><Sip>`\n\n### Possible causes\n\nYour TwiML can only \\<Dial>\\<Sip>username@yoursipdomain.sip.us1.twilio.com\\</Dial>\\</Sip> to Twilio SIP Domains either in the same subaccount or within the master account.\n\n### Possible solutions\n\nRegister the SIP endpoint to a SIP Domain on the same subaccount.\n",
    "causes": "Your TwiML can only \\<Dial>\\<Sip>username@yoursipdomain.sip.us1.twilio.com\\</Dial>\\</Sip> to Twilio SIP Domains either in the same subaccount or within the master account.",
    "solutions": "Register the SIP endpoint to a SIP Domain on the same subaccount.",
    "description": "",
    "date_created": "2016-11-15T20:22:33Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32215,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Dial failure calling a SIP Domain without specifying a region",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\n- If you do a `<Dial><Sip>` without specifying a region\n\n### Possible solutions\n\n- Dial the regional SIP domain. For instance: \\<Dial>\\<Sip>username@yoursipdomain.sip.`us1`.twilio.com\\</Dial>\\</Sip>.\n\nNote the `us1` above that is specifying that you are calling a SIP endpoint registered to the US1 (North Virginia) data center.\n",
    "causes": "* If you do a `<Dial><Sip>` without specifying a region",
    "solutions": "* Dial the regional SIP domain. For instance: \\<Dial>\\<Sip>username@yoursipdomain.sip.`us1`.twilio.com\\</Dial>\\</Sip>. Note the `us1` above that is specifying that you are calling a SIP endpoint registered to the US1 (North Virginia) data center.",
    "description": "",
    "date_created": "2016-10-28T21:02:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32216,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP: SIP Address is on a deny list",
    "secondary_message": "This address is on a deny list.",
    "product": null,
    "docs": "\n## Description\n\nThis address is on a deny list.\n\n### Possible causes\n\nThe SIP Address exists on a deny list.\n\n### Possible solutions\n\nUse a SIP Address that is not on a deny list.\n",
    "causes": "The SIP Address exists on a deny list.",
    "solutions": "Use a SIP Address that is not on a deny list.",
    "description": "This address is on a deny list.",
    "date_created": "2018-06-11T21:19:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32218,
    "log_level": "ERROR",
    "log_type": null,
    "message": "SIP: Transfer not allowed",
    "secondary_message": "Transfer is disabled or transferring to disallowed destination (SIP/PSTN)",
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\n### Possible causes\n\n- Transfer enable mode is in DISABLE\\_ALL\n- Transferring to PSTN when transfer enable mode is in `SIP_ONLY`\n- Transferring to SIP when transfer enable mode is in `PSTN_ONLY`\n\n### Possible solutions\n\n- There is a configurable transfer enable mode on your trunk. Change this mode to suit your needs\n",
    "causes": "* Transfer enable mode is in DISABLE\\_ALL\n* Transferring to PSTN when transfer enable mode is in `SIP_ONLY`\n* Transferring to SIP when transfer enable mode is in `PSTN_ONLY`",
    "solutions": "* There is a configurable transfer enable mode on your trunk. Change this mode to suit your needs",
    "description": "",
    "date_created": "2018-05-31T17:42:51Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32219,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIP: Redirect failed",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nTwilio could not process the SIP 30x response from your SIP server.\n\n### Possible causes\n\n- Max redirect limit reached.\n- Redirection is not allowed in the call to the registered SIP endpoint.\n- Redirect target in the Contact header of the SIP 30x response is not a valid SIP URI.\n- Redirect target is a private IP address.\n- Redirect target is a Twilio domain such as \\*.sip.twilio.com or \\*.pstn.twilio.com.\n- Redirect target is an IP in a deny list.\n\n### Possible solutions\n\nReview the Possible Causes and update the redirect target as needed.\n",
    "causes": "* Max redirect limit reached.\n* Redirection is not allowed in the call to the registered SIP endpoint.\n* Redirect target in the Contact header of the SIP 30x response is not a valid SIP URI.\n* Redirect target is a private IP address.\n* Redirect target is a Twilio domain such as \\*.sip.twilio.com or \\*.pstn.twilio.com.\n* Redirect target is an IP in a deny list.",
    "solutions": "Review the Possible Causes and update the redirect target as needed.",
    "description": "Twilio could not process the SIP 30x response from your SIP server.",
    "date_created": "2019-03-12T20:46:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32220,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Specifying an edge is not allowed when dialing SIP registered endpoints",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio SIP domains allow endpoints to register through any supported SIP edge location. When dialing a registered endpoint, Twilio will fork the call to *all* SIP devices registered under the same username/domain. Dialing one of your SIP domain's localized URIs (such as yourdomain.sip.ashburn.twilio.com) is not supported.\n\n### Possible causes\n\n- Attempting to place a call to username@yourdomain.sip.*ashburn*.twilio.com, or any other edge variant (e.g. ashburn-ix, umatilla, sydney, etc.)\n- Note that existing registration customers dialing yourdomain.sip.us1.twilio.com or yourdomain.sip.us1-ix.twilio.com *are* allowed (although this behavior is deprecated).\n\n### Possible solutions\n\n- Dial the global URI for your SIP domain, e.g. username@yourdomain.sip.twilio.com.\n",
    "causes": "* Attempting to place a call to username@yourdomain.sip.*ashburn*.twilio.com, or any other edge variant (e.g. ashburn-ix, umatilla, sydney, etc.)\n* Note that existing registration customers dialing yourdomain.sip.us1.twilio.com or yourdomain.sip.us1-ix.twilio.com *are* allowed (although this behavior is deprecated).",
    "solutions": "* Dial the global URI for your SIP domain, e.g. username@yourdomain.sip.twilio.com.",
    "description": "Twilio SIP domains allow endpoints to register through any supported SIP edge location. When dialing a registered endpoint, Twilio will fork the call to *all* SIP devices registered under the same username/domain. Dialing one of your SIP domain's localized URIs (such as yourdomain.sip.ashburn.twilio.com) is not supported.",
    "date_created": "2020-11-11T00:18:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32221,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dialing SIP Endpoint failure - No devices registered in specified edge",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio was unable to dial the specified SIP Endpoint. While the user did have at least one device registered, no devices were registered through the edge location specified in the URI.\n\n### Possible causes\n\n- You are trying to migrate from us1-only or us1-ix-only SIP registration and have configured some devices to register through other edges, but you are still using edge-specific URIs (e.g. username@yourdomain.sip.us1.twilio.com) when placing calls in your application.\n- If you only intend to use the us1 or us1-ix edges, you may have SIP devices unexpectedly registering through another edge. Check the domain name and outbound proxy settings on your client devices.\n\n### Possible solutions\n\n- If you want to take advantage of new global SIP registration features, including the ability to dial any registered endpoint regardless of the edge through which it registered, update your TwiML or REST API app to use your SIP domain's global URI, e.g username@yourdomain.sip.twilio.com.\n- If SIP devices are registering through an edge you did not intend, either re-configure these devices to register through the desired edge, or turn off the SIP Registration functionality in your device settings if the registration behavior is not needed.\n- To troubleshoot, you can verify if a SIP Endpoint has registered by using the Console \"Registered SIP Endpoints\" tab found on the SIP Domains page.\n",
    "causes": "* You are trying to migrate from us1-only or us1-ix-only SIP registration and have configured some devices to register through other edges, but you are still using edge-specific URIs (e.g. username@yourdomain.sip.us1.twilio.com) when placing calls in your application.\n* If you only intend to use the us1 or us1-ix edges, you may have SIP devices unexpectedly registering through another edge. Check the domain name and outbound proxy settings on your client devices.",
    "solutions": "* If you want to take advantage of new global SIP registration features, including the ability to dial any registered endpoint regardless of the edge through which it registered, update your TwiML or REST API app to use your SIP domain's global URI, e.g username@yourdomain.sip.twilio.com.\n* If SIP devices are registering through an edge you did not intend, either re-configure these devices to register through the desired edge, or turn off the SIP Registration functionality in your device settings if the registration behavior is not needed.\n* To troubleshoot, you can verify if a SIP Endpoint has registered by using the Console \"Registered SIP Endpoints\" tab found on the SIP Domains page.",
    "description": "Twilio was unable to dial the specified SIP Endpoint. While the user did have at least one device registered, no devices were registered through the edge location specified in the URI.",
    "date_created": "2020-11-11T00:20:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32222,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TLS version not allowed",
    "secondary_message": null,
    "product": "Elastic SIP Trunking",
    "docs": "\n## Description\n\nThe TLS version used by your SIP endpoints is lower than the one configured for your account. It's highly recommended to upgrade your SIP endpoints to use TLSv1.2. Otherwise, you can opt in to use deprecated TLS versions in the console. By default, only TLSv1.2 is allowed.\n\n### Possible causes\n\nSIP/TLS version is lower than the allowed\n\n### Possible solutions\n\nUpgrade TLS version or configure your account to allow all TLSv1+ in console (Voice → Settings → General → Allow Deprecated SIP/TLS versions)\n",
    "causes": "SIP/TLS version is lower than the allowed",
    "solutions": "Upgrade TLS version or configure your account to allow all TLSv1+ in console (Voice → Settings → General → Allow Deprecated SIP/TLS versions)",
    "description": "The TLS version used by your SIP endpoints is lower than the one configured for your account. It's highly recommended to upgrade your SIP endpoints to use TLSv1.2. Otherwise, you can opt in to use deprecated TLS versions in the console. By default, only TLSv1.2 is allowed.",
    "date_created": "2022-01-31T18:20:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32223,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "There is no username in the SIP URI when calling a SIP registered endpoint",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCalling Twilio SIP domains such as \"yourdomain.sip.twilio.com\" is not allowed. You can only call a registered SIP endpoint such as \"username@yourdomain.sip.twilio.com\".\n\n### Possible causes\n\n- Attempting to place a call from Twilio back to your own Twilio SIP domain. Twilio does not allow SIP calls between Twilio domains either in the same account or different accounts.\n- Attempting to call a registered SIP AOR without specifying the username you wanted to call\n\n### Possible solutions\n\n- Add the correct username in the SIP URI you call, e.g., username@yourdomain.sip.twilio.com\n",
    "causes": "* Attempting to place a call from Twilio back to your own Twilio SIP domain. Twilio does not allow SIP calls between Twilio domains either in the same account or different accounts.\n* Attempting to call a registered SIP AOR without specifying the username you wanted to call",
    "solutions": "* Add the correct username in the SIP URI you call, e.g., username@yourdomain.sip.twilio.com",
    "description": "Calling Twilio SIP domains such as \"yourdomain.sip.twilio.com\" is not allowed. You can only call a registered SIP endpoint such as \"username@yourdomain.sip.twilio.com\".",
    "date_created": "2022-05-16T23:51:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32301,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Interconnect: Invalid Connection (TNX) SID",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Interconnect Connection (TNX) SID is invalid.\n\n### Possible solutions\n\n- Please verify your Interconnect Connection SID, visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).\n",
    "causes": "* The Interconnect Connection (TNX) SID is invalid.",
    "solutions": "* Please verify your Interconnect Connection SID, visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).",
    "description": "",
    "date_created": "2016-11-16T21:52:51Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32302,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Interconnect: Connection (TNX) SID not found",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Interconnect Connection (TNX) SID was not found.\n\n### Possible solutions\n\n- Please verify your Interconnect Connection SID, visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).\n",
    "causes": "* The Interconnect Connection (TNX) SID was not found.",
    "solutions": "* Please verify your Interconnect Connection SID, visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).",
    "description": "",
    "date_created": "2016-11-16T21:53:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32303,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Interconnect: Multiple SIP Dials with Interconnect Connection (TNX) SID",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- Multiple SIP outbound dials with TNX parameter\n\n### Possible solutions\n\n- We don't support multiple SIP outbound dials with TNX parameter, please ensure you Response only includes one.\n",
    "causes": "* Multiple SIP outbound dials with TNX parameter",
    "solutions": "* We don't support multiple SIP outbound dials with TNX parameter, please ensure you Response only includes one.",
    "description": "",
    "date_created": "2016-11-16T21:54:51Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32304,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Interconnect: Connection (TNX) SID is not Active",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Interconnect Connection (TNX) SID is not Active.\n\n### Possible solutions\n\n- Please verify the status of your Interconnect Connection SID, visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).\n",
    "causes": "* The Interconnect Connection (TNX) SID is not Active.",
    "solutions": "* Please verify the status of your Interconnect Connection SID, visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).",
    "description": "",
    "date_created": "2016-11-16T21:55:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32305,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Interconnect: Edge is invalid or inactive",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\nThe interconnect \"edge\" parameter in Sip outbound URI is either invalid or inactive.\n\n### Possible solutions\n\nPlease verify that the \"edge\" parameter in your Sip outbound URI is valid and verify that there is an active TNX Connection in the location specified in the edge parameter, visit [Edge Locations](/docs/global-infrastructure/edge-locations), [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).\n",
    "causes": "The interconnect \"edge\" parameter in Sip outbound URI is either invalid or inactive.",
    "solutions": "Please verify that the \"edge\" parameter in your Sip outbound URI is valid and verify that there is an active TNX Connection in the location specified in the edge parameter, visit [Edge Locations](/docs/global-infrastructure/edge-locations), [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).",
    "description": "",
    "date_created": "2020-07-16T20:49:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32400,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "BYOC Trunk routing failure - failover routing disabled.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCall delivery attempt(s) over the specified BYOC Trunk did not succeed. Failover routing was disabled.\n\n### Possible causes\n\nTwilio encountered errors communicating with your SIP communications infrastructure.\n\n### Possible solutions\n\nLook for errors with error code [32011](/docs/api/errors/32011), Error communicating with your SIP communications infrastructure, and follow instructions.\n",
    "causes": "Twilio encountered errors communicating with your SIP communications infrastructure.",
    "solutions": "Look for errors with error code [32011](/docs/api/errors/32011), Error communicating with your SIP communications infrastructure, and follow instructions.",
    "description": "Call delivery attempt(s) over the specified BYOC Trunk did not succeed. Failover routing was disabled.",
    "date_created": "2020-03-16T21:29:32Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32401,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "BYOC Trunk routing failure - failover to Twilio default routing.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCall delivery attempt(s) over the specified BYOC Trunk did not succeed. Failover to Twilio default routing took place.\n\n### Possible causes\n\nTwilio encountered errors communicating with your SIP communications infrastructure.\n\n### Possible solutions\n\nLook for errors with error code [32011](/docs/api/errors/32011), Error communicating with your SIP communications infrastructure, and follow instructions.\n",
    "causes": "Twilio encountered errors communicating with your SIP communications infrastructure.",
    "solutions": "Look for errors with error code [32011](/docs/api/errors/32011), Error communicating with your SIP communications infrastructure, and follow instructions.",
    "description": "Call delivery attempt(s) over the specified BYOC Trunk did not succeed. Failover to Twilio default routing took place.",
    "date_created": "2020-03-16T21:30:57Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32500,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Conversation: Generic error.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRequest through Voice Conversation Service failed.\n\n### Possible causes\n\n- Some error occurred during communication with Twilio internal services.\n\n### Possible solutions\n\n- See the Debugger in Console for further information. If this is a continuous experience, please contact Twilio Support.\n",
    "causes": "* Some error occurred during communication with Twilio internal services.",
    "solutions": "* See the Debugger in Console for further information. If this is a continuous experience, please contact Twilio Support.",
    "description": "Request through Voice Conversation Service failed.",
    "date_created": "2022-06-07T17:34:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32501,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Conversation: TwiML attributes validation error.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInvalid attributes found in `<Conversation>` noun.\n\n### Possible causes\n\n- Invalid attributes within the `<Conversation>` noun.\n- Can be caused by any invalid syntax within the `<Conversation>` noun.\n\n### Possible solutions\n\n- Check attribute names or the values following the `<Conversation>` noun.\n- Refer to the `<Conversation>` twiml docs page \"/docs/voice/twiml/connect/conversation\" for more information.\n",
    "causes": "* Invalid attributes within the `<Conversation>` noun.\n* Can be caused by any invalid syntax within the `<Conversation>` noun.",
    "solutions": "* Check attribute names or the values following the `<Conversation>` noun.\n* Refer to the `<Conversation>` twiml docs page \"/docs/voice/twiml/connect/conversation\" for more information.",
    "description": "Invalid attributes found in `<Conversation>` noun.",
    "date_created": "2022-06-07T17:36:04Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32502,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Voice Conversation: Callback event internal error.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInternal error occurred when executing a request to one of the status callback URLs specified in the Conversation noun. This error will occur when Voice Conversation service fails to reach out to Callback service.\n\n### Possible causes\n\n- Twilio failed to execute callback request when Voice Conversation service attempted to reach out to status Callback service.\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n",
    "causes": "* Twilio failed to execute callback request when Voice Conversation service attempted to reach out to status Callback service.",
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!",
    "description": "Internal error occurred when executing a request to one of the status callback URLs specified in the Conversation noun. This error will occur when Voice Conversation service fails to reach out to Callback service.",
    "date_created": "2022-06-07T17:37:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32503,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Voice Conversation: Callback event response error.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRequest to status callback URL received a response error from the customer-side server.\n\n### Possible causes\n\n- This error indicates that Twilio was able to reach the customer-provided URL, however, received an error from the customer-side callback endpoint.\n- The URL provided was likely valid, but Twilio might be receiving an error from the customer-side service.\n\n### Possible solutions\n\n- Make sure you have a web server up and running that serves that URL with the configured method in TwiML, e.g. `POST`.\n",
    "causes": "* This error indicates that Twilio was able to reach the customer-provided URL, however, received an error from the customer-side callback endpoint.\n* The URL provided was likely valid, but Twilio might be receiving an error from the customer-side service.",
    "solutions": "* Make sure you have a web server up and running that serves that URL with the configured method in TwiML, e.g. `POST`.",
    "description": "Request to status callback URL received a response error from the customer-side server.",
    "date_created": "2022-06-07T17:38:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32504,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Conversation: Incomplete Conversation.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nExisting Conversation did not have a Frontline worker participant.\n\n### Possible causes\n\n- Issue with Frontline routing configuration that caused no worker assigned.\n- Conversation might not have been created by the Frontline service. This error indicates that the code is directly using Conversation API to the create the conversation, and Frontline cannot determine the format of the call.\n- Something went wrong when the Conversation was created by the Frontline worker or admin.\n\n### Possible solutions\n\n- Check that your routing is set up properly in your Frontline Console page and delete this Conversation using the Conversation API.\n",
    "causes": "* Issue with Frontline routing configuration that caused no worker assigned.\n* Conversation might not have been created by the Frontline service. This error indicates that the code is directly using Conversation API to the create the conversation, and Frontline cannot determine the format of the call.\n* Something went wrong when the Conversation was created by the Frontline worker or admin.",
    "solutions": "* Check that your routing is set up properly in your Frontline Console page and delete this Conversation using the Conversation API.",
    "description": "Existing Conversation did not have a Frontline worker participant.",
    "date_created": "2022-06-07T17:39:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32505,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Conversation: Invalid data inside existing conversation.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInvalid data inside existing conversation.\n\n### Possible causes\n\n- Certain data was wrong when the Conversation was created or when the participants were added.\n\n### Possible solutions\n\n- Delete this Conversation using the Conversation API.\n",
    "causes": "* Certain data was wrong when the Conversation was created or when the participants were added.",
    "solutions": "* Delete this Conversation using the Conversation API.",
    "description": "Invalid data inside existing conversation.",
    "date_created": "2022-06-07T17:40:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32506,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Voice Conversation: Failed to get worker assigned to a newly created Conversation.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nYour Frontline instance failed to assign a worker after Conversation auto-creation.\n\n### Possible causes\n\n- Issue with Frontline routing configuration that caused no worker assigned.\n- Conversation might not have been created by the Frontline service. This error indicates that the code is directly using Conversation API to the create the conversation, and Frontline cannot determine the format of the call.\n- Something went wrong when the Conversation was created by the Frontline worker or admin.\n\n### Possible solutions\n\n- Check the Frontline routing configurations.\n- If a custom Routing was used, make sure the webhook is going to the right URL.\n",
    "causes": "* Issue with Frontline routing configuration that caused no worker assigned.\n* Conversation might not have been created by the Frontline service. This error indicates that the code is directly using Conversation API to the create the conversation, and Frontline cannot determine the format of the call.\n* Something went wrong when the Conversation was created by the Frontline worker or admin.",
    "solutions": "* Check the Frontline routing configurations.\n* If a custom Routing was used, make sure the webhook is going to the right URL.",
    "description": "Your Frontline instance failed to assign a worker after Conversation auto-creation.",
    "date_created": "2022-06-07T17:42:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32600,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Virtual Agent: Configuration Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32600 Error is an indication there is something wrong with the `<VirtualAgent>` connector configuration.\n\n### Possible causes\n\n- Connector configuration is missing required properties\n- Connector configuration contains invalid properties\n\n### Possible solutions\n\n- Update your `<VirtualAgent>` connector configuration\n",
    "causes": "* Connector configuration is missing required properties\n* Connector configuration contains invalid properties",
    "solutions": "* Update your `<VirtualAgent>` connector configuration",
    "description": "A 32600 Error is an indication there is something wrong with the `<VirtualAgent>` connector configuration.",
    "date_created": "2022-08-04T01:20:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32601,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Virtual Agent: Provider Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32601 Error is an indication that the `<VirtualAgent>` connector configuration was rejected by the VirtualAgent provider.\n\n### Possible causes\n\n- Connector configuration contains invalid properties\n\n### Possible solutions\n\n- Check your `<VirtualAgent>` connector configuration\n- Check any `<Config>` elements referenced in TwiML\n- Check the VirtualAgentProviderError included in the webhook to the action url or the Debugger message in Console for further information. For additional assistance, please contact Twilio Support.\n",
    "causes": "* Connector configuration contains invalid properties",
    "solutions": "* Check your `<VirtualAgent>` connector configuration\n* Check any `<Config>` elements referenced in TwiML\n* Check the VirtualAgentProviderError included in the webhook to the action url or the Debugger message in Console for further information. For additional assistance, please contact Twilio Support.",
    "description": "A 32601 Error is an indication that the `<VirtualAgent>` connector configuration was rejected by the VirtualAgent provider.",
    "date_created": "2022-08-04T01:21:26Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32602,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Virtual Agent: Invalid Connector",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32602 Error is an indication that the referenced connector is not a valid `<VirtualAgent>` connector.\n\n### Possible causes\n\n- The connector referenced by the supplied connectorName does not exist\n- The connector referenced by the supplied connectorName is not a VirtualAgent connector\n- The supplied TwiML is missing the connectorName attribute\n\n### Possible solutions\n\n- Check the connectorName attribute in your TwiML and ensure that it matches the unique name of a VirtualAgent connector\n",
    "causes": "* The connector referenced by the supplied connectorName does not exist\n* The connector referenced by the supplied connectorName is not a VirtualAgent connector\n* The supplied TwiML is missing the connectorName attribute",
    "solutions": "* Check the connectorName attribute in your TwiML and ensure that it matches the unique name of a VirtualAgent connector",
    "description": "A 32602 Error is an indication that the referenced connector is not a valid `<VirtualAgent>` connector.",
    "date_created": "2022-08-04T01:22:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32603,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Virtual Agent: Unsupported <Config> attribute(s) in TwiML",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32603 Error is an indication that `<VirtualAgent>` TwiML contains invalid or unsupported `<Config>` attributes\n\n### Possible causes\n\n- Some of the `<Config>` attribute(s) referenced in the `<VirtualAgent>` TwiML are not supported by the VirtualAgent provider.\n\n### Possible solutions\n\n- Ensure the correct `<VirtualAgent>` connector is being referenced\n- Review the Debugger message in console and update or remove the offending attributes\n",
    "causes": "* Some of the `<Config>` attribute(s) referenced in the `<VirtualAgent>` TwiML are not supported by the VirtualAgent provider.",
    "solutions": "* Ensure the correct `<VirtualAgent>` connector is being referenced\n* Review the Debugger message in console and update or remove the offending attributes",
    "description": "A 32603 Error is an indication that `<VirtualAgent>` TwiML contains invalid or unsupported `<Config>` attributes",
    "date_created": "2022-08-04T01:23:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32604,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Virtual Agent: Internal Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32604 Error is an indication that there is an internal server error and some internal services failed.\n\n### Possible causes\n\n- Some error occurred during communication with Twilio internal services.\n\n### Possible solutions\n\n- If this is a continuous experience, please contact Twilio Support.\n",
    "causes": "* Some error occurred during communication with Twilio internal services.",
    "solutions": "* If this is a continuous experience, please contact Twilio Support.",
    "description": "A 32604 Error is an indication that there is an internal server error and some internal services failed.",
    "date_created": "2022-08-04T01:24:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32605,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Virtual Agent: PCI Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32605 Error is an indication that the `<VirtualAgent>` TwiML contains an invalid or insecure URL in the statusCallback attribute when PCI mode is enabled on your account\n\n### Possible causes\n\n- `<VirtualAgent>` statusCallback attribute contains an invalid URL\n- `<VirtualAgent>` statusCallback attribute does not specify scheme https\n\n### Possible solutions\n\n- Ensure that the `<VirtualAgent>` TwiML statusCallback attribute contains a valid URL format with scheme https\n",
    "causes": "* `<VirtualAgent>` statusCallback attribute contains an invalid URL\n* `<VirtualAgent>` statusCallback attribute does not specify scheme https",
    "solutions": "* Ensure that the `<VirtualAgent>` TwiML statusCallback attribute contains a valid URL format with scheme https",
    "description": "A 32605 Error is an indication that the `<VirtualAgent>` TwiML contains an invalid or insecure URL in the statusCallback attribute when PCI mode is enabled on your account",
    "date_created": "2023-01-26T19:10:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32606,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Virtual Agent: Resume Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32606 Error is an indication that the `<VirtualAgent>` TwiML contains an invalid or unauthorized configuration for resuming an existing conversation.\n\n### Possible causes\n\n- \\<Config name=\"resumeEndUserId\"> element referenced in TwiML contains an invalid value\n- \\<Config name=\"resumeEndUserId\"> element referenced in TwiML is not authorized to resume the conversation from the current Call SID\n\n### Possible solutions\n\n- Check the value of the \\<Config name=\"resumeEndUserId\"> element referenced in TwiML\n- Ensure the resume attempt is made from the same Call SID which created the conversation\n- Check the VirtualAgentProviderError included in the webhook to the action url or the Debugger message in Console for further information. For additional assistance, please contact Twilio Support.\n",
    "causes": "* \\<Config name=\"resumeEndUserId\"> element referenced in TwiML contains an invalid value\n* \\<Config name=\"resumeEndUserId\"> element referenced in TwiML is not authorized to resume the conversation from the current Call SID",
    "solutions": "* Check the value of the \\<Config name=\"resumeEndUserId\"> element referenced in TwiML\n* Ensure the resume attempt is made from the same Call SID which created the conversation\n* Check the VirtualAgentProviderError included in the webhook to the action url or the Debugger message in Console for further information. For additional assistance, please contact Twilio Support.",
    "description": "A 32606 Error is an indication that the `<VirtualAgent>` TwiML contains an invalid or unauthorized configuration for resuming an existing conversation.",
    "date_created": "2024-10-03T04:41:16Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32650,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Real-time Transcriptions: Configuration Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32650 Error is an indication there is something wrong with the `<Transcription>` configuration.\n\n### Possible causes\n\n- Configuration is missing required properties\n- Configuration contains invalid properties\n\n### Possible solutions\n\n- Check the TranscriptionError message included in the webhook or the Debugger message in Console for further information and update your `<Transcription>` configuration\n",
    "causes": "* Configuration is missing required properties\n* Configuration contains invalid properties",
    "solutions": "* Check the TranscriptionError message included in the webhook or the Debugger message in Console for further information and update your `<Transcription>` configuration",
    "description": "A 32650 Error is an indication there is something wrong with the `<Transcription>` configuration.",
    "date_created": "2024-05-10T19:59:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32651,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Real-time Transcriptions: Provider Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32651 Error is an indication that the `<Transcription>` provider configuration was rejected by the Speech-to-Text provider.\n\n### Possible causes\n\n- Provider configuration contains invalid or unsupported properties\n\n### Possible solutions\n\n- Check any provider specific configuration referenced in TwiML\n- Check the TranscriptionError message included in the webhook or the Debugger message in Console for further information. For additional assistance, please contact Twilio Support.\n",
    "causes": "* Provider configuration contains invalid or unsupported properties",
    "solutions": "* Check any provider specific configuration referenced in TwiML\n* Check the TranscriptionError message included in the webhook or the Debugger message in Console for further information. For additional assistance, please contact Twilio Support.",
    "description": "A 32651 Error is an indication that the `<Transcription>` provider configuration was rejected by the Speech-to-Text provider.",
    "date_created": "2024-05-10T20:01:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32652,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Real-time Transcriptions: Unsupported <Config> attribute(s) in TwiML",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32652 Error is an indication that `<Transcription>` TwiML contains invalid or unsupported `<Config>` attributes.\n\n### Possible causes\n\n- Some of the `<Config>` attribute(s) referenced in the `<Transcription>` TwiML are not supported by the Transcription provider\n\n### Possible solutions\n\n- Review the Debugger message in console and update or remove the offending attributes\n",
    "causes": "* Some of the `<Config>` attribute(s) referenced in the `<Transcription>` TwiML are not supported by the Transcription provider",
    "solutions": "* Review the Debugger message in console and update or remove the offending attributes",
    "description": "A 32652 Error is an indication that `<Transcription>` TwiML contains invalid or unsupported `<Config>` attributes.",
    "date_created": "2024-05-10T20:03:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32653,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Real-time Transcriptions: Internal Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32653 Error is an indication that there is an internal server error and some internal services failed\n\n### Possible causes\n\n- Some error occurred during communication with Twilio internal services\n\n### Possible solutions\n\n- If this is a continuous experience, please contact Twilio Support\n",
    "causes": "* Some error occurred during communication with Twilio internal services",
    "solutions": "* If this is a continuous experience, please contact Twilio Support",
    "description": "A 32653 Error is an indication that there is an internal server error and some internal services failed",
    "date_created": "2024-05-10T20:05:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32654,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Real-time Transcriptions: PCI Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32654 Error is an indication that the `<Transcription>` TwiML contains an invalid or insecure URL in the statusCallback attribute when PCI mode is enabled on your account\n\n### Possible causes\n\n- `<Transcription>` statusCallback attribute contains an invalid URL\n- `<Transcription>` statusCallback attribute does not specify scheme https\n\n### Possible solutions\n\n- Ensure that the `<Transcription>` TwiML statusCallback attribute contains a valid URL format with scheme https\n",
    "causes": "* `<Transcription>` statusCallback attribute contains an invalid URL\n* `<Transcription>` statusCallback attribute does not specify scheme https",
    "solutions": "* Ensure that the `<Transcription>` TwiML statusCallback attribute contains a valid URL format with scheme https",
    "description": "A 32654 Error is an indication that the `<Transcription>` TwiML contains an invalid or insecure URL in the statusCallback attribute when PCI mode is enabled on your account",
    "date_created": "2024-05-10T20:08:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32655,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Real-time Transcriptions: Intelligence Service Unreachable",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32655 Error indicates a connection to the configured Intelligence Service could not be established due to an internal error. While you will continue to receive real-time transcription events, no Language Operators will be executed, and the transcript will not be saved\n\n### Possible causes\n\n- Some internal error occurred while trying to establish connection with the configured Intelligence service\n\n### Possible solutions\n\n- If this is a continuous experience, please contact Twilio Support\n",
    "causes": "* Some internal error occurred while trying to establish connection with the configured Intelligence service",
    "solutions": "* If this is a continuous experience, please contact Twilio Support",
    "description": "A 32655 Error indicates a connection to the configured Intelligence Service could not be established due to an internal error. While you will continue to receive real-time transcription events, no Language Operators will be executed, and the transcript will not be saved",
    "date_created": "2024-06-06T23:23:51Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32656,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "ConversationRelay & Intelligence Language Mismatch",
    "secondary_message": "ConversationRelay & Intelligence Language Mismatch",
    "product": null,
    "docs": "\n## Description\n\nA 32656 Error indicates that there was a mismatch between the configured ConversationRelay transcription language and the provided Intelligence Service's language. As a result, the transcript will be persisted in Intelligence but Language Operators will not be executed.\n\n### Possible causes\n\nThe Intelligence Service's configured language passed in the ConversationRelay request did not match its configured transcription language for the virtual agent\n\nTo avoid delivering inaccurate Language Operator results, they will not be executed for this ConversationRelay Session\n\n### Possible solutions\n\nEnsure that the configured transcription language in the ConversationRelay session matches the Intelligence Service's language setting\n",
    "causes": "The Intelligence Service's configured language passed in the ConversationRelay request did not match its configured transcription language for the virtual agent To avoid delivering inaccurate Language Operator results, they will not be executed for this ConversationRelay Session",
    "solutions": "Ensure that the configured transcription language in the ConversationRelay session matches the Intelligence Service's language setting",
    "description": "A 32656 Error indicates that there was a mismatch between the configured ConversationRelay transcription language and the provided Intelligence Service's language. As a result, the transcript will be persisted in Intelligence but Language Operators will not be executed.",
    "date_created": "2025-05-13T15:38:26.581Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32700,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Voice User-Defined Message: Internal Twilio Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio experienced an unexpected internal error in attempting to deliver an User-Defined Message event to the Voice SDK client.\n\n### Possible causes\n\n- An error occurred during communication with Twilio internal services.\n\n### Possible solutions\n\n- See the Debugger in the Twilio Console for more information. If you repeatedly receive this error, please contact Twilio Support.\n",
    "causes": "* An error occurred during communication with Twilio internal services.",
    "solutions": "* See the Debugger in the Twilio Console for more information. If you repeatedly receive this error, please contact Twilio Support.",
    "description": "Twilio experienced an unexpected internal error in attempting to deliver an User-Defined Message event to the Voice SDK client.",
    "date_created": "2022-08-18T21:39:35Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32701,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Voice User-Defined Message: Invalid Content-Type",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInvalid `Content-Type` in the `POST` request to the UserDefinedMessage Resource. Only `application/json` is supported.\n\n### Possible causes\n\n- Value of `Content-Type` in the `POST` request to the UserDefinedMessage Resource is not as expected, or there is no `Content-Type` header in the request.\n\n### Possible solutions\n\n- Make sure that `Content-Type` Header is included in the `POST` request to the UserDefinedMessage Resource and the value of the `Content-Type` Header is `application/json`.\n",
    "causes": "* Value of `Content-Type` in the `POST` request to the UserDefinedMessage Resource is not as expected, or there is no `Content-Type` header in the request.",
    "solutions": "* Make sure that `Content-Type` Header is included in the `POST` request to the UserDefinedMessage Resource and the value of the `Content-Type` Header is `application/json`.",
    "description": "Invalid `Content-Type` in the `POST` request to the UserDefinedMessage Resource. Only `application/json` is supported.",
    "date_created": "2022-08-18T21:48:15Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32702,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Voice User-Defined Message: Invalid Content",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInvalid content in the `POST` request to the UserDefinedMessage Resource. Only data in JSON format is supported.\n\n### Possible causes\n\n- Content data in the `POST` request to the UserDefinedMessage Resource is not as expected, or there is no content in the request.\n\n### Possible solutions\n\n- Make sure to include content data in JSON format in the `POST` request to the UserDefinedMessage Resource.\n",
    "causes": "* Content data in the `POST` request to the UserDefinedMessage Resource is not as expected, or there is no content in the request.",
    "solutions": "* Make sure to include content data in JSON format in the `POST` request to the UserDefinedMessage Resource.",
    "description": "Invalid content in the `POST` request to the UserDefinedMessage Resource. Only data in JSON format is supported.",
    "date_created": "2022-08-18T21:49:44Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32703,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Voice User-Defined Message: Content body exceeded max length",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe content body in the Voice User-Defined Message request exceeds the maximum allowed length of 10000 characters.\n\n### Possible causes\n\n- The content body in the Voice `POST` request to the UserDefinedMessage.Resource exceeds the maximum allowed length of 10000 characters.\n\n### Possible solutions\n\n- Make sure that the content body in the request does not exceed the maximum.length.\n",
    "causes": "* The content body in the Voice `POST` request to the UserDefinedMessage.Resource exceeds the maximum allowed length of 10000 characters.",
    "solutions": "* Make sure that the content body in the request does not exceed the maximum.length.",
    "description": "The content body in the Voice User-Defined Message request exceeds the maximum allowed length of 10000 characters.",
    "date_created": "2022-08-18T21:50:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32710,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Voice User-Defined Message: Subscription Callback Internal Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio experienced an unexpected internal error in attempting to deliver an User-Defined Message event to the callback URL provided in the Voice User-Defined Message Subscription request.\n\n### Possible causes\n\n- An error occurred during communication with Twilio internal services.\n\n### Possible solutions\n\n- See the Debugger in the Twilio Console for further information. If you repeatedly receive this error, please contact Twilio Support.\n",
    "causes": "* An error occurred during communication with Twilio internal services.",
    "solutions": "* See the Debugger in the Twilio Console for further information. If you repeatedly receive this error, please contact Twilio Support.",
    "description": "Twilio experienced an unexpected internal error in attempting to deliver an User-Defined Message event to the callback URL provided in the Voice User-Defined Message Subscription request.",
    "date_created": "2022-08-18T21:52:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32711,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Voice User-Defined Message: Request to subscription callback URL encountered error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio received an error response when attempting to send a User-Defined Message event to the UserDefinedMessageSubscription callback URL.\n\n### Possible causes\n\n- The UserDefinedMessageSubscription callback URL is incorrect.\n- Your endpoint at the UserDefinedMessageSubscription callback URL was not responding or responded with a 400- or 500-level HTTP status code.\n\n### Possible solutions\n\n- Make sure that the UserDefinedMessageSubscription callback URL is correct.\n- Make sure that your endpoint at the UserDefinedMessageSubscription callback URL can successfully receive and respond to requests with 200-level HTTP status codes.\n",
    "causes": "* The UserDefinedMessageSubscription callback URL is incorrect.\n* Your endpoint at the UserDefinedMessageSubscription callback URL was not responding or responded with a 400- or 500-level HTTP status code.",
    "solutions": "* Make sure that the UserDefinedMessageSubscription callback URL is correct.\n* Make sure that your endpoint at the UserDefinedMessageSubscription callback URL can successfully receive and respond to requests with 200-level HTTP status codes.",
    "description": "Twilio received an error response when attempting to send a User-Defined Message event to the UserDefinedMessageSubscription callback URL.",
    "date_created": "2022-08-18T21:55:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 32800,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Provisioning Failure",
    "secondary_message": "Provisioning has failed for Branded Calling/Voice Integrity.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nProvisioning has failed with the carrier.\n\n### Possible causes\n\nKYC information submitted may have been rejected by the vendor.\n\n### Possible solutions\n\nReach out to Twilio Customer Support.\n",
    "causes": "KYC information submitted may have been rejected by the vendor.",
    "solutions": "Reach out to Twilio Customer Support.",
    "description": "Provisioning has failed with the carrier.",
    "date_created": "2025-05-05T21:38:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33000,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Generic Error",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nYour request has caused an error that is not further specified.\n\n### Possible causes\n\nAn unspecified error occurred while carrying out the request.\n\n### Possible solutions\n\nSee the [Debugger](https://www.twilio.com/console/debugger) in Console for further information. If this is a continuous experience, please contact Twilio Support.\n",
    "causes": "An unspecified error occurred while carrying out the request.",
    "solutions": "See the [Debugger](https://www.twilio.com/console/debugger) in Console for further information. If this is a continuous experience, please contact Twilio Support.",
    "description": "Your request has caused an error that is not further specified.",
    "date_created": "2020-09-15T11:10:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Service is unavailable\t",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever a service is temporarily unavailable.\n\n### Possible causes\n\nThe requested service or any of its downstreams is temporarily unavailable.\n\n### Possible solutions\n\nTry again later.\n",
    "causes": "The requested service or any of its downstreams is temporarily unavailable.",
    "solutions": "Try again later.",
    "description": "Raised whenever a service is temporarily unavailable.",
    "date_created": "2020-09-15T11:12:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conflicting update",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever an update is requested while another update is already in progress.\n\n### Possible causes\n\n- You cannot change a SIM's status or its Rate Plan while another update is already in progress.\n\n### Possible solutions\n\n- Verify that there is not an update already in progress for the SIM. If an update is in progress, the SIM's status will be either `scheduled` or `updating` and you will need to wait for it to finish before you can make additional updates to the SIM's status or Rate Plan.\n",
    "causes": "* You cannot change a SIM's status or its Rate Plan while another update is already in progress.",
    "solutions": "* Verify that there is not an update already in progress for the SIM. If an update is in progress, the SIM's status will be either `scheduled` or `updating` and you will need to wait for it to finish before you can make additional updates to the SIM's status or Rate Plan.",
    "description": "Raised whenever an update is requested while another update is already in progress.",
    "date_created": "2020-09-15T11:13:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Parameter Value\t",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised when an invalid parameter is provided. Please refer to the [API docs](https://docs.korewireless.com/en-us/programmable-wireless) for more details.\n\n### Possible causes\n\n- Your request contained invalid parameters. Please refer to the actual error response to get more details.\n- While removing the Rate Plan of a SIM, your SIM must not be in status `active` or `ready`.\n- While updating the Rate Plan of a SIM, you cannot move from NB-Annual to NB-developer.\n- While updating the Rate Plan of a SIM, you can only move the Rate Plan to a different Data Limit Strategy while your SIM is `new` or `deactivated`.\n- While updating the Rate Plan of a SIM, Narrowband SIMs cannot be paired with a non-narrowband enabled Rate Plan, or vice versa.\n- While creating or updating a Rate Plan, `UniqueName` is invalid.\n- While creating a Rate Plan, the limits (e.g. `DataLimit`, `NationalRoamingDataLimit`, `InternationalRoamingDataLimit`) you defined are out of range.\n\n### Possible solutions\n\n- While removing the Rate Plan from a SIM, ensure the SIM is neither in status `ready` nor `active`.\n- While updating the Rate Plan of a SIM, ensure that the SIM is in status `new` or `deactivated` while moving the SIM to a Rate Plan with a different Data Limit Strategy.\n- While updating the Rate Plan of a SIM, ensure that a Narrowband SIM has a narrowband-enabled Rate Plan, or a non-narrowband SIM has a corresponding Rate Plan.\n- While creating or updating a Rate Plan, ensure `UniqueName` has a different format than a Rate Plan SID, has a maximum length of 64 characters and does not exist yet.\n- While creating a Rate Plan, ensure that the limits (e.g. `DataLimit`, `NationalRoamingDataLimit`, `InternationalRoamingDataLimit`) are equal or between `0` and `2000000` (2TB).\n",
    "causes": "* Your request contained invalid parameters. Please refer to the actual error response to get more details.\n* While removing the Rate Plan of a SIM, your SIM must not be in status `active` or `ready`.\n* While updating the Rate Plan of a SIM, you cannot move from NB-Annual to NB-developer.\n* While updating the Rate Plan of a SIM, you can only move the Rate Plan to a different Data Limit Strategy while your SIM is `new` or `deactivated`.\n* While updating the Rate Plan of a SIM, Narrowband SIMs cannot be paired with a non-narrowband enabled Rate Plan, or vice versa.\n* While creating or updating a Rate Plan, `UniqueName` is invalid.\n* While creating a Rate Plan, the limits (e.g. `DataLimit`, `NationalRoamingDataLimit`, `InternationalRoamingDataLimit`) you defined are out of range.",
    "solutions": "* While removing the Rate Plan from a SIM, ensure the SIM is neither in status `ready` nor `active`.\n* While updating the Rate Plan of a SIM, ensure that the SIM is in status `new` or `deactivated` while moving the SIM to a Rate Plan with a different Data Limit Strategy.\n* While updating the Rate Plan of a SIM, ensure that a Narrowband SIM has a narrowband-enabled Rate Plan, or a non-narrowband SIM has a corresponding Rate Plan.\n* While creating or updating a Rate Plan, ensure `UniqueName` has a different format than a Rate Plan SID, has a maximum length of 64 characters and does not exist yet.\n* While creating a Rate Plan, ensure that the limits (e.g. `DataLimit`, `NationalRoamingDataLimit`, `InternationalRoamingDataLimit`) are equal or between `0` and `2000000` (2TB).",
    "description": "Raised when an invalid parameter is provided. Please refer to the [API docs](https://docs.korewireless.com/en-us/programmable-wireless) for more details.",
    "date_created": "2020-09-15T11:14:35Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Parameter missing",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever a required parameter was not passed with the request. The error object's detail field will indicate which parameter was not provided.\n\n### Possible causes\n\n- While sending a Command, you did not indicate the `Sim` to send it to.\n- While transferring a SIM to another Account, you need to provide a new Rate Plan present in the target Account or remove the current Rate Plan if the SIM to move is currently assigned to a Rate Plan.\n- While transferring a SIM to another Account, you cannot transfer a SIM in status `ready`.\n\n### Possible solutions\n\n- While sending a Command, ensure `Sim` parameter is provided.\n- While transferring a SIM to another Account, ensure a `RatePlan` is provided that present in the target Account.\n- While transferring a SIM to another Account, ensure the SIM to transfer is not in status `ready`.\n",
    "causes": "* While sending a Command, you did not indicate the `Sim` to send it to.\n* While transferring a SIM to another Account, you need to provide a new Rate Plan present in the target Account or remove the current Rate Plan if the SIM to move is currently assigned to a Rate Plan.\n* While transferring a SIM to another Account, you cannot transfer a SIM in status `ready`.",
    "solutions": "* While sending a Command, ensure `Sim` parameter is provided.\n* While transferring a SIM to another Account, ensure a `RatePlan` is provided that present in the target Account.\n* While transferring a SIM to another Account, ensure the SIM to transfer is not in status `ready`.",
    "description": "Raised whenever a required parameter was not passed with the request. The error object's detail field will indicate which parameter was not provided.",
    "date_created": "2020-09-15T11:16:29Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Paging information invalid",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever an invalid value for pagination while listing resources is provided.\n\n### Possible causes\n\n- You provided Invalid values for pagination requests.\n\n### Possible solutions\n\n- Ensure that `Page` is a positive integer.\n- Ensure that `PageSize` is a positive integer and not greater than 1000.\n- Ensure that `PageToken` is valid as provided by a previous request.\n",
    "causes": "* You provided Invalid values for pagination requests.",
    "solutions": "* Ensure that `Page` is a positive integer.\n* Ensure that `PageSize` is a positive integer and not greater than 1000.\n* Ensure that `PageToken` is valid as provided by a previous request.",
    "description": "Raised whenever an invalid value for pagination while listing resources is provided.",
    "date_created": "2020-09-15T11:17:27Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Configuration incomplete",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever the configuration for a given resource is incomplete.\n\n### Possible causes\n\n- While activating a SIM, your request was rejected because the SIM is not associated with a Rate Plan.\n- While sending a Command, your request was rejected because SIM is not properly configured (e.g. the SIM is not in status `active`).\n\n### Possible solutions\n\n- While activating a SIM, ensure the SIM is associated with a proper Rate Plan.\n- While sending a Command, ensure the given `sim` is in status `ready` or `active`, and paired with a SIM.\n",
    "causes": "* While activating a SIM, your request was rejected because the SIM is not associated with a Rate Plan.\n* While sending a Command, your request was rejected because SIM is not properly configured (e.g. the SIM is not in status `active`).",
    "solutions": "* While activating a SIM, ensure the SIM is associated with a proper Rate Plan.\n* While sending a Command, ensure the given `sim` is in status `ready` or `active`, and paired with a SIM.",
    "description": "Raised whenever the configuration for a given resource is incomplete.",
    "date_created": "2020-09-15T11:18:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33105,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transition invalid",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever the SIM cannot be transitioned to the requested status.\n\n### Possible causes\n\n- While activating a SIM, your request was rejected because the SIM you are trying to activate is not compatible with the Rate Plan.\n- While changing a SIM's status, your request was rejected because the requested Status change is invalid.\n\n### Possible solutions\n\n- While activating a SIM, ensure that the SIM is compatible with the Rate Plan, e.g. the Rate Plan specifies international roaming for data but the SIM does not support it.\n- While changing a SIM's status, ensure that the Status transition is valid. Read more about [Status Values](https://docs.korewireless.com/en-us/programmable-wireless).\n",
    "causes": "* While activating a SIM, your request was rejected because the SIM you are trying to activate is not compatible with the Rate Plan.\n* While changing a SIM's status, your request was rejected because the requested Status change is invalid.",
    "solutions": "* While activating a SIM, ensure that the SIM is compatible with the Rate Plan, e.g. the Rate Plan specifies international roaming for data but the SIM does not support it.\n* While changing a SIM's status, ensure that the Status transition is valid. Read more about [Status Values](https://docs.korewireless.com/en-us/programmable-wireless).",
    "description": "Raised whenever the SIM cannot be transitioned to the requested status.",
    "date_created": "2020-09-15T11:19:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33107,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIM not found",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever the given SIM is not found.\n\n### Possible causes\n\n- While sending a Command, your request was rejected because the SIM you provided was not found.\n\n### Possible solutions\n\n- While sending a Command, ensure the SIM exists.\n",
    "causes": "* While sending a Command, your request was rejected because the SIM you provided was not found.",
    "solutions": "* While sending a Command, ensure the SIM exists.",
    "description": "Raised whenever the given SIM is not found.",
    "date_created": "2020-09-15T11:20:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33108,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Rate Plan not found",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever the given Rate Plan is not found.\n\n### Possible causes\n\n- While updating a SIM's Rate Plan, your request was rejected because the Rate Plan was not found.\n- While transferring a SIM to another Account, your request was rejected because the given Rate Plan was not found in the target Account.\n\n### Possible solutions\n\n- While updating a SIM's Rate Plan, ensure the provided `RatePlan` exists on your Account.\n- While transferring a SIM to another Account, ensure the provided `RatePlan` is present in the target Account.\n",
    "causes": "* While updating a SIM's Rate Plan, your request was rejected because the Rate Plan was not found.\n* While transferring a SIM to another Account, your request was rejected because the given Rate Plan was not found in the target Account.",
    "solutions": "* While updating a SIM's Rate Plan, ensure the provided `RatePlan` exists on your Account.\n* While transferring a SIM to another Account, ensure the provided `RatePlan` is present in the target Account.",
    "description": "Raised whenever the given Rate Plan is not found.",
    "date_created": "2020-09-15T11:20:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33111,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Command exceeded max length",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever a Command from your SIM exceeds the maximum length of 160 characters. As a result the Command is truncated but still delivered to the target Callback URL.\n\n### Possible causes\n\n- The Command from your SIM in text mode exceeded the maximum length of 160 characters.\n\n### Possible solutions\n\n- Ensure that Commands in text mode do not exceed the maximum length.\n",
    "causes": "* The Command from your SIM in text mode exceeded the maximum length of 160 characters.",
    "solutions": "* Ensure that Commands in text mode do not exceed the maximum length.",
    "description": "Raised whenever a Command from your SIM exceeds the maximum length of 160 characters. As a result the Command is truncated but still delivered to the target Callback URL.",
    "date_created": "2020-09-15T11:21:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33118,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Number of Commands exceeded",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever there are too many Commands queued for an individual SIM.\n\n### Possible causes\n\n- While sending a Command, your Command was rejected because there are already more than 100 commands queued for your individual Narrowband SIM.\n\n### Possible solutions\n\n- While sending a Command, ensure there are less than 100 commands queued for an individual Narrowband SIM.\n",
    "causes": "* While sending a Command, your Command was rejected because there are already more than 100 commands queued for your individual Narrowband SIM.",
    "solutions": "* While sending a Command, ensure there are less than 100 commands queued for an individual Narrowband SIM.",
    "description": "Raised whenever there are too many Commands queued for an individual SIM.",
    "date_created": "2020-09-15T11:22:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33119,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIM connectivity reset not allowed",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever a SIM connectivity reset is requested but not permitted.\n\n### Possible causes\n\n- This operation is temporarily unavailable because the downstream carrier is undergoing maintenance and not accepting requests.\n- Your SIM either does not support this operation or is not in a status where it can connect to a cellular network.\n\n### Possible solutions\n\n- Try again later if there is an ongoing maintenance.\n- Verify the SIM is not a Narrowband SIM.\n- Ensure the SIM is either in status `ready` or `active`.\n",
    "causes": "* This operation is temporarily unavailable because the downstream carrier is undergoing maintenance and not accepting requests.\n* Your SIM either does not support this operation or is not in a status where it can connect to a cellular network.",
    "solutions": "* Try again later if there is an ongoing maintenance.\n* Verify the SIM is not a Narrowband SIM.\n* Ensure the SIM is either in status `ready` or `active`.",
    "description": "Raised whenever a SIM connectivity reset is requested but not permitted.",
    "date_created": "2020-09-15T11:23:17Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33120,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SIM connectivity reset in progress",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever a SIM connectivity reset is in progress while another SIM connectivity reset is requested.\n\n### Possible causes\n\n- The SIM you requested has already a connectivity reset in progress which must complete before resetting again.\n\n### Possible solutions\n\n- Try again later and ensure the SIM's `ResetStatus` is not `resetting`.\n",
    "causes": "* The SIM you requested has already a connectivity reset in progress which must complete before resetting again.",
    "solutions": "* Try again later and ensure the SIM's `ResetStatus` is not `resetting`.",
    "description": "Raised whenever a SIM connectivity reset is in progress while another SIM connectivity reset is requested.",
    "date_created": "2020-09-15T11:23:57Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33121,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Parameter Combination",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever a request contains conflicting parameters.\n\n### Possible causes\n\n- While updating your SIM, the request was rejected because you cannot update `Status` and `ResetStatus` simultaneously.\n- Updating a SIM's status to `suspended` and removing its Rate Plan is not permitted.\n\n### Possible solutions\n\n- While updating a SIM, ensure not to update `Status` and `ResetStatus` within the same request.\n- While updating a SIM, you cannot simultaneously update its `Status` to `suspended` and remove its Rate Plan.\n",
    "causes": "* While updating your SIM, the request was rejected because you cannot update `Status` and `ResetStatus` simultaneously.\n* Updating a SIM's status to `suspended` and removing its Rate Plan is not permitted.",
    "solutions": "* While updating a SIM, ensure not to update `Status` and `ResetStatus` within the same request.\n* While updating a SIM, you cannot simultaneously update its `Status` to `suspended` and remove its Rate Plan.",
    "description": "Raised whenever a request contains conflicting parameters.",
    "date_created": "2020-09-15T11:24:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33122,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Rate Plan Is Not Allowed",
    "secondary_message": "Cannot activate a SIM on a Rate Plan with deprecated Data Metering.",
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nCannot activate a SIM on a Rate Plan with deprecated Data Metering.\n\n### Possible causes\n\nSIM update request was rejected because the SIM cannot be activated on a Rate Plan with deprecated Data Metering.\n\n### Possible solutions\n\nConsider using a Rate Plan with `payg` Data Metering.\n",
    "causes": "SIM update request was rejected because the SIM cannot be activated on a Rate Plan with deprecated Data Metering.",
    "solutions": "Consider using a Rate Plan with `payg` Data Metering.",
    "description": "Cannot activate a SIM on a Rate Plan with deprecated Data Metering.",
    "date_created": "2022-09-30T11:01:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unauthorized",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever the requested operation is not permitted.\n\n### Possible causes\n\n- Your Account has been suspended and an asynchronous request has been canceled.\n- While sending Commands to your SIM, your Command was rejected by its Rate Plan.\n- While transferring your SIM to another Account, your request was rejected because the SIM must be `new` and the new Account must either be the requesting Account or a Subaccount of the requesting Account.\n\n### Possible solutions\n\n- While sending a Command, ensure the Rate Plan associated to the given SIM has Commands enabled.\n- Contact Twilio Support to help with the SIM transfer.\n",
    "causes": "* Your Account has been suspended and an asynchronous request has been canceled.\n* While sending Commands to your SIM, your Command was rejected by its Rate Plan.\n* While transferring your SIM to another Account, your request was rejected because the SIM must be `new` and the new Account must either be the requesting Account or a Subaccount of the requesting Account.",
    "solutions": "* While sending a Command, ensure the Rate Plan associated to the given SIM has Commands enabled.\n* Contact Twilio Support to help with the SIM transfer.",
    "description": "Raised whenever the requested operation is not permitted.",
    "date_created": "2020-09-15T11:25:20Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 33203,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Messaging not allowed",
    "secondary_message": null,
    "product": "Programmable Wireless",
    "docs": "\n## Description\n\nRaised whenever a Command from your SIM is received but not permitted.\n\n### Possible causes\n\n- The SIM that sent the Command, is not in status `ready` or `active`.\n- The associated Rate Plan of the SIM does not have commands enabled.\n- Breakout Commands from your SIMs are only permitted for Narrowband SIMs.\n\n### Possible solutions\n\n- While sending Commands from your SIM, verify that the SIM is either in status `ready` or `active`.\n- While sending Commands from your SIM, ensure that the associated Rate Plan of the SIM has commands enabled.\n",
    "causes": "* The SIM that sent the Command, is not in status `ready` or `active`.\n* The associated Rate Plan of the SIM does not have commands enabled.\n* Breakout Commands from your SIMs are only permitted for Narrowband SIMs.",
    "solutions": "* While sending Commands from your SIM, verify that the SIM is either in status `ready` or `active`.\n* While sending Commands from your SIM, ensure that the associated Rate Plan of the SIM has commands enabled.",
    "description": "Raised whenever a Command from your SIM is received but not permitted.",
    "date_created": "2020-09-15T11:26:30Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 34001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Overloaded",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-07-25T21:32:50Z",
    "last_updated": "2020-08-04T03:00:20.18Z"
  },
  {
    "code": 34002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Callee Busy",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-15T19:46:00Z",
    "last_updated": "2020-08-04T10:00:17.089Z"
  },
  {
    "code": 34003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Callee did not answer",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-15T19:46:33Z",
    "last_updated": "2020-08-04T10:00:17.068Z"
  },
  {
    "code": 34004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Error during fax transmission",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nEither poor connection quality to the recipient or the recipient terminated the fax early.\n",
    "causes": null,
    "solutions": null,
    "description": "Either poor connection quality to the recipient or the recipient terminated the fax early.",
    "date_created": "2017-09-15T19:46:44Z",
    "last_updated": "2020-08-04T10:00:17.043Z"
  },
  {
    "code": 34005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Programmable Fax is no longer available",
    "secondary_message": "Twilio ended support for Programmable Fax for all accounts on December 17, 2021",
    "product": "Account",
    "docs": "\n## Description\n\nThe Programmable Fax API by Twilio is no longer supported\n\n### Possible causes\n\nYou are trying to use the Programmable Fax API which is no longer available\n\n### Possible solutions\n\nPlease consult the migration guide on: https://support.twilio.com/hc/en-us/articles/223136667-Fax-Support-on-Twilio\n",
    "causes": "You are trying to use the Programmable Fax API which is no longer available",
    "solutions": "Please consult the migration guide on: https://support.twilio.com/hc/en-us/articles/223136667-Fax-Support-on-Twilio",
    "description": "The Programmable Fax API by Twilio is no longer supported",
    "date_created": "2021-12-10T22:28:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 34100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Malformed Request",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-08T01:42:53Z",
    "last_updated": "2020-08-04T03:00:18.729Z"
  },
  {
    "code": 34101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Resource Already Exists",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-08T01:42:54Z",
    "last_updated": "2020-08-04T03:00:18.708Z"
  },
  {
    "code": 34104,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unsupported File Type",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-08T01:42:54Z",
    "last_updated": "2020-08-04T03:00:18.687Z"
  },
  {
    "code": 34105,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Transcode failure",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-08T01:42:54Z",
    "last_updated": "2020-08-04T03:00:18.665Z"
  },
  {
    "code": 34106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No Fax TwiML action specified",
    "secondary_message": "Missing Receive verb in TwiML",
    "product": "Account",
    "docs": "\n## Description\n\nMissing [Receive](https://help.twilio.com/hc/en-us/articles/1260800821230-Programmable-Fax-Migration-Guide-for-Documo-mFax#receive) verb in received TwiML.\n\nSimplest implementation is `<Receive />`\n",
    "causes": null,
    "solutions": null,
    "description": "Missing [Receive](https://help.twilio.com/hc/en-us/articles/1260800821230-Programmable-Fax-Migration-Guide-for-Documo-mFax#receive) verb in received TwiML. Simplest implementation is `<Receive />`",
    "date_created": "2017-09-08T04:30:59Z",
    "last_updated": "2020-08-04T10:00:17.134Z"
  },
  {
    "code": 34107,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Transition",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-08T01:42:55Z",
    "last_updated": "2020-08-04T03:00:18.618Z"
  },
  {
    "code": 34108,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Other End Incompatible",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n\nThe receiving fax machine answered, but then rejected your incoming media.\n\nTry reducing the size of your pdf or sending at a lower quality or resolution. Make sure your pdf is a standard size (US Letter, A4) and portrait-oriented.\n",
    "causes": null,
    "solutions": null,
    "description": "The receiving fax machine answered, but then rejected your incoming media. Try reducing the size of your pdf or sending at a lower quality or resolution. Make sure your pdf is a standard size (US Letter, A4) and portrait-oriented.",
    "date_created": "2017-09-15T19:47:56Z",
    "last_updated": "2020-08-04T10:00:17.02Z"
  },
  {
    "code": 34110,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Media File",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-08T01:42:55Z",
    "last_updated": "2020-08-04T03:00:18.574Z"
  },
  {
    "code": 34200,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Authorization Error",
    "secondary_message": null,
    "product": "Account",
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-09-08T01:42:56Z",
    "last_updated": "2020-08-04T03:00:18.553Z"
  },
  {
    "code": 35111,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SendAt timestamp is missing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when you try to create a scheduled message with `ScheduleType` set to `fixed` and do not include `SendAt`. Scheduled messages require both parameters, and `SendAt` must be a timestamp in ISO-8601 format.\n\n### Possible causes\n\n- You set `ScheduleType` to `fixed` but left out `SendAt`.\n- You tried to schedule a message without providing the send time Twilio needs to create the scheduled `Message` resource.\n\n### Possible solutions\n\n- Include `SendAt` whenever you set `ScheduleType` to `fixed`. Use an ISO-8601 timestamp.\n- Make sure the scheduled send time is between 15 minutes and 35 days from the time Twilio receives the `POST` request.\n- Create the message with a `MessagingServiceSid` when you schedule delivery. Without it, Twilio treats the request as non-scheduled.\n\n#### Additional resources\n\n- [Message Scheduling](/docs/messaging/features/message-scheduling)\n- [Messaging API Overview](/docs/messaging/api)\n",
    "causes": "* You set `ScheduleType` to `fixed` but left out `SendAt`.\n* You tried to schedule a message without providing the send time Twilio needs to create the scheduled `Message` resource.",
    "solutions": "* Include `SendAt` whenever you set `ScheduleType` to `fixed`. Use an ISO-8601 timestamp.\n* Make sure the scheduled send time is between 15 minutes and 35 days from the time Twilio receives the `POST` request.\n* Create the message with a `MessagingServiceSid` when you schedule delivery. Without it, Twilio treats the request as non-scheduled.",
    "description": "This error occurs when you try to create a scheduled message with `ScheduleType` set to `fixed` and do not include `SendAt`. Scheduled messages require both parameters, and `SendAt` must be a timestamp in ISO-8601 format.",
    "date_created": "2020-10-09T04:53:21Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 35114,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Scheduling does not support this timestamp",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSendAt time must be between 300 seconds and 35 days (3024000 seconds) in the future, inclusive.\n\n### Possible causes\n\nScheduler currently doesn't support scheduling a message at a fixed time less than 5 minutes from now, or more than 35 days in the future.\n\n### Possible solutions\n\nVerify that the SendAt parameter is using \"\\[YYYY]-\\[MM]-\\[DD]T\\[HH]:\\[MM]:\\[SS]Z\" format (in UTC).\n\nCheck the SendAt parameter to ensure it is is greater than 5 minutes (300 seconds) from request time and 35 days (3024000 seconds) in the future.\n",
    "causes": "Scheduler currently doesn't support scheduling a message at a fixed time less than 5 minutes from now, or more than 35 days in the future.",
    "solutions": "Verify that the SendAt parameter is using \"\\[YYYY]-\\[MM]-\\[DD]T\\[HH]:\\[MM]:\\[SS]Z\" format (in UTC). Check the SendAt parameter to ensure it is is greater than 5 minutes (300 seconds) from request time and 35 days (3024000 seconds) in the future.",
    "description": "SendAt time must be between 300 seconds and 35 days (3024000 seconds) in the future, inclusive.",
    "date_created": "2020-10-07T18:38:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35115,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Scheduling does not support this timestamp",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSendAt time must be between 300 seconds and 35 days (3024000 seconds) in the future, inclusive.\n\n### Possible causes\n\nScheduler currently doesn't support scheduling a message at a fixed time less than 5 minutes from now, or more than 35 days in the future.\n\n### Possible solutions\n\nVerify that the SendAt parameter is using \"\\[YYYY]-\\[MM]-\\[DD]T\\[HH]:\\[MM]:\\[SS]Z\" format (in UTC).\n",
    "causes": "Scheduler currently doesn't support scheduling a message at a fixed time less than 5 minutes from now, or more than 35 days in the future.",
    "solutions": "Verify that the SendAt parameter is using \"\\[YYYY]-\\[MM]-\\[DD]T\\[HH]:\\[MM]:\\[SS]Z\" format (in UTC).",
    "description": "SendAt time must be between 300 seconds and 35 days (3024000 seconds) in the future, inclusive.",
    "date_created": "2023-07-27T15:07:19Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35117,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Scheduling does not support this timestamp",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSendAt time must be between 300 seconds and 35 days (3024000 seconds) in the future, inclusive.\n\n### Possible causes\n\nScheduler currently doesn't support scheduling a message at a fixed time less that 5 minutes from now, or more than 35 days in the future.\n\n### Possible solutions\n\nVerify that the SendAt parameter is using \"\\[YYYY]-\\[MM]-\\[DD]T\\[HH]:\\[MM]:\\[SS]Z\" format (in UTC).\n",
    "causes": "Scheduler currently doesn't support scheduling a message at a fixed time less that 5 minutes from now, or more than 35 days in the future.",
    "solutions": "Verify that the SendAt parameter is using \"\\[YYYY]-\\[MM]-\\[DD]T\\[HH]:\\[MM]:\\[SS]Z\" format (in UTC).",
    "description": "SendAt time must be between 300 seconds and 35 days (3024000 seconds) in the future, inclusive.",
    "date_created": "2023-07-27T15:15:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35118,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "MessagingServiceSid is required to schedule a message",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage Scheduling is only accessible on Messaging Services. You need to pass a MessageServiceSid instead or along with a From Phone Number in order to schedule a message.\n\n### Possible causes\n\nA MessagingServiceSid was not provided as part of the MessagingServiceSid or From parameter.\n\n### Possible solutions\n\nPass the MessagingServiceSid in either the MessagingServiceSid parameter or the From parameter.\n",
    "causes": "A MessagingServiceSid was not provided as part of the MessagingServiceSid or From parameter.",
    "solutions": "Pass the MessagingServiceSid in either the MessagingServiceSid parameter or the From parameter.",
    "description": "Message Scheduling is only accessible on Messaging Services. You need to pass a MessageServiceSid instead or along with a From Phone Number in order to schedule a message.",
    "date_created": "2022-06-18T01:07:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35125,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum limit reached in the account for scheduling messages",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThere is a soft limit of 500,000 scheduled messages at any given time, per account\\_sid, that can be guaranteed. As each scheduled message is sent, more messages can be scheduled up to that limit.\n\n### Possible causes\n\nThe account\\_sid already has at least 500,000 messages scheduled.\n\n### Possible solutions\n\nWait for the scheduled messages to be sent. At the send\\_at time, as the messages are sent (or canceled) the limit will free up. If this limitation is a blocker, kindly contact Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "The account\\_sid already has at least 500,000 messages scheduled.",
    "solutions": "Wait for the scheduled messages to be sent. At the send\\_at time, as the messages are sent (or canceled) the limit will free up. If this limitation is a blocker, kindly contact Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "There is a soft limit of 500,000 scheduled messages at any given time, per account\\_sid, that can be guaranteed. As each scheduled message is sent, more messages can be scheduled up to that limit.",
    "date_created": "2021-11-22T23:10:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35126,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The ScheduleType value provided is not supported for this channel",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe ScheduleType value provided is not supported for the channel you want to send the message on.\n\n### Possible causes\n\nYou provided a value other than 'fixed' in the ScheduleType parameter\n\n### Possible solutions\n\nChange the ScheduleType value to 'fixed'\n",
    "causes": "You provided a value other than 'fixed' in the ScheduleType parameter",
    "solutions": "Change the ScheduleType value to 'fixed'",
    "description": "The ScheduleType value provided is not supported for the channel you want to send the message on.",
    "date_created": "2021-12-08T23:30:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35127,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Messages' Body and ContentVariables cannot be provided together",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou provided a 'Messages' Body and 'ContentVariables' parameters in your request, which would lead to a conflict. Please provide only one of these.\n\n### Possible causes\n\nYou provided both a 'Messages' Body and 'ContentVariables' parameters in your request\n\n### Possible solutions\n\nSpecify only one of the both parameters in your request\n",
    "causes": "You provided both a 'Messages' Body and 'ContentVariables' parameters in your request",
    "solutions": "Specify only one of the both parameters in your request",
    "description": "You provided a 'Messages' Body and 'ContentVariables' parameters in your request, which would lead to a conflict. Please provide only one of these.",
    "date_created": "2023-05-30T22:18:35Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35128,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing Message Content",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nA valid 'Body', 'ContentSid' or 'MediaUrl' parameter is required to send a message. Please specify one of these.\n\n### Possible causes\n\nYou did not specify any one of the 'Body', 'ContentSid', or 'MediaUrl' parameters\n\n### Possible solutions\n\nSpecify one of the above listed parameters\n",
    "causes": "You did not specify any one of the 'Body', 'ContentSid', or 'MediaUrl' parameters",
    "solutions": "Specify one of the above listed parameters",
    "description": "A valid 'Body', 'ContentSid' or 'MediaUrl' parameter is required to send a message. Please specify one of these.",
    "date_created": "2023-05-24T15:42:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35129,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "MessagingServiceSid required to use ContentSid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nA 'MessagingServiceSid' parameter is required when 'ContentSid' parameter is specified\n\n### Possible causes\n\nYou did not specify 'MessagingServiceSid' parameter along with 'ContentSid'\n\n### Possible solutions\n\nSpecify a valid 'MessagingServiceSid' parameter\n",
    "causes": "You did not specify 'MessagingServiceSid' parameter along with 'ContentSid'",
    "solutions": "Specify a valid 'MessagingServiceSid' parameter",
    "description": "A 'MessagingServiceSid' parameter is required when 'ContentSid' parameter is specified",
    "date_created": "2023-05-22T20:39:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35130,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Attempt value",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n'Attempt' parameter should be a valid positive integer\n\n### Possible causes\n\nYou specified a value for 'Attempt' which is not a valid positive integer\n\n### Possible solutions\n\nSpecify a valid positive integer for the 'Attempt' parameter\n",
    "causes": "You specified a value for 'Attempt' which is not a valid positive integer",
    "solutions": "Specify a valid positive integer for the 'Attempt' parameter",
    "description": "'Attempt' parameter should be a valid positive integer",
    "date_created": "2023-05-24T15:44:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35131,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid 'SendAt' value",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou specified an invalid value for 'SendAt'. It should be valid timestamp in ISO 8601 format\n\n### Possible causes\n\nYou specified a 'SendAt' value which is not in ISO 8601 format\n\n### Possible solutions\n\nSpecify a value for 'SendAt' in ISO 8601 format\n",
    "causes": "You specified a 'SendAt' value which is not in ISO 8601 format",
    "solutions": "Specify a value for 'SendAt' in ISO 8601 format",
    "description": "You specified an invalid value for 'SendAt'. It should be valid timestamp in ISO 8601 format",
    "date_created": "2023-05-22T20:45:33Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35132,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Bulk : Provided Attributes JSON is not valid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when a bulk messaging request includes `Attributes` that are not valid JSON.\n\n### Possible causes\n\n- The `Attributes` value is not valid JSON.\n- The attribute payload is malformed or does not match the expected format. This is an inference based on the error text.\n\n### Possible solutions\n\n- Update the `Attributes` value so it is valid JSON before you resend the request.\n- Check each attribute for the expected format and correct any malformed fields.\n\n#### Additional resources\n\n- [Messaging API overview](/docs/messaging/api)\n- [Messages resource](/docs/messaging/api/message-resource)\n",
    "causes": "* The `Attributes` value is not valid JSON.\n* The attribute payload is malformed or does not match the expected format. This is an inference based on the error text.",
    "solutions": "* Update the `Attributes` value so it is valid JSON before you resend the request.\n* Check each attribute for the expected format and correct any malformed fields.",
    "description": "Twilio returns this error when a bulk messaging request includes `Attributes` that are not valid JSON.",
    "date_created": "2023-05-30T21:25:11Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 35133,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid 'Messages' array provided in the request",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe 'Messages' array provided in the request in invalid. It is either empty or contains too many items\n\n### Possible causes\n\nThe Messages array is either empty or contains too many items\n\n### Possible solutions\n\nCheck if the Messages array is empty. If not, please ensure it doesn't contain too many items\n",
    "causes": "The Messages array is either empty or contains too many items",
    "solutions": "Check if the Messages array is empty. If not, please ensure it doesn't contain too many items",
    "description": "The 'Messages' array provided in the request in invalid. It is either empty or contains too many items",
    "date_created": "2023-05-30T22:22:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35134,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "`Messages` array contains duplicate `To` numbers.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n`Messages` array contains duplicate `To` numbers. Please check the list for duplicates\n\n### Possible causes\n\nThe provided `Messages` array has one or more duplicate `To` numbers\n\n### Possible solutions\n\nCheck the `Messages` array and remove `To` number duplicates if any\n",
    "causes": "The provided `Messages` array has one or more duplicate `To` numbers",
    "solutions": "Check the `Messages` array and remove `To` number duplicates if any",
    "description": "`Messages` array contains duplicate `To` numbers. Please check the list for duplicates",
    "date_created": "2023-07-17T00:58:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 35654,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcription: PCI Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 32654 Error is an indication that the `<Transcription>` PCI mode is enabled on your account.\n\n### Possible causes\n\n\\*`<Transcription>` cannot be used with PCI mode enabled on your account.\n\n### Possible solutions\n\n- Ensure PCI mode is disabled for your account to use `<Transcription>`\n",
    "causes": "\\*`<Transcription>` cannot be used with PCI mode enabled on your account.",
    "solutions": "* Ensure PCI mode is disabled for your account to use `<Transcription>`",
    "description": "A 32654 Error is an indication that the `<Transcription>` PCI mode is enabled on your account.",
    "date_created": "2024-05-08T19:40:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 36001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast SID Not Found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Broadcast SID in your request wasn't found. Provide a non-empty Broadcast SID that matches an existing Broadcast resource. Broadcast SIDs are 34 alphanumeric characters prefixed with `BC`.\n\n### Possible causes\n\n- You didn't include a Broadcast SID in the request.\n- The Broadcast SID does not exist.\n- The value is not a valid Broadcast SID format. Broadcast SIDs use a `BC` prefix and 34 alphanumeric characters.\n\n### Possible solutions\n\n- Send a non-empty Broadcast SID.\n- Verify that the Broadcast SID is 34 alphanumeric characters and starts with `BC`.\n- Use the SID for an existing broadcast before you retry the request.\n\n#### Additional resources\n\n- [Messaging API overview](/docs/messaging/api)\n- [What is a SID?](/docs/glossary/what-is-a-sid)\n- [Messages resource](/docs/messaging/api/message-resource)\n",
    "causes": "* You didn't include a Broadcast SID in the request.\n* The Broadcast SID does not exist.\n* The value is not a valid Broadcast SID format. Broadcast SIDs use a `BC` prefix and 34 alphanumeric characters.",
    "solutions": "* Send a non-empty Broadcast SID.\n* Verify that the Broadcast SID is 34 alphanumeric characters and starts with `BC`.\n* Use the SID for an existing broadcast before you retry the request.",
    "description": "The Broadcast SID in your request wasn't found. Provide a non-empty Broadcast SID that matches an existing Broadcast resource. Broadcast SIDs are 34 alphanumeric characters prefixed with `BC`.",
    "date_created": "2023-12-15T21:47:15Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 36002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast Request Limit Reached",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe limit of the number of Broadcast requests for this account has been reached\n\n### Possible causes\n\n- You are at the limit of Broadcast requests for your account and cannot create any additional Broadcasts\n\n### Possible solutions\n\n- Wait for your existing Broadcasts to process before creating more Broadcasts\n- If you have any Broadcasts with status PENDING\\_UPLOAD, upload a file to those Broadcasts first to resume processing on them\n",
    "causes": "* You are at the limit of Broadcast requests for your account and cannot create any additional Broadcasts",
    "solutions": "* Wait for your existing Broadcasts to process before creating more Broadcasts\n* If you have any Broadcasts with status PENDING\\_UPLOAD, upload a file to those Broadcasts first to resume processing on them",
    "description": "The limit of the number of Broadcast requests for this account has been reached",
    "date_created": "2023-12-15T21:48:35Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 36003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast Upload File Size Exceeded",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe file size is greater than the allowed 25 MB\n\n### Possible causes\n\n- You attempted to upload a file that is greater than 25 MB\n\n### Possible solutions\n\n- Upload a file that is less than 25 MB\n",
    "causes": "* You attempted to upload a file that is greater than 25 MB",
    "solutions": "* Upload a file that is less than 25 MB",
    "description": "The file size is greater than the allowed 25 MB",
    "date_created": "2023-12-15T21:50:01Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 36004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Error Retrieving File",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nFile couldn't be retrieved, make sure it has 'file' key\n\n### Possible causes\n\n- You did not specify a key with the name \"file\" in the Broadcast Upload request body\n\n### Possible solutions\n\n- Attach a .json.gz file as the value to the \"file\" key in the Broadcast Upload request body\n",
    "causes": "* You did not specify a key with the name \"file\" in the Broadcast Upload request body",
    "solutions": "* Attach a .json.gz file as the value to the \"file\" key in the Broadcast Upload request body",
    "description": "File couldn't be retrieved, make sure it has 'file' key",
    "date_created": "2023-12-15T21:51:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 36005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast File Type Invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when you upload a Broadcast file that is not a `.json.gz` file. For Broadcast uploads, provide a GZIP-compressed JSON file and attach it as the value of the `file` key in the request body.\n\n### Possible causes\n\n- You uploaded a file that is not a `.json.gz` file.\n- You uploaded JSON that was not GZIP-compressed.\n- You uploaded a compressed file in a format other than `.json.gz`.\n\n### Possible solutions\n\n- Create a GZIP-compressed JSON file and upload it with a `.json.gz` extension.\n- Attach the upload file as the value of the `file` key in the Broadcast Upload request body.\n- If the upload is rejected again, verify that the file is under 25 MB before retrying.\n- Review the request in Messaging logs or Error Logs to confirm which upload failed and what file was sent.\n\n#### Additional resources\n- [Programmable Messaging](/docs/messaging)\n- [Twilio API requests](/docs/usage/requests-to-twilio)\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n",
    "causes": "* You uploaded a file that is not a `.json.gz` file.\n* You uploaded JSON that was not GZIP-compressed.\n* You uploaded a compressed file in a format other than `.json.gz`.",
    "solutions": "* Create a GZIP-compressed JSON file and upload it with a `.json.gz` extension.\n* Attach the upload file as the value of the `file` key in the Broadcast Upload request body.\n* If the upload is rejected again, verify that the file is under 25 MB before retrying.\n* Review the request in Messaging logs or Error Logs to confirm which upload failed and what file was sent.",
    "description": "This error occurs when you upload a Broadcast file that is not a `.json.gz` file. For Broadcast uploads, provide a GZIP-compressed JSON file and attach it as the value of the `file` key in the request body.",
    "date_created": "2023-12-15T21:53:10Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 36006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast Cannot Be Canceled",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Broadcast is in a non-cancelable state. The broadcast cannot be canceled when in any of the following statuses: EXECUTION\\_COMPLETED, EXECUTION\\_FAILURE, CANCELED.\n\n### Possible causes\n\n- The Broadcast already completed execution, either successfully or with a failure\n- The Broadcast was already canceled\n\n### Possible solutions\n\n- Ensure that you provide a Broadcast SID for a Broadcast that is still in progress\n",
    "causes": "* The Broadcast already completed execution, either successfully or with a failure\n* The Broadcast was already canceled",
    "solutions": "* Ensure that you provide a Broadcast SID for a Broadcast that is still in progress",
    "description": "The Broadcast is in a non-cancelable state. The broadcast cannot be canceled when in any of the following statuses: EXECUTION\\_COMPLETED, EXECUTION\\_FAILURE, CANCELED.",
    "date_created": "2023-12-15T21:54:14Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 36007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast Upload Status Check Failure",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Broadcast cannot have a file uploaded to it because it is in a state other than PENDING\\_UPLOAD.\n\n### Possible causes\n\n- The Broadcast SID that you provided is for a Broadcast that is in a state other than PENDING\\_UPLOAD. Those other states include: UPLOADED, QUEUED, EXECUTING, EXECUTION\\_FAILURE, EXECUTION\\_COMPLETED, CANCELATION\\_REQUESTED, CANCELED\n\n### Possible solutions\n\n- Upload the file to a Broadcast SID that is in a PENDING\\_UPLOAD state\n",
    "causes": "* The Broadcast SID that you provided is for a Broadcast that is in a state other than PENDING\\_UPLOAD. Those other states include: UPLOADED, QUEUED, EXECUTING, EXECUTION\\_FAILURE, EXECUTION\\_COMPLETED, CANCELATION\\_REQUESTED, CANCELED",
    "solutions": "* Upload the file to a Broadcast SID that is in a PENDING\\_UPLOAD state",
    "description": "The Broadcast cannot have a file uploaded to it because it is in a state other than PENDING\\_UPLOAD.",
    "date_created": "2024-01-04T23:14:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 36008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Page Token",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nProvided page token query parameter is invalid.\n\nThe provided page token query parameter must be a valid Broadcast SID, consisting of 34 alphanumeric characters, prefixed with \"BC\".\n\n### Possible causes\n\n- The provided page token has more or less than 34 characters\n- The provided page token has non-alphanumeric characters.\n- The prefix of the provided page token is something other than \"BC\"\n\n### Possible solutions\n\n- Make sure the page token has exactly 34 alphanumeric characters\n- Make sure the page token is prefixed with \"BC\"\n",
    "causes": "* The provided page token has more or less than 34 characters\n* The provided page token has non-alphanumeric characters.\n* The prefix of the provided page token is something other than \"BC\"",
    "solutions": "* Make sure the page token has exactly 34 alphanumeric characters\n* Make sure the page token is prefixed with \"BC\"",
    "description": "Provided page token query parameter is invalid. The provided page token query parameter must be a valid Broadcast SID, consisting of 34 alphanumeric characters, prefixed with \"BC\".",
    "date_created": "2024-03-04T21:37:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 36009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Stats for Broadcast SID Not Found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nStats for the Broadcast SID entered were not found\n\n### Possible causes\n\n- You provided an empty Broadcast SID\n- You provided a Broadcast SID that does not exist\n- Stats for the Broadcast SID are not available yet\n\n### Possible solutions\n\n- Provide a non-empty, existing Broadcast SID\n- If the Broadcast SID is valid, please retry after some time\n",
    "causes": "* You provided an empty Broadcast SID\n* You provided a Broadcast SID that does not exist\n* Stats for the Broadcast SID are not available yet",
    "solutions": "* Provide a non-empty, existing Broadcast SID\n* If the Broadcast SID is valid, please retry after some time",
    "description": "Stats for the Broadcast SID entered were not found",
    "date_created": "2024-08-06T19:22:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Call permission not granted by consumer",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe business-initiated WhatsApp call failed because the consumer had not granted permission to initiate the call.\n\n### Possible causes\n\nThe business-initiated WhatsApp call was placed to the consumer without the necessary call permission being accepted.\n\n### Possible solutions\n\nEnsure that call permission has been requested and accepted before initiating a call with the consumer.\n",
    "causes": "The business-initiated WhatsApp call was placed to the consumer without the necessary call permission being accepted.",
    "solutions": "Ensure that call permission has been requested and accepted before initiating a call with the consumer.",
    "description": "The business-initiated WhatsApp call failed because the consumer had not granted permission to initiate the call.",
    "date_created": "2024-09-10T01:16:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Outbound calls are not supported in this region",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe business-initiated WhatsApp call failed because it is not supported in the Twilio region.\n\n### Possible causes\n\nBusiness-initiated WhatsApp calls are not supported in all Twilio regions.\n\n### Possible solutions\n\nEnsure that a business-initiated WhatsApp call is placed in the supported Twilio Region.\n",
    "causes": "Business-initiated WhatsApp calls are not supported in all Twilio regions.",
    "solutions": "Ensure that a business-initiated WhatsApp call is placed in the supported Twilio Region.",
    "description": "The business-initiated WhatsApp call failed because it is not supported in the Twilio region.",
    "date_created": "2024-11-18T18:15:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Calling is not enabled on the business number",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe business-initiated WhatsApp call failed because WhatsApp Business Calling is not enabled on the From number. The From number of the business-initiated call should be your WhatsApp sender with the WhatsApp Business Calling enabled.\n\n### Possible causes\n\nWhatsApp Business Calling is not enabled on the From number.\n\n### Possible solutions\n\nConfigure your sender for WhatsApp Business Calling. Please see [how to configure your sender for WhatsApp Business Calling](/docs/voice/whatsapp-business-calling#configure-your-sender-for-whatsapp-business-calling) for details.\n",
    "causes": "WhatsApp Business Calling is not enabled on the From number.",
    "solutions": "Configure your sender for WhatsApp Business Calling. Please see [how to configure your sender for WhatsApp Business Calling](/docs/voice/whatsapp-business-calling#configure-your-sender-for-whatsapp-business-calling) for details.",
    "description": "The business-initiated WhatsApp call failed because WhatsApp Business Calling is not enabled on the From number. The From number of the business-initiated call should be your WhatsApp sender with the WhatsApp Business Calling enabled.",
    "date_created": "2025-06-09T14:12:36.168Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Duplicated call",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe business-initiated WhatsApp call failed because there is an ongoing call from the business number to the same consumer number.\n\n### Possible causes\n\nA call is already ongoing with the receiver.\n\n### Possible solutions\n\nTry again later when the ongoing call ends.\n",
    "causes": "A call is already ongoing with the receiver.",
    "solutions": "Try again later when the ongoing call ends.",
    "description": "The business-initiated WhatsApp call failed because there is an ongoing call from the business number to the same consumer number.",
    "date_created": "2025-06-09T14:15:11.46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Call rate limit exceeded",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nLimit reached for maximum calls that can be initiated by the business phone number.\n\n### Possible causes\n\nCall rate limit exceeded.\n\n### Possible solutions\n\nTry again later or reduce the frequency or amount of business-initiated calls.\n",
    "causes": "Call rate limit exceeded.",
    "solutions": "Try again later or reduce the frequency or amount of business-initiated calls.",
    "description": "Limit reached for maximum calls that can be initiated by the business phone number.",
    "date_created": "2025-06-09T14:16:37.066Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Could not change calling status on the WhatsApp Sender",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe update business number calling status failed because WhatsApp rejected it.\n\n### Possible causes\n\nThe Sender is offline\n\n### Possible solutions\n\nVerify the phone number status in the WhatsApp Manager.\n",
    "causes": "The Sender is offline",
    "solutions": "Verify the phone number status in the WhatsApp Manager.",
    "description": "The update business number calling status failed because WhatsApp rejected it.",
    "date_created": "2025-06-10T22:29:57.687Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Limit reached for maximum business initiated calls allowed to the same number in 24 hours",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA business can make no more than five connected calls to the same number in 24 hours.\n\n### Possible causes\n\nThere are more than five connected calls to the same number in the past 24 hours.\n\n### Possible solutions\n\nTry again later or reduce the frequency or amount of business-initiated calls.\n",
    "causes": "There are more than five connected calls to the same number in the past 24 hours.",
    "solutions": "Try again later or reduce the frequency or amount of business-initiated calls.",
    "description": "A business can make no more than five connected calls to the same number in 24 hours.",
    "date_created": "2025-07-01T23:21:44.897Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Business-initiated calling is not available in the country",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe business-initiated WhatsApp call failed because this feature is not available in the country associated with the From number's country code. To use business-initiated calling, the country code must be in the list of supported countries. For more information and the complete list of supported countries, please refer to [Meta's WhatsApp Business Calling API documentation](https://developers.facebook.com/docs/whatsapp/cloud-api/calling#availability).\n\n### Possible causes\n\nBusiness-initiated calling is not available in the country.\n\n### Possible solutions\n\nPlease update the From or Caller ID to a WhatsApp phone number whose country code is included in Meta's list of supported countries.\n",
    "causes": "Business-initiated calling is not available in the country.",
    "solutions": "Please update the From or Caller ID to a WhatsApp phone number whose country code is included in Meta's list of supported countries.",
    "description": "The business-initiated WhatsApp call failed because this feature is not available in the country associated with the From number's country code. To use business-initiated calling, the country code must be in the list of supported countries. For more information and the complete list of supported countries, please refer to [Meta's WhatsApp Business Calling API documentation](https://developers.facebook.com/docs/whatsapp/cloud-api/calling#availability).",
    "date_created": "2025-07-08T16:53:09.087Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Outbound call fails due to invalid from number",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe business-initiated WhatsApp call failed because the specified \"From\" number (or caller ID) is invalid. The \"From\" number (or caller ID) must be a registered WhatsApp Sender on the account making the call.\n\n### Possible causes\n\n- The \"From\" number (or caller ID) is not a registered WhatsApp Sender for your account.\n- An incorrect value was used in the \"From\" number (or caller ID).\n\n### Possible solutions\n\n- Verify that the \"From\" number (or caller ID) you specified matches a valid WhatsApp Sender registered to your account.\n- Ensure the value of the \"From\" (or caller ID) uses the correct format: It must start with \"whatsapp:\", followed by the registered WhatsApp Sender in the E.164 format (e.g., \"whatsapp:+14155551234\").\n",
    "causes": "* The \"From\" number (or caller ID) is not a registered WhatsApp Sender for your account.\n* An incorrect value was used in the \"From\" number (or caller ID).",
    "solutions": "* Verify that the \"From\" number (or caller ID) you specified matches a valid WhatsApp Sender registered to your account.\n* Ensure the value of the \"From\" (or caller ID) uses the correct format: It must start with \"whatsapp:\", followed by the registered WhatsApp Sender in the E.164 format (e.g., \"whatsapp:+14155551234\").",
    "description": "The business-initiated WhatsApp call failed because the specified \"From\" number (or caller ID) is invalid. The \"From\" number (or caller ID) must be a registered WhatsApp Sender on the account making the call.",
    "date_created": "2025-07-17T21:00:13.446Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Voice application not configured",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe user-initiated WhatsApp call failed because no voice application (TwiML application) is configured on the WhatsApp Sender.\n\n### Possible causes\n\nYour WhatsApp Sender does not have a voice application configured.\n\n### Possible solutions\n\nPlease configure a voice application on the WhatsApp Sender either in Console or using Twilio API. For more details, please refer to [Configure your sender for WhatsApp Business Calling](/docs/voice/whatsapp-business-calling#configure-your-sender-for-whatsapp-business-calling).\n",
    "causes": "Your WhatsApp Sender does not have a voice application configured.",
    "solutions": "Please configure a voice application on the WhatsApp Sender either in Console or using Twilio API. For more details, please refer to [Configure your sender for WhatsApp Business Calling](/docs/voice/whatsapp-business-calling#configure-your-sender-for-whatsapp-business-calling).",
    "description": "The user-initiated WhatsApp call failed because no voice application (TwiML application) is configured on the WhatsApp Sender.",
    "date_created": "2025-07-22T17:05:34.482Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 37010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Voice Call Permanent Permission Exists",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nCall permission request cannot be sent because a permanent permission has already been approved by the user for this business account phone number.\n\n### Possible causes\n\nCall permission request can't be sent because a permanent permission already exists.\n\n### Possible solutions\n\nSending a call permission request is not needed for this user at this time.\n",
    "causes": "Call permission request can't be sent because a permanent permission already exists.",
    "solutions": "Sending a call permission request is not needed for this user at this time.",
    "description": "Call permission request cannot be sent because a permanent permission has already been approved by the user for this business account phone number.",
    "date_created": "2026-02-12T23:02:13-08:00",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 38000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Teams: Invalid To number",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe outbound call to a Teams number fails because the destination number is invalid. The destination Teams number must be provisioned in the account placing the call.\n\n### Possible causes\n\n- The destination Teams number might be provisioned in a different account.\n- The number might not be in the ready state. The number might be in uploading or released.\n\n### Possible solutions\n\n- Verify the destination number is a Teams number provisioned in the account placing the call.\n- Check the number's state in the connector configuration.\n",
    "causes": "* The destination Teams number might be provisioned in a different account.\n* The number might not be in the ready state. The number might be in uploading or released.",
    "solutions": "* Verify the destination number is a Teams number provisioned in the account placing the call.\n* Check the number's state in the connector configuration.",
    "description": "The outbound call to a Teams number fails because the destination number is invalid. The destination Teams number must be provisioned in the account placing the call.",
    "date_created": "2025-08-13T17:12:34.906Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Content-Type of 'application/json' not set",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You responded with a 200 HTTP response but did not provide a `Content-Type` header of 'application/json'\n\n### Possible solutions\n\n- Add `Content-Type` header of 'application/json'\n\n### Example\n\n```json\n{\n\t\"instruction\": \"accept\"\n}\n```\n\nwith no `Content-Type` header provided.\n",
    "causes": "* You responded with a 200 HTTP response but did not provide a `Content-Type` header of 'application/json'",
    "solutions": "* Add `Content-Type` header of 'application/json'",
    "description": "",
    "date_created": "2016-05-19T19:42:01Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40001,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Could not parse Assignment Instruction response as JSON. Ensure your JSON is not escaped",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\n#### Example\n\n##### Valid JSON (Not Escaped)\n\n```json\n{\n  \"instruction\": \"call\",\n  \"from\": \"+15558675309\",\n  \"url\": \"http://example.com/agent_answer\",\n  \"status_callback_url\":\n    \"http://example.com/agent_answer_status_callback\"\n}\n```\n\n##### Invalid JSON (Escaped)\n\n```json\n{\\r\\n  \\\"instruction\\\": \\\"call\\\",\\r\\n  \\\"from\\\": \\\"+15558675309\\\",\\r\\n  \\\"url\\\": \\\"http:\\/\\/example.com\\/agent_answer\\\",   \\r\\n  \\\"status_callback_url\\\":\\r\\n    \\\"http:\\/\\/example.com\\/agent_answer_status_callback\\\"\\r\\n}\n```\n\n### Possible causes\n\nJSON is escaped\n\n### Possible solutions\n\nEnsure your JSON is not escaped\n",
    "causes": "JSON is escaped",
    "solutions": "Ensure your JSON is not escaped",
    "description": "",
    "date_created": "2020-07-15T22:41:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40005,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Assignment Callback response does not contain Instruction",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nAssignment Callback response does not contain 'instruction'\n\n### Possible causes\n\nAssignment Callback response is a 200 with some json that doesn't contain 'instruction'.\n\n### Possible solutions\n\nDo not respond to the Assignment Callback or issue an empty json response.\n",
    "causes": "Assignment Callback response is a 200 with some json that doesn't contain 'instruction'.",
    "solutions": "Do not respond to the Assignment Callback or issue an empty json response.",
    "description": "Assignment Callback response does not contain 'instruction'",
    "date_created": "2020-03-11T21:23:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TaskRouter->Reject",
    "secondary_message": "Your Reject instruction does not include a valid `activity_sid` parameter.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\nYour Reject instruction does not include a valid `activity_sid` parameter.\n\n### Possible causes\n\n- You did not include an `activity_sid` parameter in your `reject` instruction.\n- You did include an `activity_sid` but it was invalid or no longer exists.\n\n### Possible solutions\n\n- Confirm a valid `ActivitySid` value is is being passed by your code into the request payload JSON's `activity_sid` parameter: `{ \"instruction\": \"reject\", \"activity_sid\": \"WA0123456789abcdef0123456789abcdef\" }`\n",
    "causes": "* You did not include an `activity_sid` parameter in your `reject` instruction.\n* You did include an `activity_sid` but it was invalid or no longer exists.",
    "solutions": "* Confirm a valid `ActivitySid` value is is being passed by your code into the request payload JSON's `activity_sid` parameter: `{ \"instruction\": \"reject\", \"activity_sid\": \"WA0123456789abcdef0123456789abcdef\" }`",
    "description": "Your Reject instruction does not include a valid `activity_sid` parameter.",
    "date_created": "2016-03-31T17:14:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40110,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Call",
    "secondary_message": "Call Instruction does not have a valid 'to' parameter provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not provide a \"to\" parameter on your 'call' instruction.\n- You provided an invalid format in your \"to\" field.\n\n### Possible solutions\n\n- Make certain \"to\" contains a valid phone number, client URI, or SIP URI.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"call\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"url\": \"https://example.com/twiml\"\r\n}\n```\n",
    "causes": "* You did not provide a \"to\" parameter on your 'call' instruction.\n* You provided an invalid format in your \"to\" field.",
    "solutions": "* Make certain \"to\" contains a valid phone number, client URI, or SIP URI.",
    "description": "",
    "date_created": "2016-03-31T17:14:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40111,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Call",
    "secondary_message": "Call Instruction does not have a valid 'from' parameter provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not provide a \"from\" parameter on your 'call' instruction.\n- You provided an invalid format in your \"from\" field.\n\n### Possible solutions\n\n- Make certain \"from\" contains a validated caller ID if you're dialing the PSTN.\n- Make certain \"from\" contains an acceptable caller field when connecting to client or SIP.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"call\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"url\": \"https://example.com/twiml\"\r\n}\n```\n",
    "causes": "* You did not provide a \"from\" parameter on your 'call' instruction.\n* You provided an invalid format in your \"from\" field.",
    "solutions": "* Make certain \"from\" contains a validated caller ID if you're dialing the PSTN.\n* Make certain \"from\" contains an acceptable caller field when connecting to client or SIP.",
    "description": "",
    "date_created": "2016-03-31T17:14:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40112,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Call",
    "secondary_message": "Call Instruction does not have a valid 'url' parameter provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not provide a \"url\" parameter on your 'call' instruction.\n- You provided an invalid format in your \"url\" field.\n\n### Possible solutions\n\n- Make certain \"url\" is provided and contains a well formed HTTP or HTTPS URL.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"call\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"url\": \"https://example.com/twiml?querystring=1234\"\r\n}\n```\n",
    "causes": "* You did not provide a \"url\" parameter on your 'call' instruction.\n* You provided an invalid format in your \"url\" field.",
    "solutions": "* Make certain \"url\" is provided and contains a well formed HTTP or HTTPS URL.",
    "description": "",
    "date_created": "2016-03-31T17:14:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40113,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Call",
    "secondary_message": "Call Instruction encountered an error when requesting an outgoing call be made from the API.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- Un-routable address provided for \"to\" field.\n- Invalid caller-id passed to \"from\" field.\n- Poorly formed URL passed to \"url\" field.\n- Internal Twilio API error.\n\n### Possible solutions\n\n- Make certain \"to\" contains a routable phone number, client URI or SIP URI.\n- Make certain \"to\" is to a country you have permissions set to call.\n- Make certain \"from\" contains an acceptable caller ID for the chosen \"to\" address.\n- Make certain \"url\" is a valid HTTP/HTTPS URL.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"call\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"url\": \"https://example.com/twiml\"\r\n}\n```\n",
    "causes": "* Un-routable address provided for \"to\" field.\n* Invalid caller-id passed to \"from\" field.\n* Poorly formed URL passed to \"url\" field.\n* Internal Twilio API error.",
    "solutions": "* Make certain \"to\" contains a routable phone number, client URI or SIP URI.\n* Make certain \"to\" is to a country you have permissions set to call.\n* Make certain \"from\" contains an acceptable caller ID for the chosen \"to\" address.\n* Make certain \"url\" is a valid HTTP/HTTPS URL.",
    "description": "",
    "date_created": "2016-03-31T17:14:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40114,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Call",
    "secondary_message": "Call Instruction can only be issued on a currently pending reservation.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Reservation has been moved to a non-Pending state.\n\n### Possible solutions\n\n- Make certain that the Reservation is currently Pending.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"call\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"url\": \"https://example.com/twiml\"\r\n}\n```\n",
    "causes": "* The Reservation has been moved to a non-Pending state.",
    "solutions": "* Make certain that the Reservation is currently Pending.",
    "description": "",
    "date_created": "2016-08-22T22:59:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40120,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Direct",
    "secondary_message": "Redirect Instruction does not have a valid 'url' parameter provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not provide a \"url\" parameter on your 'redirect' instruction.\n- You provided an invalid format in your \"url\" field.\n\n### Possible solutions\n\n- Make certain \"url\" is provided and contains a well formed HTTP or HTTPS URL.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"redirect\",\r\n\t\"call_sid\": \"CA0123456789abcdef0123456789abcdef\",\r\n\t\"url\": \"https://example.com/twiml?querystring=1234\"\r\n}\n```\n",
    "causes": "* You did not provide a \"url\" parameter on your 'redirect' instruction.\n* You provided an invalid format in your \"url\" field.",
    "solutions": "* Make certain \"url\" is provided and contains a well formed HTTP or HTTPS URL.",
    "description": "",
    "date_created": "2016-03-31T17:14:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40121,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Direct",
    "secondary_message": "Redirect Instruction does not have a valid 'call\\_sid' parameter provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not provide a \"call\\_sid\" parameter on your 'redirect' instruction.\n- You provided an invalid value for the \"call\\_sid\" parameter.\n\n### Possible solutions\n\n- Make certain \"call\\_sid\" is provided an is a 34char string starting with CA that represents a live call.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"redirect\",\r\n\t\"call_sid\": \"CA0123456789abcdef0123456789abcdef\",\r\n\t\"url\": \"https://example.com/twiml?querystring=1234\"\r\n}\n```\n",
    "causes": "* You did not provide a \"call\\_sid\" parameter on your 'redirect' instruction.\n* You provided an invalid value for the \"call\\_sid\" parameter.",
    "solutions": "* Make certain \"call\\_sid\" is provided an is a 34char string starting with CA that represents a live call.",
    "description": "",
    "date_created": "2016-03-31T17:14:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40122,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Direct",
    "secondary_message": "Direct Instruction encountered an error when redirecting a call via the API.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The call being redirected is no longer in progress.\n- The call\\_sid passed doesn't reference an actual call\n\n### Possible solutions\n\n- Make certain \"call\\_sid\" is provided an is a 34 char string starting with CA that represents a live call.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"redirect\",\r\n\t\"call_sid\": \"CA0123456789abcdef0123456789abcdef\",\r\n\t\"url\": \"https://example.com/twiml?querystring=1234\"\r\n}\n```\n",
    "causes": "* The call being redirected is no longer in progress.\n* The call\\_sid passed doesn't reference an actual call",
    "solutions": "* Make certain \"call\\_sid\" is provided an is a 34 char string starting with CA that represents a live call.",
    "description": "",
    "date_created": "2016-03-31T17:14:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40123,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Redirect",
    "secondary_message": "Redirect Instruction can only be issued on a currently pending reservation.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Reservation has been moved to a non-Pending state.\n\n### Possible solutions\n\n- Make certain that the Reservation is currently Pending.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"redirect\",\r\n\t\"call_sid\": \"CA0123456789abcdef0123456789abcdef\",\r\n\t\"url\": \"https://example.com/twiml?querystring=1234\"\r\n}\n```\n",
    "causes": "* The Reservation has been moved to a non-Pending state.",
    "solutions": "* Make certain that the Reservation is currently Pending.",
    "description": "",
    "date_created": "2016-08-22T23:00:20Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40130,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Dequeue",
    "secondary_message": "Dequeue Instruction does not have a valid 'post\\_work\\_activity\\_sid' provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You provided a \"post\\_work\\_activity\\_sid\"\" that was invalid or no longer exists.\n\n### Possible solutions\n\n- Confirm a valid ActivitySid is being passed in the \"post\\_work\\_activity\\_sid\" parameter exists in your workspace.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"dequeue\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* You provided a \"post\\_work\\_activity\\_sid\"\" that was invalid or no longer exists.",
    "solutions": "* Confirm a valid ActivitySid is being passed in the \"post\\_work\\_activity\\_sid\" parameter exists in your workspace.",
    "description": "",
    "date_created": "2016-03-31T17:14:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40131,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Dequeue",
    "secondary_message": "Dequeue Instruction does not have a valid 'to' parameter provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not provide a \"to\" parameter on your 'dequeue' instruction.\n- You provided an invalid format in your \"to\" field.\n\n### Possible solutions\n\n- Make certain \"to\" contains a valid phone number, client URI, or SIP URI.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"dequeue\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* You did not provide a \"to\" parameter on your 'dequeue' instruction.\n* You provided an invalid format in your \"to\" field.",
    "solutions": "* Make certain \"to\" contains a valid phone number, client URI, or SIP URI.",
    "description": "",
    "date_created": "2016-03-31T17:14:42Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40132,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Dequeue",
    "secondary_message": "Dequeue Instruction does not have a valid 'from' parameter provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not provide a \"from\" parameter on your 'dequeue' instruction.\n- You provided an invalid format in your \"from\" field.\n\n### Possible solutions\n\n- Make certain \"from\" contains a validated caller ID if you're dialing the PSTN.\n- Make certain \"from\" contains an acceptable caller field when connecting to client or SIP.\n\n### Example\n\n```bash\n{\n\t\"instruction\": \"dequeue\",\n\t\"to\": \"client:alice\",\n\t\"from\": \"bob\",\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\n}\n```\n",
    "causes": "* You did not provide a \"from\" parameter on your 'dequeue' instruction.\n* You provided an invalid format in your \"from\" field.",
    "solutions": "* Make certain \"from\" contains a validated caller ID if you're dialing the PSTN.\n* Make certain \"from\" contains an acceptable caller field when connecting to client or SIP.",
    "description": "",
    "date_created": "2016-03-31T17:14:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40133,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Dequeue",
    "secondary_message": "Dequeue Instruction encountered an error when requesting an outgoing call be made from the API.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- Un-routable address provided for \"to\" field.\n- Invalid caller-id passed to \"from\" field.\n- Internal Twilio API error.\n\n### Possible solutions\n\n- Make certain \"to\" contains a routable phone number, client URI or SIP URI.\n- Make certain \"to\" is to a country you have permissions set to call.\n- Make certain \"from\" contains an acceptable caller ID for the chosen \"to\" address.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"dequeue\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"18001234567\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* Un-routable address provided for \"to\" field.\n* Invalid caller-id passed to \"from\" field.\n* Internal Twilio API error.",
    "solutions": "* Make certain \"to\" contains a routable phone number, client URI or SIP URI.\n* Make certain \"to\" is to a country you have permissions set to call.\n* Make certain \"from\" contains an acceptable caller ID for the chosen \"to\" address.",
    "description": "",
    "date_created": "2016-03-31T17:14:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40134,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Dequeue Instruction does not have a valid 'status_callback_events' parameter",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You provided an invalid format in your \"status\\_callback\\_events\" field.\n\n### Possible solutions\n\n- Make certain \"status\\_callback\\_events\" contains a valid comma separated string of events to subscribe to if responding to an assignment callback\n- Make certain each \"DequeueStatusCallbackEvent\" contains an acceptable event to subscribe to if making a `POST` /v1/Workspaces/\\{WorkspaceSid}/Tasks/\\{TaskSid}/Reservations/\\{ReservationSid}\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"dequeue\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\",\r\n    \"status_callback_events\": \"initiated,ringing,answered,completed\"\r\n}\n```\n",
    "causes": "* You provided an invalid format in your \"status\\_callback\\_events\" field.",
    "solutions": "* Make certain \"status\\_callback\\_events\" contains a valid comma separated string of events to subscribe to if responding to an assignment callback\n* Make certain each \"DequeueStatusCallbackEvent\" contains an acceptable event to subscribe to if making a `POST` /v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations/{ReservationSid}",
    "description": "",
    "date_created": "2016-07-28T22:11:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40135,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Dequeue",
    "secondary_message": "Dequeue Instruction can only be issued on a currently pending reservation.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Reservation has been moved to a non-Pending state.\n\n### Possible solutions\n\n- Make certain that the Reservation is currently Pending.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"dequeue\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"18001234567\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* The Reservation has been moved to a non-Pending state.",
    "solutions": "* Make certain that the Reservation is currently Pending.",
    "description": "",
    "date_created": "2016-08-22T23:02:11Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40136,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TaskRouter->Conference",
    "secondary_message": "Conference Instruction can only be issued on a currently pending reservation.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Reservation has been moved to a non-Pending state.\n\n### Possible solutions\n\n- Make certain that the Reservation is currently Pending.\n\n### Example\n\n```bash\n{\n\t\"instruction\": \"conference\",\n\t\"to\": \"client:alice\",\n\t\"from\": \"+18001234567\"\n}\n```\n",
    "causes": "* The Reservation has been moved to a non-Pending state.",
    "solutions": "* Make certain that the Reservation is currently Pending.",
    "description": "",
    "date_created": "2018-12-03T19:12:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40137,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing 'to' parameter when issuing Conference instruction",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nA valid 'to' parameter must be provided when using the Conference Instruction\n\n### Possible causes\n\n- A 'to' parameter was not passed when issuing the Conference instruction\n- The 'to' parameter supplied to the Conference instruction was invalid\n\n### Possible solutions\n\n- Supply a valid 'to' parameter when issuing the Conference instruction\n\n#### Example\n\n```bash\n{\r\n\t\"instruction\": \"conference\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"+18001234567\"\r\n}\n```\n",
    "causes": "* A 'to' parameter was not passed when issuing the Conference instruction\n* The 'to' parameter supplied to the Conference instruction was invalid",
    "solutions": "* Supply a valid 'to' parameter when issuing the Conference instruction",
    "description": "A valid 'to' parameter must be provided when using the Conference Instruction",
    "date_created": "2020-08-19T23:07:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40138,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing 'from' parameter when issuing Conference instruction",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nA valid 'from' parameter was not passed to the 'conference' instruction\n\n### Possible causes\n\n- A 'from' parameter was not passed when issuing the Conference instruction\n- The 'from' parameter supplied to the Conference instruction was invalid\n\n### Possible solutions\n\n- Supply a valid 'from' parameter when issuing the Conference instruction\n\n#### Example\n\n```bash\n{\r\n\t\"instruction\": \"conference\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"+18001234567\"\r\n}\n```\n",
    "causes": "* A 'from' parameter was not passed when issuing the Conference instruction\n* The 'from' parameter supplied to the Conference instruction was invalid",
    "solutions": "* Supply a valid 'from' parameter when issuing the Conference instruction",
    "description": "A valid 'from' parameter was not passed to the 'conference' instruction",
    "date_created": "2020-08-21T00:09:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40139,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to issue Conference Instruction due to invalid ActivitySid",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nConference Instruction requires a valid `post_work_activity_sid`\n\n### Possible causes\n\n- The provided `post_work_activity_sid` is invalid or no longer exists in the operating Workspace.\n\n### Possible solutions\n\n- Ensure that a valid ActivitySid is provided in the `post_work_activity_sid` property in the Worker's attributes or request parameters.\n\n#### Example\n\n```bash\n{\r\n\t\"instruction\": \"conference\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"bob\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* The provided `post_work_activity_sid` is invalid or no longer exists in the operating Workspace.",
    "solutions": "* Ensure that a valid ActivitySid is provided in the `post_work_activity_sid` property in the Worker's attributes or request parameters.",
    "description": "Conference Instruction requires a valid `post_work_activity_sid`",
    "date_created": "2020-09-14T21:40:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40140,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to issue Dequeue instruction due to missing 'call_sid' property",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Task was not created via the `<Enqueue>` verb\n- The `call_sid` property is missing in the Task's attributes\n\n### Possible solutions\n\n- Only issue Dequeue instruction on Tasks created via the `<Enqueue>` verb\n- Ensure that `call_sid` property is present in the Task's attributes\n",
    "causes": "* The Task was not created via the `<Enqueue>` verb\n* The `call_sid` property is missing in the Task's attributes",
    "solutions": "* Only issue Dequeue instruction on Tasks created via the `<Enqueue>` verb\n* Ensure that `call_sid` property is present in the Task's attributes",
    "description": "",
    "date_created": "2016-04-27T19:38:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40141,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Conference",
    "secondary_message": "Conference Instruction does not have a valid 'from' parameter provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not provide a 'from' parameter on your 'conference' instruction.\n- You provided an invalid format in your \"from\" field.\n\n### Possible solutions\n\n- Make certain 'from' contains a validated caller ID if you're dialing the PSTN.\n- Make certain 'from' contains an acceptable caller field.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"conference\",\r\n\t\"room_name\": \"abc\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"18001234567\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* You did not provide a 'from' parameter on your 'conference' instruction.\n* You provided an invalid format in your \"from\" field.",
    "solutions": "* Make certain 'from' contains a validated caller ID if you're dialing the PSTN.\n* Make certain 'from' contains an acceptable caller field.",
    "description": "",
    "date_created": "2016-04-27T19:40:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40142,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to issue Conference instruction due to missing 'call_sid' or 'outbound_to' properties",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Task was not created via the `<Enqueue>` verb. (Inbound Voice call)\n- The `call_sid` property is missing the Task's attributes. (Inbound Voice call)\n- The `outbound_to` property is missing in the Task's attributes. (Outbound Voice call)\n\n### Possible solutions\n\n- Ensure that the Conference instruction is issued on an `<Enqueue>` created Task. (Inbound Voice call)\n- Ensure that 'outbound\\_to' property is present in the Task's attributes. (Outbound Voice call)\n",
    "causes": "* The Task was not created via the `<Enqueue>` verb. (Inbound Voice call)\n* The `call_sid` property is missing the Task's attributes. (Inbound Voice call)\n* The `outbound_to` property is missing in the Task's attributes. (Outbound Voice call)",
    "solutions": "* Ensure that the Conference instruction is issued on an `<Enqueue>` created Task. (Inbound Voice call)\n* Ensure that 'outbound\\_to' property is present in the Task's attributes. (Outbound Voice call)",
    "description": "",
    "date_created": "2016-04-27T19:40:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40143,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Conference",
    "secondary_message": "Conference Instruction does not have a valid 'post\\_work\\_activity\\_sid' provided.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- You provided a 'post\\_work\\_activity\\_sid' that was invalid or no longer exists.\n\n### Possible solutions\n\n- Confirm a valid ActivitySid is being passed in the 'post\\_work\\_activity\\_sid' parameter and it exists in your workspace.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"conference\",\r\n\t\"room_name\": \"abc\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"18001234567\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* You provided a 'post\\_work\\_activity\\_sid' that was invalid or no longer exists.",
    "solutions": "* Confirm a valid ActivitySid is being passed in the 'post\\_work\\_activity\\_sid' parameter and it exists in your workspace.",
    "description": "",
    "date_created": "2016-04-27T19:42:29Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40144,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Conference",
    "secondary_message": "Conference Instruction does not have a pending Reservation for the Task",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The original caller has hungup\n- The Task has been moved into a 'canceled' state\n\n### Possible solutions\n\n- Make sure the Task created has not been canceled prior to issuing 'conference' instruction\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"conference\",\r\n\t\"room_name\": \"abc\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"18001234567\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* The original caller has hungup\n* The Task has been moved into a 'canceled' state",
    "solutions": "* Make sure the Task created has not been canceled prior to issuing 'conference' instruction",
    "description": "",
    "date_created": "2016-04-27T19:43:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40145,
    "log_level": "ERROR",
    "log_type": null,
    "message": "TaskRouter->Conference",
    "secondary_message": "Conference Instruction encountered an error when requesting an outgoing call be made from the API.",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- Un-routable address provided for 'to' field.\n- Invalid caller-id passed to 'from' field.\n- Missing 'room\\_name' field.\n- Internal Twilio API error.\n\n### Possible solutions\n\n- Make certain 'to' contains a routable phone number, client URI or SIP URI.\n- Make certain 'to' is to a country you have permissions set to call.\n- Make certain 'from' contains an acceptable caller ID for the chosen 'to' address.\n- Make certain 'room\\_name' is a valid Conference Room Name.\n\n### Example\n\n```bash\n{\r\n\t\"instruction\": \"conference\",\r\n\t\"room_name\": \"abc\",\r\n\t\"to\": \"client:alice\",\r\n\t\"from\": \"18001234567\",\r\n\t\"post_work_activity_sid\": \"WA0123456789abcdef0123456789abcdef\"\r\n}\n```\n",
    "causes": "* Un-routable address provided for 'to' field.\n* Invalid caller-id passed to 'from' field.\n* Missing 'room\\_name' field.\n* Internal Twilio API error.",
    "solutions": "* Make certain 'to' contains a routable phone number, client URI or SIP URI.\n* Make certain 'to' is to a country you have permissions set to call.\n* Make certain 'from' contains an acceptable caller ID for the chosen 'to' address.\n* Make certain 'room\\_name' is a valid Conference Room Name.",
    "description": "",
    "date_created": "2016-04-27T19:43:34Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40146,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to issue Supervise Instruction due to invalid Reservation state",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nThe Reservation is not in a valid state for the Supervise instruction to be used, the Reservation cannot be pending or canceled.\n\n### Possible causes\n\n- A Reservation has not yet been accepted by a Worker.\n- The Reservation has already been canceled.\n\n### Possible solutions\n\n- Confirm that the Reservation has been accepted by the assigned Worker\n",
    "causes": "* A Reservation has not yet been accepted by a Worker.\n* The Reservation has already been canceled.",
    "solutions": "* Confirm that the Reservation has been accepted by the assigned Worker",
    "description": "The Reservation is not in a valid state for the Supervise instruction to be used, the Reservation cannot be pending or canceled.",
    "date_created": "2020-08-21T00:35:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40147,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to issue Supervise instruction due to missing or invalid 'contact_uri' property",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- The `contact_uri` is missing in the Supervisor's Worker attributes.\n- The `contact_uri` in the Supervisor's Worker attributes is invalid.\n\n### Possible solutions\n\n- Add a valid `contact_uri` to the Supervisor's Worker attributes.\n",
    "causes": "* The `contact_uri` is missing in the Supervisor's Worker attributes.\n* The `contact_uri` in the Supervisor's Worker attributes is invalid.",
    "solutions": "* Add a valid `contact_uri` to the Supervisor's Worker attributes.",
    "description": "",
    "date_created": "2020-09-14T21:45:11Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40148,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to issue Supervise instruction due to missing ‘from’ property",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nA valid `from` parameter was not passed to the 'supervise' instruction\n\n### Possible causes\n\n- The `from` property is missing in the Task's attributes.\n- The `from` property in the Task's attributes is invalid.\n\n### Possible solutions\n\n- Ensure that a valid `from` property is provided in the Task's attributes.\n",
    "causes": "* The `from` property is missing in the Task's attributes.\n* The `from` property in the Task's attributes is invalid.",
    "solutions": "* Ensure that a valid `from` property is provided in the Task's attributes.",
    "description": "A valid `from` parameter was not passed to the 'supervise' instruction",
    "date_created": "2019-08-15T21:57:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40149,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to issue Conference instruction due to missing ‘conference_sid’",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nThe conference instruction issued as a result of the transfer can only be issued on a task which has a `conference_sid` in its attributes.\n\n### Possible causes\n\n- The Conference instruction was issued on the wrong Task.\n- The Task attributes were modified and no longer contain the `conference_sid` property.\n\n### Possible solutions\n\n- Confirm the Conference instruction is issued on the correct voice Task.\n- Ensure that the `conference_sid` is present in the Task's attributes.\n",
    "causes": "* The Conference instruction was issued on the wrong Task.\n* The Task attributes were modified and no longer contain the `conference_sid` property.",
    "solutions": "* Confirm the Conference instruction is issued on the correct voice Task.\n* Ensure that the `conference_sid` is present in the Task's attributes.",
    "description": "The conference instruction issued as a result of the transfer can only be issued on a task which has a `conference_sid` in its attributes.",
    "date_created": "2020-09-14T21:48:16Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40151,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TaskRouter->Invalid instruction",
    "secondary_message": "Invalid instruction issued on a task being transferred. Valid instructions are: ACCEPT, REJECT, CONFERENCE, SUPERVISE",
    "product": "TaskRouter",
    "docs": "\n## Description\n\n### Possible causes\n\n- Instruction is not acceptable for transferred tasks\n- Internal Twilio API error.\n\n### Possible solutions\n\n- Make certain that instruction is accept, reject, conference, or supervise\n\n### Example\n\n```bash\n{\n\t\"instruction\": \"conference\"\n}\n```\n",
    "causes": "* Instruction is not acceptable for transferred tasks\n* Internal Twilio API error.",
    "solutions": "* Make certain that instruction is accept, reject, conference, or supervise",
    "description": "",
    "date_created": "2018-12-04T05:30:07Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40152,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Queue for Known Worker",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nWorker isn't part of the queue specified in the Workflow target for re-targeted Task.\n\n### Possible causes\n\nThe Worker targeted by the Known Worker Routing feature is not a member of the TaskQueue referenced in the Workflow Target\n\n### Possible solutions\n\nEnsure the Worker is a member of the TaskQueue referenced in the Workflow Target. Find out more about the Known Worker Routing feature here: https://www.twilio.com/docs/taskrouter/workflow-configuration/known-agent-routing\n",
    "causes": "The Worker targeted by the Known Worker Routing feature is not a member of the TaskQueue referenced in the Workflow Target",
    "solutions": "Ensure the Worker is a member of the TaskQueue referenced in the Workflow Target. Find out more about the Known Worker Routing feature here: https://www.twilio.com/docs/taskrouter/workflow-configuration/known-agent-routing",
    "description": "Worker isn't part of the queue specified in the Workflow target for re-targeted Task.",
    "date_created": "2021-06-25T16:47:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40153,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Absolute Paging used when iterating TaskRouter resources",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nThe absolute paging query type that is being used has been deprecated. Starting Dec. 1, 2021 we will no longer return data for this query, and instead return a 400-response for requests of query type /Workers?Page=\\&PageSize=.\n\nPlease update your application to instead utilize relative paging: /Workers?PageToken=PA\\<task\\_sid>, where `<task_sid>` is the last item of the current page.\n\n### Possible causes\n\nNot using the latest Twilio helper libraries. Constructing requests directly which use Page & PageSize query parameters directly.\n\n### Possible solutions\n\nUtilize the latest Twilio helper libraries. Rely upon the PageToken instead of the Page Number for paging.\n",
    "causes": "Not using the latest Twilio helper libraries. Constructing requests directly which use Page & PageSize query parameters directly.",
    "solutions": "Utilize the latest Twilio helper libraries. Rely upon the PageToken instead of the Page Number for paging.",
    "description": "The absolute paging query type that is being used has been deprecated. Starting Dec. 1, 2021 we will no longer return data for this query, and instead return a 400-response for requests of query type /Workers?Page=\\&PageSize=. Please update your application to instead utilize relative paging: /Workers?PageToken=PA\\<task\\_sid>, where `<task_sid>` is the last item of the current page.",
    "date_created": "2021-09-01T17:45:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40154,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Known Worker information",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nWorker information is missing or not valid.\n\n### Possible causes\n\nThe Task does not have a field that holds the Known Worker information, the Worker information specified is invalid, or the specified Worker does not exist in TaskRouter.\n\n### Possible solutions\n\nEnsure the Task field referenced in the Workflow definition is provided in the Task's attributes. If Worker information is provided, make sure that the Worker does exist in TaskRouter. Find out more about the Known Worker Routing feature here: https://www.twilio.com/docs/taskrouter/workflow-configuration/known-agent-routing\n",
    "causes": "The Task does not have a field that holds the Known Worker information, the Worker information specified is invalid, or the specified Worker does not exist in TaskRouter.",
    "solutions": "Ensure the Task field referenced in the Workflow definition is provided in the Task's attributes. If Worker information is provided, make sure that the Worker does exist in TaskRouter. Find out more about the Known Worker Routing feature here: https://www.twilio.com/docs/taskrouter/workflow-configuration/known-agent-routing",
    "description": "Worker information is missing or not valid.",
    "date_created": "2021-09-21T20:28:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40155,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Workspace for Known Worker",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nWorker is not part of the workspace referenced by the Workflow target\n\n### Possible causes\n\nThe Worker targeted by the Known Worker Routing feature is not a member of the Workspace referenced by the Workflow Target\n\n### Possible solutions\n\nEnsure the Worker is a member of the Workspace referenced by the Workflow that is configured to use Known Agent Routing. Find out more about the Known Worker Routing feature here: https://www.twilio.com/docs/taskrouter/workflow-configuration/known-agent-routing\n",
    "causes": "The Worker targeted by the Known Worker Routing feature is not a member of the Workspace referenced by the Workflow Target",
    "solutions": "Ensure the Worker is a member of the Workspace referenced by the Workflow that is configured to use Known Agent Routing. Find out more about the Known Worker Routing feature here: https://www.twilio.com/docs/taskrouter/workflow-configuration/known-agent-routing",
    "description": "Worker is not part of the workspace referenced by the Workflow target",
    "date_created": "2022-12-29T10:57:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40157,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Dequeue Instruction does not have a valid 'status_callback_url' parameter",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nInvalid 'status\\_callback\\_url' parameter - Dequeue Instruction\n\n### Possible causes\n\nYou have provided either an empty string or a value with incorrect datatype for the \"status\\_callback\\_url\" parameter.\n\n### Possible solutions\n\n\"status\\_callback\\_url\" should be a well formed HTTP or HTTPS URL string.\n",
    "causes": "You have provided either an empty string or a value with incorrect datatype for the \"status\\_callback\\_url\" parameter.",
    "solutions": "\"status\\_callback\\_url\" should be a well formed HTTP or HTTPS URL string.",
    "description": "Invalid 'status\\_callback\\_url' parameter - Dequeue Instruction",
    "date_created": "2022-10-19T17:51:01Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40158,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Call Instruction does not have a valid 'status_callback_url' parameter",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nInvalid 'status\\_callback\\_url' parameter - Call Instruction\n\n### Possible causes\n\nProvided value for the \"status\\_callback\\_url\" parameter is either an empty string or of an incorrect datatype.\n\n### Possible solutions\n\n\"status\\_callback\\_url\" should be a well formed HTTP or HTTPS URL string.\n",
    "causes": "Provided value for the \"status\\_callback\\_url\" parameter is either an empty string or of an incorrect datatype.",
    "solutions": "\"status\\_callback\\_url\" should be a well formed HTTP or HTTPS URL string.",
    "description": "Invalid 'status\\_callback\\_url' parameter - Call Instruction",
    "date_created": "2023-02-22T06:56:07Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 40159,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conference Instruction does not have a valid 'status_callback_url' parameter",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nInvalid 'status\\_callback\\_url' parameter - Conference Instruction\n\n### Possible causes\n\nProvided value for the \"status\\_callback\\_url\" parameter is either an empty string or of an incorrect datatype.\n\n### Possible solutions\n\n\"status\\_callback\\_url\" should be a well formed HTTP or HTTPS URL string.\n",
    "causes": "Provided value for the \"status\\_callback\\_url\" parameter is either an empty string or of an incorrect datatype.",
    "solutions": "\"status\\_callback\\_url\" should be a well formed HTTP or HTTPS URL string.",
    "description": "Invalid 'status\\_callback\\_url' parameter - Conference Instruction",
    "date_created": "2023-02-22T06:58:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "General Service Error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nFlex encountered a general service error.\n\n### Possible solutions\n\nNo further information available.\n",
    "causes": "Flex encountered a general service error.",
    "solutions": "No further information available.",
    "description": "",
    "date_created": "2018-10-01T08:48:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Authentication Error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nAttempt to access resource with invalid credentials or without credentials.\n\n### Possible solutions\n\nCheck the credentials and try again.\n",
    "causes": "Attempt to access resource with invalid credentials or without credentials.",
    "solutions": "Check the credentials and try again.",
    "description": "",
    "date_created": "2018-10-01T08:49:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Authorization Error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nAttempt to access resource where access is not allowed for given credentials.\n\n### Possible solutions\n\nCheck that accessed resource is set correctly or apply for permissions.\n",
    "causes": "Attempt to access resource where access is not allowed for given credentials.",
    "solutions": "Check that accessed resource is set correctly or apply for permissions.",
    "description": "",
    "date_created": "2018-10-01T08:51:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Validation Error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nRequest body validation fails.\n\n### Possible solutions\n\nReview the input and fix (if possible) the problem mentioned in the error message.\n",
    "causes": "Request body validation fails.",
    "solutions": "Review the input and fix (if possible) the problem mentioned in the error message.",
    "description": "",
    "date_created": "2018-10-01T08:52:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Service Unavailable",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nService or one of it dependent services does not respond, timeout, etc.\n\n### Possible solutions\n\nTry the request again.\n",
    "causes": "Service or one of it dependent services does not respond, timeout, etc.",
    "solutions": "Try the request again.",
    "description": "",
    "date_created": "2018-10-01T08:53:15Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Resource Not Found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nRequested resource could not be found.\n\n### Possible solutions\n\nCheck that accessed resource is set correctly.\n",
    "causes": "Requested resource could not be found.",
    "solutions": "Check that accessed resource is set correctly.",
    "description": "",
    "date_created": "2019-07-08T11:27:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Resource Conflict Error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nThe request could not be completed due to a conflict with the current state of the target resource.\n\n### Possible solutions\n\nPlease verify the current status of the resource to see if desired updates are already present in the system and that the request does not contain information that conflicts with the current state. More context of the specific resource can be seen under the console message body.\n",
    "causes": "The request could not be completed due to a conflict with the current state of the target resource.",
    "solutions": "Please verify the current status of the resource to see if desired updates are already present in the system and that the request does not contain information that conflicts with the current state. More context of the specific resource can be seen under the console message body.",
    "description": "",
    "date_created": "2019-07-02T08:43:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unprocessable Request",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nThe server is not able to process the request due to something that is perceived to be a client error (e.g. malformed request syntax or invalid request message).\n\n### Possible solutions\n\nPlease verify the request details and ensure Flex setup and preconditions for this request have been met before trying again.\n",
    "causes": "The server is not able to process the request due to something that is perceived to be a client error (e.g. malformed request syntax or invalid request message).",
    "solutions": "Please verify the request details and ensure Flex setup and preconditions for this request have been met before trying again.",
    "description": "",
    "date_created": "2019-07-08T11:30:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Configuration Error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nA Flex component was not configured correctly.\n\n### Possible solutions\n\nRevise and verify the configuration. If everything is as expected then contact Customer Support to review your use case.\n",
    "causes": "A Flex component was not configured correctly.",
    "solutions": "Revise and verify the configuration. If everything is as expected then contact Customer Support to review your use case.",
    "description": "",
    "date_created": "2019-07-08T11:33:15Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Rate Limit Exceeded",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe rate of access to this resource exceeds the prescribed limits.\n\n### Possible causes\n\nYour application is requesting Flex API resources at a rate that is higher than expected.\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to review your use case and limits.\n",
    "causes": "Your application is requesting Flex API resources at a rate that is higher than expected.",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to review your use case and limits.",
    "description": "The rate of access to this resource exceeds the prescribed limits.",
    "date_created": "2019-03-20T15:52:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45050,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Authentication error - Missing User Attributes",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAuthentication error - Missing User Attributes\n\n### Possible causes\n\nMissing or invalid required attributes, such as full\\_name, email or roles\n\n### Possible solutions\n\nEnsure that the user authentication response sent to Flex includes required user attributes.\n",
    "causes": "Missing or invalid required attributes, such as full\\_name, email or roles",
    "solutions": "Ensure that the user authentication response sent to Flex includes required user attributes.",
    "description": "Authentication error - Missing User Attributes",
    "date_created": "2024-03-19T18:09:22Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Configuration Not Found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nQueried configuration is not yet created for specified account.\n\n### Possible solutions\n\nEnsure, that configuration for specific account is created, create one if not.\n",
    "causes": "Queried configuration is not yet created for specified account.",
    "solutions": "Ensure, that configuration for specific account is created, create one if not.",
    "description": "",
    "date_created": "2018-10-01T08:54:26Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Collision On Configuration Change",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nConfiguration for the same account was changed by other request mostly at the same time.\n\n### Possible solutions\n\nTry to update the configuration again.\n",
    "causes": "Configuration for the same account was changed by other request mostly at the same time.",
    "solutions": "Try to update the configuration again.",
    "description": "",
    "date_created": "2018-10-01T08:55:12Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Workspace Not Configured",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nWorkspace is not defined in the configuration.\n\n### Possible solutions\n\nUpdate the configuration: set the workspace.\n",
    "causes": "Workspace is not defined in the configuration.",
    "solutions": "Update the configuration: set the workspace.",
    "description": "",
    "date_created": "2018-10-01T08:56:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45109,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Skills Limit Exceeded",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe number of Skills exceeds the limits.\n\n### Possible causes\n\nApplication attempted adding skills beyond Maximum Limit\n\n### Possible solutions\n\nDelete some existing Skills or Contact Customer Support to increase your Skills Limit\n",
    "causes": "Application attempted adding skills beyond Maximum Limit",
    "solutions": "Delete some existing Skills or Contact Customer Support to increase your Skills Limit",
    "description": "The number of Skills exceeds the limits.",
    "date_created": "2022-08-29T08:24:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Resource Not Found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nRequested resource could not be found.\n\n### Possible solutions\n\nCheck that accessed resource is set correctly.\n",
    "causes": "Requested resource could not be found.",
    "solutions": "Check that accessed resource is set correctly.",
    "description": "",
    "date_created": "2018-10-16T06:00:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45202,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Resource Already Exists",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nThe request could not be completed due to a conflict with the current state of the resource.\n\n### Possible solutions\n\nCheck that resource to be updated is set correctly.\n",
    "causes": "The request could not be completed due to a conflict with the current state of the resource.",
    "solutions": "Check that resource to be updated is set correctly.",
    "description": "",
    "date_created": "2018-10-16T06:00:40Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45203,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Requested Chat User not found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nChat User related to a Chat Channel could not be found.\n\n### Possible solutions\n\nChat User is created automatically by Flex for any inbound end customer requests and automatically when an Agent connects to Flex where that Agent already does not have a Chat User. Chat User is synchronized to Identity Provider provided information (via SSO) on role and name. Please try again and ensure that the relevant Chat Users are not removed in your own implementations.\n",
    "causes": "Chat User related to a Chat Channel could not be found.",
    "solutions": "Chat User is created automatically by Flex for any inbound end customer requests and automatically when an Agent connects to Flex where that Agent already does not have a Chat User. Chat User is synchronized to Identity Provider provided information (via SSO) on role and name. Please try again and ensure that the relevant Chat Users are not removed in your own implementations.",
    "description": "",
    "date_created": "2019-07-08T11:49:22Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45204,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Requested Flex Chat Channel is not found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nFlex Channel could not be found.\n\n### Possible solutions\n\nPlease check your request details. Flex Channel is created automatically on inbound messages and can be created by developer via Flex API for outbound use cases.\n\nCheck our [Flex Chat Channel Resource documentation](/docs/flex/developer/messaging/chat-channel), or see how to [add a Custom Chat Channel to Flex](https://www.twilio.com/blog/add-custom-chat-channel-twilio-flex).\n",
    "causes": "Flex Channel could not be found.",
    "solutions": "Please check your request details. Flex Channel is created automatically on inbound messages and can be created by developer via Flex API for outbound use cases. Check our [Flex Chat Channel Resource documentation](/docs/flex/developer/messaging/chat-channel), or see how to [add a Custom Chat Channel to Flex](https://www.twilio.com/blog/add-custom-chat-channel-twilio-flex).",
    "description": "",
    "date_created": "2019-07-08T11:50:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45205,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Requested Flex Flow is not found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Flex Flow referenced in this request or related Messaging request cannot be found.\n\n### Possible solutions\n\nPlease ensure you have correctly configured a Flex Flow related to your Messaging Channel (e.g. sms) and Integration Type (e.g. studio). You can use the Flex API or Flex Console to do this.\n",
    "causes": "The Flex Flow referenced in this request or related Messaging request cannot be found.",
    "solutions": "Please ensure you have correctly configured a Flex Flow related to your Messaging Channel (e.g. sms) and Integration Type (e.g. studio). You can use the Flex API or Flex Console to do this.",
    "description": "",
    "date_created": "2019-09-26T11:41:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45206,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Chat User is already a member of the Chat Channel",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nThe request could not be completed due to a conflict as the Chat User is already part of the desired Chat Channel. This is possibly related to duplicate requests to Twilio Flex.\n\n### Possible solutions\n\nNo further action is necessary however please verify your business logic to avoid duplicate requests.\n",
    "causes": "The request could not be completed due to a conflict as the Chat User is already part of the desired Chat Channel. This is possibly related to duplicate requests to Twilio Flex.",
    "solutions": "No further action is necessary however please verify your business logic to avoid duplicate requests.",
    "description": "",
    "date_created": "2019-09-26T11:42:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45207,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Chat User per Chat Channel limit reached. User is part of too many Chat Channels.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nFlex Agents as part of standard Flex Orchestration are removed from Chat Channels once they are done working a specific Task related to a Channel. Possible cause to this error is that this orchestration is not working or Flex is unaware that the Custom Task Channel used has chat capabilities.\n\n### Possible solutions\n\nPlease check that Agents are not part of large number of inactive Channels/Tasks, review any custom programmability you may have in Flex UI (please review Flex Documentation). You can control the Chat Channels and Members through Programmable Chat API. You can also change the Channel Limit in Twilio Programmable Chat Console but keep in mind this cannot be extended indefinitely.\n",
    "causes": "Flex Agents as part of standard Flex Orchestration are removed from Chat Channels once they are done working a specific Task related to a Channel. Possible cause to this error is that this orchestration is not working or Flex is unaware that the Custom Task Channel used has chat capabilities.",
    "solutions": "Please check that Agents are not part of large number of inactive Channels/Tasks, review any custom programmability you may have in Flex UI (please review Flex Documentation). You can control the Chat Channels and Members through Programmable Chat API. You can also change the Channel Limit in Twilio Programmable Chat Console but keep in mind this cannot be extended indefinitely.",
    "description": "",
    "date_created": "2019-09-26T11:43:01Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45208,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Chat Channel with this unique name already exists",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\n### Possible causes\n\nAn Active Chat Channel already exists with this unique name - new Channel not created.\n\n### Possible solutions\n\nPlease use the existing active Chat Channel, mark the Channel as inactive by setting Channel Attributes status to 'inactive', remove the Chat Channel or use a different unique name.\n",
    "causes": "An Active Chat Channel already exists with this unique name - new Channel not created.",
    "solutions": "Please use the existing active Chat Channel, mark the Channel as inactive by setting Channel Attributes status to 'inactive', remove the Chat Channel or use a different unique name.",
    "description": "",
    "date_created": "2019-09-26T11:43:18Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45209,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Adding a user to the Chat Channel has timed out waiting for a response from Twilio Chat.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAdding user to Chat Channel has failed because of a timeout\n\n### Possible causes\n\nAdding a user to the Chat Channel has timed out waiting for a response from Twilio Chat.\n\n### Possible solutions\n\nPlease refresh your browser and retry your Webchat experience.\n",
    "causes": "Adding a user to the Chat Channel has timed out waiting for a response from Twilio Chat.",
    "solutions": "Please refresh your browser and retry your Webchat experience.",
    "description": "Adding user to Chat Channel has failed because of a timeout",
    "date_created": "2019-09-26T11:48:14Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45210,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Flex Flow creation failed",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFlex Flow creation failed.\n\n### Possible causes\n\nRequired Flow attributes were missing from the request or collided with existing Flows.\n\n### Possible solutions\n\nCheck the returned error details for additional info and adjust the request as necessary.\n",
    "causes": "Required Flow attributes were missing from the request or collided with existing Flows.",
    "solutions": "Check the returned error details for additional info and adjust the request as necessary.",
    "description": "Flex Flow creation failed.",
    "date_created": "2022-02-15T13:43:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45211,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Provided identity is reserved by system",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nProvided identity is reserved by system.\n\n### Possible causes\n\nWill pop up when users try to create a new channel with a reserved identity.\n\n### Possible solutions\n\nChange the identity field in the request and try again\n",
    "causes": "Will pop up when users try to create a new channel with a reserved identity.",
    "solutions": "Change the identity field in the request and try again",
    "description": "Provided identity is reserved by system.",
    "date_created": "2020-08-10T12:49:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45212,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Flex Flow creation failed",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFlex Flow creation failed\n\n### Possible causes\n\nSome request attributes were either missing, invalid, or collided with existing Flex Flows.\n\n### Possible solutions\n\nCheck the returned error details for additional info and adjust the request as necessary.\n",
    "causes": "Some request attributes were either missing, invalid, or collided with existing Flex Flows.",
    "solutions": "Check the returned error details for additional info and adjust the request as necessary.",
    "description": "Flex Flow creation failed",
    "date_created": "2022-02-16T07:55:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45301,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Error occurred when connecting to a Meeting Participant",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nError occurred when connecting to a user\n\n### Possible causes\n\nFlex encountered a service error when connecting to a user\n\n### Possible solutions\n\nNo further information available.\n",
    "causes": "Flex encountered a service error when connecting to a user",
    "solutions": "No further information available.",
    "description": "Error occurred when connecting to a user",
    "date_created": "2020-01-14T21:10:52Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45302,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Participant was disconnected before setting up Meeting",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nUser was disconnected from media before setting up Meeting\n\n### Possible causes\n\nBad connectivity, User error\n\n### Possible solutions\n\nPlease verify user connectivity and retry\n",
    "causes": "Bad connectivity, User error",
    "solutions": "Please verify user connectivity and retry",
    "description": "User was disconnected from media before setting up Meeting",
    "date_created": "2020-01-14T21:11:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45303,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Participant was busy",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nUser was busy and could not connect to media\n\n### Possible causes\n\nUser was already engaged on the media channel\n\n### Possible solutions\n\nDisconnect media and retry.\n",
    "causes": "User was already engaged on the media channel",
    "solutions": "Disconnect media and retry.",
    "description": "User was busy and could not connect to media",
    "date_created": "2020-01-14T21:12:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45304,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal timeout error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nInternal timeout error\n\n### Possible causes\n\nFlex encountered a timeout error\n\n### Possible solutions\n\nRetry operation.\n",
    "causes": "Flex encountered a timeout error",
    "solutions": "Retry operation.",
    "description": "Internal timeout error",
    "date_created": "2020-01-14T21:13:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45305,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": " No answer from Participant",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nNo media response from user\n\n### Possible causes\n\nInactive user\n\n### Possible solutions\n\nRetry operation.\n",
    "causes": "Inactive user",
    "solutions": "Retry operation.",
    "description": "No media response from user",
    "date_created": "2020-01-14T21:14:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45306,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Meeting was canceled",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nOperation was canceled\n\n### Possible causes\n\nOperation was canceled\n\n### Possible solutions\n\nNo action required.\n",
    "causes": "Operation was canceled",
    "solutions": "No action required.",
    "description": "Operation was canceled",
    "date_created": "2020-01-14T21:15:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45307,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Add Participant Not Allowed",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAdding participant to the meeting is not allowed in the current meeting state\n\n### Possible causes\n\nMeeting is not in the right state for adding the participants\n\n### Possible solutions\n\nRetry operation\n",
    "causes": "Meeting is not in the right state for adding the participants",
    "solutions": "Retry operation",
    "description": "Adding participant to the meeting is not allowed in the current meeting state",
    "date_created": "2020-05-08T21:27:02Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45308,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Add Participant Not Allowed",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAdding participant to the meeting is not allowed in the current meeting state\n\n### Possible causes\n\nMeeting is not in the right state for adding the participants\n\n### Possible solutions\n\nRetry operation\n",
    "causes": "Meeting is not in the right state for adding the participants",
    "solutions": "Retry operation",
    "description": "Adding participant to the meeting is not allowed in the current meeting state",
    "date_created": "2022-09-17T01:43:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45309,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Modify Participant Not Allowed",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nError occurred when trying to modify a participant\n\n### Possible causes\n\nMeeting is not setup successfully for the operation\n\n### Possible solutions\n\nRetry operation.\n",
    "causes": "Meeting is not setup successfully for the operation",
    "solutions": "Retry operation.",
    "description": "Error occurred when trying to modify a participant",
    "date_created": "2020-05-08T21:29:35Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45310,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant Not Found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nParticipant is not found in the meeting\n\n### Possible causes\n\nParticipant is not in the meeting anymore\n\n### Possible solutions\n\nNo action required\n",
    "causes": "Participant is not in the meeting anymore",
    "solutions": "No action required",
    "description": "Participant is not found in the meeting",
    "date_created": "2020-05-08T21:30:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45312,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Remove Participant Request Failed",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nError occurred when trying to remove a participant\n\n### Possible causes\n\nVoice API returned an error while trying to remove the participant\n\n### Possible solutions\n\nRetry operation\n",
    "causes": "Voice API returned an error while trying to remove the participant",
    "solutions": "Retry operation",
    "description": "Error occurred when trying to remove a participant",
    "date_created": "2020-05-08T21:31:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45313,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Transfer Failed",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nTransfer failed to complete\n\n### Possible causes\n\nTransfer process took too long to complete or the voice API returned error\n\n### Possible solutions\n\nRetry operation\n",
    "causes": "Transfer process took too long to complete or the voice API returned error",
    "solutions": "Retry operation",
    "description": "Transfer failed to complete",
    "date_created": "2020-05-08T21:32:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45350,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "An unexpected error occurred.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred.\n\n### Possible causes\n\nWe encountered an unexpected error processing a request.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error processing a request.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45351,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Channel Participant properties.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to add Participant `<participant sid>` to Channel `<meeting sid>`. Channel Participant properties must contain exactly one of \"identity\" or an \"address\"/\"proxy\\_address\" pair.\n\n### Possible causes\n\nA create Conversation or add Participant request was made with a Participant having both or neither of identity and address specified.\n\n### Possible solutions\n\nSpecify either identity or address for Participants\n",
    "causes": "A create Conversation or add Participant request was made with a Participant having both or neither of identity and address specified.",
    "solutions": "Specify either identity or address for Participants",
    "description": "Failed to add Participant `<participant sid>` to Channel `<meeting sid>`. Channel Participant properties must contain exactly one of \"identity\" or an \"address\"/\"proxy\\_address\" pair.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45352,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to create an outbound Channel.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create a Conversation due to an error from Twilio Conversations API.\n\n### Possible causes\n\nConversations API returned an error\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "Conversations API returned an error",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to create a Conversation due to an error from Twilio Conversations API.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45353,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "A duplicate create Channel request was dropped.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe Conversation sid `<conversation sid>` already has a mapped Channel sid `<channel sid>`.\n\n### Possible causes\n\nMultiple concurrent inbound messages to a non-existent conversation triggered multiple create Channel requests for the same Conversation. The duplicate request was dropped.\n\n### Possible solutions\n\nNo Action.\n",
    "causes": "Multiple concurrent inbound messages to a non-existent conversation triggered multiple create Channel requests for the same Conversation. The duplicate request was dropped.",
    "solutions": "No Action.",
    "description": "The Conversation sid `<conversation sid>` already has a mapped Channel sid `<channel sid>`.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45354,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot create a Channel for a closed Conversation.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create Channel `<channel sid>` because the Conversation `<conversation sid>` is in a closed state.\n\n### Possible causes\n\nAn inbound message triggered a Channel to start, but the associated Conversation was closed or deleted before the request was processed.\n\n### Possible solutions\n\nNo Action.\n",
    "causes": "An inbound message triggered a Channel to start, but the associated Conversation was closed or deleted before the request was processed.",
    "solutions": "No Action.",
    "description": "Failed to create Channel `<channel sid>` because the Conversation `<conversation sid>` is in a closed state.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45355,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to create a channel.  No Participants found.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create Channel `<channel sid>` because no Participants were found in the associated Conversation `<conversation sid>`.\n\n### Possible causes\n\nNo Participants were found in a Conversation that triggered a new Channel to be created. The Participant may have been removed after the Conversation was created.\n\n### Possible solutions\n\nClose this Conversation and start a new one.\n",
    "causes": "No Participants were found in a Conversation that triggered a new Channel to be created. The Participant may have been removed after the Conversation was created.",
    "solutions": "Close this Conversation and start a new one.",
    "description": "Failed to create Channel `<channel sid>` because no Participants were found in the associated Conversation `<conversation sid>`.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45356,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to create a channel. Downstream error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to retrieve Conversation `<conversation sid>` due to an error from Twilio Conversations API.\n\n### Possible causes\n\nAn error occurred retrieving Conversation data from conversations api.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "An error occurred retrieving Conversation data from conversations api.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to retrieve Conversation `<conversation sid>` due to an error from Twilio Conversations API.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45357,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Downstream error configuring Channel.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to retrieve Participant(s) for Conversation `<conversation sid>` due to an error from Twilio Conversations API.\n\n### Possible causes\n\nAn error occurred retrieving Participant data from conversations api.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "An error occurred retrieving Participant data from conversations api.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to retrieve Participant(s) for Conversation `<conversation sid>` due to an error from Twilio Conversations API.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45358,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to close Channel.  Missing status parameter.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to close Channel `<channel sid>`. No Channel status parameter was provided.\n\n### Possible causes\n\nUpdate Channel request was made without valid 'status' parameter.\n\n### Possible solutions\n\nThe only supported operation on a Channel is to update the status to \"closed\". A status parameter must be provided.\n",
    "causes": "Update Channel request was made without valid 'status' parameter.",
    "solutions": "The only supported operation on a Channel is to update the status to \"closed\". A status parameter must be provided.",
    "description": "Failed to close Channel `<channel sid>`. No Channel status parameter was provided.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45359,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to close Channel.  Invalid status parameter.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to close Channel `<channel sid>`. The channel status provided was invalid.\n\n### Possible causes\n\nUpdate Channel request was made with invalid 'status'.\n\n### Possible solutions\n\nThe only supported status change to a Channel is \"closed\".\n",
    "causes": "Update Channel request was made with invalid 'status'.",
    "solutions": "The only supported status change to a Channel is \"closed\".",
    "description": "Failed to close Channel `<channel sid>`. The channel status provided was invalid.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45360,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to close or delete Conversation.  Downstream error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to update Conversation `<conversation sid>` due to an error from Twilio Conversations API.\n\n### Possible causes\n\nConversations API returned an error\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "Conversations API returned an error",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to update Conversation `<conversation sid>` due to an error from Twilio Conversations API.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45361,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to add Participant. Downstream error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to add Participant to Conversation `<conversation sid>` due to an error from Twilio Conversations API.\n\n### Possible causes\n\nConversations API returned an error\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "Conversations API returned an error",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to add Participant to Conversation `<conversation sid>` due to an error from Twilio Conversations API.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45362,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to remove Participant.  Not found.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to remove Participant `<participant sid>` from Channel `<channel sid>` because the Participant was not found.\n\n### Possible causes\n\nThe Participant may have already been removed.\n\n### Possible solutions\n\nNo Action.\n",
    "causes": "The Participant may have already been removed.",
    "solutions": "No Action.",
    "description": "Failed to remove Participant `<participant sid>` from Channel `<channel sid>` because the Participant was not found.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45363,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to remove Participant.  Downstream error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to remove Participant `<participant sid>` from Conversation `<conversation sid>` due to an error from Twilio Conversations API.\n\n### Possible causes\n\nConversations API returned an error\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "Conversations API returned an error",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to remove Participant `<participant sid>` from Conversation `<conversation sid>` due to an error from Twilio Conversations API.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45366,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to create Channel.  Invalid request parameters.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create Channel `<channel sid>` due to invalid request parameters.\n\n### Possible causes\n\nInvalid or missing parameters supplied in the create Channel request.\n\n### Possible solutions\n\nEnsure that request parameters are in accordance with the public documentation.\n",
    "causes": "Invalid or missing parameters supplied in the create Channel request.",
    "solutions": "Ensure that request parameters are in accordance with the public documentation.",
    "description": "Failed to create Channel `<channel sid>` due to invalid request parameters.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45367,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to add Participant.  Invalid request parameters.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to add participant `<participant sid>` to Channel `<channel sid>` due to invalid request parameters.\n\n### Possible causes\n\nsInvalid or missing parameters supplied in the create participant request.\n\n### Possible solutions\n\nEnsure that request parameters are in accordance with the public documentation.\n",
    "causes": "sInvalid or missing parameters supplied in the create participant request.",
    "solutions": "Ensure that request parameters are in accordance with the public documentation.",
    "description": "Failed to add participant `<participant sid>` to Channel `<channel sid>` due to invalid request parameters.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45368,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to delete Channel.  Not found.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to delete Channel `<channel sid>`. Not found.\n\n### Possible causes\n\nThe Channel was not created or has already been deleted.\n\n### Possible solutions\n\nNo Action.\n",
    "causes": "The Channel was not created or has already been deleted.",
    "solutions": "No Action.",
    "description": "Failed to delete Channel `<channel sid>`. Not found.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45369,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to create inbound Channel.  Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create outbound Channel due to an internal error.\n\n### Possible causes\n\nWe failed to create an outbound Channel due to an unexpected error condition.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to create an outbound Channel due to an unexpected error condition.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to create outbound Channel due to an internal error.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45370,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to create outbound Channel.  Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create inbound Channel due to an internal error.\n\n### Possible causes\n\nWe failed to create an inbound Channel due to an unexpected error condition.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to create an inbound Channel due to an unexpected error condition.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to create inbound Channel due to an internal error.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45371,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to close Channel.  Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to update Channel `<channel sid>` due to an internal error.\n\n### Possible causes\n\nWe failed to update the status of a Channel (e.g., to close the Channel) due to an unexpected error condition.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to update the status of a Channel (e.g., to close the Channel) due to an unexpected error condition.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to update Channel `<channel sid>` due to an internal error.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45372,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to add Participant.  Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to add a Participant to Channel `<channel sid>` due to an internal error.\n\n### Possible causes\n\nWe failed to add a Participant to a Channel due to an unexpected error condition.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to add a Participant to a Channel due to an unexpected error condition.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to add a Participant to Channel `<channel sid>` due to an internal error.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45373,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to remove Participant.  Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to remove Participant `<participant sid>` l due to an internal error.\n\n### Possible causes\n\nWe failed to remove a Participant from a Channel due to an unexpected error condition.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to remove a Participant from a Channel due to an unexpected error condition.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to remove Participant `<participant sid>` l due to an internal error.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45374,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to delete Channel.  Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to delete Channel `<channel sid>` due to an internal error.\n\n### Possible causes\n\nWe failed to delete a Channel due to an unexpected error condition.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to delete a Channel due to an unexpected error condition.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our [status page](https://status.twilio.com/) has no information, [contact support](https://support.twilio.com/) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to delete Channel `<channel sid>` due to an internal error.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45375,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to delete Channel.  Invalid Account sid.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to delete Channel `<channel sid>` due to invalid AccountSid.\n\n### Possible causes\n\nWe failed to delete a Channel since the provided AccountSid did not match witth our records.\n\n### Possible solutions\n\nEnsure the AccountSid being used is the same as the one used to create the resource\n",
    "causes": "We failed to delete a Channel since the provided AccountSid did not match witth our records.",
    "solutions": "Ensure the AccountSid being used is the same as the one used to create the resource",
    "description": "Failed to delete Channel `<channel sid>` due to invalid AccountSid.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45376,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to add a participant.  Conversation was closed or not found.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to add Participant `<participant_sid>`. Conversation `<conversation_sid>` was closed or not found.\n\n### Possible causes\n\nWe did not add a Participant to a Channel because the Channel has either been closed or deleted.\n\n### Possible solutions\n\nEnsure that the target Conversation is in the correct state.\n",
    "causes": "We did not add a Participant to a Channel because the Channel has either been closed or deleted.",
    "solutions": "Ensure that the target Conversation is in the correct state.",
    "description": "Failed to add Participant `<participant_sid>`. Conversation `<conversation_sid>` was closed or not found.",
    "date_created": "2022-03-22T22:56:51Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45377,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account SID not authorized. ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe account sid provided is not authorized to make changes to this Channel.\n\n### Possible causes\n\nThe request was not completed because the AccountSid provided does not match the credentials in our records.\n\n### Possible solutions\n\nEnsure the AccountSid being used is the same as the one used to create the resource.\n",
    "causes": "The request was not completed because the AccountSid provided does not match the credentials in our records.",
    "solutions": "Ensure the AccountSid being used is the same as the one used to create the resource.",
    "description": "The account sid provided is not authorized to make changes to this Channel.",
    "date_created": "2022-12-15T21:48:27Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45378,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to inactivate Channel. Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to inactivate a Channel `<channel sid>` due to an internal error.\n\n### Possible causes\n\nWe failed to inactive a Channel due to an unexpected error condition.\n\n### Possible solutions\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to inactive a Channel due to an unexpected error condition.",
    "solutions": "Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "Failed to inactivate a Channel `<channel sid>` due to an internal error.",
    "date_created": "2023-08-28T21:54:17Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45379,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to inactivate Channel. Downstream error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to inactivate a Channel `<channel sid>` due to an error from Twilio Conversations API.\n\n### Possible causes\n\nConversations API returned an error\n\n### Possible solutions\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "Conversations API returned an error",
    "solutions": "Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "Failed to inactivate a Channel `<channel sid>` due to an error from Twilio Conversations API.",
    "date_created": "2023-08-28T21:55:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45380,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to activate Channel. Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to activate a Channel `<channel sid>` due to an internal error.\n\n### Possible causes\n\nWe failed to active a Channel due to an unexpected error condition.\n\n### Possible solutions\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to active a Channel due to an unexpected error condition.",
    "solutions": "Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "Failed to activate a Channel `<channel sid>` due to an internal error.",
    "date_created": "2023-08-28T21:55:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45381,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to activate Channel. Downstream error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to activate a Channel `<channel sid>` due to an error from Twilio Conversations API.\n\n### Possible causes\n\nConversations API returned an error\n\n### Possible solutions\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "Conversations API returned an error",
    "solutions": "Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "Failed to activate a Channel `<channel sid>` due to an error from Twilio Conversations API.",
    "date_created": "2023-08-28T21:56:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45383,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Bad Request, Failed to inactivate the Channel",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nBad Request, Failed to inactivate the Channel `<channel sid>`, as customer is not present in the channel yet.\n\n### Possible causes\n\nWe failed to inactivate a channel as customer might not be present in the channel\n\n### Possible solutions\n\nTo inactivate a channel customer should initiate the conversation\n",
    "causes": "We failed to inactivate a channel as customer might not be present in the channel",
    "solutions": "To inactivate a channel customer should initiate the conversation",
    "description": "Bad Request, Failed to inactivate the Channel `<channel sid>`, as customer is not present in the channel yet.",
    "date_created": "2024-04-30T15:58:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45401,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "RTA feed callback returned not successful response code",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nCall to defined rta\\_callback\\_url returned with not successful response code\n\n### Possible causes\n\nRTA callback is misconfigured or down\n\n### Possible solutions\n\nChange account configuration and set correct value for rta\\_callback\\_url\n",
    "causes": "RTA callback is misconfigured or down",
    "solutions": "Change account configuration and set correct value for rta\\_callback\\_url",
    "description": "Call to defined rta\\_callback\\_url returned with not successful response code",
    "date_created": "2020-06-08T06:19:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45402,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "RTA feed callback response time exceeded the threshold",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe RTA Feed callback is taking longer than a defined threshold to respond\n\n### Possible causes\n\nIssues on WFM vendor side\n\n### Possible solutions\n\nPlease contact the WFM Vendor for troubleshooting\n",
    "causes": "Issues on WFM vendor side",
    "solutions": "Please contact the WFM Vendor for troubleshooting",
    "description": "The RTA Feed callback is taking longer than a defined threshold to respond",
    "date_created": "2021-06-17T12:12:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45450,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Failed to create Channel. Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create Channel due to an internal error.\n\n### Possible causes\n\nWe failed to create a Channel due to an unexpected error condition.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our [status](https://status.twilio.com/) page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We failed to create a Channel due to an unexpected error condition.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our [status](https://status.twilio.com/) page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.",
    "description": "Failed to create Channel due to an internal error.",
    "date_created": "2024-02-23T01:09:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45451,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Failed to create Participant. Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create Channel Participant due to an internal error.\n\n### Possible causes\n\nWe failed to add a Participant to a Channel due to an unexpected error condition.\n\n### Possible solutions\n\n\"Retry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our [status](https://status.twilio.com/) page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\"\n",
    "causes": "We failed to add a Participant to a Channel due to an unexpected error condition.",
    "solutions": "\"Retry the request. Check our status page to see if we are having an outage. If our [status](https://status.twilio.com/) page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\"",
    "description": "Failed to create Channel Participant due to an internal error.",
    "date_created": "2024-02-23T01:10:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45452,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Failed to close Channel.  Internal error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to close Channel due to an internal error.\n\n### Possible causes\n\nWe failed to close a Channel due to an unexpected error condition.\n\n### Possible solutions\n\n\"Retry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our [status](https://status.twilio.com/) page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\"\n",
    "causes": "We failed to close a Channel due to an unexpected error condition.",
    "solutions": "\"Retry the request. Check our status page to see if we are having an outage. If our [status](https://status.twilio.com/) page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\"",
    "description": "Failed to close Channel due to an internal error.",
    "date_created": "2024-02-16T22:20:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45453,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unauthorized request.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nUnauthorized request.\n\n### Possible causes\n\nUnauthorized request.\n\n### Possible solutions\n\nRetry the operation with correct Account Sid and token.\n",
    "causes": "Unauthorized request.",
    "solutions": "Retry the operation with correct Account Sid and token.",
    "description": "Unauthorized request.",
    "date_created": "2024-02-16T22:22:37Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45454,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel not found.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nChannel was not found.\n\n### Possible causes\n\nAttempted to perform operation on a non-existent Channel. The Channel may have already been removed because of timeout.\n\n### Possible solutions\n\nMake sure the Channel exists before re-attempting operation. Or create a new Channel.\n",
    "causes": "Attempted to perform operation on a non-existent Channel. The Channel may have already been removed because of timeout.",
    "solutions": "Make sure the Channel exists before re-attempting operation. Or create a new Channel.",
    "description": "Channel was not found.",
    "date_created": "2024-02-16T22:24:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45455,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Flex Guest not found.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFlex Guest was not found.\n\n### Possible causes\n\nAttempted to perform operation on a non-existent Flex Guest. The Flex Guest may have already been removed because of timeout.\n\n### Possible solutions\n\nMake sure the Flex Guest exists before re-attempting operation. Or create a new Participant.\n",
    "causes": "Attempted to perform operation on a non-existent Flex Guest. The Flex Guest may have already been removed because of timeout.",
    "solutions": "Make sure the Flex Guest exists before re-attempting operation. Or create a new Participant.",
    "description": "Flex Guest was not found.",
    "date_created": "2024-02-16T22:35:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45456,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Resource already exists. ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nResource already exists.\n\n### Possible causes\n\nAttempted to create Channel with existing sid.\n\n### Possible solutions\n\nClose the existing Channel and recreate a new one.\n",
    "causes": "Attempted to create Channel with existing sid.",
    "solutions": "Close the existing Channel and recreate a new one.",
    "description": "Resource already exists.",
    "date_created": "2024-02-16T22:39:16Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45457,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Channel already exists.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nChannel with same Channel Sid already exists.\n\n### Possible causes\n\nAttempted to create Channel with existing Channel Sid.\n\n### Possible solutions\n\nClose the existing Channel and recreate a new one.\n",
    "causes": "Attempted to create Channel with existing Channel Sid.",
    "solutions": "Close the existing Channel and recreate a new one.",
    "description": "Channel with same Channel Sid already exists.",
    "date_created": "2024-02-17T01:41:33Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45458,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Participant already exists.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nParticipant with same Channel Participant Sid or Flex Guest Sid already exists.\n\n### Possible causes\n\nAttempted to create Participant with existing Channel Participant Sid or Flex Guest Sid.\n\n### Possible solutions\n\nClose the existing Channel and recreate a new one.\n",
    "causes": "Attempted to create Participant with existing Channel Participant Sid or Flex Guest Sid.",
    "solutions": "Close the existing Channel and recreate a new one.",
    "description": "Participant with same Channel Participant Sid or Flex Guest Sid already exists.",
    "date_created": "2024-02-17T01:44:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45500,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nInternal Error\n\n### Possible causes\n\nWe encountered an unexpected error while processing your request\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error while processing your request",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.",
    "description": "Internal Error",
    "date_created": "2023-03-30T17:29:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45501,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Unauthorized",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAuthorization error\n\n### Possible causes\n\nAttempting to access an unauthorized resource.\n\n### Possible solutions\n\nVerify that the account credentials passed in the request is for accessing the right resource.\n",
    "causes": "Attempting to access an unauthorized resource.",
    "solutions": "Verify that the account credentials passed in the request is for accessing the right resource.",
    "description": "Authorization error",
    "date_created": "2023-03-30T17:32:21Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45502,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Rate Limit exceeded",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nRate Limit exceeded\n\n### Possible causes\n\nYour requests have reached the rate limit threshold.\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then [contact support](https://www.twilio.com/help/contact) to review your use case and limits.\n",
    "causes": "Your requests have reached the rate limit threshold.",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then [contact support](https://www.twilio.com/help/contact) to review your use case and limits.",
    "description": "Rate Limit exceeded",
    "date_created": "2023-03-30T17:41:11Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45503,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Forbidden",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nForbidden request\n\n### Possible causes\n\nForbidden access for the provided credentials\n\n### Possible solutions\n\nEnsure the credentials provided has the right authorization to perform the necessary operation. Changing the credential and retrying the request is recommended.\n",
    "causes": "Forbidden access for the provided credentials",
    "solutions": "Ensure the credentials provided has the right authorization to perform the necessary operation. Changing the credential and retrying the request is recommended.",
    "description": "Forbidden request",
    "date_created": "2023-03-30T17:33:33Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45504,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Resource Not Found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nResource Not Found\n\n### Possible causes\n\nQuerying incorrect SIDs, urls\n\n### Possible solutions\n\n- Retry the request after updating the resource SIDs or url\n- Check for typos in the request\n",
    "causes": "Querying incorrect SIDs, urls",
    "solutions": "* Retry the request after updating the resource SIDs or url\n* Check for typos in the request",
    "description": "Resource Not Found",
    "date_created": "2023-03-30T17:36:52Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45505,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid PageToken parameter",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nInvalid 'PageToken' query parameter\n\n### Possible causes\n\nThe value supplied by the PageToken query string parameter is invalid or malformed.\n\n### Possible solutions\n\nEnsure that a valid PageToken parameter is supplied, as originally included in the previous/next page links under the meta block of pagination response.\n",
    "causes": "The value supplied by the PageToken query string parameter is invalid or malformed.",
    "solutions": "Ensure that a valid PageToken parameter is supplied, as originally included in the previous/next page links under the meta block of pagination response.",
    "description": "Invalid 'PageToken' query parameter",
    "date_created": "2023-03-30T17:38:24Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45506,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid media type parameter",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nInvalid 'MediaType' query parameter\n\n### Possible causes\n\nThe value supplied by the MediaType query string parameter is invalid or malformed.\n\n### Possible solutions\n\nEnsure that a valid MediaType enum value is provided.\n",
    "causes": "The value supplied by the MediaType query string parameter is invalid or malformed.",
    "solutions": "Ensure that a valid MediaType enum value is provided.",
    "description": "Invalid 'MediaType' query parameter",
    "date_created": "2023-03-30T17:40:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45508,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid/Missing required request parameters for create configuration",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nInvalid/Missing required request parameters\n\n### Possible causes\n\n- No parameters were provided in the request\n- Provided parameters were misspelt\n- Provided parameters in the wrong format\n\n### Possible solutions\n\n- Ensure all the required parameters are in the request\n- Verify the spelling & casing for the parameters\n- Verify that the provided parameters are in application/json format\n",
    "causes": "* No parameters were provided in the request\n* Provided parameters were misspelt\n* Provided parameters in the wrong format",
    "solutions": "* Ensure all the required parameters are in the request\n* Verify the spelling & casing for the parameters\n* Verify that the provided parameters are in application/json format",
    "description": "Invalid/Missing required request parameters",
    "date_created": "2023-03-30T17:42:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45509,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid parameters provided for update configuration",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nInvalid parameters provided for update configuration\n\n### Possible causes\n\n- No parameters were provided in the request\n- Provided parameters were misspelt\n- Provided parameters in the wrong format\n\n### Possible solutions\n\n- Ensure the request contains parameters for the update\n- Verify the spelling & casing for the parameters\n- Verify that the provided parameters are in application/json format\n",
    "causes": "* No parameters were provided in the request\n* Provided parameters were misspelt\n* Provided parameters in the wrong format",
    "solutions": "* Ensure the request contains parameters for the update\n* Verify the spelling & casing for the parameters\n* Verify that the provided parameters are in application/json format",
    "description": "Invalid parameters provided for update configuration",
    "date_created": "2023-03-30T17:43:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45510,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid/Missing required request parameters for create address",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nInvalid/Missing required request parameters\n\n### Possible causes\n\n- No parameters were provided in the request\n- Provided parameters were misspelt\n- Provided parameters in the wrong format\n- Provided mediaId is not one of PN or IG SID\n\n### Possible solutions\n\n- Ensure all the required parameters are in the request\n- Verify the spelling & casing for the parameters\n- Verify that the provided parameters are in application/json format\n- mediaId should be one of PN or IG SID\n",
    "causes": "* No parameters were provided in the request\n* Provided parameters were misspelt\n* Provided parameters in the wrong format\n* Provided mediaId is not one of PN or IG SID",
    "solutions": "* Ensure all the required parameters are in the request\n* Verify the spelling & casing for the parameters\n* Verify that the provided parameters are in application/json format\n* mediaId should be one of PN or IG SID",
    "description": "Invalid/Missing required request parameters",
    "date_created": "2023-03-30T17:45:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45511,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "ConversationAddressConfigurationSid/PhoneNumberSid not found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nMediaId not found\n\n### Possible causes\n\nProvided mediaId does not belong to the account\n\n### Possible solutions\n\nVerify that the provided MediaId belongs to the account\n",
    "causes": "Provided mediaId does not belong to the account",
    "solutions": "Verify that the provided MediaId belongs to the account",
    "description": "MediaId not found",
    "date_created": "2023-03-30T17:47:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45512,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Channel Configuration not found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nChannel Configuration not found\n\n### Possible causes\n\nProvided channel configuration SID not found\n\n### Possible solutions\n\nVerify that the provided channel configuration SID exists\n",
    "causes": "Provided channel configuration SID not found",
    "solutions": "Verify that the provided channel configuration SID exists",
    "description": "Channel Configuration not found",
    "date_created": "2023-03-30T17:48:10Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45513,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Channel Address Conflict",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nChannel Address Conflict\n\n### Possible causes\n\nA channel address for the provided `media type` and `identity` already exist\n\n### Possible solutions\n\nRetry request to create an address for a new `media type` + `identity` pair\n",
    "causes": "A channel address for the provided `media type` and `identity` already exist",
    "solutions": "Retry request to create an address for a new `media type` + `identity` pair",
    "description": "Channel Address Conflict",
    "date_created": "2023-03-30T17:49:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45514,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Channel Configuration Deletion Blocked",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nChannel configuration deletion blocked\n\n### Possible causes\n\nChannel configuration potentially still linked with channel addresses\n\n### Possible solutions\n\n- To delete a channel configuration, ensure all the channel addresses linked to the configuration are deleted first.\n- Verify this by calling `GET` all addresses for config endpoint\n",
    "causes": "Channel configuration potentially still linked with channel addresses",
    "solutions": "* To delete a channel configuration, ensure all the channel addresses linked to the configuration are deleted first.\n* Verify this by calling `GET` all addresses for config endpoint",
    "description": "Channel configuration deletion blocked",
    "date_created": "2023-03-30T17:44:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45515,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "The account is not authorized to access the instance",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe account is not authorized to access the instance\n\n### Possible causes\n\nIncorrect Flex Service Instance SID used that may not be linked to the Twilio Account\n\n### Possible solutions\n\nRetry the request with the right Flex Service Instance and Account SID\n",
    "causes": "Incorrect Flex Service Instance SID used that may not be linked to the Twilio Account",
    "solutions": "Retry the request with the right Flex Service Instance and Account SID",
    "description": "The account is not authorized to access the instance",
    "date_created": "2023-05-05T16:29:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45516,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "The instance no longer exists",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe instance no longer exists\n\n### Possible causes\n\nThe Flex Service Instance no longer exists\n\n### Possible solutions\n\nRetry the request with a valid Flex Service Instance SID\n",
    "causes": "The Flex Service Instance no longer exists",
    "solutions": "Retry the request with a valid Flex Service Instance SID",
    "description": "The instance no longer exists",
    "date_created": "2023-05-05T16:30:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45517,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Transaction Conflict",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe operation failed due to an ongoing transaction on the requested resource.\n\n### Possible causes\n\nThere are too many requests trying to operate on the requested object at once.\n\n### Possible solutions\n\nRetry the request shortly. Decrease the rate of requests to modify this resource.\n",
    "causes": "There are too many requests trying to operate on the requested object at once.",
    "solutions": "Retry the request shortly. Decrease the rate of requests to modify this resource.",
    "description": "The operation failed due to an ongoing transaction on the requested resource.",
    "date_created": "2023-05-15T15:41:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45600,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Flex UI error",
    "secondary_message": "Error thrown by Flex UI.",
    "product": "Flex",
    "docs": "\n## Description\n\nFlex UI instance experienced a thrown Flex UI Error A JavaScript error has occurred within Flex UI.\n\n### Possible causes\n\n- There may have been an issue initializing Flex UI (no network, wrong config)\n- There may be an error happening in Flex UI code\n- There may be an error happening in user's custom code/plugin\n\n### Possible solutions\n\n- Fix custom code\n- Fix configuration\n",
    "causes": "* There may have been an issue initializing Flex UI (no network, wrong config)\n* There may be an error happening in Flex UI code\n* There may be an error happening in user's custom code/plugin",
    "solutions": "* Fix custom code\n* Fix configuration",
    "description": "Flex UI instance experienced a thrown Flex UI Error A JavaScript error has occurred within Flex UI.",
    "date_created": "2020-11-26T14:31:02Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45601,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Custom Flex UI error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nError thrown by a user's custom code/plugin.\n\n### Possible causes\n\n- Custom code has been written to throw and report a Flex error event\n\n### Possible solutions\n\n- Fix custom code so that the error is not thrown\n- Remove code which throws and reports a custom Flex error event\n",
    "causes": "* Custom code has been written to throw and report a Flex error event",
    "solutions": "* Fix custom code so that the error is not thrown\n* Remove code which throws and reports a custom Flex error event",
    "description": "Error thrown by a user's custom code/plugin.",
    "date_created": "2021-04-30T09:13:54Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45700,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Unexpected error occurred. Unable to process WebChat request.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing create WebChat conversation request.\n\n### Possible causes\n\nWe encountered an unexpected error while processing your create WebChat endpoint.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error while processing your create WebChat endpoint.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing create WebChat conversation request.",
    "date_created": "2022-10-03T20:38:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45701,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Unexpected error occurred. Service unavailable. ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing create WebChat request. Our service is currently unavailable.\n\n### Possible causes\n\nWe encountered an unexpected error while processing your request. Our service is currently unavailable.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our [status page](https://status.twilio.com/) to see if we are having an outage.\n\nIf our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error while processing your request. Our service is currently unavailable.",
    "solutions": "Retry the request. Check our [status page](https://status.twilio.com/) to see if we are having an outage. If our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing create WebChat request. Our service is currently unavailable.",
    "date_created": "2022-10-03T20:52:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45711,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to create webchat participant. Unauthorized ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create webchat participant. Credentials provided in request are invalid for the action.\n\n### Possible causes\n\nRequest is attempting to access resource where access is not allowed for given credentials.\n\n### Possible solutions\n\nCheck that accessed resource is set correctly or apply for permissions.\n",
    "causes": "Request is attempting to access resource where access is not allowed for given credentials.",
    "solutions": "Check that accessed resource is set correctly or apply for permissions.",
    "description": "Failed to create webchat participant. Credentials provided in request are invalid for the action.",
    "date_created": "2022-10-03T21:42:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45715,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to create webchat participant. Invalid request parameters. ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create participant due to invalid request parameters.\n\n### Possible causes\n\nThe address configuration associated with the address SID provided could have invalid parameters. This could be because the account credentials provided are not associated with the address SID provided.\n\n### Possible solutions\n\nEnsure the account credentials and address SID provided are correct and are all associated with the intended account.\n\nEnsure that the request parameters are in accordance with the public documentation.\n",
    "causes": "The address configuration associated with the address SID provided could have invalid parameters. This could be because the account credentials provided are not associated with the address SID provided.",
    "solutions": "Ensure the account credentials and address SID provided are correct and are all associated with the intended account. Ensure that the request parameters are in accordance with the public documentation.",
    "description": "Failed to create participant due to invalid request parameters.",
    "date_created": "2022-10-03T21:38:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45719,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to create webchat participant. Too many requests ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create participant for webchat conversation. Too many requests\n\n### Possible causes\n\nYour account is sending too many concurrent Rest API requests to Twilio servers.\n\n### Possible solutions\n\nAn API Request that receives an error 429 response is never processed and is always safe to retry. Please wait for a short period of time and make the request again, or alter your client's settings to issue fewer concurrent requests to the Twilio API.\n",
    "causes": "Your account is sending too many concurrent Rest API requests to Twilio servers.",
    "solutions": "An API Request that receives an error 429 response is never processed and is always safe to retry. Please wait for a short period of time and make the request again, or alter your client's settings to issue fewer concurrent requests to the Twilio API.",
    "description": "Failed to create participant for webchat conversation. Too many requests",
    "date_created": "2022-10-03T21:45:31Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45731,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pre-engagement data too large. ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create webchat conversation. Pre-engagement data too large.\n\n### Possible causes\n\nPre engagment data is over the maximum allowed size of 16KB.\n\n### Possible solutions\n\nEnsure pre-engagement data is less than 16KB.\n\nRead more about creating valid attributes [here.](/docs/conversations/attributes)\n",
    "causes": "Pre engagment data is over the maximum allowed size of 16KB.",
    "solutions": "Ensure pre-engagement data is less than 16KB. Read more about creating valid attributes [here.](/docs/conversations/attributes)",
    "description": "Failed to create webchat conversation. Pre-engagement data too large.",
    "date_created": "2022-10-03T21:21:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45733,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pre-engagement data is not in valid JSON format.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create webchat conversation. Pre-engagement data not in valid JSON format.\n\n### Possible causes\n\nPre-engagement data is not in valid JSON format.\n\n### Possible solutions\n\nEnsure pre-engagement data is in valid JSON format.\n\nRead more about creating valid attributes [here.](/docs/conversations/attributes)\n",
    "causes": "Pre-engagement data is not in valid JSON format.",
    "solutions": "Ensure pre-engagement data is in valid JSON format. Read more about creating valid attributes [here.](/docs/conversations/attributes)",
    "description": "Failed to create webchat conversation. Pre-engagement data not in valid JSON format.",
    "date_created": "2022-10-03T21:23:17Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45741,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to create webchat conversation. Account not authorized ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create webchat conversation for provided address SID. Account not authorized\n\n### Possible causes\n\nRequest attempted to access resource where access is not allowed for given credentials.\n\n### Possible solutions\n\nCheck that credentials are correct.\n\nCheck that accessed resource is set correctly or apply for permissions.\n",
    "causes": "Request attempted to access resource where access is not allowed for given credentials.",
    "solutions": "Check that credentials are correct. Check that accessed resource is set correctly or apply for permissions.",
    "description": "Failed to create webchat conversation for provided address SID. Account not authorized",
    "date_created": "2022-10-03T21:31:47Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45744,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to create webchat conversation. A resource provided could not be found.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create webchat conversation for provided address SID. Resource not found\n\n### Possible causes\n\nA resource provided in create webchat conversation request could not be found by conversations API.\n\n### Possible solutions\n\nEnsure the account credentials and address SID provided in the request are correct and are all associated with the intended account.\n\nEnsure there's a default messaging service configured. Read more about setting up a service [here.](/docs/conversations/fundamentals#configuring-default-conversation-services-and-messaging-services)\n\nRead more about the create conversation request [here.](/docs/conversations/api/conversation-resource#create-a-conversation-resource)\n\nRead more about messaging service resource [here.](/docs/messaging/api/service-resource)\n",
    "causes": "A resource provided in create webchat conversation request could not be found by conversations API.",
    "solutions": "Ensure the account credentials and address SID provided in the request are correct and are all associated with the intended account. Ensure there's a default messaging service configured. Read more about setting up a service [here.](/docs/conversations/fundamentals#configuring-default-conversation-services-and-messaging-services) Read more about the create conversation request [here.](/docs/conversations/api/conversation-resource#create-a-conversation-resource) Read more about messaging service resource [here.](/docs/messaging/api/service-resource)",
    "description": "Failed to create webchat conversation for provided address SID. Resource not found",
    "date_created": "2022-10-03T21:34:33Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45745,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid or missing parameters in the create conversation request.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to create webchat conversation for provided address SID due to invalid request parameters.\n\n### Possible causes\n\nInvalid or missing parameters in the create conversation request.\n\n### Possible solutions\n\nEnsure that request parameters are in accordance with the public documentation.\n",
    "causes": "Invalid or missing parameters in the create conversation request.",
    "solutions": "Ensure that request parameters are in accordance with the public documentation.",
    "description": "Failed to create webchat conversation for provided address SID due to invalid request parameters.",
    "date_created": "2022-10-03T21:27:00Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45760,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to validate address configuration. Auto create data missing.  ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nUnable to validate address configuration for provided address SID. Auto create data missing.\n\n### Possible causes\n\nAddress configuration data associated with the provided address SID is missing auto create data.\n\n### Possible solutions\n\nEnsure that the address SID provided is valid and associated with the correct account.\n\nEnsure that the auto create data associated with the address is present and in the correct format. More information on creating and updating an address configuration resource can be found [here.](/docs/conversations/api/address-configuration-resource#addressconfiguration-properties)\n",
    "causes": "Address configuration data associated with the provided address SID is missing auto create data.",
    "solutions": "Ensure that the address SID provided is valid and associated with the correct account. Ensure that the auto create data associated with the address is present and in the correct format. More information on creating and updating an address configuration resource can be found [here.](/docs/conversations/api/address-configuration-resource#addressconfiguration-properties)",
    "description": "Unable to validate address configuration for provided address SID. Auto create data missing.",
    "date_created": "2022-10-03T20:56:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45761,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to validate address configuration. Auto create not enabled.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nUnable to validate address configuration for provided address SID. Auto create not enabled.\n\n### Possible causes\n\nAddress configuration data associated with the provided address SID does not have auto create enabled in address configuration. When disabled, conversations will not be auto-created on incoming messages.\n\n### Possible solutions\n\n\"Ensure the address SID provided is valid and associated with the correct account.\n\nEnsure the address configuration associated with the address is correct. Read more about creating and updating an address configuration resource [here.](/docs/conversations/api/address-configuration-resource#fetch-an-addressconfiguration-resource)\"\n",
    "causes": "Address configuration data associated with the provided address SID does not have auto create enabled in address configuration. When disabled, conversations will not be auto-created on incoming messages.",
    "solutions": "\"Ensure the address SID provided is valid and associated with the correct account. Ensure the address configuration associated with the address is correct. Read more about creating and updating an address configuration resource [here.](/docs/conversations/api/address-configuration-resource#fetch-an-addressconfiguration-resource)\"",
    "description": "Unable to validate address configuration for provided address SID. Auto create not enabled.",
    "date_created": "2022-10-03T21:10:04Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45762,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to validate address configuration. Auto create type is empty or invalid.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to validate address configuration associated with provided address SID. Auto create type is empty or invalid.\n\n### Possible causes\n\nAddress configuration associated with the provided address SID has an invalid or missing auto create type.\n\nThe address configuration could be incorrect or out of date.\n\n### Possible solutions\n\nEnsure that the address SID provided is valid and associated with the correct account.\n\nEnsure the auto create type is present and set in the address configuration and is set to one of the valid types: webhook, studio, or default. More information on creating and updating an address configuration resource can be found [here.](/docs/conversations/api/address-configuration-resource#addressconfiguration-properties)\n",
    "causes": "Address configuration associated with the provided address SID has an invalid or missing auto create type. The address configuration could be incorrect or out of date.",
    "solutions": "Ensure that the address SID provided is valid and associated with the correct account. Ensure the auto create type is present and set in the address configuration and is set to one of the valid types: webhook, studio, or default. More information on creating and updating an address configuration resource can be found [here.](/docs/conversations/api/address-configuration-resource#addressconfiguration-properties)",
    "description": "Failed to validate address configuration associated with provided address SID. Auto create type is empty or invalid.",
    "date_created": "2022-10-03T21:14:03Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45763,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to validate address configuration. Auto create studio flow SID missing.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nUnable to validate address configuration for provided address SID. Auto create studio flow SID missing.\n\n### Possible causes\n\nAddress configuration associated with the provided address SID has auto create type set to STUDIO but no corresponding studio flow SID.\n\n### Possible solutions\n\nEnsure that the address SID provided is valid and associated with the correct account.\n\nEnsure that the auto create type in address configuration is correct. If your auto create type is set to STUDIO, ensure the studio flow SID is present and correct in address configuration.\n\nRead more about creating and updating an address configuration resource [here.](/docs/conversations/api/address-configuration-resource#create-an-addressconfiguration-resource)\n\nRead more about creating a studio flow [here.](/docs/usage/webhooks/webhooks-overview)\n",
    "causes": "Address configuration associated with the provided address SID has auto create type set to STUDIO but no corresponding studio flow SID.",
    "solutions": "Ensure that the address SID provided is valid and associated with the correct account. Ensure that the auto create type in address configuration is correct. If your auto create type is set to STUDIO, ensure the studio flow SID is present and correct in address configuration. Read more about creating and updating an address configuration resource [here.](/docs/conversations/api/address-configuration-resource#create-an-addressconfiguration-resource) Read more about creating a studio flow [here.](/docs/usage/webhooks/webhooks-overview)",
    "description": "Unable to validate address configuration for provided address SID. Auto create studio flow SID missing.",
    "date_created": "2022-10-03T21:16:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45764,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to validate address configuration. Auto create webhook URL missing. ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nUnable to validate address configuration for provided address SID. Auto create webhook URL missing.\n\n### Possible causes\n\nAddress configuration associated with the provided address SID has auto create type set to WEBHOOK but no webhook URL was provided.\n\n### Possible solutions\n\nEnsure that the address SID provided is valid and associated with the correct account.\n\nEnsure that the auto create type provided is correct. If your auto create type is WEBHOOK, ensure the webhook url is present and valid in the address configuration.\n\nRead more about creating and updating an address configuration resource [here.](/docs/conversations/api/address-configuration-resource#create-an-addressconfiguration-resource)\n\nRead more about webhooks and their applications [here.](/docs/usage/webhooks/webhooks-overview)\n",
    "causes": "Address configuration associated with the provided address SID has auto create type set to WEBHOOK but no webhook URL was provided.",
    "solutions": "Ensure that the address SID provided is valid and associated with the correct account. Ensure that the auto create type provided is correct. If your auto create type is WEBHOOK, ensure the webhook url is present and valid in the address configuration. Read more about creating and updating an address configuration resource [here.](/docs/conversations/api/address-configuration-resource#create-an-addressconfiguration-resource) Read more about webhooks and their applications [here.](/docs/usage/webhooks/webhooks-overview)",
    "description": "Unable to validate address configuration for provided address SID. Auto create webhook URL missing.",
    "date_created": "2022-10-03T21:18:58Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45765,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Address configuration data not found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nNo address configuration data found for provided address SID.\n\n### Possible causes\n\nNo address configuration has been created for the provided address SID.\n\nThe address SID provided is incorrect.\n\n### Possible solutions\n\n\"Ensure the provided address SID is correct and that the asscoiated address configuration has been created.\n\nRead more about creating and updating an address configuration resource [here.](/docs/conversations/api/address-configuration-resource#create-an-addressconfiguration-resource)\"\n",
    "causes": "No address configuration has been created for the provided address SID. The address SID provided is incorrect.",
    "solutions": "\"Ensure the provided address SID is correct and that the asscoiated address configuration has been created. Read more about creating and updating an address configuration resource [here.](/docs/conversations/api/address-configuration-resource#create-an-addressconfiguration-resource)\"",
    "description": "No address configuration data found for provided address SID.",
    "date_created": "2022-10-04T16:07:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45770,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to create InteractionChannel. Downstream Error. ",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn error occurred while creating an interactionChannel. Downstream Error.\n\n### Possible causes\n\nWe encountered an unexpected error while processing createInteractionChannel Request, Downstream Error.\n\n### Possible solutions\n\n\"Retry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\"\n",
    "causes": "We encountered an unexpected error while processing createInteractionChannel Request, Downstream Error.",
    "solutions": "\"Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.\"",
    "description": "An error occurred while creating an interactionChannel. Downstream Error.",
    "date_created": "2023-03-24T16:09:04Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45771,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to create InboundConversation. Internal Error.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred while creating Inbound Conversation.\n\n### Possible causes\n\nWe encountered an unexpected error processing the request.\n\n### Possible solutions\n\n\"Retry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\"\n",
    "causes": "We encountered an unexpected error processing the request.",
    "solutions": "\"Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.\"",
    "description": "An unexpected error occurred while creating Inbound Conversation.",
    "date_created": "2023-03-24T16:09:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45772,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to perform operation. Required header is either missing or incorrect.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to perform operation. Required header is either missing or incorrect.\n\n### Possible causes\n\nMandatory headers might be missing in the request.\n\n### Possible solutions\n\nProvide all the mandatory headers.\n",
    "causes": "Mandatory headers might be missing in the request.",
    "solutions": "Provide all the mandatory headers.",
    "description": "Failed to perform operation. Required header is either missing or incorrect.",
    "date_created": "2023-11-22T12:25:30Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45773,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error. Failed to create token.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing init token request.\n\n### Possible causes\n\nWe encountered an unexpected error when creating token.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error when creating token.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing init token request.",
    "date_created": "2023-11-22T15:38:26Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45774,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error. Failed to refresh token.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing refresh token request.\n\n### Possible causes\n\nWe encountered an unexpected error when refreshing token.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error when refreshing token.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing refresh token request.",
    "date_created": "2023-11-22T15:41:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45775,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to refresh token. Invalid token provided.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to refresh token. Invalid token provided.\n\n### Possible causes\n\nToken provided in the request is invalid.\n\n### Possible solutions\n\nProvide the correct token.\n",
    "causes": "Token provided in the request is invalid.",
    "solutions": "Provide the correct token.",
    "description": "Failed to refresh token. Invalid token provided.",
    "date_created": "2023-11-22T15:44:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45776,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to fetch Configuration for deployment key.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to fetch Configuration for deployment key.\n\n### Possible causes\n\nAn unexpected error occurred while fetching configuration associated with the given deployment key.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "An unexpected error occurred while fetching configuration associated with the given deployment key.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "Failed to fetch Configuration for deployment key.",
    "date_created": "2023-11-22T15:52:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45777,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Address Configuration not found for deployment key.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAddress Configuration not found for deployment key.\n\n### Possible causes\n\nNo address configuration is linked with the given deployment key.\n\n### Possible solutions\n\nEnsure the deployment key is correct and there exists a valid address configuration Sid associated with it.\n",
    "causes": "No address configuration is linked with the given deployment key.",
    "solutions": "Ensure the deployment key is correct and there exists a valid address configuration Sid associated with it.",
    "description": "Address Configuration not found for deployment key.",
    "date_created": "2023-11-22T15:55:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45778,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Configuration not found for provided Deployment Key.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nDeployment configuration not found for provided deployment key.\n\n### Possible causes\n\nNo deployment configuration associated with the given deployment key.\n\n### Possible solutions\n\nEnsure the deployment key is correct and there exists a valid deployment configuration associated with it.\n",
    "causes": "No deployment configuration associated with the given deployment key.",
    "solutions": "Ensure the deployment key is correct and there exists a valid deployment configuration associated with it.",
    "description": "Deployment configuration not found for provided deployment key.",
    "date_created": "2023-11-22T16:01:14Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45780,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to perform this operation. Account is sending too many concurrent API requests.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to perform this operation. Account is sending too many concurrent API requests.\n\n### Possible causes\n\nYour account is sending too many concurrent requests.\n\n### Possible solutions\n\nPlease wait for a short period of time and make the request again, or alter your client's settings to issue fewer concurrent requests to the Twilio API.\n",
    "causes": "Your account is sending too many concurrent requests.",
    "solutions": "Please wait for a short period of time and make the request again, or alter your client's settings to issue fewer concurrent requests to the Twilio API.",
    "description": "Failed to perform this operation. Account is sending too many concurrent API requests.",
    "date_created": "2023-11-22T15:47:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45781,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error. Failed to create deployment key.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing create deployment key request.\n\n### Possible causes\n\nWe encountered an unexpected error when creating deployment key.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error when creating deployment key.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing create deployment key request.",
    "date_created": "2023-11-21T07:55:35Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45782,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error. Failed to delete deployment key.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing delete deployment key request.\n\n### Possible causes\n\nWe encountered an unexpected error when deleting deployment key.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error when deleting deployment key.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing delete deployment key request.",
    "date_created": "2023-11-23T04:10:28Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45784,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error. Failed to get deployment keys.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing get all deployment keys request.\n\n### Possible causes\n\nWe encountered an unexpected error when processing get all deployment keys request.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error when processing get all deployment keys request.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing get all deployment keys request.",
    "date_created": "2023-11-23T04:11:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45785,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error. Failed to delete deployment keys.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing delete all deployment keys request.\n\n### Possible causes\n\nWe encountered an unexpected error when deleting deployment keys.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error when deleting deployment keys.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing delete all deployment keys request.",
    "date_created": "2023-11-23T04:15:09Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45788,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error. Failed to update deployment key.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn unexpected error occurred when processing update deployment key request.\n\n### Possible causes\n\nWe encountered an unexpected error when updating deployment key.\n\n### Possible solutions\n\nRetry the request.\n\nCheck our status page to see if we are having an outage.\n\nIf our status page has no information, contact support with details about the requests that are failing, and we will investigate.\n",
    "causes": "We encountered an unexpected error when updating deployment key.",
    "solutions": "Retry the request. Check our status page to see if we are having an outage. If our status page has no information, contact support with details about the requests that are failing, and we will investigate.",
    "description": "An unexpected error occurred when processing update deployment key request.",
    "date_created": "2023-11-23T04:18:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45789,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Deployment key is already linked to other address  configuration sid.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nDeployment key is already linked to another address configuration Sid.\n\n### Possible causes\n\nYou cannot link deployment key to multiple address configuration Sids.\n\n### Possible solutions\n\nFirst unlink the deployment key from current address configuration Sid.\n",
    "causes": "You cannot link deployment key to multiple address configuration Sids.",
    "solutions": "First unlink the deployment key from current address configuration Sid.",
    "description": "Deployment key is already linked to another address configuration Sid.",
    "date_created": "2023-11-23T04:22:19Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45794,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Max deployment keys limit reached for this account.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nMax deployment keys limit reached for this account.\n\n### Possible causes\n\nAccount already has maximum allowed number of deployment keys.\n\n### Possible solutions\n\nDelete any of the existing deployment key to create more.\n",
    "causes": "Account already has maximum allowed number of deployment keys.",
    "solutions": "Delete any of the existing deployment key to create more.",
    "description": "Max deployment keys limit reached for this account.",
    "date_created": "2023-11-23T04:23:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45795,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Friendly name must be between 1 and  64 characters long.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFriendly name must be between 1 and 64 characters long.\n\n### Possible causes\n\nThe friendly name must consists of at least 1 character and up to a maximum of 64 characters.\n\n### Possible solutions\n\nProvide a friendly name that is between 1 and 64 characters in length.\n",
    "causes": "The friendly name must consists of at least 1 character and up to a maximum of 64 characters.",
    "solutions": "Provide a friendly name that is between 1 and 64 characters in length.",
    "description": "Friendly name must be between 1 and 64 characters long.",
    "date_created": "2023-11-23T04:39:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45796,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Failed to perform this operation. There  was a conflict with the state of the resource.",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nFailed to perform this operation. There was a conflict with the state of the resource.\n\n### Possible causes\n\nConflict in the state of target resource possibly because of concurrent requests.\n\n### Possible solutions\n\nRetry the request.\n",
    "causes": "Conflict in the state of target resource possibly because of concurrent requests.",
    "solutions": "Retry the request.",
    "description": "Failed to perform this operation. There was a conflict with the state of the resource.",
    "date_created": "2023-11-23T04:40:21Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45797,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Support Access Token Generated",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nA support access token was generated for this account, providing read-only access to this member of Twilio Support to account data, including worker, task, interaction and configuration data.\n\n### Possible causes\n\nA member of Twilio Support obtained customer approval to generate a support access token in order to provide support to the customer.\n\n### Possible solutions\n\nThis support access token will expire after 1hr.\n",
    "causes": "A member of Twilio Support obtained customer approval to generate a support access token in order to provide support to the customer.",
    "solutions": "This support access token will expire after 1hr.",
    "description": "A support access token was generated for this account, providing read-only access to this member of Twilio Support to account data, including worker, task, interaction and configuration data.",
    "date_created": "2024-06-18T21:40:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45798,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Error processing SCIM request - internal server error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nAn internal error occurred while processing SCIM request.\n\n### Possible causes\n\nAn internal error occurred while processing SCIM request.\n\n### Possible solutions\n\nPlease try again later.\n",
    "causes": "An internal error occurred while processing SCIM request.",
    "solutions": "Please try again later.",
    "description": "An internal error occurred while processing SCIM request.",
    "date_created": "2025-03-03T19:55:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 45799,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Error processing SCIM request - client error",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nA user error happened while processing SCIM request.\n\n### Possible causes\n\nA create user request where a user already exists or a delete user request where user doesn't exist, or a create\\_user request with missing required fields like full name , roles or not using email as username in IDP.\n\n### Possible solutions\n\nPlease correct the attributes in IDP and retry.\n",
    "causes": "A create user request where a user already exists or a delete user request where user doesn't exist, or a create\\_user request with missing required fields like full name , roles or not using email as username in IDP.",
    "solutions": "Please correct the attributes in IDP and retry.",
    "description": "A user error happened while processing SCIM request.",
    "date_created": "2025-03-03T19:56:48Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid request payload",
    "secondary_message": "The callback request payload provided is invalid",
    "product": null,
    "docs": "\n## Description\n\nThe callback request payload provided is invalid\n\n### Possible causes\n\n- You might be using an old version of Frontline application.\n\n### Possible solutions\n\n- Update your Frontline application.\n",
    "causes": "* You might be using an old version of Frontline application.",
    "solutions": "* Update your Frontline application.",
    "description": "The callback request payload provided is invalid",
    "date_created": "2021-09-24T08:04:55Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48001,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Callback URL is not set",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nCallback URL is not set in Twilio Frontline Console.\n\n### Possible solutions\n\nSet a Callback URL in Twilio Frontline Console to use this functionality.\n",
    "causes": "Callback URL is not set in Twilio Frontline Console.",
    "solutions": "Set a Callback URL in Twilio Frontline Console to use this functionality.",
    "description": "",
    "date_created": "2021-09-24T08:05:44Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Callback URL is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe Callback URL provided is invalid.\n\n### Possible solutions\n\nMake sure that you provided a valid Callback URL.\n",
    "causes": "The Callback URL provided is invalid.",
    "solutions": "Make sure that you provided a valid Callback URL.",
    "description": "",
    "date_created": "2021-09-24T08:06:20Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Callback returned an invalid response",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Your Frontline integration service returned a response which is invalid.\n- Your service returned a response that was too large. Responses are capped at 64k.\n\n### Possible solutions\n\n- Make sure that callback returns a valid JSON which has the required fields that are defined in Frontline Docs.\n- Make sure that your response size is less than 64k.\n",
    "causes": "* Your Frontline integration service returned a response which is invalid.\n* Your service returned a response that was too large. Responses are capped at 64k.",
    "solutions": "* Make sure that callback returns a valid JSON which has the required fields that are defined in Frontline Docs.\n* Make sure that your response size is less than 64k.",
    "description": "",
    "date_created": "2021-09-24T08:06:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Callback returned an error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nYour callback returned an error response, the Callback URL provided might be wrong or callback endpoint might be failing to process request.\n\n### Possible solutions\n\nMake sure that Callback URL and endpoint is correct and you have a running web server at that URL.\n",
    "causes": "Your callback returned an error response, the Callback URL provided might be wrong or callback endpoint might be failing to process request.",
    "solutions": "Make sure that Callback URL and endpoint is correct and you have a running web server at that URL.",
    "description": "",
    "date_created": "2021-09-24T08:07:57Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Callback failed due to timeout",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nYour Frontline Integration Service side processing is exceeding 6 seconds.\n\n### Possible solutions\n\nMake sure that callback processing time is less than 6 seconds.\n",
    "causes": "Your Frontline Integration Service side processing is exceeding 6 seconds.",
    "solutions": "Make sure that callback processing time is less than 6 seconds.",
    "description": "",
    "date_created": "2021-10-26T09:16:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Custom Routing Callback failed to execute successfully",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The callback endpoint returned an error code.\n- The callback processing is exceeding 10 seconds.\n\n### Possible solutions\n\n- Check your callback execution logic to ensure it is processing the callback calls correctly and passing back `200 OK`.\n- Make sure that callback processing time is less than 10 seconds.\n",
    "causes": "* The callback endpoint returned an error code.\n* The callback processing is exceeding 10 seconds.",
    "solutions": "* Check your callback execution logic to ensure it is processing the callback calls correctly and passing back `200 OK`.\n* Make sure that callback processing time is less than 10 seconds.",
    "description": "",
    "date_created": "2021-11-18T11:10:26Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48011,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Custom Routing Callback failed due to an internal error",
    "secondary_message": "An internal error has occurred that prevented Twilio from processing your callback.",
    "product": null,
    "docs": "\n## Description\n\nAn internal error has occurred that prevented Twilio from processing your callback.\n\n### Possible causes\n\n- We failed to execute callback request.\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n",
    "causes": "* We failed to execute callback request.",
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!",
    "description": "An internal error has occurred that prevented Twilio from processing your callback.",
    "date_created": "2021-11-18T11:11:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Frontline user conversation limit exceeded",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because the Conversations user associated to the given Frontline user is a participant in too many conversations.\n\n### Possible causes\n\n- The Conversations user associated to the given Frontline user attempted to create a conversation and exceeded the Conversations service's maximum user conversations limit.\n\n### Possible solutions\n\n- If you frequently exceed the user conversations limit for the Frontline Conversations service, you may want to consider raising your user conversations limit.\n\n  - Read more about Conversations API user conversations limits in our [docs](/docs/conversations/conversations-limits#maximum-channelsconversations-per-identity).\n  - In order to request a limit increase, please contact [customer support](http://twilio.com/console/support/tickets/create).\n- Ask the Frontline user to close or transfer some of their active conversations.\n- Delete conversations the user is a participant in.\n",
    "causes": "* The Conversations user associated to the given Frontline user attempted to create a conversation and exceeded the Conversations service's maximum user conversations limit.",
    "solutions": "* If you frequently exceed the user conversations limit for the Frontline Conversations service, you may want to consider raising your user conversations limit.\n\n  * Read more about Conversations API user conversations limits in our [docs](/docs/conversations/conversations-limits#maximum-channelsconversations-per-identity).\n  * In order to request a limit increase, please contact [customer support](http://twilio.com/console/support/tickets/create).\n* Ask the Frontline user to close or transfer some of their active conversations.\n* Delete conversations the user is a participant in.",
    "description": "A conversation could not be created because the Conversations user associated to the given Frontline user is a participant in too many conversations.",
    "date_created": "2022-04-20T15:48:11Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48024,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Contact conversation limit exceeded",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA Chat conversation could not be created because the Conversations user associated to the given contact is a participant in too many conversations.\n\n### Possible causes\n\n- The Conversations user associated to the given contact attempted to create a conversation over Chat channel and exceeded the Conversations service's maximum user conversations limit.\n\n### Possible solutions\n\n- If you frequently exceed the user conversations limit for the Frontline Conversations service, you may want to consider raising your user conversations limit.\n\n  - Read more about Conversations API user conversations limits in our [docs](/docs/conversations/conversations-limits#maximum-channelsconversations-per-identity).\n  - In order to request a limit increase, please contact [customer support](http://twilio.com/console/support/tickets/create).\n- Close or delete conversations the user is a participant in.\n",
    "causes": "* The Conversations user associated to the given contact attempted to create a conversation over Chat channel and exceeded the Conversations service's maximum user conversations limit.",
    "solutions": "* If you frequently exceed the user conversations limit for the Frontline Conversations service, you may want to consider raising your user conversations limit.\n\n  * Read more about Conversations API user conversations limits in our [docs](/docs/conversations/conversations-limits#maximum-channelsconversations-per-identity).\n  * In order to request a limit increase, please contact [customer support](http://twilio.com/console/support/tickets/create).\n* Close or delete conversations the user is a participant in.",
    "description": "A Chat conversation could not be created because the Conversations user associated to the given contact is a participant in too many conversations.",
    "date_created": "2022-04-20T15:49:36Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48025,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Invalid contact address",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because the provided contact address was invalid.\n\n### Possible causes\n\n- The contact phone number used to initiate a new conversation was invalid.\n\n### Possible solutions\n\n- Make sure that the contact address returned from the CRM callback is correct and properly formatted in [E.164 format](/docs/glossary/what-e164), including any channel prefixes if relevant.\n  - Check out the [docs](/docs/frontline/my-customers) on CRM callbacks for additional information.\n",
    "causes": "* The contact phone number used to initiate a new conversation was invalid.",
    "solutions": "* Make sure that the contact address returned from the CRM callback is correct and properly formatted in [E.164 format](/docs/glossary/what-e164), including any channel prefixes if relevant.\n  * Check out the [docs](/docs/frontline/my-customers) on CRM callbacks for additional information.",
    "description": "A conversation could not be created because the provided contact address was invalid.",
    "date_created": "2022-04-20T15:50:49Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48026,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Invalid proxy address",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because the provided Twilio proxy address for the Frontline user was invalid.\n\n### Possible causes\n\n- The outgoing conversation callback returned an invalid Twilio proxy number or no number at all.\n\n### Possible solutions\n\n- Make sure that the `proxy_address` value returned from the Outgoing Conversation callback is present and properly formatted in [E.164 format](/docs/glossary/what-e164), including any channel prefixes if relevant.\n  - Check out the [docs](/docs/frontline/outgoing-conversations) on how to create outgoing conversations.\n",
    "causes": "* The outgoing conversation callback returned an invalid Twilio proxy number or no number at all.",
    "solutions": "* Make sure that the `proxy_address` value returned from the Outgoing Conversation callback is present and properly formatted in [E.164 format](/docs/glossary/what-e164), including any channel prefixes if relevant.\n  * Check out the [docs](/docs/frontline/outgoing-conversations) on how to create outgoing conversations.",
    "description": "A conversation could not be created because the provided Twilio proxy address for the Frontline user was invalid.",
    "date_created": "2022-04-20T15:51:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48027,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Proxy address equals contact address",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because the provided Twilio proxy address was the same as contact address.\n\n### Possible causes\n\n- The outgoing conversation callback returned a Twilio proxy number that was the same as the contact address.\n\n### Possible solutions\n\n- Make sure that the `proxy_address` value that is returned from the Outgoing Conversation callback is different from the contact address.\n\n  - Check out the [docs](/docs/frontline/nodejs-demo-quickstart#sign-up-for-a-twilio-account-and-get-a-phone-number) on how to configure Twilio proxy numbers.\n  - Check out the [docs](/docs/frontline/nodejs-demo-quickstart#configure-the-twilio-frontline-integration-service) on how to use your Twilio proxy number within the integration service.\n  - Check out the [docs](/docs/frontline/outgoing-conversations) on how to create outgoing conversations.\n",
    "causes": "* The outgoing conversation callback returned a Twilio proxy number that was the same as the contact address.",
    "solutions": "* Make sure that the `proxy_address` value that is returned from the Outgoing Conversation callback is different from the contact address.\n\n  * Check out the [docs](/docs/frontline/nodejs-demo-quickstart#sign-up-for-a-twilio-account-and-get-a-phone-number) on how to configure Twilio proxy numbers.\n  * Check out the [docs](/docs/frontline/nodejs-demo-quickstart#configure-the-twilio-frontline-integration-service) on how to use your Twilio proxy number within the integration service.\n  * Check out the [docs](/docs/frontline/outgoing-conversations) on how to create outgoing conversations.",
    "description": "A conversation could not be created because the provided Twilio proxy address was the same as contact address.",
    "date_created": "2022-04-20T15:52:38Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48028,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Unauthorized use of the proxy address",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because your Twilio account is not authorized to use the provided Twilio proxy address.\n\n### Possible causes\n\n- The outgoing conversation callback returned a Twilio proxy number that was created under a different Twilio account.\n\n### Possible solutions\n\n- Make sure that the `proxy_address` value that is returned from the Outgoing Conversation callback belongs to the Twilio account under which the conversation is being created.\n  - Check out the [docs](/docs/frontline/nodejs-demo-quickstart#configure-the-twilio-frontline-integration-service) on how to configure your Twilio credentials in the integration service.\n",
    "causes": "* The outgoing conversation callback returned a Twilio proxy number that was created under a different Twilio account.",
    "solutions": "* Make sure that the `proxy_address` value that is returned from the Outgoing Conversation callback belongs to the Twilio account under which the conversation is being created.\n  * Check out the [docs](/docs/frontline/nodejs-demo-quickstart#configure-the-twilio-frontline-integration-service) on how to configure your Twilio credentials in the integration service.",
    "description": "A conversation could not be created because your Twilio account is not authorized to use the provided Twilio proxy address.",
    "date_created": "2022-04-20T15:53:25Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48029,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Contact address type does not match proxy address type",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because the provided Twilio proxy address does not match the contact's expected channel type.\n\n### Possible causes\n\n- The outgoing conversation callback returned a Twilio proxy number that does not match the channel type of the contact address.\n\n### Possible solutions\n\n- Make sure that the `proxy_address` value that is returned from the Outgoing Conversation callback has the same type as the channel over which the conversation is being created (i.e., for a WhatsApp conversation, use a Twilio proxy number with the prefix *whatsapp:*).\n  - Check out the [docs](/docs/frontline/outgoing-conversations) on how to create outgoing conversations.\n",
    "causes": "* The outgoing conversation callback returned a Twilio proxy number that does not match the channel type of the contact address.",
    "solutions": "* Make sure that the `proxy_address` value that is returned from the Outgoing Conversation callback has the same type as the channel over which the conversation is being created (i.e., for a WhatsApp conversation, use a Twilio proxy number with the prefix *whatsapp:*).\n  * Check out the [docs](/docs/frontline/outgoing-conversations) on how to create outgoing conversations.",
    "description": "A conversation could not be created because the provided Twilio proxy address does not match the contact's expected channel type.",
    "date_created": "2022-04-20T15:54:05Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48030,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Proxy address is not WhatsApp-enabled sender",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA WhatsApp conversation could not be created because the provided Twilio proxy number is not a WhatsApp-enabled sender.\n\n### Possible causes\n\n- The Outgoing Conversation callback returned a Twilio proxy number that was properly formatted, but not configured as a WhatsApp-enabled sender.\n\n### Possible solutions\n\n- Make sure that the `proxy_address` value that is returned from the Outgoing Conversation callback is a WhatsApp-enabled sender.\n\n  - Check out the [docs](/docs/whatsapp/api#using-twilio-phone-numbers-with-whatsapp) for how to configure WhatsApp-enabled senders as a Twilio proxy number.\n  - Manage your WhatsApp-enabled senders from the [console](https://twilio.com/console/sms/whatsapp/senders).\n",
    "causes": "* The Outgoing Conversation callback returned a Twilio proxy number that was properly formatted, but not configured as a WhatsApp-enabled sender.",
    "solutions": "* Make sure that the `proxy_address` value that is returned from the Outgoing Conversation callback is a WhatsApp-enabled sender.\n\n  * Check out the [docs](/docs/whatsapp/api#using-twilio-phone-numbers-with-whatsapp) for how to configure WhatsApp-enabled senders as a Twilio proxy number.\n  * Manage your WhatsApp-enabled senders from the [console](https://twilio.com/console/sms/whatsapp/senders).",
    "description": "A WhatsApp conversation could not be created because the provided Twilio proxy number is not a WhatsApp-enabled sender.",
    "date_created": "2022-04-20T15:54:50Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48031,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Conversation with this contact and proxy address already exists",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because the requested contact address and Twilio proxy number are already in an active conversation in the same channel.\n\n### Possible causes\n\n- Another Frontline user is already engaged in the conversation with the same contact using the same Twilio proxy number.\n- A conversation was created with the same contact using the same Twilio proxy number, but a Frontline user was never added to the conversation (i.e. the conversation was never routed to a Frontline user).\n\n### Possible solutions\n\n- If the conversation has a Frontline user assigned to it, ask the user engaged in the conversation to either close the conversation or transfer it to the user who initiated the new conversation creation.\n- If the conversation does not have any Frontline users assigned to it, either close the conversation or add the user who initiated the new conversation creation to the existing conversation.\n  - If inbound conversations are unintentionally not being routed to a Frontline user, you may want to check your inbound routing configuration for issues. Check out the [docs](/docs/frontline/handle-incoming-conversations) on inbound conversation routing.\n",
    "causes": "* Another Frontline user is already engaged in the conversation with the same contact using the same Twilio proxy number.\n* A conversation was created with the same contact using the same Twilio proxy number, but a Frontline user was never added to the conversation (i.e. the conversation was never routed to a Frontline user).",
    "solutions": "* If the conversation has a Frontline user assigned to it, ask the user engaged in the conversation to either close the conversation or transfer it to the user who initiated the new conversation creation.\n* If the conversation does not have any Frontline users assigned to it, either close the conversation or add the user who initiated the new conversation creation to the existing conversation.\n  * If inbound conversations are unintentionally not being routed to a Frontline user, you may want to check your inbound routing configuration for issues. Check out the [docs](/docs/frontline/handle-incoming-conversations) on inbound conversation routing.",
    "description": "A conversation could not be created because the requested contact address and Twilio proxy number are already in an active conversation in the same channel.",
    "date_created": "2022-04-20T15:55:39Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48032,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Missing Messaging service",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because the Messaging service required for Frontline is missing.\n\n### Possible causes\n\n- You may have deleted the Messaging service that auto-creates conversations in the Frontline Conversations service.\n\n### Possible solutions\n\n- Configure a new \"Default Messaging Service\" from the console, under the [Conversations defaults](https://console.twilio.com/us1/develop/conversations/manage/defaults?frameUrl=%2Fconsole%2Fconversations%2Fconfiguration%2Fdefaults%3Fx-target-region%3Dus1).\n  - Check out the [docs](/docs/frontline/nodejs-demo-quickstart#configure-twilio-conversations) on how to configure Conversations to work with Frontline.\n- Reach out to [customer support](http://twilio.com/console/support/tickets/create) for any additional help.\n",
    "causes": "* You may have deleted the Messaging service that auto-creates conversations in the Frontline Conversations service.",
    "solutions": "* Configure a new \"Default Messaging Service\" from the console, under the [Conversations defaults](https://console.twilio.com/us1/develop/conversations/manage/defaults?frameUrl=%2Fconsole%2Fconversations%2Fconfiguration%2Fdefaults%3Fx-target-region%3Dus1).\n  * Check out the [docs](/docs/frontline/nodejs-demo-quickstart#configure-twilio-conversations) on how to configure Conversations to work with Frontline.\n* Reach out to [customer support](http://twilio.com/console/support/tickets/create) for any additional help.",
    "description": "A conversation could not be created because the Messaging service required for Frontline is missing.",
    "date_created": "2022-04-20T15:56:27Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48033,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Outgoing conversation: Invalid contact identity",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA conversation could not be created because the provided contact chat identity was invalid.\n\n### Possible causes\n\n- The contact chat identity was not formatted properly.\n- A reserved identity was used for contact chat identity.\n\n### Possible solutions\n\n- Make sure that the contact chat identity returned from the CRM callback is formatted properly and does not violate the following rules.\n\n  - Should not match a User SID pattern `US[0-9a-f]{32}`.\n  - Should not be a reserved identity (`system`, `private`, `unique`).\n  - Should not be longer than 256 characters.\n- We recommend following the standard URI specification and avoid the following reserved characters `! * ' ( ) ; : @ & = + $ , / ? % # [ ]` for identity.\n",
    "causes": "* The contact chat identity was not formatted properly.\n* A reserved identity was used for contact chat identity.",
    "solutions": "* Make sure that the contact chat identity returned from the CRM callback is formatted properly and does not violate the following rules.\n\n  * Should not match a User SID pattern `US[0-9a-f]{32}`.\n  * Should not be a reserved identity (`system`, `private`, `unique`).\n  * Should not be longer than 256 characters.\n* We recommend following the standard URI specification and avoid the following reserved characters `! * ' ( ) ; : @ & = + $ , / ? % # [ ]` for identity.",
    "description": "A conversation could not be created because the provided contact chat identity was invalid.",
    "date_created": "2022-04-20T15:57:23Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 48050,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal service error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Frontline encountered an internal error.\n\n### Possible solutions\n\n- Please reach out to [customer support](http://twilio.com/console/support/tickets/create).\n",
    "causes": "* Frontline encountered an internal error.",
    "solutions": "* Please reach out to [customer support](http://twilio.com/console/support/tickets/create).",
    "description": "",
    "date_created": "2022-04-20T15:58:06Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 49008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Profile Connector Installation Not Found",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe value inside of the UniqueName field (legacy name) is not found to be associated with a known entity, either in the Twilio marketplace, or in our internal Profile Connector SID Database.\n\n### Possible causes\n\nThe Profile Connector \\{Profile Connector Instance SID or Unique Name} was not found.\n\n### Possible solutions\n\nEnsure that you have the correct Profile Connector Instance SID.\n",
    "causes": "The Profile Connector {Profile Connector Instance SID or Unique Name} was not found.",
    "solutions": "Ensure that you have the correct Profile Connector Instance SID.",
    "description": "The value inside of the UniqueName field (legacy name) is not found to be associated with a known entity, either in the Twilio marketplace, or in our internal Profile Connector SID Database.",
    "date_created": "2024-08-16T21:01:19Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 49009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Credentials Malformed",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nThe credential SID associated with either the Profile Connector Instance SID or the Unique Name was invalid. Please check configuration and update credentials\n\n### Possible causes\n\nCredentials are present, but aren't parse-able due to an invalid SID placed inside of the configuration.\n\n### Possible solutions\n\nPlease ensure the correct value inside of the SegmentUnifyApiKey.\n",
    "causes": "Credentials are present, but aren't parse-able due to an invalid SID placed inside of the configuration.",
    "solutions": "Please ensure the correct value inside of the SegmentUnifyApiKey.",
    "description": "The credential SID associated with either the Profile Connector Instance SID or the Unique Name was invalid. Please check configuration and update credentials",
    "date_created": "2024-08-16T21:00:08Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50000,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: FriendlyName not provided",
    "secondary_message": "Request does not contain required \"FriendlyName\" parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required \"FriendlyName\" parameter.\n\n### Possible solutions\n\n- Confirm a valid FriendlyName is being passed in request.\n",
    "causes": "* Request does not contain required \"FriendlyName\" parameter.",
    "solutions": "* Confirm a valid FriendlyName is being passed in request.",
    "description": "",
    "date_created": "2016-04-15T11:19:12Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Account SID not provided",
    "secondary_message": "Request does not contain required Account SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Account SID parameter.\n\n### Possible solutions\n\n- Confirm a valid Account SID is being passed in request.\n",
    "causes": "* Request does not contain required Account SID parameter.",
    "solutions": "* Confirm a valid Account SID is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Resource is being deleted",
    "secondary_message": "The resource your request relates to is currently being deleted.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- The resource your request relates to is currently being deleted.\n\n### Possible solutions\n\n- Try the same request again later.\n",
    "causes": "* The resource your request relates to is currently being deleted.",
    "solutions": "* Try the same request again later.",
    "description": "",
    "date_created": "2016-03-31T17:14:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Friendly name too long",
    "secondary_message": "Specified friendly name is too long",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified friendly name is too long\n\n### Possible solutions\n\n- Confirm a valid FriendlyName is being passed in request.\n",
    "causes": "* Specified friendly name is too long",
    "solutions": "* Confirm a valid FriendlyName is being passed in request.",
    "description": "",
    "date_created": "2019-02-06T13:20:59Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Unique Name too long",
    "secondary_message": "Specified unique name is too long",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified unique name is too long\n\n### Possible solutions\n\n- Confirm a valid UniqueName is being passed in request.\n",
    "causes": "* Specified unique name is too long",
    "solutions": "* Confirm a valid UniqueName is being passed in request.",
    "description": "",
    "date_created": "2019-02-06T13:22:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Programmable Chat: Invalid Account SID",
    "secondary_message": "Specified Account SID does not match pattern \"AC\\[0-9a-f]\\{32}\"",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nInvalid Account SID\n\n### Possible causes\n\nAccount SID in request does not match pattern \"AC\\[0-9a-f]\\{32}\".\n\n### Possible solutions\n\nConfirm a valid Account SID is being passed in request and matches pattern \"AC\\[0-9a-f]\\{32}\".\n",
    "causes": "Account SID in request does not match pattern \"AC\\[0-9a-f]{32}\".",
    "solutions": "Confirm a valid Account SID is being passed in request and matches pattern \"AC\\[0-9a-f]{32}\".",
    "description": "Invalid Account SID",
    "date_created": "2022-02-10T13:31:32Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50050,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Service Instance not found",
    "secondary_message": "Specified Service Instance does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Service Instance does not exist.\n\n### Possible solutions\n\n- Confirm a valid Service Instance is being passed in request.\n",
    "causes": "* Specified Service Instance does not exist.",
    "solutions": "* Confirm a valid Service Instance is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:44Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50051,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Service SID not provided",
    "secondary_message": "Request does not contain required Service SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Service SID parameter.\n\n### Possible solutions\n\n- Confirm a valid Service SID is being passed in request.\n",
    "causes": "* Request does not contain required Service SID parameter.",
    "solutions": "* Confirm a valid Service SID is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:44Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50052,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid consumption interval format",
    "secondary_message": "Request does not contain valid consumption interval.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain valid consumption interval.\n\n### Possible solutions\n\n- Confirm a valid consumption interval format is being passed in request.\n",
    "causes": "* Request does not contain valid consumption interval.",
    "solutions": "* Confirm a valid consumption interval format is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:44Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50053,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid typing indicator format",
    "secondary_message": "Request does not contain valid typing indicator timeout.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain valid typing indicator timeout.\n\n### Possible solutions\n\n- Confirm a valid typing indicator timeout is being passed in request.\n",
    "causes": "* Request does not contain valid typing indicator timeout.",
    "solutions": "* Confirm a valid typing indicator timeout is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50054,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid webhook format",
    "secondary_message": "Request does not contain correctly formatted parameters for webhooks.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameters for webhooks.\n\n### Possible solutions\n\n- Confirm a valid webhook parameters are being passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameters for webhooks.",
    "solutions": "* Confirm a valid webhook parameters are being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50055,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid webhook method",
    "secondary_message": "Request does not contain valid HTTP method for webhook.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain valid HTTP method for webhook.\n\n### Possible solutions\n\n- Confirm a valid HTTP method for webhook is being passed in request.\n",
    "causes": "* Request does not contain valid HTTP method for webhook.",
    "solutions": "* Confirm a valid HTTP method for webhook is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50056,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Webhook disabled processing of command",
    "secondary_message": "Defined webhook returned other than \"200 OK\" HTTP code and Programmable Chat Service disabled processing of command.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Defined webhook returned other than `200 OK` HTTP code and Programmable Chat Service disabled processing of command.\n\n### Possible solutions\n\n- Confirm that defined webhooks are processing Programmable Chat Service's webhook calls correctly.\n",
    "causes": "* Defined webhook returned other than `200 OK` HTTP code and Programmable Chat Service disabled processing of command.",
    "solutions": "* Confirm that defined webhooks are processing Programmable Chat Service's webhook calls correctly.",
    "description": "",
    "date_created": "2016-03-31T17:14:46Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50057,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Webhook call failed to execute successfully",
    "secondary_message": "The event triggered webhook call failed to execute successfully",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- The Webhook endpoint called returned an error code\n\n### Possible solutions\n\n- Check your Webhook execution logic to ensure it is processing the webhook calls correctly and passing back `200 OK`\n",
    "causes": "* The Webhook endpoint called returned an error code",
    "solutions": "* Check your Webhook execution logic to ensure it is processing the webhook calls correctly and passing back `200 OK`",
    "description": "",
    "date_created": "2016-04-01T11:43:41Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50058,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Notification template too long",
    "secondary_message": "Specified notification template parameter is too long",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified notification template parameter is too long.\n\n### Possible solutions\n\n- Confirm a valid length notification template is being passed in request.\n",
    "causes": "* Specified notification template parameter is too long.",
    "solutions": "* Confirm a valid length notification template is being passed in request.",
    "description": "",
    "date_created": "2017-10-30T13:04:16Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50059,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Notification sound name too long",
    "secondary_message": "Specified notification sound parameter is too long",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified notification sound parameter is too long.\n\n### Possible solutions\n\n- Confirm a valid length notification sound parameter is being passed in request.\n",
    "causes": "* Specified notification sound parameter is too long.",
    "solutions": "* Confirm a valid length notification sound parameter is being passed in request.",
    "description": "",
    "date_created": "2017-11-06T07:50:30Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50060,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid user channels limit format",
    "secondary_message": "Request does not contain correctly formatted parameter for user channels limit",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for user channels limit.\n\n### Possible solutions\n\n- Confirm a valid user channels limit parameter is passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for user channels limit.",
    "solutions": "* Confirm a valid user channels limit parameter is passed in request.",
    "description": "",
    "date_created": "2017-11-06T07:56:20Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50061,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid channel members limit format",
    "secondary_message": "Request does not contain correctly formatted parameter for channel members limit",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for channel members limit.\n\n### Possible solutions\n\n- Confirm a valid channel members limit parameter is passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for channel members limit.",
    "solutions": "* Confirm a valid channel members limit parameter is passed in request.",
    "description": "",
    "date_created": "2017-11-06T07:57:43Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50063,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Actions per second limit exceeded",
    "secondary_message": "Service instance actions per second limit exceeded",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Your application is generating too many actions per second (APS) for Chat service instance\n- Note that the APS limit is enforced for commands such as sending a Message or creating a Channel - not Read actions\n\n### Possible solutions\n\n- Make sure your application (client or backend) uses a good exponential back-off algorithm like the [one advocated by Amazon](https://www.awsarchitectureblog.com/2015/03/backoff.html) to retry on HTTP 429 (rate limiting) responses\n- Reduce the rate of requests and introduce basic rate control, e.g. for user or channel provisioning use-cases\n- Reduce number of concurrent requests\n",
    "causes": "* Your application is generating too many actions per second (APS) for Chat service instance\n* Note that the APS limit is enforced for commands such as sending a Message or creating a Channel - not Read actions",
    "solutions": "* Make sure your application (client or backend) uses a good exponential back-off algorithm like the [one advocated by Amazon](https://www.awsarchitectureblog.com/2015/03/backoff.html) to retry on HTTP 429 (rate limiting) responses\n* Reduce the rate of requests and introduce basic rate control, e.g. for user or channel provisioning use-cases\n* Reduce number of concurrent requests",
    "description": "",
    "date_created": "2017-03-30T11:05:13Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50065,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid webhook retry count",
    "secondary_message": "Request does not contain correctly formatted parameter for webhook retry count.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for webhook retry count.\n\n### Possible solutions\n\n- Confirm a valid webhook parameters are being passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for webhook retry count.",
    "solutions": "* Confirm a valid webhook parameters are being passed in request.",
    "description": "",
    "date_created": "2017-11-06T09:41:53Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50068,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Service instance unique name invalid",
    "secondary_message": "Request does not contain correctly formatted service instance unique name",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted service instance unique name\n\n### Possible solutions\n\n- Confirm a valid service instance unique name is being passed in request.\n",
    "causes": "* Request does not contain correctly formatted service instance unique name",
    "solutions": "* Confirm a valid service instance unique name is being passed in request.",
    "description": "",
    "date_created": "2018-10-10T11:03:15Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50069,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Service instance with provided unique name already exists",
    "secondary_message": "Request contains already existing service instance unique name",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Request contains already existing service instance unique name\n\n### Possible solutions\n\n- Provide non-existent service instance unique name in the request\n",
    "causes": "* Request contains already existing service instance unique name",
    "solutions": "* Provide non-existent service instance unique name in the request",
    "description": "",
    "date_created": "2018-10-10T11:21:17Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50074,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Global actions per second limit exceeded",
    "secondary_message": "Service instance global actions per second limit exceeded.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nService instance global actions per second limit exceeded.\n\n### Possible causes\n\n- Your application is generating too many actions per second (APS) for Chat service instance either to a specific Chat API endpoint or across different Chat API endpoints\n- Note that the APS limit is enforced for commands such as sending a Message or creating a Channel - not Read actions\n\n### Possible solutions\n\n- Make sure your application (client or backend) uses a good exponential back-off algorithm like the [one advocated by Amazon](https://www.awsarchitectureblog.com/2015/03/backoff.html) to retry on HTTP 429 (rate limiting) responses\n- Reduce the rate of requests and introduce basic rate control, e.g. for user or channel provisioning use-cases\n- Reduce number of concurrent requests\n",
    "causes": "* Your application is generating too many actions per second (APS) for Chat service instance either to a specific Chat API endpoint or across different Chat API endpoints\n* Note that the APS limit is enforced for commands such as sending a Message or creating a Channel - not Read actions",
    "solutions": "* Make sure your application (client or backend) uses a good exponential back-off algorithm like the [one advocated by Amazon](https://www.awsarchitectureblog.com/2015/03/backoff.html) to retry on HTTP 429 (rate limiting) responses\n* Reduce the rate of requests and introduce basic rate control, e.g. for user or channel provisioning use-cases\n* Reduce number of concurrent requests",
    "description": "Service instance global actions per second limit exceeded.",
    "date_created": "2020-05-07T08:09:56Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50076,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Webhook failed to execute successfully due to timeout",
    "secondary_message": "Webhook's response isn't received in 5 seconds",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nProgrammable Chat: Webhook failed to execute successfully due to timeout\n\n### Possible causes\n\n- Application side processing is exceeding 5 seconds.\n- Some network blips might cause delay in returning the response to chat\n\n### Possible solutions\n\n- Make sure that webhook processing time is less than 5 seconds\n- Make webhook processing asynchronous on the app side and return response immediately\n",
    "causes": "* Application side processing is exceeding 5 seconds.\n* Some network blips might cause delay in returning the response to chat",
    "solutions": "* Make sure that webhook processing time is less than 5 seconds\n* Make webhook processing asynchronous on the app side and return response immediately",
    "description": "Programmable Chat: Webhook failed to execute successfully due to timeout",
    "date_created": "2021-02-16T11:22:51Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 50077,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid pre-webhook url",
    "secondary_message": "Request does not contain a valid url for pre-webhook.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nRequest does not contain a valid url for pre-webhook.\n\n### Possible causes\n\n- Provided url has the wrong format.\n\n### Possible solutions\n\n- Make sure that url is complete and properly encoded.\n- Make sure that url contains valid protocol and hostname and doesn't contain invalid characters.\n",
    "causes": "* Provided url has the wrong format.",
    "solutions": "* Make sure that url is complete and properly encoded.\n* Make sure that url contains valid protocol and hostname and doesn't contain invalid characters.",
    "description": "Request does not contain a valid url for pre-webhook.",
    "date_created": "2024-01-29T21:51:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50078,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid post-webhook url",
    "secondary_message": "Request does not contain a valid url for post-webhook.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nRequest does not contain a valid url for post-webhook.\n\n### Possible causes\n\n- Provided url has the wrong format.\n\n### Possible solutions\n\n- Make sure that url is complete and properly encoded.\n- Make sure that url contains valid protocol and hostname and doesn't contain invalid characters.\n",
    "causes": "* Provided url has the wrong format.",
    "solutions": "* Make sure that url is complete and properly encoded.\n* Make sure that url contains valid protocol and hostname and doesn't contain invalid characters.",
    "description": "Request does not contain a valid url for post-webhook.",
    "date_created": "2024-01-29T21:49:14Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Role not found",
    "secondary_message": "Specified Role does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Role does not exist.\n\n### Possible solutions\n\n- Confirm a valid Role is being passed in request.\n",
    "causes": "* Specified Role does not exist.",
    "solutions": "* Confirm a valid Role is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel role not found",
    "secondary_message": "Specified Channel Role does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Channel Role does not exist.\n\n### Possible solutions\n\n- Confirm a valid Channel Role is being passed in request.\n",
    "causes": "* Specified Channel Role does not exist.",
    "solutions": "* Confirm a valid Channel Role is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50102,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Deployment role not found",
    "secondary_message": "Specified Deployment Role does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Deployment Role does not exist.\n\n### Possible solutions\n\n- Confirm a valid Deployment Role is being passed in request.\n",
    "causes": "* Specified Deployment Role does not exist.",
    "solutions": "* Confirm a valid Deployment Role is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50103,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Role SID not provided",
    "secondary_message": "Request does not contain required Role SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Role SID parameter.\n\n### Possible solutions\n\n- Confirm a valid Role SID is being passed in request.\n",
    "causes": "* Request does not contain required Role SID parameter.",
    "solutions": "* Confirm a valid Role SID is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:47Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50104,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Permission not found",
    "secondary_message": "Specified Permission does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Permission does not exist.\n\n### Possible solutions\n\n- Confirm a valid Permission is being passed in request.\n",
    "causes": "* Specified Permission does not exist.",
    "solutions": "* Confirm a valid Permission is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:47Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50105,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid role type",
    "secondary_message": "Specified Role Type does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Role Type does not exist.\n\n### Possible solutions\n\n- Confirm a valid Role Type is being passed in request.\n",
    "causes": "* Specified Role Type does not exist.",
    "solutions": "* Confirm a valid Role Type is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:47Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel creator role not found",
    "secondary_message": "Valid Channel Creator Role does not exist in this service deployment.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Valid Channel Creator Role does not exist in this service deployment.\n\n### Possible solutions\n\n- Confirm a valid Channel Creator Role exists in this service deployment.\n",
    "causes": "* Valid Channel Creator Role does not exist in this service deployment.",
    "solutions": "* Confirm a valid Channel Creator Role exists in this service deployment.",
    "description": "",
    "date_created": "2016-03-31T17:14:47Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50107,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: User not authorized for command",
    "secondary_message": "Specified User is not authorized for this command due to his Role or Permissions set.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified User is not authorized for this command due to his Role or Permissions set.\n\n### Possible solutions\n\n- Confirm a valid Role and Permissions exist for this User to execute request's provided command.\n",
    "causes": "* Specified User is not authorized for this command due to his Role or Permissions set.",
    "solutions": "* Confirm a valid Role and Permissions exist for this User to execute request's provided command.",
    "description": "",
    "date_created": "2016-03-31T17:14:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50109,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conversation role not found",
    "secondary_message": "Specified Conversation Role does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nSpecified Conversation Role does not exist.\n\n### Possible causes\n\nSpecified Conversation Role does not exist.\n\n### Possible solutions\n\nConfirm a valid Conversation Role is being passed in request.\n",
    "causes": "Specified Conversation Role does not exist.",
    "solutions": "Confirm a valid Conversation Role is being passed in request.",
    "description": "Specified Conversation Role does not exist.",
    "date_created": "2021-10-13T12:22:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50200,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: User not found",
    "secondary_message": "Specified User does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified User does not exist.\n\n### Possible solutions\n\n- Confirm a valid User is being passed in request.\n",
    "causes": "* Specified User does not exist.",
    "solutions": "* Confirm a valid User is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: User already exists",
    "secondary_message": "Specified User already exists for this Service.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified User already exists for this Service.\n\n### Possible solutions\n\n- Confirm a valid non-existing User is being passed in request.\n",
    "causes": "* Specified User already exists for this Service.",
    "solutions": "* Confirm a valid non-existing User is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50202,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: User SID not provided",
    "secondary_message": "Request does not contain required User SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required User SID parameter.\n\n### Possible solutions\n\n- Confirm a valid User SID is being passed in request.\n",
    "causes": "* Request does not contain required User SID parameter.",
    "solutions": "* Confirm a valid User SID is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50203,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Identity reserved",
    "secondary_message": "Specified identity is reserved for internal use.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified identity is reserved for internal use.\n\n### Possible solutions\n\n- Choose different valid identity and provide it in request.\n",
    "causes": "* Specified identity is reserved for internal use.",
    "solutions": "* Choose different valid identity and provide it in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50204,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Identity not provided",
    "secondary_message": "Request does not contain required \"Identity\" parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required \"Identity\" parameter.\n\n### Possible solutions\n\n- Confirm a valid \"Identity\" parameter is being passed in request.\n",
    "causes": "* Request does not contain required \"Identity\" parameter.",
    "solutions": "* Confirm a valid \"Identity\" parameter is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50205,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: User unauthorized to set role",
    "secondary_message": "Specified User does not have Role or Permissions to set the Role.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified User does not have Role or Permissions to set the Role.\n\n### Possible solutions\n\n- Confirm a valid User having valid Role and Permissions is being passed in request.\n",
    "causes": "* Specified User does not have Role or Permissions to set the Role.",
    "solutions": "* Confirm a valid User having valid Role and Permissions is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50206,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Identity should not match user SID pattern",
    "secondary_message": "Specified User's Identity matches User SID Pattern \"US\\[0-9a-f]\\{32}\"",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified User's Identity matches User SID Pattern \"US\\[0-9a-f]\\{32}\".\n\n### Possible solutions\n\n- Confirm a valid User's Identity is being passed in request.\n",
    "causes": "* Specified User's Identity matches User SID Pattern \"US\\[0-9a-f]{32}\".",
    "solutions": "* Confirm a valid User's Identity is being passed in request.",
    "description": "",
    "date_created": "2016-04-15T11:22:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50207,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Identity too long",
    "secondary_message": "Specified User's Identity parameter is too long",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified User's Identity parameter is too long.\n\n### Possible solutions\n\n- Confirm a valid length User's Identity is being passed in request.\n",
    "causes": "* Specified User's Identity parameter is too long.",
    "solutions": "* Confirm a valid length User's Identity is being passed in request.",
    "description": "",
    "date_created": "2016-04-15T11:23:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50208,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: User channel limit exceeded",
    "secondary_message": null,
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- User has joined too many channels\n\n### Possible solutions\n\n- Increase user channel limit for service instance\n- Remove user from channels\n",
    "causes": "* User has joined too many channels",
    "solutions": "* Increase user channel limit for service instance\n* Remove user from channels",
    "description": "",
    "date_created": "2017-03-30T11:28:06Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50209,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid binding type",
    "secondary_message": "Specified binding type does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified binding type does not exist.\n\n### Possible solutions\n\n- Confirm a valid binding type is being passed in request.\n",
    "causes": "* Specified binding type does not exist.",
    "solutions": "* Confirm a valid binding type is being passed in request.",
    "description": "",
    "date_created": "2017-11-06T11:43:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50210,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid notification level",
    "secondary_message": "Request contains unknown notification level value",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified notification level does not exist.\n\n### Possible solutions\n\n- Confirm a valid notification level is being passed in request.\n",
    "causes": "* Specified notification level does not exist.",
    "solutions": "* Confirm a valid notification level is being passed in request.",
    "description": "",
    "date_created": "2018-10-10T11:27:41Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50211,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Identity parameter not acceptable for this Participant",
    "secondary_message": "Participants on SMS, WhatsApp or other non-Chat channels cannot have Identities.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nParticipants on SMS, WhatsApp or other non-Chat channels cannot have Identities.\n\n### Possible causes\n\nThis error is fired when the parameter *Identity* is provided together with either:\n\n- MessagingBinding.Address,\n- MessagingBinding.ProxyAddress, or\n- both of the above.\n\nAs the error indicates, such a combination is not allowed. You can provide either an address binding or an Identity, but not both.\n\n### Possible solutions\n\n- Avoid using both Identity and MessagingBinding.Address parameters when creating a Conversation participant. Instead, distinguish the use-case for your participants upfront and supply either the Identity for users of Programmable Chat Web/iOS/Android SDKs, or MessagingBinding.Address for non-Chat users such as SMS, MMS, WhatsApp, etc.\n",
    "causes": "This error is fired when the parameter *Identity* is provided together with either: - MessagingBinding.Address,\n- MessagingBinding.ProxyAddress, or\n- both of the above. As the error indicates, such a combination is not allowed. You can provide either an address binding or an Identity, but not both.",
    "solutions": "* Avoid using both Identity and MessagingBinding.Address parameters when creating a Conversation participant. Instead, distinguish the use-case for your participants upfront and supply either the Identity for users of Programmable Chat Web/iOS/Android SDKs, or MessagingBinding.Address for non-Chat users such as SMS, MMS, WhatsApp, etc.",
    "description": "Participants on SMS, WhatsApp or other non-Chat channels cannot have Identities.",
    "date_created": "2018-10-10T11:43:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50212,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Programmable Chat: User already invited",
    "secondary_message": "User with specified Identity already invited to this Channel",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nUser with specified Identity already invited to this Channel\n\n### Possible causes\n\nUser with specified Identity already invited to this Channel.\n\n### Possible solutions\n\nConfirm that the Identity passed in the request is not already invited to the intended channel.\n",
    "causes": "User with specified Identity already invited to this Channel.",
    "solutions": "Confirm that the Identity passed in the request is not already invited to the intended channel.",
    "description": "User with specified Identity already invited to this Channel",
    "date_created": "2019-11-20T09:34:19Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50213,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conflicting user modification",
    "secondary_message": "The requested user is already being added or removed from this channel by a concurrent API request.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested user is already being added or removed from this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.\n\n### Possible causes\n\n- You might be adding a new user to the service instance while the user with the same identity is being removed from another thread.\n- You might be submitting multiple concurrent requests to add a user with the same identity to the service instance.\n- You might be submitting multiple concurrent requests to delete the same user by SID or identity from the service instance.\n\n### Possible solutions\n\n- Implement an operation retrier and repeat the failed user API requests after an interval of time, using an exponential backoff algorithm.\n- Review your application logic that caused the race condition when adding or removing users. Perhaps the conflicting operations are happening in a loop that could be avoided.\n",
    "causes": "* You might be adding a new user to the service instance while the user with the same identity is being removed from another thread.\n* You might be submitting multiple concurrent requests to add a user with the same identity to the service instance.\n* You might be submitting multiple concurrent requests to delete the same user by SID or identity from the service instance.",
    "solutions": "* Implement an operation retrier and repeat the failed user API requests after an interval of time, using an exponential backoff algorithm.\n* Review your application logic that caused the race condition when adding or removing users. Perhaps the conflicting operations are happening in a loop that could be avoided.",
    "description": "The requested user is already being added or removed from this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.",
    "date_created": "2020-05-05T15:22:27Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50214,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "User conversation limit exceeded",
    "secondary_message": null,
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\nUser has joined too many conversations\n\n### Possible solutions\n\n- Increase user conversation limit for service instance\n- Remove user from conversations\n",
    "causes": "User has joined too many conversations",
    "solutions": "* Increase user conversation limit for service instance\n* Remove user from conversations",
    "description": "",
    "date_created": "2021-10-13T12:24:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50300,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel not found",
    "secondary_message": "Specified Channel does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Channel does not exist.\n\n### Possible solutions\n\n- Confirm a valid Channel is being passed in request.\n",
    "causes": "* Specified Channel does not exist.",
    "solutions": "* Confirm a valid Channel is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50301,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel key not provided",
    "secondary_message": "Request does not contain required Channel SID or Channel's Unique Name parameters.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Channel SID or Channel's Unique Name parameters.\n\n### Possible solutions\n\n- Confirm a valid Channel SID or Channel's Unique Name is being passed in request.\n",
    "causes": "* Request does not contain required Channel SID or Channel's Unique Name parameters.",
    "solutions": "* Confirm a valid Channel SID or Channel's Unique Name is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50302,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Unknown channel command",
    "secondary_message": "Specified Channel Command does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Channel Command does not exist.\n\n### Possible solutions\n\n- Confirm a valid Channel Command is being passed in request.\n",
    "causes": "* Specified Channel Command does not exist.",
    "solutions": "* Confirm a valid Channel Command is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50303,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Attributes too long",
    "secondary_message": "Specified Channel's Attributes parameter is too long.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Channel's Attributes parameter is too long.\n\n### Possible solutions\n\n- Confirm a valid length Channel's Attributes is being passed in request.\n",
    "causes": "* Specified Channel's Attributes parameter is too long.",
    "solutions": "* Confirm a valid length Channel's Attributes is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50304,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Attributes not valid JSON",
    "secondary_message": "Specified Channel's Attributes are not valid JSON.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Channel's Attributes are not valid JSON.\n\n### Possible solutions\n\n- Confirm a valid Channel's Attributes in JSON format are being passed in request.\n",
    "causes": "* Specified Channel's Attributes are not valid JSON.",
    "solutions": "* Confirm a valid Channel's Attributes in JSON format are being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50305,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel SID not provided",
    "secondary_message": "Request does not contain required Channel SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Channel SID parameter.\n\n### Possible solutions\n\n- Confirm a valid Channel SID is being passed in request.\n",
    "causes": "* Request does not contain required Channel SID parameter.",
    "solutions": "* Confirm a valid Channel SID is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50306,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Unique name should not match channel SID pattern",
    "secondary_message": "Specified Channel's Unique Name matches Channel SID Pattern \"CH\\[0-9a-f]\\{32}\".",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Channel's Unique Name matches Channel SID Pattern \"CH\\[0-9a-f]\\{32}\".\n\n### Possible solutions\n\n- Confirm a valid Channel's Unique Name is being passed in request.\n",
    "causes": "* Specified Channel's Unique Name matches Channel SID Pattern \"CH\\[0-9a-f]{32}\".",
    "solutions": "* Confirm a valid Channel's Unique Name is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50307,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel with provided unique name already exists",
    "secondary_message": "Specified Channel's Unique Name already exists in this Service deployment.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Channel's Unique Name already exists in this Service deployment.\n\n### Possible solutions\n\n- Confirm a valid non-existing Channel's Unique Name is being passed in request.\n",
    "causes": "* Specified Channel's Unique Name already exists in this Service deployment.",
    "solutions": "* Confirm a valid non-existing Channel's Unique Name is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50308,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid Date Created parameter",
    "secondary_message": "Request does not contain correctly formatted parameter for Date Created",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for Date Created.\n\n### Possible solutions\n\n- Confirm a valid Date Created parameter is passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for Date Created.",
    "solutions": "* Confirm a valid Date Created parameter is passed in request.",
    "description": "",
    "date_created": "2017-11-06T11:57:14Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50309,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Programmable Chat: Invalid Date Updated parameter",
    "secondary_message": "Request does not contain correctly formatted parameter for Date Updated",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for Date Updated.\n\n### Possible solutions\n\n- Confirm a valid Date Updated parameter is passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for Date Updated.",
    "solutions": "* Confirm a valid Date Updated parameter is passed in request.",
    "description": "",
    "date_created": "2017-11-06T11:58:29Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50310,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Author parameter is too long",
    "secondary_message": "Author parameter is too long.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Author parameter is too long.\n\n### Possible solutions\n\n- Confirm a valid length Author is being passed in request.\n",
    "causes": "* Author parameter is too long.",
    "solutions": "* Confirm a valid length Author is being passed in request.",
    "description": "",
    "date_created": "2017-11-06T11:53:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50320,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel webhook not found",
    "secondary_message": "Specified channel webhook does not exist",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified channel webhook does not exist.\n\n### Possible solutions\n\n- Confirm a valid channel webhook SID is provided in request.\n",
    "causes": "* Specified channel webhook does not exist.",
    "solutions": "* Confirm a valid channel webhook SID is provided in request.",
    "description": "",
    "date_created": "2018-10-10T12:07:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50321,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Too many channel webhooks",
    "secondary_message": "Webhooks limit exceeded for given channel",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Webhooks limit exceeded for given channel.\n\n### Possible solutions\n\n- Reduce number of webhooks for channel before creating new one.\n",
    "causes": "* Webhooks limit exceeded for given channel.",
    "solutions": "* Reduce number of webhooks for channel before creating new one.",
    "description": "",
    "date_created": "2018-10-10T12:31:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50322,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Too many channel webhook triggers",
    "secondary_message": "Triggers limit exceeded for given channel webhook",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Triggers limit exceeded for given channel webhook.\n\n### Possible solutions\n\n- Reduce number of triggers for given channel webhook before creating new one.\n",
    "causes": "* Triggers limit exceeded for given channel webhook.",
    "solutions": "* Reduce number of triggers for given channel webhook before creating new one.",
    "description": "",
    "date_created": "2018-10-10T12:33:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50323,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid channel webhook sid",
    "secondary_message": "Request does not contain correctly formatted parameter for channel webhook sid",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for channel webhook sid\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for channel webhook sid",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T15:05:29Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50324,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid channel webhook type",
    "secondary_message": "Request does not contain correctly formatted parameter for channel webhook type",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for channel webhook type.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for channel webhook type.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T15:20:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50325,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid channel webhook filter",
    "secondary_message": "Request does not contain correctly formatted parameter for webhook filter",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correct parameter for channel webhook filter.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain correct parameter for channel webhook filter.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T15:31:42Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50326,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid channel webhook trigger",
    "secondary_message": "Request does not contain correct parameter for webhook trigger",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correct parameter for channel webhook trigger.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain correct parameter for channel webhook trigger.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T15:53:29Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50327,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid channel webhook flow sid",
    "secondary_message": "Request does not contain correct parameter for webhook flow sid",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correct parameter for channel webhook flow sid.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain correct parameter for channel webhook flow sid.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T15:59:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50328,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel webhook type not provided",
    "secondary_message": "Request does not contain parameter for webhook type",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain parameter for channel webhook type.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain parameter for channel webhook type.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T16:01:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50329,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel webhook url not provided",
    "secondary_message": "Request does not contain parameter for webhook url",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain parameter for channel webhook url.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain parameter for channel webhook url.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T16:09:45Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50330,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel webhook filter not provided",
    "secondary_message": "Request does not contain parameter for webhook filter",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain parameter for channel webhook filter.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain parameter for channel webhook filter.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T16:12:22Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50331,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel webhook trigger not provided",
    "secondary_message": "Request does not contain parameter for webhook trigger",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain parameter for channel webhook trigger.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain parameter for channel webhook trigger.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T16:15:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50332,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel webhook url too long",
    "secondary_message": "Channel webhook url provided in request is too long",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Channel webhook url provided in request is too long.\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Channel webhook url provided in request is too long.",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2018-10-10T16:18:32Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50333,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel webhook url is invalid",
    "secondary_message": "Request does not contain a valid url for channel webhook.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nRequest does not contain a valid url for channel webhook.\n\n### Possible causes\n\n- Provided url has the wrong format.\n\n### Possible solutions\n\n- Make sure that url is complete and properly encoded.\n- Make sure that url contains valid protocol and hostname and doesn't contain invalid characters.\n",
    "causes": "* Provided url has the wrong format.",
    "solutions": "* Make sure that url is complete and properly encoded.\n* Make sure that url contains valid protocol and hostname and doesn't contain invalid characters.",
    "description": "Request does not contain a valid url for channel webhook.",
    "date_created": "2021-03-16T16:17:29Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50334,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel deletion operation is in progress",
    "secondary_message": "Channel deletion operation is in progress, all the channel modifications are discarded.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nChannel deletion operation is in progress, all the channel modifications are discarded.\n\n### Possible causes\n\n- Your API request tried to update the channel while the channel deletion operation was in progress.\n\n### Possible solutions\n\n- Do not try to update the channel while the deletion operation is in progress.\n",
    "causes": "* Your API request tried to update the channel while the channel deletion operation was in progress.",
    "solutions": "* Do not try to update the channel while the deletion operation is in progress.",
    "description": "Channel deletion operation is in progress, all the channel modifications are discarded.",
    "date_created": "2021-09-27T14:01:07Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50340,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Messaging service SID not provided",
    "secondary_message": "Messaging service SID parameter is required but was not provided with an API request.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nMessaging service SID parameter is required but was not provided with an API request.\n\n### Possible causes\n\n- The API expected a MessagingServiceSid input parameter, but it was either not provided or was misspelled.\n\n### Possible solutions\n\n- Add a valid MessagingServiceSid parameter to the API request and confirm that it is not misspelled.\n",
    "causes": "* The API expected a MessagingServiceSid input parameter, but it was either not provided or was misspelled.",
    "solutions": "* Add a valid MessagingServiceSid parameter to the API request and confirm that it is not misspelled.",
    "description": "Messaging service SID parameter is required but was not provided with an API request.",
    "date_created": "2018-10-10T16:22:28Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50341,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid messaging service SID",
    "secondary_message": "An invalid messaging service SID was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid messaging service SID was supplied.\n\n### Possible causes\n\nThe MessagingServiceSid provided with the request does not match a valid SID pattern (MGxx).\n\n### Possible solutions\n\nVerify that the SID provided is prefixed with MG and is not missing digits. Your messaging services can be enumerated at https://twilio.com/console/sms/services.\n",
    "causes": "The MessagingServiceSid provided with the request does not match a valid SID pattern (MGxx).",
    "solutions": "Verify that the SID provided is prefixed with MG and is not missing digits. Your messaging services can be enumerated at https://twilio.com/console/sms/services.",
    "description": "An invalid messaging service SID was supplied.",
    "date_created": "2018-10-10T16:26:34Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50342,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Messaging service does not belong to account",
    "secondary_message": "The requested messaging service SID does not belong to your account.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested messaging service SID does not belong to your account.\n\n### Possible causes\n\nYou may have copied/pasted incorrectly, or your API request targeted a different account (e.g. if you have several Projects or several Twilio accounts).\n\n### Possible solutions\n\nDouble-check the Messaging Service SID, confirming that it belongs to your account. Check whether you are authenticating against Twilio with the same account. With these matching, the request will succeed.\n",
    "causes": "You may have copied/pasted incorrectly, or your API request targeted a different account (e.g. if you have several Projects or several Twilio accounts).",
    "solutions": "Double-check the Messaging Service SID, confirming that it belongs to your account. Check whether you are authenticating against Twilio with the same account. With these matching, the request will succeed.",
    "description": "The requested messaging service SID does not belong to your account.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50347,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Parameters are missing for channel update request",
    "secondary_message": "There are no parameters specified in this channel update request.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThere are no parameters specified in this channel update request.\n\n### Possible causes\n\n- No parameters were set in the channel update request.\n- Parameters specified in the channel update API request have incorrect names.\n\n### Possible solutions\n\n- Verify that at least one parameter is provided to the channel update API.\n- Validate that parameter names are correct according to the [API documentation](/docs/chat/rest/channel-resource#update-a-channel-resource).\n",
    "causes": "* No parameters were set in the channel update request.\n* Parameters specified in the channel update API request have incorrect names.",
    "solutions": "* Verify that at least one parameter is provided to the channel update API.\n* Validate that parameter names are correct according to the [API documentation](/docs/chat/rest/channel-resource#update-a-channel-resource).",
    "description": "There are no parameters specified in this channel update request.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50349,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conflicting channel modification",
    "secondary_message": "The requested channel is already being added or removed by a concurrent API request.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested channel is already being added or removed from this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.\n\n### Possible causes\n\n- You might be adding a new channel to the service instance while the channel with the same unique name is being removed from another thread.\n- You might be submitting multiple concurrent requests to add a channel with the same unique name to the service instance.\n- You might be submitting multiple concurrent requests to delete the same channel by SID or unique name from the service instance.\n\n### Possible solutions\n\n- Implement an operation retrier and repeat the failed channel API requests after an interval of time, using an exponential backoff algorithm.\n- Review your application logic that caused the race condition when adding or removing users. Perhaps the conflicting operations are happening in a loop that could be avoided.\n- Serialize your API requests that add or remove channels. Wait until the original request completes and returns an API response, before sending any successive channel requests.\n",
    "causes": "* You might be adding a new channel to the service instance while the channel with the same unique name is being removed from another thread.\n* You might be submitting multiple concurrent requests to add a channel with the same unique name to the service instance.\n* You might be submitting multiple concurrent requests to delete the same channel by SID or unique name from the service instance.",
    "solutions": "* Implement an operation retrier and repeat the failed channel API requests after an interval of time, using an exponential backoff algorithm.\n* Review your application logic that caused the race condition when adding or removing users. Perhaps the conflicting operations are happening in a loop that could be avoided.\n* Serialize your API requests that add or remove channels. Wait until the original request completes and returns an API response, before sending any successive channel requests.",
    "description": "The requested channel is already being added or removed from this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.",
    "date_created": "2020-06-02T07:39:44Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50350,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conversation not found",
    "secondary_message": "The requested conversation SID was not found.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested conversation SID was not found.\n\n### Possible causes\n\nThe conversation SID you are requesting does not exist under your account.\n\n### Possible solutions\n\n- Check that you have provided a Conversation SID and not some other SID (should have the prefix CH).\n- Check that the requested conversation SID belongs to the account that your REST request has targeted.\n",
    "causes": "The conversation SID you are requesting does not exist under your account.",
    "solutions": "* Check that you have provided a Conversation SID and not some other SID (should have the prefix CH).\n* Check that the requested conversation SID belongs to the account that your REST request has targeted.",
    "description": "The requested conversation SID was not found.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50351,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conversation SID not provided",
    "secondary_message": "Conversation SID parameter is required but was not provided.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nConversation SID parameter is required but was not provided.\n\n### Possible causes\n\nYour API request did not include a ConversationSid form parameter.\n\n### Possible solutions\n\nAdd a valid ConversationSid parameter to the API request, making sure you haven't spelled the parameter name wrong.\n",
    "causes": "Your API request did not include a ConversationSid form parameter.",
    "solutions": "Add a valid ConversationSid parameter to the API request, making sure you haven't spelled the parameter name wrong.",
    "description": "Conversation SID parameter is required but was not provided.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50353,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conversation with provided unique name already exists",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nRequest contains already existing Conversation unique name.\n\n### Possible solutions\n\nProvide non-existing Conversation unique name in the request.\n",
    "causes": "Request contains already existing Conversation unique name.",
    "solutions": "Provide non-existing Conversation unique name in the request.",
    "description": "",
    "date_created": "2021-08-30T10:16:12Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50360,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conversation webhook not found",
    "secondary_message": "The requested webhook SID was not found.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested webhook SID was not found.\n\n### Possible causes\n\n- The conversation webhook SID you are requesting does not exist in that conversation.\n\n### Possible solutions\n\n- Check that the requested webhook SID is actually a Webhook SID, and is not misspelled (prefix should be WH).\n- Check that the requested webhook SID belongs to the targeted conversation.\n",
    "causes": "* The conversation webhook SID you are requesting does not exist in that conversation.",
    "solutions": "* Check that the requested webhook SID is actually a Webhook SID, and is not misspelled (prefix should be WH).\n* Check that the requested webhook SID belongs to the targeted conversation.",
    "description": "The requested webhook SID was not found.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50361,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Too many conversation webhooks",
    "secondary_message": "The number of webhooks configured for this conversation exceeds the limit.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe limit for conversation-scoped webhooks is five; this request would have created a sixth, and is thus rejected.\n\n### Possible causes\n\nYou may have forgotten to remove other webhooks before adding this one. Alternatively, your use-case may include scenarios requiring more than five.\n\n### Possible solutions\n\n- Retrieve a list of the [existing webhooks](/docs/conversations/api/conversation-scoped-webhook-resource#read-multiple-conversationscopedwebhook-resources) for this conversation and [remove](/docs/conversations/api/conversation-scoped-webhook-resource#delete-a-conversationscopedwebhook-resource) the ones that are redundant or obsolete.\n- Consider combining some of the [existing webhooks](/docs/conversations/api/conversation-scoped-webhook-resource#read-multiple-conversationscopedwebhook-resources) and forward events to a single destination.\n- Consider using [global webhooks](/docs/conversations/api/webhook-configuration-resource) instead of conversation-scoped hooks.\n",
    "causes": "You may have forgotten to remove other webhooks before adding this one. Alternatively, your use-case may include scenarios requiring more than five.",
    "solutions": "* Retrieve a list of the [existing webhooks](/docs/conversations/api/conversation-scoped-webhook-resource#read-multiple-conversationscopedwebhook-resources) for this conversation and [remove](/docs/conversations/api/conversation-scoped-webhook-resource#delete-a-conversationscopedwebhook-resource) the ones that are redundant or obsolete.\n* Consider combining some of the [existing webhooks](/docs/conversations/api/conversation-scoped-webhook-resource#read-multiple-conversationscopedwebhook-resources) and forward events to a single destination.\n* Consider using [global webhooks](/docs/conversations/api/webhook-configuration-resource) instead of conversation-scoped hooks.",
    "description": "The limit for conversation-scoped webhooks is five; this request would have created a sixth, and is thus rejected.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50362,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Too many conversation webhook triggers",
    "secondary_message": "The number of keywords used to trigger the webhook configured for this conversation exceeds the limit.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe number of keywords used to trigger the webhook configured for this conversation would have exceeded the limit.\n\n### Possible causes\n\nYou are attempting to add more than 5 keywords as triggers for this webhook.\n\n### Possible solutions\n\n- Retrieve a list of the [existing keywords](/docs/conversations/api/conversation-scoped-webhook-resource#fetch-a-conversationscopedwebhook-resource) used as triggers and remove the ones that are redundant or obsolete.\n- Consider creating a new scoped webhook with an alternative set of trigger keywords.\n",
    "causes": "You are attempting to add more than 5 keywords as triggers for this webhook.",
    "solutions": "* Retrieve a list of the [existing keywords](/docs/conversations/api/conversation-scoped-webhook-resource#fetch-a-conversationscopedwebhook-resource) used as triggers and remove the ones that are redundant or obsolete.\n* Consider creating a new scoped webhook with an alternative set of trigger keywords.",
    "description": "The number of keywords used to trigger the webhook configured for this conversation would have exceeded the limit.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50363,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid conversation webhook SID",
    "secondary_message": "An invalid conversation webhook SID was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid conversation webhook SID was supplied.\n\n### Possible causes\n\n- Webhook SID parameter provided with the request does not match a valid SID pattern (WHxx).\n\n### Possible solutions\n\n- Add a valid Webhook SID parameter to the API request and supply a SID that exists under your account.\n",
    "causes": "* Webhook SID parameter provided with the request does not match a valid SID pattern (WHxx).",
    "solutions": "* Add a valid Webhook SID parameter to the API request and supply a SID that exists under your account.",
    "description": "An invalid conversation webhook SID was supplied.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50364,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid conversation webhook type",
    "secondary_message": "An invalid conversation webhook target was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid conversation webhook target was supplied.\n\n### Possible causes\n\n- Webhook Target parameter provided with the request does not match any of valid targets: webhook, studio, trigger.\n\n### Possible solutions\n\n- Add a valid Target parameter to the webhook API request and supply one of the supported targets.\n",
    "causes": "* Webhook Target parameter provided with the request does not match any of valid targets: webhook, studio, trigger.",
    "solutions": "* Add a valid Target parameter to the webhook API request and supply one of the supported targets.",
    "description": "An invalid conversation webhook target was supplied.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50365,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid conversation webhook filter",
    "secondary_message": "An invalid conversation webhook filter was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid conversation webhook filter was supplied.\n\n### Possible causes\n\n- One of Configuration.Filters webhook parameters provided with the request does represent a valid webhook action filter.\n\n### Possible solutions\n\n- Ensure that a list of valid Configuration.Filters parameters are passed to the API request, refer to the list of [supported actions](/docs/conversations/conversations-webhooks#webhook-action-triggers).\n",
    "causes": "* One of Configuration.Filters webhook parameters provided with the request does represent a valid webhook action filter.",
    "solutions": "* Ensure that a list of valid Configuration.Filters parameters are passed to the API request, refer to the list of [supported actions](/docs/conversations/conversations-webhooks#webhook-action-triggers).",
    "description": "An invalid conversation webhook filter was supplied.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50366,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid conversation webhook trigger",
    "secondary_message": "An invalid conversation webhook trigger keyword was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid conversation webhook trigger keyword was supplied.\n\n### Possible causes\n\n- One of Configuration.Triggers keywords provided with the request is an empty string.\n- One of Configuration.Triggers keywords provided with the request exceeds the maximum length limit of 248 characters.\n\n### Possible solutions\n\n- Ensure that a list of valid Configuration.Triggers keywords are passed to the API request.\n",
    "causes": "* One of Configuration.Triggers keywords provided with the request is an empty string.\n* One of Configuration.Triggers keywords provided with the request exceeds the maximum length limit of 248 characters.",
    "solutions": "* Ensure that a list of valid Configuration.Triggers keywords are passed to the API request.",
    "description": "An invalid conversation webhook trigger keyword was supplied.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50367,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid conversation webhook flow SID",
    "secondary_message": "An invalid conversation webhook flow SID was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid conversation webhook flow SID was supplied.\n\n### Possible causes\n\n- Webhook Configuration.FlowSid parameter provided with the request does not match a valid Studio flow SID pattern (FWxx).\n\n### Possible solutions\n\n- Add a valid Configuration.FlowSid parameter to the API request and supply a Studio flow SID that exists under your account.\n",
    "causes": "* Webhook Configuration.FlowSid parameter provided with the request does not match a valid Studio flow SID pattern (FWxx).",
    "solutions": "* Add a valid Configuration.FlowSid parameter to the API request and supply a Studio flow SID that exists under your account.",
    "description": "An invalid conversation webhook flow SID was supplied.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50368,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conversation webhook type not provided",
    "secondary_message": "Conversation webhook target parameter is required but was not provided.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nConversation webhook target parameter is required but was not provided.\n\n### Possible causes\n\n- The API expected a Target input parameter, but it was either not provided or was misspelled.\n\n### Possible solutions\n\n- Add a valid Target parameter to the API request and confirm that it is not misspelled.\n",
    "causes": "* The API expected a Target input parameter, but it was either not provided or was misspelled.",
    "solutions": "* Add a valid Target parameter to the API request and confirm that it is not misspelled.",
    "description": "Conversation webhook target parameter is required but was not provided.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50369,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conversation webhook URL not provided",
    "secondary_message": "Conversation webhook URL parameter is required but was not provided.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nConversation webhook URL parameter is required but was not provided.\n\n### Possible causes\n\n- The API expected a Configuration.Url input parameter, but it was either not provided or was misspelled.\n\n### Possible solutions\n\n- Add a valid Configuration.Url parameter to the API request and confirm that it is not misspelled.\n",
    "causes": "* The API expected a Configuration.Url input parameter, but it was either not provided or was misspelled.",
    "solutions": "* Add a valid Configuration.Url parameter to the API request and confirm that it is not misspelled.",
    "description": "Conversation webhook URL parameter is required but was not provided.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50370,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conversation webhook filter not provided",
    "secondary_message": "Scoped webhook filter parameter is required but was not provided.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nScoped webhook filter parameter is required but was not provided.\n\n### Possible causes\n\n- The API expected at least one Configuration.Filters input parameter, but it was either not provided or was misspelled.\n\n### Possible solutions\n\n- Add one or more valid Configuration.Filters parameters to the API request and confirm that they are not misspelled.\n",
    "causes": "* The API expected at least one Configuration.Filters input parameter, but it was either not provided or was misspelled.",
    "solutions": "* Add one or more valid Configuration.Filters parameters to the API request and confirm that they are not misspelled.",
    "description": "Scoped webhook filter parameter is required but was not provided.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50371,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conversation webhook trigger not provided",
    "secondary_message": "Scoped webhook trigger keywords are required but were not provided.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nScoped webhook trigger keywords are required but were not provided.\n\n### Possible causes\n\n- The API expected at least one Configuration.Triggers input parameter, but it was either not provided or was misspelled.\n\n### Possible solutions\n\n- Add a one or more valid Configuration.Triggers parameters to the API request and confirm that they are not misspelled.\n",
    "causes": "* The API expected at least one Configuration.Triggers input parameter, but it was either not provided or was misspelled.",
    "solutions": "* Add a one or more valid Configuration.Triggers parameters to the API request and confirm that they are not misspelled.",
    "description": "Scoped webhook trigger keywords are required but were not provided.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50372,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conversation webhook URL is too long",
    "secondary_message": "The length of provided conversation webhook URL exceeds the limit.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe length of provided conversation webhook URL exceeds the limit.\n\n### Possible causes\n\n- Your API request contains a parameter containing the URL that is longer than 512 characters.\n\n### Possible solutions\n\n- Provide a shorter webhook URL with your API request.\n",
    "causes": "* Your API request contains a parameter containing the URL that is longer than 512 characters.",
    "solutions": "* Provide a shorter webhook URL with your API request.",
    "description": "The length of provided conversation webhook URL exceeds the limit.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50373,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No Messaging Service assigned to Conversation",
    "secondary_message": "This Conversation does not have an assigned Messaging Service, therefore cannot accept non-chat participants.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThis Conversation does not have an assigned Messaging Service, therefore cannot accept non-chat participants.\n\n### Possible causes\n\n- You may be attempting to add a non-Chat participant (e.g. on SMS) to a channel from Programmable Chat. As Chat precedes the Conversations product, these channels first need to be provided a Messaging Service before they can access SMS, WhatsApp, or other channels.\n\n### Possible solutions\n\n- Update the Conversation with any existing Messaging Service SID on your account. After that, you will be able to add non-Chat participants and continue the conversation with them involved.\n",
    "causes": "* You may be attempting to add a non-Chat participant (e.g. on SMS) to a channel from Programmable Chat. As Chat precedes the Conversations product, these channels first need to be provided a Messaging Service before they can access SMS, WhatsApp, or other channels.",
    "solutions": "* Update the Conversation with any existing Messaging Service SID on your account. After that, you will be able to add non-Chat participants and continue the conversation with them involved.",
    "description": "This Conversation does not have an assigned Messaging Service, therefore cannot accept non-chat participants.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50374,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'State' field can't be empty",
    "secondary_message": "'State' field can't be empty or removed from channel.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n'State' field can't be removed or set to empty if it was already set before.\n\n### Possible causes\n\n- 'State' field is set to empty string value when channel has some non-empty state.\n\n### Possible solutions\n\n- Remove 'State' field from request parameters.\n- Set 'State' field to some valid value('active', 'inactive', 'closed', etc.)\n",
    "causes": "* 'State' field is set to empty string value when channel has some non-empty state.",
    "solutions": "* Remove 'State' field from request parameters.\n* Set 'State' field to some valid value('active', 'inactive', 'closed', etc.)",
    "description": "'State' field can't be removed or set to empty if it was already set before.",
    "date_created": "2020-09-24T12:18:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50375,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TimeToInactive should be greater or equal to 1 minute",
    "secondary_message": "Duration to transfer channel to inactive state can't be shorter than 1 minute.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n'TimeToInactive' duration should be greater or equal to 1 minute.\n\n### Possible causes\n\n- 'TimeToInactive' field is set to duration which is less than 1 minute.\n\n### Possible solutions\n\n- Set 'TimeToInactive' field to duration which is longer than 1 minute.\n",
    "causes": "* 'TimeToInactive' field is set to duration which is less than 1 minute.",
    "solutions": "* Set 'TimeToInactive' field to duration which is longer than 1 minute.",
    "description": "'TimeToInactive' duration should be greater or equal to 1 minute.",
    "date_created": "2020-09-24T12:20:35Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50376,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TimeToClosed should be greater or equal to 10 minutes",
    "secondary_message": "Duration to transfer channel to closed state can't be shorter than 10 minutes.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n'TimeToClosed' duration should be greater or equal to 10 minutes.\n\n### Possible causes\n\n- 'TimeToClosed' field is set to duration which is less than 10 minutes.\n\n### Possible solutions\n\n- Set 'TimeToClosed' field to duration which is longer than 10 minutes.\n",
    "causes": "* 'TimeToClosed' field is set to duration which is less than 10 minutes.",
    "solutions": "* Set 'TimeToClosed' field to duration which is longer than 10 minutes.",
    "description": "'TimeToClosed' duration should be greater or equal to 10 minutes.",
    "date_created": "2020-09-24T12:21:45Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50377,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Can't update conversation as it's in final closed state",
    "secondary_message": "Conversation is in closed state and can't be used anymore",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nConversation state is 'closed' so it can't be used for chatting anymore.\n\n### Possible causes\n\n- Conversation state is set manually or by timer to 'closed' which means that conversation can't be updated anymore.\n\n### Possible solutions\n\n- Create new conversation in 'active' state without 'TimeToClosed' or with some big duration to avoid unexpected movement to 'closed' state.\n",
    "causes": "* Conversation state is set manually or by timer to 'closed' which means that conversation can't be updated anymore.",
    "solutions": "* Create new conversation in 'active' state without 'TimeToClosed' or with some big duration to avoid unexpected movement to 'closed' state.",
    "description": "Conversation state is 'closed' so it can't be used for chatting anymore.",
    "date_created": "2020-09-24T12:23:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50378,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'State' parameter value is invalid",
    "secondary_message": "'State' parameter value is set to some not supported value",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n'State' parameter value is set to some not supported value. Supported values are 'active', 'inactive', 'closed'.\n\n### Possible causes\n\n- 'State' parameter value is set to values different from 'active', 'inactive', 'closed'.\n\n### Possible solutions\n\n- Use following values for 'State' parameter: 'active', 'inactive', 'closed'.\n",
    "causes": "* 'State' parameter value is set to values different from 'active', 'inactive', 'closed'.",
    "solutions": "* Use following values for 'State' parameter: 'active', 'inactive', 'closed'.",
    "description": "'State' parameter value is set to some not supported value. Supported values are 'active', 'inactive', 'closed'.",
    "date_created": "2020-09-24T12:24:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50379,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TimeToInactive format is invalid",
    "secondary_message": "'TimeToInactive' parameter format should be ISO8601 duration",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n'TimeToInactive' parameter supports values which are ISO8601 durations.\n\n### Possible causes\n\n- 'TimeToInactive' parameter value is not ISO8601 duration.\n\n### Possible solutions\n\n- Use ISO8601 duration format value for 'TimeToInactive' parameter. For example PT0S, PT10M, P1D etc..\n",
    "causes": "* 'TimeToInactive' parameter value is not ISO8601 duration.",
    "solutions": "* Use ISO8601 duration format value for 'TimeToInactive' parameter. For example PT0S, PT10M, P1D etc..",
    "description": "'TimeToInactive' parameter supports values which are ISO8601 durations.",
    "date_created": "2020-09-24T12:26:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50380,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TimeToClosed format is invalid",
    "secondary_message": "'TimeToClosed' parameter format should be ISO8601 duration",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n'TimeToClosed' parameter supported values are ISO8601 durations.\n\n### Possible causes\n\n- 'TimeToClosed' parameter value is not ISO8601 duration.\n\n### Possible solutions\n\n- Use ISO8601 duration format value for 'TimeToInactive' parameter. For example PT0S, PT10M, P1D etc..\n",
    "causes": "* 'TimeToClosed' parameter value is not ISO8601 duration.",
    "solutions": "* Use ISO8601 duration format value for 'TimeToInactive' parameter. For example PT0S, PT10M, P1D etc..",
    "description": "'TimeToClosed' parameter supported values are ISO8601 durations.",
    "date_created": "2020-09-24T12:28:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50382,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Timer can't be set without state",
    "secondary_message": "You are trying to set 'TimeToInactive' and/or 'TimeToClosed' without 'State' parameter in request",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nYou are trying to set 'TimeToInactive' and/or 'TimeToClosed' without 'State' parameter in request during conversation creation\n\n### Possible causes\n\n- 'State' parameter is missing while 'TimeToInactive' and/or 'TimeToClosed' are present\n\n### Possible solutions\n\n- Add 'State' parameter in conversation creation request\n- Remove 'TimeToInactive' and/or 'TimeToClosed' from conversation creation request\n",
    "causes": "* 'State' parameter is missing while 'TimeToInactive' and/or 'TimeToClosed' are present",
    "solutions": "* Add 'State' parameter in conversation creation request\n* Remove 'TimeToInactive' and/or 'TimeToClosed' from conversation creation request",
    "description": "You are trying to set 'TimeToInactive' and/or 'TimeToClosed' without 'State' parameter in request during conversation creation",
    "date_created": "2020-09-24T12:29:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50384,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Initial state can't be 'closed",
    "secondary_message": "It's not allowed to set 'closed' state for newly created converastion",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nYou are trying to set 'closed' state during conversation creation which is not allowed\n\n### Possible causes\n\n- 'State' parameter value is set to 'closed' which is not allowed during conversation creation\n\n### Possible solutions\n\n- Change 'State' parameter value to either 'active' or 'inactive' during conversation creation\n",
    "causes": "* 'State' parameter value is set to 'closed' which is not allowed during conversation creation",
    "solutions": "* Change 'State' parameter value to either 'active' or 'inactive' during conversation creation",
    "description": "You are trying to set 'closed' state during conversation creation which is not allowed",
    "date_created": "2020-09-24T12:31:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50385,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conversations are disabled in this region",
    "secondary_message": "Conversations API is not supported in this Twilio region",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nConversations features do not function in the region you've selected. The API will return this error to indicate that, preventing further activity.\n\n### Possible causes\n\n- You may be using a Programmable Chat service that in the ie1 region (at chat.ie1.twilio.com). While Conversations is backwards compatible with Chat in other respects, the product presently works only in the default region (US East).\n- You may have inadvertently specified a region (other than the default) in your Conversations SDKs.\n\n### Possible solutions\n\nIf you need access to Conversations hosted in a Twilio datacenter outside the US, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) so we can prioritize it accordingly. In the meantime, use the default Twilio URLs (e.g. conversations.twilio.com).\n",
    "causes": "* You may be using a Programmable Chat service that in the ie1 region (at chat.ie1.twilio.com). While Conversations is backwards compatible with Chat in other respects, the product presently works only in the default region (US East).\n* You may have inadvertently specified a region (other than the default) in your Conversations SDKs.",
    "solutions": "If you need access to Conversations hosted in a Twilio datacenter outside the US, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com) so we can prioritize it accordingly. In the meantime, use the default Twilio URLs (e.g. conversations.twilio.com).",
    "description": "Conversations features do not function in the region you've selected. The API will return this error to indicate that, preventing further activity.",
    "date_created": "2020-09-24T12:32:24Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50386,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conversation in 'initializing' state may not be updated or used for message sending",
    "secondary_message": "Conversation in 'initializing' state may not be updated or used for message sending",
    "product": null,
    "docs": "\n## Description\n\nWhen conversation state is 'initializing', conversation may not be updated or used for message sending until it reaches states 'active' or 'inactive'. 'Initializing' state appears in GMMS conversations when not all resources were yet created to start message sending. It's possible when Conversation with Participants endpoint is used for GMMS conversation creation or when GMMS conversation is autocreated by inbound sms message.\n\n### Possible causes\n\nParticipants of GMMS conversation are not yet created in background.\n\n### Possible solutions\n\nWait till participants are created. To ensure that state is not 'initializing' wither fetch conversation till state changes to 'active' or 'inactive' or use onConversationStateUpdated webhook.\n",
    "causes": "Participants of GMMS conversation are not yet created in background.",
    "solutions": "Wait till participants are created. To ensure that state is not 'initializing' wither fetch conversation till state changes to 'active' or 'inactive' or use onConversationStateUpdated webhook.",
    "description": "When conversation state is 'initializing', conversation may not be updated or used for message sending until it reaches states 'active' or 'inactive'. 'Initializing' state appears in GMMS conversations when not all resources were yet created to start message sending. It's possible when Conversation with Participants endpoint is used for GMMS conversation creation or when GMMS conversation is autocreated by inbound sms message.",
    "date_created": "2024-11-08T18:19:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50388,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conversation webhook url is invalid",
    "secondary_message": "Request does not contain a valid url for conversation webhook.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nRequest does not contain a valid url for conversation webhook.\n\n### Possible causes\n\n- Provided url has the wrong format.\n\n### Possible solutions\n\n- Make sure that url is complete and properly encoded.\n- Make sure that url contains valid protocol and hostname and doesn't contain invalid characters.\n",
    "causes": "* Provided url has the wrong format.",
    "solutions": "* Make sure that url is complete and properly encoded.\n* Make sure that url contains valid protocol and hostname and doesn't contain invalid characters.",
    "description": "Request does not contain a valid url for conversation webhook.",
    "date_created": "2021-03-16T16:15:10Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50390,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unique name should not match conversation sid pattern",
    "secondary_message": "Specified Conversation's Unique Name matches Conversation SID Pattern \"CH\\[0-9a-f]\\{32}\".",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nSpecified Conversation's Unique Name matches Conversation SID Pattern \"CH\\[0-9a-f]\\{32}\".\n\n### Possible causes\n\nSpecified Conversation's Unique Name matches Conversation SID Pattern \"CH\\[0-9a-f]\\{32}\".\n\n### Possible solutions\n\nConfirm a valid Conversation's Unique Name is being passed in request.\n",
    "causes": "Specified Conversation's Unique Name matches Conversation SID Pattern \"CH\\[0-9a-f]{32}\".",
    "solutions": "Confirm a valid Conversation's Unique Name is being passed in request.",
    "description": "Specified Conversation's Unique Name matches Conversation SID Pattern \"CH\\[0-9a-f]{32}\".",
    "date_created": "2021-10-13T12:31:22Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50391,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conflicting conversation modification",
    "secondary_message": "The requested conversation is already being added or removed by a concurrent API request.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested conversation is already being added or removed from this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.\n\n### Possible causes\n\n- You might be adding a new conversation to the service instance while the conversation with the same unique name is being removed from another thread.\n- You might be submitting multiple concurrent requests to add a conversation with the same unique name to the service instance.\n- You might be submitting multiple concurrent requests to delete the same conversation by SID or unique name from the service instance.\n\n### Possible solutions\n\n- Implement an operation retrier and repeat the failed conversation API requests after an interval of time, using an exponential backoff algorithm.\n- Review your application logic that caused the race condition when adding or removing users. Perhaps the conflicting operations are happening in a loop that could be avoided.\n- Serialize your API requests that add or remove conversations. Wait until the original request completes and returns an API response, before sending any successive conversation requests.\n",
    "causes": "* You might be adding a new conversation to the service instance while the conversation with the same unique name is being removed from another thread.\n* You might be submitting multiple concurrent requests to add a conversation with the same unique name to the service instance.\n* You might be submitting multiple concurrent requests to delete the same conversation by SID or unique name from the service instance.",
    "solutions": "* Implement an operation retrier and repeat the failed conversation API requests after an interval of time, using an exponential backoff algorithm.\n* Review your application logic that caused the race condition when adding or removing users. Perhaps the conflicting operations are happening in a loop that could be avoided.\n* Serialize your API requests that add or remove conversations. Wait until the original request completes and returns an API response, before sending any successive conversation requests.",
    "description": "The requested conversation is already being added or removed from this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.",
    "date_created": "2021-10-13T12:27:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50392,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "PreWebhookTimeout should be greater than 0ms",
    "secondary_message": "Duration of waiting for pre-webhook response cannot be 0ms or less.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n'PreWebhookTimeout' should be greater than 0ms.\n\n### Possible causes\n\n- 'PreWebhookTimeout' field is set with a value less than or equal to 0.\n\n### Possible solutions\n\n- set 'PreWebhookTimeout' field with a value greater than 0.\n",
    "causes": "* 'PreWebhookTimeout' field is set with a value less than or equal to 0.",
    "solutions": "* set 'PreWebhookTimeout' field with a value greater than 0.",
    "description": "'PreWebhookTimeout' should be greater than 0ms.",
    "date_created": "2021-12-03T13:00:45Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50393,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Type value should be 'private'.",
    "secondary_message": "Type parameter value is required and should be 'private'. Migration to 'public' type is not allowed.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nType parameter value is required and should be 'private'. Migration to 'public' type is not allowed.\n\n### Possible causes\n\n- No Type parameter provided\n- Provided Type parameter not equal to 'private'\n\n### Possible solutions\n\n- Change Type parameter to 'private'\n",
    "causes": "* No Type parameter provided\n* Provided Type parameter not equal to 'private'",
    "solutions": "* Change Type parameter to 'private'",
    "description": "Type parameter value is required and should be 'private'. Migration to 'public' type is not allowed.",
    "date_created": "2022-03-08T16:40:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50396,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "EndDate parameter should be greater than StartDate parameter",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nEndDate parameter should be greater than StartDate parameter\n\n### Possible causes\n\nEndDate parameter is before StartDate parameter\n\n### Possible solutions\n\nSet EndDate parameter greater than StartDate parameter\n",
    "causes": "EndDate parameter is before StartDate parameter",
    "solutions": "Set EndDate parameter greater than StartDate parameter",
    "description": "EndDate parameter should be greater than StartDate parameter",
    "date_created": "2024-07-02T11:44:39Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50400,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: User not member of channel",
    "secondary_message": "Specified User is not member of this Channel.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified User is not member of this Channel.\n\n### Possible solutions\n\n- Confirm a valid User who is Member of this Channel is being passed in request.\n",
    "causes": "* Specified User is not member of this Channel.",
    "solutions": "* Confirm a valid User who is Member of this Channel is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50401,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Member SID not provided",
    "secondary_message": "Request does not contain required Member SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Member SID parameter.\n\n### Possible solutions\n\n- Confirm a valid Member SID is being passed in request.\n",
    "causes": "* Request does not contain required Member SID parameter.",
    "solutions": "* Confirm a valid Member SID is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50402,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Member not found",
    "secondary_message": "Specified Member does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Member does not exist.\n\n### Possible solutions\n\n- Confirm a valid Member is being passed in request.\n",
    "causes": "* Specified Member does not exist.",
    "solutions": "* Confirm a valid Member is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50403,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Channel member limit exceeded",
    "secondary_message": "Channel has too many members",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Channel has too many members\n\n### Possible solutions\n\n- Increase channel member limit for service instance\n- Remove members from channel\n",
    "causes": "* Channel has too many members",
    "solutions": "* Increase channel member limit for service instance\n* Remove members from channel",
    "description": "",
    "date_created": "2017-03-30T11:33:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50404,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Member already exists",
    "secondary_message": "Member with specified Identity already exists in this Channel",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Member with specified Identity already exists in this Channel.\n\n### Possible solutions\n\n- Confirm that the Member Identity passed in the request is not already a member of the intended channel.\n",
    "causes": "* Member with specified Identity already exists in this Channel.",
    "solutions": "* Confirm that the Member Identity passed in the request is not already a member of the intended channel.",
    "description": "",
    "date_created": "2017-04-05T13:02:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50405,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid last consumption timestamp format",
    "secondary_message": "Request does not contain correctly formatted parameter for last consumption timestamp",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for last consumption timestamp\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for last consumption timestamp",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2017-11-06T12:17:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50406,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invalid last consumed message index format",
    "secondary_message": "Request does not contain correctly formatted parameter for last consumed message index",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain correctly formatted parameter for last consumed message index\n\n### Possible solutions\n\n- Confirm a valid parameter is passed in request.\n",
    "causes": "* Request does not contain correctly formatted parameter for last consumed message index",
    "solutions": "* Confirm a valid parameter is passed in request.",
    "description": "",
    "date_created": "2017-11-06T12:18:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50407,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid messaging binding address",
    "secondary_message": "An invalid participant public address was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid participant public address was supplied.\n\n### Possible causes\n\n- Participant MessagingBinding.Address parameter provided with the request is not a valid participant address.\n\n### Possible solutions\n\n- Check that the length of MessagingBinding.Address parameter does not exceed 256 characters.\n- Ensure that MessagingBinding.Address parameter contains an address with valid syntax (e.g. SMS phone numbers must follow [E.164 format](/docs/glossary/what-e164)).\n",
    "causes": "* Participant MessagingBinding.Address parameter provided with the request is not a valid participant address.",
    "solutions": "* Check that the length of MessagingBinding.Address parameter does not exceed 256 characters.\n* Ensure that MessagingBinding.Address parameter contains an address with valid syntax (e.g. SMS phone numbers must follow [E.164 format](/docs/glossary/what-e164)).",
    "description": "An invalid participant public address was supplied.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50408,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid participant proxy address",
    "secondary_message": "An invalid participant proxy address was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid participant proxy address was supplied.\n\n### Possible causes\n\n- Participant MessagingBinding.ProxyAddress parameter provided with the request is not a valid conversation proxy address.\n\n### Possible solutions\n\n- Check that the length of MessagingBinding.ProxyAddress parameter does not exceed 256 characters.\n- Ensure that MessagingBinding.ProxyAddress parameter contains an address with valid syntax (e.g. SMS phone numbers must follow [E.164 format](/docs/glossary/what-e164)).\n",
    "causes": "* Participant MessagingBinding.ProxyAddress parameter provided with the request is not a valid conversation proxy address.",
    "solutions": "* Check that the length of MessagingBinding.ProxyAddress parameter does not exceed 256 characters.\n* Ensure that MessagingBinding.ProxyAddress parameter contains an address with valid syntax (e.g. SMS phone numbers must follow [E.164 format](/docs/glossary/what-e164)).",
    "description": "An invalid participant proxy address was supplied.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50409,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant address equals proxy address",
    "secondary_message": "The supplied participant address must not equal its proxy address.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe supplied participant address must not equal its proxy address.\n\n### Possible causes\n\n- When requesting a participant to be added to a conversation, you specified the identical participant address and its proxy address parameters.\n\n### Possible solutions\n\n- Provide a participant's public address (e.g. user's SMS/MMS number) different from a conversation proxy number (e.g. Twilio SMS/MMS number) when adding a participant to the conference.\n",
    "causes": "* When requesting a participant to be added to a conversation, you specified the identical participant address and its proxy address parameters.",
    "solutions": "* Provide a participant's public address (e.g. user's SMS/MMS number) different from a conversation proxy number (e.g. Twilio SMS/MMS number) when adding a participant to the conference.",
    "description": "The supplied participant address must not equal its proxy address.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50411,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant address is empty",
    "secondary_message": "The provided participant public address parameter must not be empty.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe provided participant public address parameter must not be empty.\n\n### Possible causes\n\n- MessagingBinding.Address parameter provided with the request contains an empty string.\n\n### Possible solutions\n\n- Add a non-empty MessagingBinding.Address parameter to the API request and supply a valid participant address matching your desired channel, e.g. SMS, MMS or WhatsApp.\n",
    "causes": "* MessagingBinding.Address parameter provided with the request contains an empty string.",
    "solutions": "* Add a non-empty MessagingBinding.Address parameter to the API request and supply a valid participant address matching your desired channel, e.g. SMS, MMS or WhatsApp.",
    "description": "The provided participant public address parameter must not be empty.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50412,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant proxy address is empty",
    "secondary_message": "The provided participant proxy address parameter must not be empty.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe provided participant proxy address parameter must not be empty.\n\n### Possible causes\n\n- MessagingBinding.ProxyAddress parameter provided with the request contains an empty string.\n\n### Possible solutions\n\n- Add a non-empty MessagingBinding.ProxyAddress parameter to the API request and supply a valid participant proxy address matching your desired channel, e.g. SMS, MMS or WhatsApp.\n",
    "causes": "* MessagingBinding.ProxyAddress parameter provided with the request contains an empty string.",
    "solutions": "* Add a non-empty MessagingBinding.ProxyAddress parameter to the API request and supply a valid participant proxy address matching your desired channel, e.g. SMS, MMS or WhatsApp.",
    "description": "The provided participant proxy address parameter must not be empty.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50413,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Account is not authorized to use proxy address",
    "secondary_message": "Your account is not authorized to use the requested proxy address.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nYour account is not authorized to use the requested proxy address.\n\n### Possible causes\n\n- The provided conversation proxy address is not allowed to be used under your account.\n\n### Possible solutions\n\n- Check that MessagingBinding.ProxyAddress parameter passed to API contains a proxy address that belongs to your account. For example, use a Twilio phone number that is purchased under the same project.\n",
    "causes": "* The provided conversation proxy address is not allowed to be used under your account.",
    "solutions": "* Check that MessagingBinding.ProxyAddress parameter passed to API contains a proxy address that belongs to your account. For example, use a Twilio phone number that is purchased under the same project.",
    "description": "Your account is not authorized to use the requested proxy address.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50414,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant address type does not match proxy address type",
    "secondary_message": "The provided participant address mismatches the proxy address channel type.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe provided participant address mismatches the proxy address channel type.\n\n### Possible causes\n\n- MessagingBinding.Address and MessagingBinding.ProxyAddress passed to the API do not belong to the same communication channel.\n\n### Possible solutions\n\n- Ensure that both MessagingBinding.Address and MessagingBinding.ProxyAddress are both of the same type, e.g. both SMS or both WhatsApp.\n",
    "causes": "* MessagingBinding.Address and MessagingBinding.ProxyAddress passed to the API do not belong to the same communication channel.",
    "solutions": "* Ensure that both MessagingBinding.Address and MessagingBinding.ProxyAddress are both of the same type, e.g. both SMS or both WhatsApp.",
    "description": "The provided participant address mismatches the proxy address channel type.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50415,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Proxy address is not WhatsApp enabled sender",
    "secondary_message": "The requested participant proxy address is not a correctly configured WhatsApp number.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested participant proxy address is not a correctly configured WhatsApp number.\n\n### Possible causes\n\n- Provided MessagingBinding.ProxyAddress parameter contains a participant number that is not recognized as a valid WhatsApp number.\n\n### Possible solutions\n\n- Ensure that MessagingBinding.ProxyAddress is an [on-boarded WhatsApp number](/docs/whatsapp/api) assigned to your number pool.\n",
    "causes": "* Provided MessagingBinding.ProxyAddress parameter contains a participant number that is not recognized as a valid WhatsApp number.",
    "solutions": "* Ensure that MessagingBinding.ProxyAddress is an [on-boarded WhatsApp number](/docs/whatsapp/api) assigned to your number pool.",
    "description": "The requested participant proxy address is not a correctly configured WhatsApp number.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50416,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant and proxy address pair is already in use",
    "secondary_message": "The requested participant and proxy address pair is already registered in the system.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested participant and proxy address pair is already registered in the system.\n\n### Possible causes\n\n- You are attempting to map a non-Chat (e.g. SMS) conversation member with participant address and proxy address that are already assigned to an active conversation. For example, there may be only one unique mapping between your conversation participant's public phone number and internal (proxying) Twilio phone number, in order to route inbound messages correctly.\n\n### Possible solutions\n\n- [Locate](/docs/conversations/api/conversation-resource#read-multiple-conversation-resources) a conflicting active conversation that has an identical participant added to it. Either [delete](/docs/conversations/api/conversation-resource#delete-a-conversation-resource) old conversations completely if you don't need the message history, or just remove the participant that uses these numbers in a previous conversation.\n",
    "causes": "* You are attempting to map a non-Chat (e.g. SMS) conversation member with participant address and proxy address that are already assigned to an active conversation. For example, there may be only one unique mapping between your conversation participant's public phone number and internal (proxying) Twilio phone number, in order to route inbound messages correctly.",
    "solutions": "* [Locate](/docs/conversations/api/conversation-resource#read-multiple-conversation-resources) a conflicting active conversation that has an identical participant added to it. Either [delete](/docs/conversations/api/conversation-resource#delete-a-conversation-resource) old conversations completely if you don't need the message history, or just remove the participant that uses these numbers in a previous conversation.",
    "description": "The requested participant and proxy address pair is already registered in the system.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50417,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participants limit exceeded",
    "secondary_message": "The total number of participants in this conversation exceeds the allowed limit.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe total number of participants in this conversation exceeds the limit.\n\n### Possible causes\n\n- You are trying to add more native Programmable Chat participants than allowed in this conversation. Maximum number of conversation participants is 100 by default, can be increased to 1000 programmatically.\n\n### Possible solutions\n\n- Increase the [maximum limit](/docs/chat/rest/service-resource#update-a-service-resource) by using Developer Console or REST API. Up to [1000 participants](/docs/conversations/conversations-limits) are supported.\n- Retrieve a [list of current participants](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) in this conversation and [remove](/docs/conversations/api/conversation-participant-resource#delete-a-conversationparticipant-resource) the ones that are no longer required.\n- Consider reusing participant identity across multiple clients, if user behavior is similar and data may be shared.\n",
    "causes": "* You are trying to add more native Programmable Chat participants than allowed in this conversation. Maximum number of conversation participants is 100 by default, can be increased to 1000 programmatically.",
    "solutions": "* Increase the [maximum limit](/docs/chat/rest/service-resource#update-a-service-resource) by using Developer Console or REST API. Up to [1000 participants](/docs/conversations/conversations-limits) are supported.\n* Retrieve a [list of current participants](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) in this conversation and [remove](/docs/conversations/api/conversation-participant-resource#delete-a-conversationparticipant-resource) the ones that are no longer required.\n* Consider reusing participant identity across multiple clients, if user behavior is similar and data may be shared.",
    "description": "The total number of participants in this conversation exceeds the limit.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50418,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Non-Chat participants limit exceeded",
    "secondary_message": "The total number of SMS, WhatsApp, or other non-Chat participants in this conversation exceeds the allowed limit.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe total number of SMS, WhatsApp, or other non-Chat participants in this conversation exceeds the allowed limit.\n\n### Possible causes\n\n- You are trying to add more non-Chat participants than allowed in this conversation. [Maximum number](/docs/conversations/conversations-limits) of conversation participants is 50.\n\n### Possible solutions\n\n- Retrieve a [list of current participants](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) in this conversation and [remove](/docs/conversations/api/conversation-participant-resource#delete-a-conversationparticipant-resource) the ones that are no longer required.\n",
    "causes": "* You are trying to add more non-Chat participants than allowed in this conversation. [Maximum number](/docs/conversations/conversations-limits) of conversation participants is 50.",
    "solutions": "* Retrieve a [list of current participants](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) in this conversation and [remove](/docs/conversations/api/conversation-participant-resource#delete-a-conversationparticipant-resource) the ones that are no longer required.",
    "description": "The total number of SMS, WhatsApp, or other non-Chat participants in this conversation exceeds the allowed limit.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50419,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Conflicting member modification",
    "secondary_message": "The requested member is already being added or removed from this channel by a concurrent API request.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested member is already being added or removed from this channel concurrently with another API request. The last request will be rejected to avoid inconsistent state.\n\n### Possible causes\n\n- You might be adding a new member to the channel while the member with the same identity is being removed from another thread.\n- You might be submitting multiple concurrent requests to add a member with the same identity to the channel.\n- You might be submitting multiple concurrent requests to delete the same member by SID or identity from the channel.\n\n### Possible solutions\n\n- Implement an operation retrier and repeat the failed member API requests after an interval of time, using an exponential backoff algorithm.\n- Review your application logic that caused the race condition when adding or removing members. Perhaps the conflicting operations are happening in a loop that could be avoided.\n- Serialize your API requests that add or remove members. Wait until the original request completes and returns an API response, before sending any successive member requests.\n",
    "causes": "* You might be adding a new member to the channel while the member with the same identity is being removed from another thread.\n* You might be submitting multiple concurrent requests to add a member with the same identity to the channel.\n* You might be submitting multiple concurrent requests to delete the same member by SID or identity from the channel.",
    "solutions": "* Implement an operation retrier and repeat the failed member API requests after an interval of time, using an exponential backoff algorithm.\n* Review your application logic that caused the race condition when adding or removing members. Perhaps the conflicting operations are happening in a loop that could be avoided.\n* Serialize your API requests that add or remove members. Wait until the original request completes and returns an API response, before sending any successive member requests.",
    "description": "The requested member is already being added or removed from this channel concurrently with another API request. The last request will be rejected to avoid inconsistent state.",
    "date_created": "2020-03-03T15:25:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50420,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant Messaging Binding type does not support all of the provided Messaging Binding parameters",
    "secondary_message": "Sms Participant should not have MessagingBinding.Name or MessagingBinding.Level",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nSms Participant should not have MessagingBinding.Name or MessagingBinding.Level\n\n### Possible causes\n\nParticipant is being created with not supported MessagingBinding parameters. Sms Participant should not have MessagingBinding.Name or MessagingBinding.Level.\n\n### Possible solutions\n\nRemove MessagingBinding.Name and MessagingBinding.Level from the request.\n",
    "causes": "Participant is being created with not supported MessagingBinding parameters. Sms Participant should not have MessagingBinding.Name or MessagingBinding.Level.",
    "solutions": "Remove MessagingBinding.Name and MessagingBinding.Level from the request.",
    "description": "Sms Participant should not have MessagingBinding.Name or MessagingBinding.Level",
    "date_created": "2021-10-14T13:40:10Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50421,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid last read message index format",
    "secondary_message": "Request does not contain correctly formatted parameter for last read message index",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nRequest does not contain correctly formatted parameter for last read message index\n\n### Possible causes\n\nRequest does not contain correctly formatted parameter for last read message index\n\n### Possible solutions\n\nConfirm a valid parameter is passed in request.\n",
    "causes": "Request does not contain correctly formatted parameter for last read message index",
    "solutions": "Confirm a valid parameter is passed in request.",
    "description": "Request does not contain correctly formatted parameter for last read message index",
    "date_created": "2021-10-13T12:29:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50422,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Non-chat conversation participants limit exceeded",
    "secondary_message": "The total number of non-chat participants in this conversation exceeds the allowed limit.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe total number of non-chat participants in this conversation exceeds the allowed limit.\n\n### Possible causes\n\nYou are trying to add more non-chat participants than allowed in this conversation. Maximum number of conversation participants is 50.\n\n- You are trying to add more non-Chat participants than allowed in this conversation. [Maximum number](/docs/conversations/conversations-limits) of conversation participants is 50.\n\n### Possible solutions\n\n- Retrieve a [list of current participants](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) in this conversation and [remove](/docs/conversations/api/conversation-participant-resource#delete-a-conversationparticipant-resource) the ones that are no longer required.\n",
    "causes": "You are trying to add more non-chat participants than allowed in this conversation. Maximum number of conversation participants is 50. - You are trying to add more non-Chat participants than allowed in this conversation. [Maximum number](/docs/conversations/conversations-limits) of conversation participants is 50.",
    "solutions": "* Retrieve a [list of current participants](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) in this conversation and [remove](/docs/conversations/api/conversation-participant-resource#delete-a-conversationparticipant-resource) the ones that are no longer required.",
    "description": "The total number of non-chat participants in this conversation exceeds the allowed limit.",
    "date_created": "2021-10-13T12:36:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50424,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "One of the JSON requests for participant creation is invalid.",
    "secondary_message": "One of the requests in provided participants list is not a valid JSON object.",
    "product": null,
    "docs": "\n## Description\n\nOne of the requests in provided participants list is not a valid JSON object.\n\n### Possible causes\n\nYou are attempting to use invalid JSON object in the list of requests to create participants. If Conversations API is used it means that one of form parameters 'Participant' contains invalid JSON.\n\n### Possible solutions\n\nValidate that all the requests in the list of participants are strings that contain valid JSON objects. Make amendments to the requests that are not valid.\n",
    "causes": "You are attempting to use invalid JSON object in the list of requests to create participants. If Conversations API is used it means that one of form parameters 'Participant' contains invalid JSON.",
    "solutions": "Validate that all the requests in the list of participants are strings that contain valid JSON objects. Make amendments to the requests that are not valid.",
    "description": "One of the requests in provided participants list is not a valid JSON object.",
    "date_created": "2024-09-12T08:18:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50425,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant and proxy address pairs for one or more participants already in use.",
    "secondary_message": "One or more of the requested participant and proxy address pairs are already registered in the system.",
    "product": null,
    "docs": "\n## Description\n\nOne or more of the requested participant and proxy address pairs are already registered in the system.\n\n### Possible causes\n\nYou are attempting to map a non-Chat (e.g. SMS) conversation participants with participant address and proxy address that are already assigned to an active conversation. There may be only one unique mapping between your conversation participant's public phone number and internal (proxying) Twilio phone number, in order to route inbound messages correctly.\n\n### Possible solutions\n\n[Locate](/docs/conversations/api/conversation-resource#read-multiple-conversation-resources) a conflicting active conversation that has an identical participant added to it. To use such participant in the new conversation either [delete](/docs/conversations/api/conversation-resource#delete-a-conversation-resource) old conversations completely if you don't need the message history, or just remove the participant that uses these numbers in a previous conversation.\n",
    "causes": "You are attempting to map a non-Chat (e.g. SMS) conversation participants with participant address and proxy address that are already assigned to an active conversation. There may be only one unique mapping between your conversation participant's public phone number and internal (proxying) Twilio phone number, in order to route inbound messages correctly.",
    "solutions": "[Locate](/docs/conversations/api/conversation-resource#read-multiple-conversation-resources) a conflicting active conversation that has an identical participant added to it. To use such participant in the new conversation either [delete](/docs/conversations/api/conversation-resource#delete-a-conversation-resource) old conversations completely if you don't need the message history, or just remove the participant that uses these numbers in a previous conversation.",
    "description": "One or more of the requested participant and proxy address pairs are already registered in the system.",
    "date_created": "2024-09-12T08:22:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50426,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Request contains too many participants.",
    "secondary_message": "Request contains more participants than allowed per request.",
    "product": null,
    "docs": "\n## Description\n\nRequest contains more participants than allowed per request.\n\n### Possible causes\n\nYou are attempting to add more participants than it's allowed to in one request of conversation with participants creation.\n\n### Possible solutions\n\nReduce the amount of participants in the request to the allowed limit. Add all the rest of the participants using [Participant Resource](/docs/conversations/api/conversation-participant-resource).\n",
    "causes": "You are attempting to add more participants than it's allowed to in one request of conversation with participants creation.",
    "solutions": "Reduce the amount of participants in the request to the allowed limit. Add all the rest of the participants using [Participant Resource](/docs/conversations/api/conversation-participant-resource).",
    "description": "Request contains more participants than allowed per request.",
    "date_created": "2024-09-12T08:23:06Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50427,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Errors occurred during multiple participants creation.",
    "secondary_message": "One or more other errors occurred during multiple participants creation.",
    "product": null,
    "docs": "\n## Description\n\nOne or more other errors occurred during multiple participants creation. This error is received in [Error logs](/docs/messaging/guides/debugging-tools#how-to-use-the-twilio-error-logs) in Twilio Console and contains the list of other [errors](/docs/api/errors).\n\n### Possible causes\n\nThe error during multiple participants creation is unexpected due to extensive validation done before conversation with multiple participants creation. The error may appear if there are simultaneous conflicting requests. To learn more about the possible issues that happened during participants creation read the description of the received error in [Twilio Console Error Logs](https://console.twilio.com/us1/monitor/logs/debugger/errors) and check the errors. The Possible Causes of these errors caused the failure of the whole participants creation process.\n\n### Possible solutions\n\nIt's recommended to retry the request after some time. In case of this error the failed conversation is moved to closed state and all the resources occupied by this conversation are released, that allows retry not to fail.\n",
    "causes": "The error during multiple participants creation is unexpected due to extensive validation done before conversation with multiple participants creation. The error may appear if there are simultaneous conflicting requests. To learn more about the possible issues that happened during participants creation read the description of the received error in [Twilio Console Error Logs](https://console.twilio.com/us1/monitor/logs/debugger/errors) and check the errors. The Possible Causes of these errors caused the failure of the whole participants creation process.",
    "solutions": "It's recommended to retry the request after some time. In case of this error the failed conversation is moved to closed state and all the resources occupied by this conversation are released, that allows retry not to fail.",
    "description": "One or more other errors occurred during multiple participants creation. This error is received in [Error logs](/docs/messaging/guides/debugging-tools#how-to-use-the-twilio-error-logs) in Twilio Console and contains the list of other [errors](/docs/api/errors).",
    "date_created": "2024-09-12T08:24:06Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50430,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant is not a member of conversation",
    "secondary_message": "The requested participant is not a member of this conversation.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested participant is not a member of this conversation.\n\n### Possible causes\n\n- The requested participant was removed from this conversation, or was never added to it.\n- The requested participant SID is misspelled.\n- The requested participant is a member of a different conversation.\n\n### Possible solutions\n\n- Ensure that the participant is added to the conversation. Use API to [create a new participant](/docs/conversations/api/conversation-participant-resource#add-a-conversation-participant-sms).\n",
    "causes": "* The requested participant was removed from this conversation, or was never added to it.\n* The requested participant SID is misspelled.\n* The requested participant is a member of a different conversation.",
    "solutions": "* Ensure that the participant is added to the conversation. Use API to [create a new participant](/docs/conversations/api/conversation-participant-resource#add-a-conversation-participant-sms).",
    "description": "The requested participant is not a member of this conversation.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50431,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant SID not provided",
    "secondary_message": "Conversation participant SID parameter is required but was not provided.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nConversation participant SID parameter is required but was not provided.\n\n### Possible causes\n\n- The API expected a participant SID input parameter, but it was either not provided or was misspelled.\n\n### Possible solutions\n\n- Add a valid participant SID parameter to the API request and confirm that it is not misspelled.\n",
    "causes": "* The API expected a participant SID input parameter, but it was either not provided or was misspelled.",
    "solutions": "* Add a valid participant SID parameter to the API request and confirm that it is not misspelled.",
    "description": "Conversation participant SID parameter is required but was not provided.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50432,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant not found",
    "secondary_message": "The requested conversation participant SID was not found.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested conversation participant SID was not found.\n\n### Possible causes\n\n- The participant SID you are requesting does not exist in this conversation.\n\n### Possible solutions\n\n- Check that the requested participant SID is not misspelled.\n- Check that the requested participant SID was added to this conversation. Use REST API to [fetch a list](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) of existing conversation participants.\n",
    "causes": "* The participant SID you are requesting does not exist in this conversation.",
    "solutions": "* Check that the requested participant SID is not misspelled.\n* Check that the requested participant SID was added to this conversation. Use REST API to [fetch a list](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) of existing conversation participants.",
    "description": "The requested conversation participant SID was not found.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50433,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Participant already exists",
    "secondary_message": "The requested Chat participant is already mapped to a conversation.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested Chat participant is already mapped to a conversation.\n\n### Possible causes\n\n- You are attempting to add a Programmable Chat participant to a conversation that already has another participant with the same identity.\n\n### Possible solutions\n\n- [Retrieve a list](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) of existing participants in this conversation and remove the one with the same identity using [REST API](/docs/conversations/api/conversation-participant-resource#delete-a-conversationparticipant-resource).\n- Perhaps it's not an issue, and we can continue as-is. Instead of adding a new participant, reuse the existing one, potentially [update its attributes](/docs/conversations/api/conversation-participant-resource#update-a-conversationparticipant-resource) if necessary.\n",
    "causes": "* You are attempting to add a Programmable Chat participant to a conversation that already has another participant with the same identity.",
    "solutions": "* [Retrieve a list](/docs/conversations/api/conversation-participant-resource#read-multiple-conversationparticipant-resources) of existing participants in this conversation and remove the one with the same identity using [REST API](/docs/conversations/api/conversation-participant-resource#delete-a-conversationparticipant-resource).\n* Perhaps it's not an issue, and we can continue as-is. Instead of adding a new participant, reuse the existing one, potentially [update its attributes](/docs/conversations/api/conversation-participant-resource#update-a-conversationparticipant-resource) if necessary.",
    "description": "The requested Chat participant is already mapped to a conversation.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50434,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant projected address not provided",
    "secondary_message": "No Projected Address provided for this participant the group conversation.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThis is a Group MMS conversation, but the given participant has neither an Address nor a ProjectedAddress.\n\n### Possible causes\n\n- You may have inadvertently provided an Identity (chat user), rather than an Address (mobile phone).\n- You may have mistyped or inadvertently left out the ProjectedAddress parameter.\n\n### Possible solutions\n\n- [Provide a Projected Address](/docs/conversations/group-texting#scenario-1-set-up-a-group-message-with-one-chat-participant-and-two-sms-participants) when adding this Participant to the Group Conversation. This is the correct path when adding Chat participants to a Group MMS conversation.\n",
    "causes": "* You may have inadvertently provided an Identity (chat user), rather than an Address (mobile phone).\n* You may have mistyped or inadvertently left out the ProjectedAddress parameter.",
    "solutions": "* [Provide a Projected Address](/docs/conversations/group-texting#scenario-1-set-up-a-group-message-with-one-chat-participant-and-two-sms-participants) when adding this Participant to the Group Conversation. This is the correct path when adding Chat participants to a Group MMS conversation.",
    "description": "This is a Group MMS conversation, but the given participant has neither an Address nor a ProjectedAddress.",
    "date_created": "2021-08-16T11:55:21Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50435,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Group MMS activation failed.",
    "secondary_message": "Group MMS activation with the new list of participants has failed.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe conversation's Group MMS could not be activated.\n\n### Possible causes\n\n- The conversation does not have at least three participants with messaging binding.\n- The conversation has got a participant with identity but without projected address.\n- The conversation's participants do not make a valid address list for group messaging.\n\n### Possible solutions\n\n- Check that all the participants have messaging bindings.\n- Check that there is at least one participant with user address only.\n- Check that there is at least one participant with a proxy address or a projected address.\n",
    "causes": "* The conversation does not have at least three participants with messaging binding.\n* The conversation has got a participant with identity but without projected address.\n* The conversation's participants do not make a valid address list for group messaging.",
    "solutions": "* Check that all the participants have messaging bindings.\n* Check that there is at least one participant with user address only.\n* Check that there is at least one participant with a proxy address or a projected address.",
    "description": "The conversation's Group MMS could not be activated.",
    "date_created": "2021-08-16T11:56:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50436,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant limit exceeded for group conversation",
    "secondary_message": "The maximum of participants allowed in a group conversation has been exceeded.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThere is a limit to how many participants can be active in the same conversation at once. Adding this participant would exceed that limit.\n\n### Possible causes\n\n- You may have failed to remove old participants in a long-running conversation.\n- You may have reached an edge-case in your application that creates unusually large conversations, in excess of the limit.\n\n### Possible solutions\n\n- Drop another participant from the conversation before adding new one.\n",
    "causes": "* You may have failed to remove old participants in a long-running conversation.\n* You may have reached an edge-case in your application that creates unusually large conversations, in excess of the limit.",
    "solutions": "* Drop another participant from the conversation before adding new one.",
    "description": "There is a limit to how many participants can be active in the same conversation at once. Adding this participant would exceed that limit.",
    "date_created": "2021-08-16T11:57:28Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50437,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Group Participant already exists",
    "secondary_message": "Participant already exists in the group conversation.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nA participant matching this one already exists in the conversation.\n\n### Possible causes\n\n- An participant with the same ProxyAddress+Address pair already exists in this conversation\n- A native GMMS Participant with the same Address exists in this conversation\n- A Chat Participant with the same Identity and Project Address exists in this conversation\n\nThis error may result from a race condition, where a participant was inadvertently added twice.\n\n### Possible solutions\n\n- Add the participant with a different Address or Identity\n- Ignore this error — your participant is already present.\n",
    "causes": "* An participant with the same ProxyAddress+Address pair already exists in this conversation\n* A native GMMS Participant with the same Address exists in this conversation\n* A Chat Participant with the same Identity and Project Address exists in this conversation This error may result from a race condition, where a participant was inadvertently added twice.",
    "solutions": "* Add the participant with a different Address or Identity\n* Ignore this error — your participant is already present.",
    "description": "A participant matching this one already exists in the conversation.",
    "date_created": "2021-08-16T11:58:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50438,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Group conversation with given participant list already exists",
    "secondary_message": "There is an existing (open) group conversation with the same participant list.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThere is an existing group conversation with the same participant list.\n\n### Possible causes\n\n- You previously created a conflicting conversation\n- Twilio created a conversation — which now conflicts — in the course of Autocreation.\n\n### Possible solutions\n\n- If the existing conversation is no longer in use, delete or [close the conversation](/docs/conversations/states-timers#closed-conversations).\n- Alternatively, locate the other conversation and use that in place of this one.\n",
    "causes": "* You previously created a conflicting conversation\n* Twilio created a conversation — which now conflicts — in the course of Autocreation.",
    "solutions": "* If the existing conversation is no longer in use, delete or [close the conversation](/docs/conversations/states-timers#closed-conversations).\n* Alternatively, locate the other conversation and use that in place of this one.",
    "description": "There is an existing group conversation with the same participant list.",
    "date_created": "2021-08-16T11:59:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50439,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account is not authorized to use the projected address",
    "secondary_message": "Address used as Projected Address does not belong to the account.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAddress used as Projected Address does not belong to the account.\n\n### Possible causes\n\n- The account does not own the Address (eg. phone number) used as a Projected Address.\n\n### Possible solutions\n\n- Use a different address owned by the account.\n",
    "causes": "* The account does not own the Address (eg. phone number) used as a Projected Address.",
    "solutions": "* Use a different address owned by the account.",
    "description": "Address used as Projected Address does not belong to the account.",
    "date_created": "2021-08-16T12:00:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50440,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to remove the proxy address of a participant.",
    "secondary_message": "The participant should have a proxy address in order to remove it.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe conversation participant being updated does not have a proxy address.\n\n### Possible causes\n\n- The participant does not have a proxy address you are trying to remove.\n- The participant you are updating is not an SMS participant.\n\n### Possible solutions\n\n- Check that the request does not update proxy address of this particular participant.\n",
    "causes": "* The participant does not have a proxy address you are trying to remove.\n* The participant you are updating is not an SMS participant.",
    "solutions": "* Check that the request does not update proxy address of this particular participant.",
    "description": "The conversation participant being updated does not have a proxy address.",
    "date_created": "2021-08-16T12:07:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50441,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to add a proxy address to a participant.",
    "secondary_message": "The participant should have an address in order to add a proxy address.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nYou cannot add a proxy address to the participant.\n\n### Possible causes\n\n- The participant to which you are trying to add a proxy address, does not have a user address.\n\n### Possible solutions\n\n- Check that the request does not update proxy address of this particular participant.\n",
    "causes": "* The participant to which you are trying to add a proxy address, does not have a user address.",
    "solutions": "* Check that the request does not update proxy address of this particular participant.",
    "description": "You cannot add a proxy address to the participant.",
    "date_created": "2021-08-16T12:01:27Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50442,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to remove the projected address of a participant.",
    "secondary_message": "The participant should have a projected address in order to remove it.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe conversation participant being updated does not have a projected address.\n\n### Possible causes\n\n- The participant does not have the projected address you are trying to remove.\n\n### Possible solutions\n\n- Check that the request does not update projected address of this particular participant.\n",
    "causes": "* The participant does not have the projected address you are trying to remove.",
    "solutions": "* Check that the request does not update projected address of this particular participant.",
    "description": "The conversation participant being updated does not have a projected address.",
    "date_created": "2021-08-16T12:02:11Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50443,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to add a projected address to a participant.",
    "secondary_message": "The participant should not have a messaging binding in order to add a projected address.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe conversation participant being updated can not have a projected address.\n\n### Possible causes\n\n- You are trying to add a projected address to a participant with messaging binding assigned.\n\n### Possible solutions\n\n- Check that the request does not update projected address of this particular participant.\n",
    "causes": "* You are trying to add a projected address to a participant with messaging binding assigned.",
    "solutions": "* Check that the request does not update projected address of this particular participant.",
    "description": "The conversation participant being updated can not have a projected address.",
    "date_created": "2021-08-16T12:03:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50444,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to add an identity to a participant.",
    "secondary_message": "The participant should not have an identity in order to add an identity.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe conversation participant being updated can not have an identity.\n\n### Possible causes\n\n- You are trying to add an identity to a participant with identity already assigned.\n- You are trying to add an identity to a participant without projected address.\n\n### Possible solutions\n\n- Check that the request does not update identity of this particular participant.\n",
    "causes": "* You are trying to add an identity to a participant with identity already assigned.\n* You are trying to add an identity to a participant without projected address.",
    "solutions": "* Check that the request does not update identity of this particular participant.",
    "description": "The conversation participant being updated can not have an identity.",
    "date_created": "2021-08-16T12:04:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50449,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conflicting channel modification",
    "secondary_message": "The requested channel is already being added or removed by a concurrent API request.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested channel is already being added or removed from this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.\n\n### Possible causes\n\n- You might be adding a new channel to the service instance while the channel with the same unique name is being removed from another thread.\n- You might be submitting multiple concurrent requests to add a channel with the same unique name to the service instance.\n- You might be submitting multiple concurrent requests to delete the same channel by SID or unique name from the service instance.\n\n### Possible solutions\n\n- Implement an operation retrier and repeat the failed channel API requests after an interval of time, using an exponential backoff algorithm.\n- Review your application logic that caused the race condition when adding or removing users. Perhaps the conflicting operations are happening in a loop that could be avoided.\n- Serialize your API requests that add or remove channels. Wait until the original request completes and returns an API response, before sending any successive channel requests.\n",
    "causes": "* You might be adding a new channel to the service instance while the channel with the same unique name is being removed from another thread.\n* You might be submitting multiple concurrent requests to add a channel with the same unique name to the service instance.\n* You might be submitting multiple concurrent requests to delete the same channel by SID or unique name from the service instance.",
    "solutions": "* Implement an operation retrier and repeat the failed channel API requests after an interval of time, using an exponential backoff algorithm.\n* Review your application logic that caused the race condition when adding or removing users. Perhaps the conflicting operations are happening in a loop that could be avoided.\n* Serialize your API requests that add or remove channels. Wait until the original request completes and returns an API response, before sending any successive channel requests.",
    "description": "The requested channel is already being added or removed from this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.",
    "date_created": "2020-04-20T11:38:57Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50451,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "One user identifier parameter for lookup at a time is allowed. Please, use either Identity or Address.",
    "secondary_message": "Request should contain either Identity or Address parameter, not both.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nRequest should contain either Identity or Address parameter, not both.\n\n### Possible causes\n\n- Both Identity and Address were provided\n\n### Possible solutions\n\n- Please, provide either Identity or Address\n",
    "causes": "* Both Identity and Address were provided",
    "solutions": "* Please, provide either Identity or Address",
    "description": "Request should contain either Identity or Address parameter, not both.",
    "date_created": "2021-07-26T10:50:54Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50452,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Group MMS is not enabled for this Account",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTriggered when an Account attempts to use GMMS without the appropriate permissions\n\n### Possible causes\n\nMissing permissions for GMMS\n\n### Possible solutions\n\nVerify if GMMS allowed for this Account\n",
    "causes": "Missing permissions for GMMS",
    "solutions": "Verify if GMMS allowed for this Account",
    "description": "Triggered when an Account attempts to use GMMS without the appropriate permissions",
    "date_created": "2022-03-28T10:04:36Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50453,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Proxy Address of participant is not supported for this channel",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTriggered when account is trying to add or update the participant with a proxy address that is not supported in given channel, e.g. email, etc.\n\n### Possible causes\n\nProxy Address for participant is not supported in given channel\n\n### Possible solutions\n\nRemove proxy address field of the participant\n",
    "causes": "Proxy Address for participant is not supported in given channel",
    "solutions": "Remove proxy address field of the participant",
    "description": "Triggered when account is trying to add or update the participant with a proxy address that is not supported in given channel, e.g. email, etc.",
    "date_created": "2022-08-23T15:27:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50500,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Message not found",
    "secondary_message": "Specified Message does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Message does not exist.\n\n### Possible solutions\n\n- Confirm a valid Message is being passed in request.\n",
    "causes": "* Specified Message does not exist.",
    "solutions": "* Confirm a valid Message is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50501,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Message SID not provided",
    "secondary_message": "Request does not contain required Message SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Message SID parameter.\n\n### Possible solutions\n\n- Confirm a valid Message SID is being passed in request.\n",
    "causes": "* Request does not contain required Message SID parameter.",
    "solutions": "* Confirm a valid Message SID is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50502,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Message index not provided",
    "secondary_message": "Request does not contain required Message Index parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Message Index parameter.\n\n### Possible solutions\n\n- Confirm a valid Message Index is being passed in request.\n",
    "causes": "* Request does not contain required Message Index parameter.",
    "solutions": "* Confirm a valid Message Index is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50503,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Message body not provided",
    "secondary_message": "Request does not contain required Message Body parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Message Body parameter.\n\n### Possible solutions\n\n- Confirm a valid Message Body is being passed in request.\n",
    "causes": "* Request does not contain required Message Body parameter.",
    "solutions": "* Confirm a valid Message Body is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50504,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Programmable Chat: Message body parameter is too long",
    "secondary_message": "Message body parameter is too long",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\nMessage body parameter is too long. Visit the [Chat Limits](/docs/chat/chat-limits) documentation to learn more about the maximum message length.\n\n### Possible solutions\n\nConfirm a valid length Message body is being passed in the request. Additionally, consider intercepting messages with [Event Webhooks](/docs/chat/webhook-events#webhook-bodies-pre-event) to validate or reject messages.\n",
    "causes": "Message body parameter is too long. Visit the [Chat Limits](/docs/chat/chat-limits) documentation to learn more about the maximum message length.",
    "solutions": "Confirm a valid length Message body is being passed in the request. Additionally, consider intercepting messages with [Event Webhooks](/docs/chat/webhook-events#webhook-bodies-pre-event) to validate or reject messages.",
    "description": "",
    "date_created": "2017-11-06T12:23:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50505,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Last Updated By parameter is too long",
    "secondary_message": "Last Updated By parameter is too long",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Last Updated By parameter is too long.\n\n### Possible solutions\n\n- Confirm a valid length Last Updated By is being passed in request.\n",
    "causes": "* Last Updated By parameter is too long.",
    "solutions": "* Confirm a valid length Last Updated By is being passed in request.",
    "description": "",
    "date_created": "2017-11-06T12:25:24Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50506,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Media SID not provided",
    "secondary_message": "Request does not contain required Media SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Media SID parameter.\n\n### Possible solutions\n\n- Confirm a valid Media SID is being passed in request.\n",
    "causes": "* Request does not contain required Media SID parameter.",
    "solutions": "* Confirm a valid Media SID is being passed in request.",
    "description": "",
    "date_created": "2017-11-06T12:27:32Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50507,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Media not found",
    "secondary_message": "Media with specified SID does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Media with specified SID does not exist.\n\n### Possible solutions\n\n- Confirm a valid Media SID is being passed in request.\n",
    "causes": "* Media with specified SID does not exist.",
    "solutions": "* Confirm a valid Media SID is being passed in request.",
    "description": "",
    "date_created": "2017-11-06T12:37:07Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50508,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Media already sent with another message",
    "secondary_message": "Media with specified SID is already sent with another Chat message",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Media with specified SID is already sent with another Chat message.\n\n### Possible solutions\n\n- Confirm a valid Media SID is being passed in request.\n",
    "causes": "* Media with specified SID is already sent with another Chat message.",
    "solutions": "* Confirm a valid Media SID is being passed in request.",
    "description": "",
    "date_created": "2017-11-06T12:39:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50509,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Media message body cannot be updated",
    "secondary_message": "Media message body cannot be updated",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Media message body cannot be updated.\n",
    "causes": "* Media message body cannot be updated.",
    "solutions": null,
    "description": "",
    "date_created": "2017-11-06T12:43:01Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50510,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid message media SID",
    "secondary_message": "An invalid multimedia attachment SID was supplied for this message.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid multimedia attachment SID was supplied for this message.\n\n### Possible causes\n\n- MediaSid parameter provided with the request does not match a valid media SID pattern (MExx).\n\n### Possible solutions\n\n- Add a valid MediaSid parameter to the API request and supply a media SID that is uploaded under your service instance.\n",
    "causes": "* MediaSid parameter provided with the request does not match a valid media SID pattern (MExx).",
    "solutions": "* Add a valid MediaSid parameter to the API request and supply a media SID that is uploaded under your service instance.",
    "description": "An invalid multimedia attachment SID was supplied for this message.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50511,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid message media content type",
    "secondary_message": "An invalid multimedia attachment content type was supplied.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAn invalid multimedia attachment content type was supplied.\n\n### Possible causes\n\n- The MIME content type of multimedia attachment you are trying to send is not acceptable for this conversation.\n\n### Possible solutions\n\n- Make sure that the content type of multimedia attachments conform to channel constraints. Check for accepted MIME types in [API documentation](/docs/conversations/conversations-limits#media-limits).\n",
    "causes": "* The MIME content type of multimedia attachment you are trying to send is not acceptable for this conversation.",
    "solutions": "* Make sure that the content type of multimedia attachments conform to channel constraints. Check for accepted MIME types in [API documentation](/docs/conversations/conversations-limits#media-limits).",
    "description": "An invalid multimedia attachment content type was supplied.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50512,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Message media size is too large",
    "secondary_message": "The requested multimedia attachment size exceeds the allowed limit.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nThe requested multimedia attachment size exceeds the allowed limit.\n\n### Possible causes\n\n- The size of multimedia attachment you are trying to send is not acceptable for this conversation.\n\n### Possible solutions\n\n- Make sure that the size of multimedia attachments co form to channel limitations. Check for media size constraints in [API documentation](/docs/conversations/conversations-limits#media-limits).\n",
    "causes": "* The size of multimedia attachment you are trying to send is not acceptable for this conversation.",
    "solutions": "* Make sure that the size of multimedia attachments co form to channel limitations. Check for media size constraints in [API documentation](/docs/conversations/conversations-limits#media-limits).",
    "description": "The requested multimedia attachment size exceeds the allowed limit.",
    "date_created": "2019-09-24T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50513,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": " Message author should be among Group MMS participants.",
    "secondary_message": "Author identity or address not found among Group MMS participants",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAuthor identity or address not found among Group MMS participants.\n\n### Possible causes\n\n- Provided author Address is not among Group MMS participants.\n- Provided author Identity is not among Group MMS participants.\n\n### Possible solutions\n\n- Check that the Author is participant of Group MMS conversation.\n",
    "causes": "* Provided author Address is not among Group MMS participants.\n* Provided author Identity is not among Group MMS participants.",
    "solutions": "* Check that the Author is participant of Group MMS conversation.",
    "description": "Author identity or address not found among Group MMS participants.",
    "date_created": "2021-08-16T12:05:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50514,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conflicting message modification",
    "secondary_message": "The requested message is already being modified by a concurrent API request.",
    "product": null,
    "docs": "\n## Description\n\nThe requested message is already being modified in this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.\n\n### Possible causes\n\n- You might be submitting multiple concurrent requests to modify a message or its attributes with the same SID in the service instance.\n\n### Possible solutions\n\n- Implement an operation retrier and repeat the failed API requests after an interval of time, using an exponential backoff algorithm.\n- Review your application logic that caused the race condition when modifying a message. Perhaps the conflicting operations are happening in a loop that could be avoided.\n- Serialize your API requests that modify conversation messages. Wait until the original request completes and returns an API response, before sending any successive conversation requests.\n",
    "causes": "* You might be submitting multiple concurrent requests to modify a message or its attributes with the same SID in the service instance.",
    "solutions": "* Implement an operation retrier and repeat the failed API requests after an interval of time, using an exponential backoff algorithm.\n* Review your application logic that caused the race condition when modifying a message. Perhaps the conflicting operations are happening in a loop that could be avoided.\n* Serialize your API requests that modify conversation messages. Wait until the original request completes and returns an API response, before sending any successive conversation requests.",
    "description": "The requested message is already being modified in this service instance concurrently with another API request. The last request will be rejected to avoid inconsistent state.",
    "date_created": "2024-01-10T22:42:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50516,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Programmable Chat: Message index is not a number",
    "secondary_message": "Programmable Chat: Message index is not a number",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nNot a number string was provided as message index.\n\n### Possible causes\n\n- Some text or message sid was provided as message index\n\n### Possible solutions\n\n- Proper message index should be provided.\n",
    "causes": "* Some text or message sid was provided as message index",
    "solutions": "* Proper message index should be provided.",
    "description": "Not a number string was provided as message index.",
    "date_created": "2020-11-23T14:44:22Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50526,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid content SID",
    "secondary_message": "Specified Content SID does not match pattern HX\\[0-9a-f]\\{32}",
    "product": null,
    "docs": "\n## Description\n\nAn invalid value was specified for the message content sid\n\n### Possible causes\n\nContent SID does not match the pattern HX\\[0-9a-f]\\{32}\n\n### Possible solutions\n\nProper message Content SID value should be provided.\n",
    "causes": "Content SID does not match the pattern HX\\[0-9a-f]{32}",
    "solutions": "Proper message Content SID value should be provided.",
    "description": "An invalid value was specified for the message content sid",
    "date_created": "2022-11-23T13:34:12Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50527,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid content variables format",
    "secondary_message": "Specified content variables value is invalid JSON object",
    "product": null,
    "docs": "\n## Description\n\nAn invalid value was specified for the message content variables\n\n### Possible causes\n\nContent variables value is invalid JSON object\n\n### Possible solutions\n\nMessage content variables value should be a valid JSON object.\n",
    "causes": "Content variables value is invalid JSON object",
    "solutions": "Message content variables value should be a valid JSON object.",
    "description": "An invalid value was specified for the message content variables",
    "date_created": "2022-11-23T13:35:06Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50528,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Content SID is missing",
    "secondary_message": "Message content variables are defined without a proper content sid",
    "product": null,
    "docs": "\n## Description\n\nMessage content variables are defined without a proper content sid\n\n### Possible causes\n\nContent variables are present but there is no content sid defined\n\n### Possible solutions\n\nMessage content sid should be present along with content variables\n",
    "causes": "Content variables are present but there is no content sid defined",
    "solutions": "Message content sid should be present along with content variables",
    "description": "Message content variables are defined without a proper content sid",
    "date_created": "2022-11-23T13:35:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50529,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Content variables are too long",
    "secondary_message": "Message content variables are exceeding allowed total length of 27,801 characters",
    "product": null,
    "docs": "\n## Description\n\nAllowed total length for message content variables is sum of key, value and JSON-specific characters' lengths.\n\n### Possible causes\n\nEither too many variables are defined (max 100 in total), or too long keys (max 16 characters per variable), or too long values (max 256 characters per variable).\n\n### Possible solutions\n\nFollow the length limitations:\n\n- variables: 100 in total;\n- key: 16 characters per variable;\n- value: 256 characters per variable.\n",
    "causes": "Either too many variables are defined (max 100 in total), or too long keys (max 16 characters per variable), or too long values (max 256 characters per variable).",
    "solutions": "Follow the length limitations: - variables: 100 in total;\n- key: 16 characters per variable;\n- value: 256 characters per variable.",
    "description": "Allowed total length for message content variables is sum of key, value and JSON-specific characters' lengths.",
    "date_created": "2023-03-10T14:23:30Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50530,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Channel Metadata not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nChannel Metadata was not found for the Message\n\n### Possible causes\n\n- Channel Metadata was not found for this message\n- Channel Metadata is only relevant for select channel types\n\n### Possible solutions\n\n- Confirm the channel type provides Channel Metadata.\n",
    "causes": "* Channel Metadata was not found for this message\n* Channel Metadata is only relevant for select channel types",
    "solutions": "* Confirm the channel type provides Channel Metadata.",
    "description": "Channel Metadata was not found for the Message",
    "date_created": "2024-02-27T16:19:36Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50531,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Authorized to make this request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nUser is not authorized to access the requested resource\n\n### Possible causes\n\nUser making the request does not have the appropriate permission: readChannelMetadata\n\n### Possible solutions\n\nAdd readChannelMetadata permissions to the requesting user's role\n",
    "causes": "User making the request does not have the appropriate permission: readChannelMetadata",
    "solutions": "Add readChannelMetadata permissions to the requesting user's role",
    "description": "User is not authorized to access the requested resource",
    "date_created": "2024-02-27T16:20:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50532,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to create Channel Metadata",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nUnable to create Channel Metadata for the Message\n\n### Possible causes\n\n- Channel Metadata was in an invalid format\n- Channel Metadata required keys were missing\n- A persistence error occured\n\n### Possible solutions\n\n- Validate Channel Metadata was in the correct format\n- Retry Channel Metadata creation\n",
    "causes": "* Channel Metadata was in an invalid format\n* Channel Metadata required keys were missing\n* A persistence error occured",
    "solutions": "* Validate Channel Metadata was in the correct format\n* Retry Channel Metadata creation",
    "description": "Unable to create Channel Metadata for the Message",
    "date_created": "2024-02-27T16:21:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50533,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to parse ChannelMetadata Json",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Channel Metadata Content was not in the correct format.\n\n### Possible causes\n\n- Channel Metadata Json was expected.\n- Channel Metadata required keys were missing\n\n### Possible solutions\n\n- Fix Channel Metadata payload and retry\n",
    "causes": "* Channel Metadata Json was expected.\n* Channel Metadata required keys were missing",
    "solutions": "* Fix Channel Metadata payload and retry",
    "description": "The Channel Metadata Content was not in the correct format.",
    "date_created": "2024-02-27T16:24:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50534,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to Read ChannelMetadata",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nUnable to read Channel Metadata for Message\n\n### Possible causes\n\n- Channel Metadata was in an invalid format\n- Channel Metadata required keys were missing\n- Error querying for Channel Metadata\n- Confirm the channel type provides Channel Metadata\n\n### Possible solutions\n\n- Retry Channel Metadata query\n",
    "causes": "* Channel Metadata was in an invalid format\n* Channel Metadata required keys were missing\n* Error querying for Channel Metadata\n* Confirm the channel type provides Channel Metadata",
    "solutions": "* Retry Channel Metadata query",
    "description": "Unable to read Channel Metadata for Message",
    "date_created": "2024-02-27T16:25:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50540,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Content variable key is too long",
    "secondary_message": "Key in key-value pair of message content variables is exceeding allowed maximum length of 16 characters",
    "product": null,
    "docs": "\n## Description\n\nLength of key in message content variables is restricted to 16 characters.\n\n### Possible causes\n\nOne or many keys in key-value pairs of message content variables are hitting limit of allowed 16 characters.\n\n### Possible solutions\n\nReduce the length of key characters to maximum 16 in message content variables.\n",
    "causes": "One or many keys in key-value pairs of message content variables are hitting limit of allowed 16 characters.",
    "solutions": "Reduce the length of key characters to maximum 16 in message content variables.",
    "description": "Length of key in message content variables is restricted to 16 characters.",
    "date_created": "2023-03-10T14:35:10Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50541,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Content variable value is too long",
    "secondary_message": "Value in key-value pair of message content variables is exceeding allowed maximum length of 256 characters",
    "product": null,
    "docs": "\n## Description\n\nLength of value in message content variables is restricted to 256 characters.\n\n### Possible causes\n\nOne or many values in key-value pairs of message content variables are hitting limit of allowed 256 characters.\n\n### Possible solutions\n\nReduce the length of value characters to maximum 256 in message content variables.\n",
    "causes": "One or many values in key-value pairs of message content variables are hitting limit of allowed 256 characters.",
    "solutions": "Reduce the length of value characters to maximum 256 in message content variables.",
    "description": "Length of value in message content variables is restricted to 256 characters.",
    "date_created": "2023-03-10T14:39:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50542,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Unsupported Content Template Type",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nUnsupported Content Template Type.\n\n### Possible causes\n\nYou attempted to send a message using a content template type that is not yet supported in Conversations API.\n\n### Possible solutions\n\nDo not use the given Content Template when sending messages using Conversations API.\n",
    "causes": "You attempted to send a message using a content template type that is not yet supported in Conversations API.",
    "solutions": "Do not use the given Content Template when sending messages using Conversations API.",
    "description": "Unsupported Content Template Type.",
    "date_created": "2024-10-04T11:26:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50600,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invite SID not provided",
    "secondary_message": "Request does not contain required Invite SID parameter.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Request does not contain required Invite SID parameter.\n\n### Possible solutions\n\n- Confirm a valid Invite SID is being passed in request.\n",
    "causes": "* Request does not contain required Invite SID parameter.",
    "solutions": "* Confirm a valid Invite SID is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:54Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50601,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Programmable Chat: Invite not found",
    "secondary_message": "Specified Invite does not exist.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Invite does not exist.\n\n### Possible solutions\n\n- Confirm a valid Invite is being passed in request.\n",
    "causes": "* Specified Invite does not exist.",
    "solutions": "* Confirm a valid Invite is being passed in request.",
    "description": "",
    "date_created": "2016-03-31T17:14:54Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50602,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Programmable Chat: Cannot decline invite when already channel member.",
    "secondary_message": "Specified user is already member of this channel so his invitation is not present.",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nSpecified user is already member of this channel so his invitation is not present.\n\n### Possible causes\n\nUser was added directly to the channel and his invite was removed so he can't decline it.\n\n### Possible solutions\n\nUser shouldn't decline invite if he was already added to channel.\n",
    "causes": "User was added directly to the channel and his invite was removed so he can't decline it.",
    "solutions": "User shouldn't decline invite if he was already added to channel.",
    "description": "Specified user is already member of this channel so his invitation is not present.",
    "date_created": "2019-11-21T11:27:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50610,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Address configuration deleted",
    "secondary_message": "Address configuration was deleted which affects auto-create functionality",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAddress configuration was deleted which affects auto-create functionality\n\n### Possible causes\n\nThe Twilio phone number associated with the address configuration was either released or ported out\n\n### Possible solutions\n",
    "causes": "The Twilio phone number associated with the address configuration was either released or ported out",
    "solutions": "",
    "description": "Address configuration was deleted which affects auto-create functionality",
    "date_created": "2022-02-22T14:49:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50611,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Address data cleaned up",
    "secondary_message": "Address data has been cleaned up which enables usage of the address in other accounts",
    "product": "Programmable Chat",
    "docs": "\n## Description\n\nAddress data has been cleaned up which enables usage of the address in other accounts\n\n### Possible causes\n\nThe Twilio phone number was either released or ported out\n\n### Possible solutions\n",
    "causes": "The Twilio phone number was either released or ported out",
    "solutions": "",
    "description": "Address data has been cleaned up which enables usage of the address in other accounts",
    "date_created": "2025-04-10T23:00:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50700,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Virtual Agent provider is invalid.",
    "secondary_message": "Provided Virtual Agent provider doesn't match the list of available providers for conversations.",
    "product": null,
    "docs": "\n## Description\n\nProvided Virtual Agent provider doesn't match the list of available providers for conversations.\n\n### Possible causes\n\nProvided Virtual Agent provider doesn't match the list of available providers for conversations or has different case\n\n### Possible solutions\n\n- Check list of available Virtual Agent providers in Conversations documentation. Please note that values are case sensitive.\n",
    "causes": "Provided Virtual Agent provider doesn't match the list of available providers for conversations or has different case",
    "solutions": "* Check list of available Virtual Agent providers in Conversations documentation. Please note that values are case sensitive.",
    "description": "Provided Virtual Agent provider doesn't match the list of available providers for conversations.",
    "date_created": "2023-10-11T17:57:35Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50701,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Only one Virtual Agent participant is allowed per conversation.",
    "secondary_message": "Only one Virtual Agent participant is allowed per conversation.",
    "product": null,
    "docs": "\n## Description\n\nOnly one Virtual Agent participant is allowed per conversation.\n\n### Possible causes\n\nThere is already a Virtual Agent participant in the conversation.\n\n### Possible solutions\n\n- Remove existing Virtual Agent participant from the conversation before adding new one.\n",
    "causes": "There is already a Virtual Agent participant in the conversation.",
    "solutions": "* Remove existing Virtual Agent participant from the conversation before adding new one.",
    "description": "Only one Virtual Agent participant is allowed per conversation.",
    "date_created": "2023-10-11T17:58:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50702,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Verify Agent participant should not have identity, user address, proxy address, projected address.",
    "secondary_message": "Verify Agent participant should not have identity, user address, proxy address, projected address.",
    "product": null,
    "docs": "\n## Description\n\nVerify Agent participant should not have identity, user address, proxy address, projected address.\n\n### Possible causes\n\nVirtual Agent participant should have only ChatbotConfiguration prefixed fields. Other fields are not available for Virtual Agent participants.\n\n### Possible solutions\n\n- Check your request and remove identity, user address, proxy address, projected address from it.\n",
    "causes": "Virtual Agent participant should have only ChatbotConfiguration prefixed fields. Other fields are not available for Virtual Agent participants.",
    "solutions": "* Check your request and remove identity, user address, proxy address, projected address from it.",
    "description": "Verify Agent participant should not have identity, user address, proxy address, projected address.",
    "date_created": "2023-10-11T17:59:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50703,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "DialogflowCX provider must contain module sid and addon sid.",
    "secondary_message": "DialogflowCX provider must contain module sid and addon sid.",
    "product": null,
    "docs": "\n## Description\n\nDialogflowCX provider must contain module sid and addon sid.\n\n### Possible causes\n\nEither ChatbotConfiguration.ModuleSid or ChatbotConfiguration.ModuleSid are not specified for DialogflowCX Virtual Agent participant.\n\n### Possible solutions\n\n- If you try to create DialogflowCX provider, you must specify ChatbotConfiguration.ModuleSid and ChatbotConfiguration.ModuleSid.\n",
    "causes": "Either ChatbotConfiguration.ModuleSid or ChatbotConfiguration.ModuleSid are not specified for DialogflowCX Virtual Agent participant.",
    "solutions": "* If you try to create DialogflowCX provider, you must specify ChatbotConfiguration.ModuleSid and ChatbotConfiguration.ModuleSid.",
    "description": "DialogflowCX provider must contain module sid and addon sid.",
    "date_created": "2023-10-11T18:00:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50704,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Provided addon sid should have prefix XB.",
    "secondary_message": "Provided addon sid should have prefix XB.",
    "product": null,
    "docs": "\n## Description\n\nProvided addon sid should have prefix XB.\n\n### Possible causes\n\nYou are trying to specify different field value for ChatbotConfiguration.AddonSid.\n\n### Possible solutions\n\n- Double check and fix value for ChatbotConfiguration.AddonSid. It should start with XB prefix.\n",
    "causes": "You are trying to specify different field value for ChatbotConfiguration.AddonSid.",
    "solutions": "* Double check and fix value for ChatbotConfiguration.AddonSid. It should start with XB prefix.",
    "description": "Provided addon sid should have prefix XB.",
    "date_created": "2023-10-11T18:01:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50705,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Provided module sid should have prefix XE.",
    "secondary_message": "Provided module sid should have prefix XE.",
    "product": null,
    "docs": "\n## Description\n\nProvided module sid should have prefix XE.\n\n### Possible causes\n\nYou are trying to specify a different field value for ChatbotConfiguration.ModuleSid.\n\n### Possible solutions\n\n- Double check and fix value for ChatbotConfiguration.ModuleSid. It should start with XE prefix.\n",
    "causes": "You are trying to specify a different field value for ChatbotConfiguration.ModuleSid.",
    "solutions": "* Double check and fix value for ChatbotConfiguration.ModuleSid. It should start with XE prefix.",
    "description": "Provided module sid should have prefix XE.",
    "date_created": "2023-10-11T18:02:28Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50706,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Updating Virtual Agent participant information is not allowed.",
    "secondary_message": "Updating Virtual Agent participant information is not allowed.",
    "product": null,
    "docs": "\n## Description\n\nUpdating Virtual Agent participant information is not allowed.\n\n### Possible causes\n\nYou are trying to edit Virtual Agent participant information.\n\n### Possible solutions\n\n- If you want to change any fields of Virtual Agent participant you should delete it and create new one.\n",
    "causes": "You are trying to edit Virtual Agent participant information.",
    "solutions": "* If you want to change any fields of Virtual Agent participant you should delete it and create new one.",
    "description": "Updating Virtual Agent participant information is not allowed.",
    "date_created": "2023-10-11T18:03:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50707,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Virtual Agent participant creation is not available for your account.",
    "secondary_message": "Virtual Agent participant creation is not available for your account.",
    "product": null,
    "docs": "\n## Description\n\nVirtual Agent participant creation is not available for your account.\n\n### Possible causes\n\nYou are trying to create virtual agent participant for account that is not allowed to use it.\n\n### Possible solutions\n\n- Please contact Twilio support to enable Virtual Agent participant creation for your account.\n",
    "causes": "You are trying to create virtual agent participant for account that is not allowed to use it.",
    "solutions": "* Please contact Twilio support to enable Virtual Agent participant creation for your account.",
    "description": "Virtual Agent participant creation is not available for your account.",
    "date_created": "2023-10-11T18:05:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50708,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "ChatbotConfiguration.FriendlyName is required parameter.",
    "secondary_message": "ChatbotConfiguration.FriendlyName is required parameter.",
    "product": null,
    "docs": "\n## Description\n\nChatbotConfiguration.FriendlyName is required parameter.\n\n### Possible causes\n\nYou are trying to create Virtual Agent participant without ChatbotConfiguration.FriendlyName parameter.\n\n### Possible solutions\n\n- Specify ChatbotConfiguration.FriendlyName parameter.\n",
    "causes": "You are trying to create Virtual Agent participant without ChatbotConfiguration.FriendlyName parameter.",
    "solutions": "* Specify ChatbotConfiguration.FriendlyName parameter.",
    "description": "ChatbotConfiguration.FriendlyName is required parameter.",
    "date_created": "2023-10-11T18:05:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50709,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "ChatbotConfiguration.FriendlyName is invalid.",
    "secondary_message": "ChatbotConfiguration.FriendlyName is invalid.",
    "product": null,
    "docs": "\n## Description\n\nChatbotConfiguration.FriendlyName is invalid.\n\n### Possible causes\n\nYou are trying to create Virtual Agent participant with ChatbotConfiguration.FriendlyName which is longer than 256 characters.\n\n### Possible solutions\n\n- Update ChatbotConfiguration.FriendlyName parameter according to provided validation rules.\n",
    "causes": "You are trying to create Virtual Agent participant with ChatbotConfiguration.FriendlyName which is longer than 256 characters.",
    "solutions": "* Update ChatbotConfiguration.FriendlyName parameter according to provided validation rules.",
    "description": "ChatbotConfiguration.FriendlyName is invalid.",
    "date_created": "2023-10-11T18:06:37Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50710,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "ChatbotConfiguration.InitialContext is invalid.",
    "secondary_message": "ChatbotConfiguration.InitialContext is invalid.",
    "product": null,
    "docs": "\n## Description\n\nChatbotConfiguration.InitialContext is invalid.\n\n### Possible causes\n\nYou are trying to create Virtual Agent participant with ChatbotConfiguration.InitialContext which is longer than 32768 characters.\n\n### Possible solutions\n\n- Update ChatbotConfiguration.InitialContext parameter according to provided validation rules.\n",
    "causes": "You are trying to create Virtual Agent participant with ChatbotConfiguration.InitialContext which is longer than 32768 characters.",
    "solutions": "* Update ChatbotConfiguration.InitialContext parameter according to provided validation rules.",
    "description": "ChatbotConfiguration.InitialContext is invalid.",
    "date_created": "2023-10-11T18:07:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50711,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "ChatbotConfiguration.FriendlyName is reserved.",
    "secondary_message": "ChatbotConfiguration.FriendlyName is reserved.",
    "product": null,
    "docs": "\n## Description\n\nChatbotConfiguration.FriendlyName is reserved.\n\n### Possible causes\n\nYou are trying to create Virtual Agent participant with ChatbotConfiguration.FriendlyName as \"system\".\n\n### Possible solutions\n\n- \"system\" is a reserved name for Virtual Agent participant. Please use another name.\n",
    "causes": "You are trying to create Virtual Agent participant with ChatbotConfiguration.FriendlyName as \"system\".",
    "solutions": "* \"system\" is a reserved name for Virtual Agent participant. Please use another name.",
    "description": "ChatbotConfiguration.FriendlyName is reserved.",
    "date_created": "2023-10-11T18:08:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50720,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "RCS proxy address must start with `rcs:` prefix.",
    "secondary_message": "RCS proxy address must start with `rcs:` prefix.",
    "product": null,
    "docs": "\n## Description\n\nRCS proxy address must start with `rcs:` prefix.\n\n### Possible causes\n\nRCS Proxy Address is either not prefixed with `rcs:` token or is empty.\n\n### Possible solutions\n\nPrefix the RCS proxy address with `rcs:` token.\n",
    "causes": "RCS Proxy Address is either not prefixed with `rcs:` token or is empty.",
    "solutions": "Prefix the RCS proxy address with `rcs:` token.",
    "description": "RCS proxy address must start with `rcs:` prefix.",
    "date_created": "2024-10-10T21:04:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50721,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "RCS capability check failed and no fallback proxy address provided.",
    "secondary_message": "RCS capability check failed and no fallback proxy address provided.",
    "product": null,
    "docs": "\n## Description\n\nRCS capability check failed and no fallback proxy address provided.\n\n### Possible causes\n\nThe proxy address provided is not RCS-capable and fallback proxy address has not been provided. Usually, a fallback proxy address would be an SMS phone number.\n\n### Possible solutions\n\nProvide a fallback proxy address and/or make sure the receiving device is RCS-capable and within an RCS-supported region.\n",
    "causes": "The proxy address provided is not RCS-capable and fallback proxy address has not been provided. Usually, a fallback proxy address would be an SMS phone number.",
    "solutions": "Provide a fallback proxy address and/or make sure the receiving device is RCS-capable and within an RCS-supported region.",
    "description": "RCS capability check failed and no fallback proxy address provided.",
    "date_created": "2024-10-10T21:08:39Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50731,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Conversation Export failed",
    "secondary_message": "Conversation Export failed",
    "product": null,
    "docs": "\n## Description\n\nConversations: Conversation Export failed\n\n### Possible causes\n\n- Conversation has no messages.\n- Conversation was deleted during the export.\n- Internal error happened while fetching messages for snapshot.\n\n### Possible solutions\n\n- Make sure that conversation is not empty.\n- Make sure that conversation exists.\n- Retry transcript generation.\n",
    "causes": "* Conversation has no messages.\n* Conversation was deleted during the export.\n* Internal error happened while fetching messages for snapshot.",
    "solutions": "* Make sure that conversation is not empty.\n* Make sure that conversation exists.\n* Retry transcript generation.",
    "description": "Conversations: Conversation Export failed",
    "date_created": "2025-04-16T16:09:28Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50732,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Transcript creation failed",
    "secondary_message": "Transcript creation failed",
    "product": null,
    "docs": "\n## Description\n\nConversations: Transcript creation failed\n\n### Possible causes\n\n- Intelligence service does not exist.\n- Internal error happened when request to generate a transcript was created.\n\n### Possible solutions\n\n- Make sure that intelligence service exists.\n- Retry transcript generation.\n",
    "causes": "* Intelligence service does not exist.\n* Internal error happened when request to generate a transcript was created.",
    "solutions": "* Make sure that intelligence service exists.\n* Retry transcript generation.",
    "description": "Conversations: Transcript creation failed",
    "date_created": "2025-04-16T16:10:47Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50750,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "CCAI error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAn error occurred while calling ccai\n\n### Possible causes\n\nAdd something here\n\n### Possible solutions\n\nAnd here\n",
    "causes": "Add something here",
    "solutions": "And here",
    "description": "An error occurred while calling ccai",
    "date_created": "2023-10-02T17:02:16Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50751,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Chatbot misconfiguration",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA configuration issue prevented processing of a message with the chatbot\n\n### Possible causes\n\n- Chatbot configuration is incorrect on the conversation\n- Marketplace addon is not set up or doesn't not match chatbot config\n\n### Possible solutions\n\nCheck configuration in conversation and marketplace\n",
    "causes": "* Chatbot configuration is incorrect on the conversation\n* Marketplace addon is not set up or doesn't not match chatbot config",
    "solutions": "Check configuration in conversation and marketplace",
    "description": "A configuration issue prevented processing of a message with the chatbot",
    "date_created": "2023-10-03T16:45:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50752,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Error looking up Dialogflow agent",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAn error occurred while trying to get Dialogflow agent\n\n### Possible causes\n\n- Marketplace addon is misconfigured\n- Issue with authentication to Dialogflow\n\n### Possible solutions\n\nReview addon configuration\n",
    "causes": "* Marketplace addon is misconfigured\n* Issue with authentication to Dialogflow",
    "solutions": "Review addon configuration",
    "description": "An error occurred while trying to get Dialogflow agent",
    "date_created": "2023-10-06T21:48:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50753,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Error sending Dialogflow message to chat",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nError sending Dialogflow message to chat\n\n### Possible causes\n\nc\n\n### Possible solutions\n\ns\n",
    "causes": "c",
    "solutions": "s",
    "description": "Error sending Dialogflow message to chat",
    "date_created": "2023-10-06T22:04:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 50756,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Permission error calling dialogflowcx",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA permission issue occurred while calling dialogflow\n\n### Possible causes\n\nA service account is not set up for twilio to use dialogflow\n\n### Possible solutions\n\nVerify that a twilio service account is setup. `<Add a link in here>`\n",
    "causes": "A service account is not set up for twilio to use dialogflow",
    "solutions": "Verify that a twilio service account is setup. `<Add a link in here>`",
    "description": "A permission issue occurred while calling dialogflow",
    "date_created": "2024-01-27T00:23:34Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client Connection: Connections resource limit exceeded",
    "secondary_message": "error",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe rate of client connection requests or the number of concurrent connections exceeded the limit.\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your Account's limits.\n",
    "causes": "The rate of client connection requests or the number of concurrent connections exceeded the limit.",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your Account's limits.",
    "description": "",
    "date_created": "2016-03-31T17:14:54Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client Connection: Request rate limit exceeded",
    "secondary_message": "error",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe rate of client requests exceeded the limit.\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your Account's client request limit.\n",
    "causes": "The rate of client requests exceeded the limit.",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your Account's client request limit.",
    "description": "",
    "date_created": "2016-03-31T17:14:54Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client Connection: identity too long",
    "secondary_message": "error",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n`identity` field in the Access Token is too long.\n\n### Possible solutions\n\nConsult the product documentation for maximum allowed length of `identity` field.\n",
    "causes": "`identity` field in the Access Token is too long.",
    "solutions": "Consult the product documentation for maximum allowed length of `identity` field.",
    "description": "",
    "date_created": "2016-03-31T17:14:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client Connection: endpoint_id too long",
    "secondary_message": "error",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n`endpoint_id` field in the Access Token is too long.\n\n### Possible solutions\n\nConsult the product documentation for maximum allowed length of `endpoint_id` field.\n",
    "causes": "`endpoint_id` field in the Access Token is too long.",
    "solutions": "Consult the product documentation for maximum allowed length of `endpoint_id` field.",
    "description": "",
    "date_created": "2016-03-31T17:14:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51005,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client Connection: Command or keepalive acknowledgement not received",
    "secondary_message": "warning",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe client did not acknowledge a message or a keep-alive request, which is required by the connection protocol therefore the connection has been dropped. This is most often caused by network connectivity issues.\n\n### Possible solutions\n\nTwilio SDKs automatically recover and reestablish the connection if possible. For best user experience, ensure reliable network connectivity.\n",
    "causes": "The client did not acknowledge a message or a keep-alive request, which is required by the connection protocol therefore the connection has been dropped. This is most often caused by network connectivity issues.",
    "solutions": "Twilio SDKs automatically recover and reestablish the connection if possible. For best user experience, ensure reliable network connectivity.",
    "description": "",
    "date_created": "2016-03-31T17:14:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51006,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client Connection: Connection expired",
    "secondary_message": "warning",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe connection has expired. The connection expiration is set by the `exp` field of the Access Token.\n\n### Possible solutions\n\nMake sure clients refresh Access Tokens before they expire. Please, refer to the Twilio SDK documentation for further details.\n",
    "causes": "The connection has expired. The connection expiration is set by the `exp` field of the Access Token.",
    "solutions": "Make sure clients refresh Access Tokens before they expire. Please, refer to the Twilio SDK documentation for further details.",
    "description": "",
    "date_created": "2016-03-31T17:14:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Client Connection: Token authentication is rejected",
    "secondary_message": "error",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nAuthentication service has rejected provided Access Token.\n\nTo check whether the Access Token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io/).\n\nFor the details of Twilio's specific Access Token implementation including the grant format, see [the documentation](/docs/iam/access-tokens).\n\n### Possible solutions\n\nFor further assistance, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "Authentication service has rejected provided Access Token. To check whether the Access Token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io/). For the details of Twilio's specific Access Token implementation including the grant format, see [the documentation](/docs/iam/access-tokens).",
    "solutions": "For further assistance, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "",
    "date_created": "2016-04-28T12:08:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Service instance not found",
    "secondary_message": "Service instance specified in the request does not exist.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nService instance specified in the request does not exist.\n\n### Possible solutions\n\nConfirm a valid service instance is being passed in the request.\n",
    "causes": "Service instance specified in the request does not exist.",
    "solutions": "Confirm a valid service instance is being passed in the request.",
    "description": "",
    "date_created": "2019-03-27T11:22:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51102,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Service instance SID not specified",
    "secondary_message": "Service instance SID is not specified and couln't be generated.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nNo service instance SID specified and couldn't be generated.\n\n### Possible solutions\n\nConfirm a service instance SID is being passed in the request.\n",
    "causes": "No service instance SID specified and couldn't be generated.",
    "solutions": "Confirm a service instance SID is being passed in the request.",
    "description": "",
    "date_created": "2019-03-27T11:39:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51103,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Token doesn't contain required grants section",
    "secondary_message": "No grants section is specified in the token and grants section is required.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nNo grants section is specified in the token and grants section is required.\n\n### Possible solutions\n\nConfirm grants section exists and valid in the token. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "No grants section is specified in the token and grants section is required.",
    "solutions": "Confirm grants section exists and valid in the token. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T11:50:31Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51104,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Token doesn't contain service instance",
    "secondary_message": "The token doesn't have a service instance.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe token doesn't have a service instance.\n\n### Possible solutions\n\nConfirm a service instance is being passed in the token. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "The token doesn't have a service instance.",
    "solutions": "Confirm a service instance is being passed in the token. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T11:54:21Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51105,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Token doesn't contain identity",
    "secondary_message": "The token doesn't have an identity specified.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe token doesn't have an identity specified.\n\n### Possible solutions\n\nConfirm that there is an identity field in the token. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "The token doesn't have an identity specified.",
    "solutions": "Confirm that there is an identity field in the token. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T11:57:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Active product doesn't match with service instance product",
    "secondary_message": "Passed service instance belongs to another product.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nPassed service instance belongs to another product.\n\n### Possible solutions\n\nVerify matching product and service instance is selected.\n",
    "causes": "Passed service instance belongs to another product.",
    "solutions": "Verify matching product and service instance is selected.",
    "description": "",
    "date_created": "2019-03-27T12:09:36Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51107,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Service can't be used",
    "secondary_message": "Service can't be used",
    "product": null,
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2019-03-27T12:10:58Z",
    "last_updated": "2020-08-04T10:00:09.807Z"
  },
  {
    "code": 51108,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Service instance disabled",
    "secondary_message": "Service instance is disabled.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nService instance is disabled.\n\n### Possible solutions\n\nPlease use a different service instance.\n",
    "causes": "Service instance is disabled.",
    "solutions": "Please use a different service instance.",
    "description": "",
    "date_created": "2019-03-27T12:12:36Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51109,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Service instance is under legal hold",
    "secondary_message": "Specified service instance is under legal hold.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nSpecified service instance is under legal hold.\n\n### Possible solutions\n\nPlease use a different service instance.\n",
    "causes": "Specified service instance is under legal hold.",
    "solutions": "Please use a different service instance.",
    "description": "",
    "date_created": "2019-03-27T12:13:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51110,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Token contains multiple grants of same product",
    "secondary_message": "Duplication of grants for the same product.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nDuplication of grants for the same product.\n\n### Possible solutions\n\nRemove duplications of products from grants section in the token.\n\nTo verify the token being passed, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "Duplication of grants for the same product.",
    "solutions": "Remove duplications of products from grants section in the token. To verify the token being passed, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T12:14:32Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51111,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Service instance limit reached",
    "secondary_message": "Service instance limit has been reached for the specified account.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nService instance limit has been reached for the specified account.\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's service Instance limits.\n",
    "causes": "Service instance limit has been reached for the specified account.",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's service Instance limits.",
    "description": "",
    "date_created": "2019-03-27T12:46:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51112,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Product usage disabled",
    "secondary_message": "Product usage has been disabled for this instance.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nProduct usage has been disabled for this instance.\n\n### Possible solutions\n\nIf you are sure the service instance and product are correct, please contact with Customer Support.\n",
    "causes": "Product usage has been disabled for this instance.",
    "solutions": "If you are sure the service instance and product are correct, please contact with Customer Support.",
    "description": "",
    "date_created": "2019-03-27T12:46:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51113,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Product usage is not enabled",
    "secondary_message": "Product usage is not enabled.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nProduct usage is not enabled.\n",
    "causes": "Product usage is not enabled.",
    "solutions": null,
    "description": "",
    "date_created": "2019-03-27T12:47:41Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51114,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Invalid access token header",
    "secondary_message": "The token has an invalid header.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe token has an invalid header.\n\n### Possible solutions\n\nConfirm a valid token is being passed in the request.\n\nTo check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "The token has an invalid header.",
    "solutions": "Confirm a valid token is being passed in the request. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T12:48:37Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51115,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Invalid access token subject",
    "secondary_message": "Subject provided in the token is invalid.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nSubject provided in the token is invalid.\n\n### Possible solutions\n\nConfirm a valid token is being passed with a valid subject.\n\nTo check whether the token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "Subject provided in the token is invalid.",
    "solutions": "Confirm a valid token is being passed with a valid subject. To check whether the token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T12:49:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51116,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Invalid access token grants",
    "secondary_message": "Provided token has invalid grants.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nProvided token has invalid grants.\n\n### Possible solutions\n\nConfirm valid grants are being passed in the token.\n\nTo check whether the token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "Provided token has invalid grants.",
    "solutions": "Confirm valid grants are being passed in the token. To check whether the token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T12:53:17Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51117,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Invalid access token signature",
    "secondary_message": "The token has an invalid signature.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe token has an invalid signature.\n\n### Possible solutions\n\nConfirm a valid and signed token is being passed.\n\nTo check whether signed correctly, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "The token has an invalid signature.",
    "solutions": "Confirm a valid and signed token is being passed. To check whether signed correctly, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T12:55:10Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51118,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Invalid claim set",
    "secondary_message": "Claim set provided in token is invalid.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nClaim set provided in token is invalid.\n\n### Possible solutions\n\nVerify the token has a valid claim set.\n\nTo check whether the token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "Claim set provided in token is invalid.",
    "solutions": "Verify the token has a valid claim set. To check whether the token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T13:08:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51119,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Token expired",
    "secondary_message": "The token has been expired.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe token has been expired.\n\n### Possible solutions\n\nPlease use a valid token.\n\nTo check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "The token has been expired.",
    "solutions": "Please use a valid token. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T13:10:01Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51120,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Token is not valid yet",
    "secondary_message": "Token is not valid yet",
    "product": null,
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2019-03-27T13:11:57Z",
    "last_updated": "2020-08-04T10:00:09.549Z"
  },
  {
    "code": 51121,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Token expiration time exceeds maximum",
    "secondary_message": "Token expiration time exceeds max allowed amount.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nToken expiration time exceeds max allowed amount.\n\n### Possible solutions\n\nUse a proper expiration time to fit into the allowed range.\n\nTo check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).\n",
    "causes": "Token expiration time exceeds max allowed amount.",
    "solutions": "Use a proper expiration time to fit into the allowed range. To check whether the access token is structurally correct, you can use the tools available at [jwt.io](https://jwt.io).",
    "description": "",
    "date_created": "2019-03-27T13:21:21Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51122,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Authentication failed",
    "secondary_message": "Authentication failed.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nMissing or wrong information provided as credentials.\n\n### Possible solutions\n\nConfirm your credentials are correct and being passed correctly.\n",
    "causes": "Missing or wrong information provided as credentials.",
    "solutions": "Confirm your credentials are correct and being passed correctly.",
    "description": "",
    "date_created": "2019-03-27T13:22:30Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51123,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Upstream not resolved",
    "secondary_message": "Specified upstream couldn't be resolved.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nSpecified upstream couldn't be resolved.\n\n### Possible solutions\n\nVerify that upstream is valid and passed correctly.\n",
    "causes": "Specified upstream couldn't be resolved.",
    "solutions": "Verify that upstream is valid and passed correctly.",
    "description": "",
    "date_created": "2019-03-27T13:23:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51124,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Too many connections",
    "secondary_message": "Number of connections for this account is higher than expected!",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nNumber of connections for this account is higher than expected!\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's limits.\n",
    "causes": "Number of connections for this account is higher than expected!",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's limits.",
    "description": "",
    "date_created": "2019-03-27T13:24:10Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51125,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Too many updates",
    "secondary_message": "Number of updates for this account is higher than expected!",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nNumber of updates for this account is higher than expected!\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's limits.\n",
    "causes": "Number of updates for this account is higher than expected!",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's limits.",
    "description": "",
    "date_created": "2019-03-27T13:24:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51126,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: DNC limit has been reached",
    "secondary_message": "DNC limit has been reached",
    "product": null,
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2019-03-27T13:29:14Z",
    "last_updated": "2020-08-04T10:00:09.439Z"
  },
  {
    "code": 51127,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: PNC limit has been",
    "secondary_message": "N/A",
    "product": null,
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2019-03-27T13:29:43Z",
    "last_updated": "2020-08-04T10:00:09.423Z"
  },
  {
    "code": 51128,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Too many messages per connection",
    "secondary_message": "Number of messages for one connection is higher than expected!",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nNumber of messages for one connection is higher than expected!\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's limits.\n",
    "causes": "Number of messages for one connection is higher than expected!",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's limits.",
    "description": "",
    "date_created": "2019-03-27T13:30:16Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51129,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Too many messages per account",
    "secondary_message": "Number of messages for this account is higher than expected!",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nNumber of messages for this account is higher than expected!\n\n### Possible solutions\n\nVerify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's limits.\n",
    "causes": "Number of messages for this account is higher than expected!",
    "solutions": "Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to increase your account's limits.",
    "description": "",
    "date_created": "2019-03-27T13:30:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 51130,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Token is invalid!",
    "secondary_message": "Token is invalid!",
    "product": null,
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2019-03-27T13:31:20Z",
    "last_updated": "2020-08-04T10:00:09.358Z"
  },
  {
    "code": 51131,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Authentication failed",
    "secondary_message": "N/A",
    "product": null,
    "docs": "\n## Description\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2019-03-27T13:31:56Z",
    "last_updated": "2020-08-04T10:00:09.34Z"
  },
  {
    "code": 51201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : CPS, Init per Account",
    "secondary_message": "Too many connection requests for this account.",
    "product": null,
    "docs": "\n## Description\n\nToo many connection requests for this account.\n",
    "causes": null,
    "solutions": null,
    "description": "Too many connection requests for this account.",
    "date_created": "2019-05-03T11:45:30Z",
    "last_updated": "2020-08-04T10:00:09.12Z"
  },
  {
    "code": 51202,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : CPS, Too many requests",
    "secondary_message": "Too many requests",
    "product": null,
    "docs": "\n## Description\n\nToo many requests\n",
    "causes": null,
    "solutions": null,
    "description": "Too many requests",
    "date_created": "2019-05-03T11:46:20Z",
    "last_updated": "2020-08-04T10:00:09.098Z"
  },
  {
    "code": 51203,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: CPS, Update per Connection",
    "secondary_message": "Too many update requests per connection",
    "product": null,
    "docs": "\n## Description\n\nToo many update requests per connection\n",
    "causes": null,
    "solutions": null,
    "description": "Too many update requests per connection",
    "date_created": "2019-05-03T11:05:44Z",
    "last_updated": "2020-08-04T03:00:11.319Z"
  },
  {
    "code": 51204,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : CPS, Upstream per account",
    "secondary_message": "Too many upstream requests for this account",
    "product": null,
    "docs": "\n## Description\n\nToo many upstream requests for this account\n",
    "causes": null,
    "solutions": null,
    "description": "Too many upstream requests for this account",
    "date_created": "2019-05-03T11:06:36Z",
    "last_updated": "2020-08-04T03:00:11.285Z"
  },
  {
    "code": 51205,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : CPS, Upstream per Connection",
    "secondary_message": "Too many upstream requests per connection",
    "product": null,
    "docs": "\n## Description\n\nToo many upstream requests per connection\n",
    "causes": null,
    "solutions": null,
    "description": "Too many upstream requests per connection",
    "date_created": "2019-05-03T11:07:16Z",
    "last_updated": "2020-08-04T03:00:11.263Z"
  },
  {
    "code": 51206,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Internal Server Error",
    "secondary_message": "Internal server error",
    "product": null,
    "docs": "\n## Description\n\nInternal server error\n",
    "causes": null,
    "solutions": null,
    "description": "Internal server error",
    "date_created": "2019-05-03T11:08:29Z",
    "last_updated": "2020-08-04T03:00:11.233Z"
  },
  {
    "code": 51207,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Token Expired",
    "secondary_message": "Token expired",
    "product": null,
    "docs": "\n## Description\n\nToken expired\n",
    "causes": null,
    "solutions": null,
    "description": "Token expired",
    "date_created": "2019-05-03T11:09:05Z",
    "last_updated": "2020-08-04T03:00:11.208Z"
  },
  {
    "code": 51208,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Unauthorized Products",
    "secondary_message": "There is at least one unauthorized product in requests",
    "product": null,
    "docs": "\n## Description\n\nThere is at least one unauthorized product in requests\n",
    "causes": null,
    "solutions": null,
    "description": "There is at least one unauthorized product in requests",
    "date_created": "2019-05-03T11:12:22Z",
    "last_updated": "2020-08-04T03:00:11.185Z"
  },
  {
    "code": 51209,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Failed Registration Requests",
    "secondary_message": "There is at least one registration request can not be processed",
    "product": null,
    "docs": "\n## Description\n\nThere is at least one registration request can not be processed\n",
    "causes": null,
    "solutions": null,
    "description": "There is at least one registration request can not be processed",
    "date_created": "2019-05-03T11:13:14Z",
    "last_updated": "2020-08-04T03:00:11.161Z"
  },
  {
    "code": 51211,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Unauthorized Message",
    "secondary_message": "Unexpected message before valid authorization",
    "product": null,
    "docs": "\n## Description\n\nUnexpected message before valid authorization\n",
    "causes": null,
    "solutions": null,
    "description": "Unexpected message before valid authorization",
    "date_created": "2019-05-03T11:15:11Z",
    "last_updated": "2020-08-04T03:00:11.119Z"
  },
  {
    "code": 51212,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Invalid Expiration",
    "secondary_message": "Connection expiration is less than zero",
    "product": null,
    "docs": "\n## Description\n\nConnection expiration is less than zero\n",
    "causes": null,
    "solutions": null,
    "description": "Connection expiration is less than zero",
    "date_created": "2019-05-03T11:15:50Z",
    "last_updated": "2020-08-04T03:00:11.098Z"
  },
  {
    "code": 51213,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Protocol Error",
    "secondary_message": "Reply code is not 200",
    "product": null,
    "docs": "\n## Description\n\nReply code is not 200\n",
    "causes": null,
    "solutions": null,
    "description": "Reply code is not 200",
    "date_created": "2019-05-03T11:16:33Z",
    "last_updated": "2020-08-04T03:00:11.075Z"
  },
  {
    "code": 51214,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Not Acceptable Message",
    "secondary_message": "Not acceptable message",
    "product": null,
    "docs": "\n## Description\n\nNot acceptable message\n",
    "causes": null,
    "solutions": null,
    "description": "Not acceptable message",
    "date_created": "2019-05-03T11:24:53Z",
    "last_updated": "2020-08-04T03:00:11.056Z"
  },
  {
    "code": 51215,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Unauthorized",
    "secondary_message": "Auth failure",
    "product": null,
    "docs": "\n## Description\n\nAuth failure\n",
    "causes": null,
    "solutions": null,
    "description": "Auth failure",
    "date_created": "2019-05-03T11:47:56Z",
    "last_updated": "2020-08-04T10:00:09.07Z"
  },
  {
    "code": 51216,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Host Not Found",
    "secondary_message": "Host is not found in mapping",
    "product": null,
    "docs": "\n## Description\n\nHost is not found in mapping\n",
    "causes": null,
    "solutions": null,
    "description": "Host is not found in mapping",
    "date_created": "2019-05-03T11:26:02Z",
    "last_updated": "2020-08-04T03:00:11.008Z"
  },
  {
    "code": 51217,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Header Not Found in Upstream",
    "secondary_message": "Required header not found in upstream message",
    "product": null,
    "docs": "\n## Description\n\nRequired header not found in upstream message\n",
    "causes": null,
    "solutions": null,
    "description": "Required header not found in upstream message",
    "date_created": "2019-05-03T11:26:47Z",
    "last_updated": "2020-08-04T03:00:10.986Z"
  },
  {
    "code": 51218,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Unknown Active Product",
    "secondary_message": "Unknown active product",
    "product": null,
    "docs": "\n## Description\n\nUnknown active product\n",
    "causes": null,
    "solutions": null,
    "description": "Unknown active product",
    "date_created": "2019-05-03T11:27:21Z",
    "last_updated": "2020-08-04T03:00:10.965Z"
  },
  {
    "code": 51219,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Bad Upstream Request",
    "secondary_message": "Bad upstream request",
    "product": null,
    "docs": "\n## Description\n\nBad upstream request\n",
    "causes": null,
    "solutions": null,
    "description": "Bad upstream request",
    "date_created": "2019-05-03T11:27:49Z",
    "last_updated": "2020-08-04T03:00:10.942Z"
  },
  {
    "code": 51220,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Upstream Connection Failure",
    "secondary_message": "Connection failure",
    "product": null,
    "docs": "\n## Description\n\nConnection failure\n",
    "causes": null,
    "solutions": null,
    "description": "Connection failure",
    "date_created": "2019-05-03T11:28:24Z",
    "last_updated": "2020-08-04T03:00:10.92Z"
  },
  {
    "code": 51221,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Upstream Request Timeout",
    "secondary_message": "Request timed out",
    "product": null,
    "docs": "\n## Description\n\nRequest timed out\n",
    "causes": null,
    "solutions": null,
    "description": "Request timed out",
    "date_created": "2019-05-03T11:29:11Z",
    "last_updated": "2020-08-04T03:00:10.899Z"
  },
  {
    "code": 51222,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Upstream Resolve Failure",
    "secondary_message": "Resolve failure",
    "product": null,
    "docs": "\n## Description\n\nResolve failure\n",
    "causes": null,
    "solutions": null,
    "description": "Resolve failure",
    "date_created": "2019-05-03T11:29:41Z",
    "last_updated": "2020-08-04T03:00:10.877Z"
  },
  {
    "code": 51223,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Upstream Remotely Closed",
    "secondary_message": "Remotely closed",
    "product": null,
    "docs": "\n## Description\n\nRemotely closed\n",
    "causes": null,
    "solutions": null,
    "description": "Remotely closed",
    "date_created": "2019-05-03T11:30:13Z",
    "last_updated": "2020-08-04T03:00:10.845Z"
  },
  {
    "code": 51224,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Upstream Request Parsing Failure",
    "secondary_message": "Upstream request parsing failure",
    "product": null,
    "docs": "\n## Description\n\nUpstream request parsing failure\n",
    "causes": null,
    "solutions": null,
    "description": "Upstream request parsing failure",
    "date_created": "2019-05-03T11:31:09Z",
    "last_updated": "2020-08-04T03:00:10.824Z"
  },
  {
    "code": 51225,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : Unknown Upstream Request Error",
    "secondary_message": "Unknown upstream request error",
    "product": null,
    "docs": "\n## Description\n\nUnknown upstream request error\n",
    "causes": null,
    "solutions": null,
    "description": "Unknown upstream request error",
    "date_created": "2019-05-03T11:31:43Z",
    "last_updated": "2020-08-04T03:00:10.801Z"
  },
  {
    "code": 51226,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Connection Offloaded",
    "secondary_message": "Connection has been offloaded",
    "product": null,
    "docs": "\n## Description\n\nConnection has been offloaded\n",
    "causes": null,
    "solutions": null,
    "description": "Connection has been offloaded",
    "date_created": "2019-05-03T11:32:19Z",
    "last_updated": "2020-08-04T03:00:10.781Z"
  },
  {
    "code": 51227,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Identity Dropped",
    "secondary_message": "Identity dropped",
    "product": null,
    "docs": "\n## Description\n\nIdentity dropped\n",
    "causes": null,
    "solutions": null,
    "description": "Identity dropped",
    "date_created": "2019-05-03T11:32:50Z",
    "last_updated": "2020-08-04T03:00:10.756Z"
  },
  {
    "code": 51228,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Offloaded After Too Many Rejections",
    "secondary_message": "Connection offloaded due to unacceptable rate of requests",
    "product": null,
    "docs": "\n## Description\n\nConnection offloaded due to unacceptable rate of requests\n",
    "causes": null,
    "solutions": null,
    "description": "Connection offloaded due to unacceptable rate of requests",
    "date_created": "2019-05-03T11:33:25Z",
    "last_updated": "2020-08-04T03:00:10.733Z"
  },
  {
    "code": 51229,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Connection TTL Exceeded",
    "secondary_message": "Connection maximum TTL is exceeded",
    "product": null,
    "docs": "\n## Description\n\nConnection maximum TTL is exceeded\n",
    "causes": null,
    "solutions": null,
    "description": "Connection maximum TTL is exceeded",
    "date_created": "2019-05-03T11:34:03Z",
    "last_updated": "2020-08-04T03:00:10.713Z"
  },
  {
    "code": 51230,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Signing Issue",
    "secondary_message": "Signing key has been revoked or updated",
    "product": null,
    "docs": "\n## Description\n\nSigning key has been revoked or updated\n",
    "causes": null,
    "solutions": null,
    "description": "Signing key has been revoked or updated",
    "date_created": "2019-05-03T11:34:27Z",
    "last_updated": "2020-08-04T03:00:10.689Z"
  },
  {
    "code": 51231,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock : ERS Unavailable",
    "secondary_message": "ERS is unavailable",
    "product": null,
    "docs": "\n## Description\n\nERS is unavailable\n",
    "causes": null,
    "solutions": null,
    "description": "ERS is unavailable",
    "date_created": "2019-05-03T11:35:20Z",
    "last_updated": "2020-08-04T03:00:10.666Z"
  },
  {
    "code": 51232,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Wrong ERS Response",
    "secondary_message": "Wrong ERS response received",
    "product": null,
    "docs": "\n## Description\n\nWrong ERS response received\n",
    "causes": null,
    "solutions": null,
    "description": "Wrong ERS response received",
    "date_created": "2019-05-03T11:35:49Z",
    "last_updated": "2020-08-04T03:00:10.643Z"
  },
  {
    "code": 51233,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Notification Context Not Found",
    "secondary_message": "Notification context is not found",
    "product": null,
    "docs": "\n## Description\n\nNotification context is not found\n",
    "causes": null,
    "solutions": null,
    "description": "Notification context is not found",
    "date_created": "2019-05-03T11:36:29Z",
    "last_updated": "2020-08-04T03:00:10.614Z"
  },
  {
    "code": 51234,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Notification Context Invalid",
    "secondary_message": "Notification context is invalid",
    "product": null,
    "docs": "\n## Description\n\nNotification context is invalid\n",
    "causes": null,
    "solutions": null,
    "description": "Notification context is invalid",
    "date_created": "2019-05-03T11:37:00Z",
    "last_updated": "2020-08-04T03:00:10.577Z"
  },
  {
    "code": 51235,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Notification Context Not Registered",
    "secondary_message": "Notification context is not registered",
    "product": null,
    "docs": "\n## Description\n\nNotification context is not registered\n",
    "causes": null,
    "solutions": null,
    "description": "Notification context is not registered",
    "date_created": "2019-05-03T11:37:52Z",
    "last_updated": "2020-08-04T03:00:10.552Z"
  },
  {
    "code": 51236,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Wrong ERS Response Data",
    "secondary_message": "Wrong ERS response data received",
    "product": null,
    "docs": "\n## Description\n\nWrong ERS response data received\n",
    "causes": null,
    "solutions": null,
    "description": "Wrong ERS response data received",
    "date_created": "2019-05-03T11:38:33Z",
    "last_updated": "2020-08-04T03:00:10.525Z"
  },
  {
    "code": 51237,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Notification Token Context Invalid",
    "secondary_message": "Notification context token is invalid",
    "product": null,
    "docs": "\n## Description\n\nNotification context token is invalid\n",
    "causes": null,
    "solutions": null,
    "description": "Notification context token is invalid",
    "date_created": "2019-05-03T11:39:30Z",
    "last_updated": "2020-08-04T03:00:10.498Z"
  },
  {
    "code": 51238,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Service SID Unavailable",
    "secondary_message": "Service SID unavailable",
    "product": null,
    "docs": "\n## Description\n\nService SID unavailable\n",
    "causes": null,
    "solutions": null,
    "description": "Service SID unavailable",
    "date_created": "2019-05-03T11:40:26Z",
    "last_updated": "2020-08-04T03:00:10.449Z"
  },
  {
    "code": 51239,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Unexpected Registration Message",
    "secondary_message": "Unexpected registration message",
    "product": null,
    "docs": "\n## Description\n\nUnexpected registration message\n",
    "causes": null,
    "solutions": null,
    "description": "Unexpected registration message",
    "date_created": "2019-05-03T11:41:15Z",
    "last_updated": "2020-08-04T03:00:10.401Z"
  },
  {
    "code": 52000,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal notification error",
    "secondary_message": "Internal error is inside of notification services",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- An internal error has occurred that prevented Twilio from processing of your request.\n\n### Possible solutions\n\n- Check our [status page](http://status.twilio.com) to see if we are having an outage.\n- If our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\n",
    "causes": "* An internal error has occurred that prevented Twilio from processing of your request.",
    "solutions": "* Check our [status page](http://status.twilio.com) to see if we are having an outage.\n* If our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.",
    "description": "",
    "date_created": "2016-04-19T14:59:35Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid destination binding",
    "secondary_message": "Provided destination binding information is invalid",
    "product": null,
    "docs": "\n## Description\n\n### Invalid destination binding\n\nThe message has been rejected by channel due to an invalid destination information. This specific message has not been sent.\n\n### Possible causes\n\n- Address or identity or notification protocol version in a Notify Binding (or ToBinding) were invalid\n\n### Possible solutions\n\n- Make sure that you do not modify the address before creating the Binding or sending ToBinding property of Notification Request.\n",
    "causes": "* Address or identity or notification protocol version in a Notify Binding (or ToBinding) were invalid",
    "solutions": "* Make sure that you do not modify the address before creating the Binding or sending ToBinding property of Notification Request.",
    "description": "",
    "date_created": "2017-12-27T12:35:48Z",
    "last_updated": "2020-08-04T10:00:15.443Z"
  },
  {
    "code": 52002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Credential Sid",
    "secondary_message": "Provided credential sid is invalid or empty",
    "product": null,
    "docs": "\n## Description\n\nIn order to send push notifications to iOS and Android devices you need to configure a Credential that allows Twilio to send notifications to your app.\n\nYou can configure these at different places depending on which Twilio product you use:\n\n- Chat: Configure in access token\n- Notify: Configure default Credential in Notify Service or Binding specific one in Binding\n- Voice SDK: Configure in access token\n\n### Possible causes\n\n- Credential SID is not configured correctly\n\n### Possible solutions\n\n- If using Chat include Credential SID in access token. Check out this [guide](/docs/chat/ios/push-notifications-ios)\n- If using Notify, either configure default Credential SID in your [Service](https://www.twilio.com/console/notify/services) or provide the Credential SID in the [Create Binding](/docs/notify/api/binding-resource#create-a-binding) request\n- If using Voice SDK, include Credential SID in access token. Check out our [documentation](/docs/voice/sdks) for details\n",
    "causes": "* Credential SID is not configured correctly",
    "solutions": "* If using Chat include Credential SID in access token. Check out this [guide](/docs/chat/ios/push-notifications-ios)\n* If using Notify, either configure default Credential SID in your [Service](https://www.twilio.com/console/notify/services) or provide the Credential SID in the [Create Binding](/docs/notify/api/binding-resource#create-a-binding) request\n* If using Voice SDK, include Credential SID in access token. Check out our [documentation](/docs/voice/sdks) for details",
    "description": "In order to send push notifications to iOS and Android devices you need to configure a Credential that allows Twilio to send notifications to your app. You can configure these at different places depending on which Twilio product you use: - Chat: Configure in access token\n- Notify: Configure default Credential in Notify Service or Binding specific one in Binding\n- Voice SDK: Configure in access token",
    "date_created": "2016-04-19T15:00:27Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Credential Type",
    "secondary_message": "Credential type and binding type does not match",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Type of credential provided in access token does not match that of the registration. For example you included the SID of a APS type Credential in the access token for an Android application using GCM.\n\n### Possible solutions\n\n- Make sure you provide the right Credential SID in the access token.\n",
    "causes": "* Type of credential provided in access token does not match that of the registration. For example you included the SID of a APS type Credential in the access token for an Android application using GCM.",
    "solutions": "* Make sure you provide the right Credential SID in the access token.",
    "description": "",
    "date_created": "2016-04-19T15:01:14Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Credential SID not specified",
    "secondary_message": "Credential SID not specified in binding, token or service",
    "product": null,
    "docs": "\n## Description\n\nCredential SIDs are used to determine which Credential resource to use to send a given push notification (APNS, FCM or GCM). For each delivery attempt the system tries to select a Credential SID depending on the API request and configuration. This error indicates that the system did not find any available Credential SID to use and hence failed to send the delivery attempt.\n\n### Possible causes\n\nConfiguration is slightly different depending on which Twilio API and product you are using.\n\n- Notify: Credential SID can be specified in the Notify Service or in the Binding. This error indicates neither of those were specified.\n- Verify Push: Credential SID can be specified in the Verify Service in the `push` configuration. This error indicates the service doesn't have this configuration.\n- Chat, Voice, Verify, Lookup: Credential SID can be specified in the Twilio Access Token used to register for push notifications. This error indicates that the token missed that information.\n\n### Possible solutions\n\n- Notify: Set the Credential SID either in the Notify Service or in the Create Binding request\n- Verify Push: Set the FCM/APN Credential SID in the Verify Service\n- Chat, Voice, Verify, Lookup: Set the Credential SID in the Access Token\n",
    "causes": "Configuration is slightly different depending on which Twilio API and product you are using. - Notify: Credential SID can be specified in the Notify Service or in the Binding. This error indicates neither of those were specified.\n- Verify Push: Credential SID can be specified in the Verify Service in the `push` configuration. This error indicates the service doesn't have this configuration.\n- Chat, Voice, Verify, Lookup: Credential SID can be specified in the Twilio Access Token used to register for push notifications. This error indicates that the token missed that information.",
    "solutions": "* Notify: Set the Credential SID either in the Notify Service or in the Create Binding request\n* Verify Push: Set the FCM/APN Credential SID in the Verify Service\n* Chat, Voice, Verify, Lookup: Set the Credential SID in the Access Token",
    "description": "Credential SIDs are used to determine which Credential resource to use to send a given push notification (APNS, FCM or GCM). For each delivery attempt the system tries to select a Credential SID depending on the API request and configuration. This error indicates that the system did not find any available Credential SID to use and hence failed to send the delivery attempt.",
    "date_created": "2017-10-30T10:27:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52051,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal error when sending notification via client connection",
    "secondary_message": "An unexpected error has happened in notification flow via realtime client connection",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Our client connection gateway is potentially unavailable. We apologize.\n\n### Possible solutions\n\n- Check our [status page](http://status.twilio.com) to see if we are having an outage.\n- If our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.\n",
    "causes": "* Our client connection gateway is potentially unavailable. We apologize.",
    "solutions": "* Check our [status page](http://status.twilio.com) to see if we are having an outage.\n* If our status page has no information, [contact support](https://www.twilio.com/help/contact) with details about the requests that are failing, and we will investigate.",
    "description": "",
    "date_created": "2016-04-19T15:02:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52052,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Client connection not created or closed",
    "secondary_message": "Websocket gateway could not find connection to user for sending notification",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Client connection not found.\n\n### Possible solutions\n\n- No action needed. The client will automatically reconnect when possible.\n",
    "causes": "* Client connection not found.",
    "solutions": "* No action needed. The client will automatically reconnect when possible.",
    "description": "",
    "date_created": "2016-04-19T15:02:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52071,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal error when sending notification via mqtt client connection",
    "secondary_message": "An unexpected error has happened in notification flow via mqtt client connection",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Temporary outage of client connection mqtt gateway.\n\n### Possible solutions\n\n- Ask customer support for investigation.\n",
    "causes": "* Temporary outage of client connection mqtt gateway.",
    "solutions": "* Ask customer support for investigation.",
    "description": "",
    "date_created": "2016-04-19T15:03:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52072,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Client mqtt connection not created or closed",
    "secondary_message": "Mqtt gateway could not find connection to user for sending notification",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Most probably mqtt client had disconnected but registration didn't removed yet.\n\n### Possible solutions\n\n- Check this warning happens only once for certain registration id.\n",
    "causes": "* Most probably mqtt client had disconnected but registration didn't removed yet.",
    "solutions": "* Check this warning happens only once for certain registration id.",
    "description": "",
    "date_created": "2016-04-19T15:04:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid GCM Api Key or FCM Secret",
    "secondary_message": "GCM/FCM credential contains invalid or empty ApiKey/Secret",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The GCM API Key or FCM Secret provided is invalid.\n\n### Possible solutions\n\n- Provide a valid GCM API Key or FCM Secret\n",
    "causes": "* The GCM API Key or FCM Secret provided is invalid.",
    "solutions": "* Provide a valid GCM API Key or FCM Secret",
    "description": "",
    "date_created": "2016-04-19T15:05:29Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52102,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid GCM/FCM registration token",
    "secondary_message": "GCM/FCM service responded with InvalidRegistration error",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Invalid GCM/FCM registration token provided via the Android SDK or the REST API.\n\n### Possible solutions\n\n- Make sure you do not modify the registration token before providing it to Twilio via the SDK or the REST API.\n- If you are using a command line tool to provide the registration token, make sure that it is URL-encoded.\n",
    "causes": "* Invalid GCM/FCM registration token provided via the Android SDK or the REST API.",
    "solutions": "* Make sure you do not modify the registration token before providing it to Twilio via the SDK or the REST API.\n* If you are using a command line tool to provide the registration token, make sure that it is URL-encoded.",
    "description": "",
    "date_created": "2016-04-19T15:06:11Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52103,
    "log_level": "ERROR",
    "log_type": null,
    "message": "GCM/FCM client uninstalled or turned off notifications",
    "secondary_message": "GCM/FCM service marked used registration id as unusable anymore",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- GCM/FCM client application was uninstalled or the user turned off push notifications.\n\n### Possible solutions\n\n- No action needed. We have disabled the registration token and we will not send new notifications to it.\n",
    "causes": "* GCM/FCM client application was uninstalled or the user turned off push notifications.",
    "solutions": "* No action needed. We have disabled the registration token and we will not send new notifications to it.",
    "description": "",
    "date_created": "2016-04-19T15:25:08Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52104,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Mismatched GCM/FCM sender ID",
    "secondary_message": "GCM/FCM application used different sender id with provided application credentials (ApiKey/Secret)",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- GCM/FCM API Key provided is not allowed to send notifications to the registration token.\n\n### Possible solutions\n\nMake sure that you are using an API Key/Secret that is allowed to send notifications to your application.\n\n- Add the Project number of the Google Developers Console/Firebase Console project that the API Key/Secret belongs to to the allowed sender IDs of your application\n- Alternatively use an API Key/Secret from a project that is already allowed to send notifications to your application\n",
    "causes": "* GCM/FCM API Key provided is not allowed to send notifications to the registration token.",
    "solutions": "Make sure that you are using an API Key/Secret that is allowed to send notifications to your application. - Add the Project number of the Google Developers Console/Firebase Console project that the API Key/Secret belongs to to the allowed sender IDs of your application\n- Alternatively use an API Key/Secret from a project that is already allowed to send notifications to your application",
    "description": "",
    "date_created": "2016-04-19T15:26:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52105,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid GCM/FCM package name",
    "secondary_message": "Mismatch package name in request and from GCM/FCM registration id",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Application configuration problem.\n\n### Possible solutions\n\n- Make sure the message was addressed to a registration token whose package name matches the value passed in the request.\n",
    "causes": "* Application configuration problem.",
    "solutions": "* Make sure the message was addressed to a registration token whose package name matches the value passed in the request.",
    "description": "",
    "date_created": "2016-04-19T15:28:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Notification too large for GCM/FCM",
    "secondary_message": "Try to send notification through GCM/FCM binding channel with too big payload",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Payload generated for GCM/FCM exceeded the 4 KB limit.\n\n### Possible solutions\n\n- Reduce the size of the payload.\n",
    "causes": "* Payload generated for GCM/FCM exceeded the 4 KB limit.",
    "solutions": "* Reduce the size of the payload.",
    "description": "",
    "date_created": "2016-04-19T15:29:41Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52107,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid custom key for GCM/FCM",
    "secondary_message": "Using one of custom keys is rejected by GCM/FCM service",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- You have specified an invalid key in the custom key-value pair section of the payload.\n\n### Possible solutions\n\n- GCM/FCM rejects some keys including from, gcm and anything prefixed by google. Make sure you are not using any of these keys.\n",
    "causes": "* You have specified an invalid key in the custom key-value pair section of the payload.",
    "solutions": "* GCM/FCM rejects some keys including from, gcm and anything prefixed by google. Make sure you are not using any of these keys.",
    "description": "",
    "date_created": "2016-04-19T15:30:22Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52108,
    "log_level": "ERROR",
    "log_type": null,
    "message": "GCM/FCM device message rate exceeded",
    "secondary_message": "Too many requests were sent to GCM/FCM service",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The rate of messages to a particular device via GCM/FCM is too high.\n\n### Possible solutions\n\n- Reduce the number of messages sent to this device and do not immediately retry sending to this device.\n",
    "causes": "* The rate of messages to a particular device via GCM/FCM is too high.",
    "solutions": "* Reduce the number of messages sent to this device and do not immediately retry sending to this device.",
    "description": "",
    "date_created": "2016-04-19T15:31:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52109,
    "log_level": "ERROR",
    "log_type": null,
    "message": "GCM/FCM unauthorized error",
    "secondary_message": "GCM/FCM could not authorise request",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- ApiKey/Secret is revoked or invalid.\n\n### Possible solutions\n\nProvide a new API Key/Secret and make sure your application is configured to use it.\n\n- If using IP-Messaging, update your Credential with the new API Key/Secret.\n- If using User Notifications, you can either update your Credential or create a new Credential and update your Service's GcmCredentialSid/FcmCredentialSid.\n",
    "causes": "* ApiKey/Secret is revoked or invalid.",
    "solutions": "Provide a new API Key/Secret and make sure your application is configured to use it. - If using IP-Messaging, update your Credential with the new API Key/Secret.\n- If using User Notifications, you can either update your Credential or create a new Credential and update your Service's GcmCredentialSid/FcmCredentialSid.",
    "description": "",
    "date_created": "2016-04-19T15:31:42Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52110,
    "log_level": "ERROR",
    "log_type": null,
    "message": "GCM/FCM service unavailable",
    "secondary_message": "GCM/FCM service is temporary unavailable",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- GCM/FCM service is temporarily unavailable or Twilio cannot connect to it.\n\n### Possible solutions\n\n- Check our [status page](http://status.twilio.com) to see if we are having an outage.\n- If the problem persists, [contact support](https://www.twilio.com/help/contact) and we will investigate.\n",
    "causes": "* GCM/FCM service is temporarily unavailable or Twilio cannot connect to it.",
    "solutions": "* Check our [status page](http://status.twilio.com) to see if we are having an outage.\n* If the problem persists, [contact support](https://www.twilio.com/help/contact) and we will investigate.",
    "description": "",
    "date_created": "2016-04-19T15:32:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52111,
    "log_level": "ERROR",
    "log_type": null,
    "message": "GCM/FCM unknown error",
    "secondary_message": "Unexpected error has happened in GCM/FCM binding adaptor",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Unknown GCM/FCM error.\n\n### Possible solutions\n\n- If the problem persists, contact [customer support](https://www.twilio.com/help/contact) and provide the time of the error and details about the requests that are failing.\n",
    "causes": "* Unknown GCM/FCM error.",
    "solutions": "* If the problem persists, contact [customer support](https://www.twilio.com/help/contact) and provide the time of the error and details about the requests that are failing.",
    "description": "",
    "date_created": "2016-04-19T15:33:19Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52115,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Service account does not have permission to send FCM messages",
    "secondary_message": null,
    "product": "Notify",
    "docs": "\n## Description\n\nThe service account associated with the provided FCM credentials does not have the required permissions to send push notifications\n\n### Possible causes\n\nThe role(s) granted to the provided service account do not include the cloudmessaging.messages.create permission\n\n### Possible solutions\n\nUpdate the roles of the service account associated with the given FCM credentials in Google Cloud console to include the cloudmessaging.messages.create permission or provide credentials for a service account that has this permission\n",
    "causes": "The role(s) granted to the provided service account do not include the cloudmessaging.messages.create permission",
    "solutions": "Update the roles of the service account associated with the given FCM credentials in Google Cloud console to include the cloudmessaging.messages.create permission or provide credentials for a service account that has this permission",
    "description": "The service account associated with the provided FCM credentials does not have the required permissions to send push notifications",
    "date_created": "2024-09-18T14:17:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52116,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Legacy FCM server key credential used to send notifications",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nGoogle will deprecate the legacy FCM API in June 2024: https://help.twilio.com/articles/20768292997147-Updating-Twilio-Push-for-FCM-HTTP-v1-API\n\n### Possible causes\n\nDetected the use of a legacy FCM server key credential. This credential will stop working after Google deprecates the legacy FCM API in June 2024. Your action is required in order for FCM push notifications to continue to work after the legacy FCM API is deprecated.\n\n### Possible solutions\n\nUse a new FCMv1 credential before June 2024 to keep sending push notifications. See instructions linked in the description above.\n",
    "causes": "Detected the use of a legacy FCM server key credential. This credential will stop working after Google deprecates the legacy FCM API in June 2024. Your action is required in order for FCM push notifications to continue to work after the legacy FCM API is deprecated.",
    "solutions": "Use a new FCMv1 credential before June 2024 to keep sending push notifications. See instructions linked in the description above.",
    "description": "Google will deprecate the legacy FCM API in June 2024: https://help.twilio.com/articles/20768292997147-Updating-Twilio-Push-for-FCM-HTTP-v1-API",
    "date_created": "2024-02-22T09:06:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52117,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Deprecated GCM/FCM API is used to send notifications",
    "secondary_message": "Migrate to FCMv1 Credentials to send notifications.",
    "product": "Notify",
    "docs": "\n## Description\n\nGoogle has deprecated the legacy FCM API in June 2024: https://help.twilio.com/articles/20768292997147-Updating-Twilio-Push-for-FCM-HTTP-v1-API\n\n### Possible causes\n\nDetected the use of a legacy FCM server key credential. This credential has stopped working after Google has deprecated the legacy FCM API in June 2024. Your action is required in order for FCM push notifications to continue to work as the legacy FCM API is deprecated.\n\n### Possible solutions\n\nUse a new FCMv1 credential to keep sending push notifications. See instructions linked in the description above.\n",
    "causes": "Detected the use of a legacy FCM server key credential. This credential has stopped working after Google has deprecated the legacy FCM API in June 2024. Your action is required in order for FCM push notifications to continue to work as the legacy FCM API is deprecated.",
    "solutions": "Use a new FCMv1 credential to keep sending push notifications. See instructions linked in the description above.",
    "description": "Google has deprecated the legacy FCM API in June 2024: https://help.twilio.com/articles/20768292997147-Updating-Twilio-Push-for-FCM-HTTP-v1-API",
    "date_created": "2024-09-04T14:40:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52118,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "FCM Bad Request",
    "secondary_message": null,
    "product": "Notify",
    "docs": "\n## Description\n\n### Possible causes\n\n- Invalid or missing registration token.\n- Incorrectly formatted JSON payload.\n- Invalid or missing required fields in the request.\n- Exceeding the payload size limit.\n- Invalid API key or authentication token.\n\n### Possible solutions\n\n- Verify that the registration token is correct and not expired.\n- Ensure the JSON payload is correctly formatted and adheres to FCM specifications.\n- Check that all required fields are included and correctly populated in the request.\n- Ensure the payload size does not exceed the maximum limit allowed by FCM.\n- Verify the API key or authentication token is valid and has the necessary permissions.\n",
    "causes": "* Invalid or missing registration token.\n* Incorrectly formatted JSON payload.\n* Invalid or missing required fields in the request.\n* Exceeding the payload size limit.\n* Invalid API key or authentication token.",
    "solutions": "* Verify that the registration token is correct and not expired.\n* Ensure the JSON payload is correctly formatted and adheres to FCM specifications.\n* Check that all required fields are included and correctly populated in the request.\n* Ensure the payload size does not exceed the maximum limit allowed by FCM.\n* Verify the API key or authentication token is valid and has the necessary permissions.",
    "description": "",
    "date_created": "2025-03-11T09:43:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52131,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid APNs credentials",
    "secondary_message": "APN certificate or Private Key are invalid",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Credential (certificate and private key) is invalid.\n- Certificate expired.\n\n### Possible solutions\n\n- Make sure you have valid certificate and private key provided in your Credential.\n",
    "causes": "* Credential (certificate and private key) is invalid.\n* Certificate expired.",
    "solutions": "* Make sure you have valid certificate and private key provided in your Credential.",
    "description": "",
    "date_created": "2016-04-19T15:34:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52133,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid APNs device token size",
    "secondary_message": "APN token size is invalid",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Invalid APNs token was provided.\n\n### Possible solutions\n\n- Make sure you do not modify the APNs device token before providing it to Twilio.\n",
    "causes": "* Invalid APNs token was provided.",
    "solutions": "* Make sure you do not modify the APNs device token before providing it to Twilio.",
    "description": "",
    "date_created": "2016-04-19T15:34:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52134,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid APNs device token",
    "secondary_message": "APNs rejected notification with InvalidToken reason",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- APNs device token format is invalid.\n- Trying to use a development certificate for a production application or vice-versa.\n\n### Possible solutions\n\n- Make sure you do not modify the device token before providing it to Twilio. If using a command line tool make sure to url-encode the token.\n- Make sure that you are using a development certificate for a development application and a production certificate for a production application.\n\n  - If you are using a traditional certificate, you can tell its environment by looking at the common name field\n\n    - For a development certificate, it will start with: Apple Development IOS Push Services\n    - For a production certificate, it will start with: Apple Push Services\n  - If you are using a universal certificate, you can use it for both development and production applications. However you have to make sure that you have properly indicated the type of application by setting the sandbox parameter when you create the credential. You can check the sandbox flag of your credential via the [REST API](/docs/chat/rest/credential-resource#action-get).\n",
    "causes": "* APNs device token format is invalid.\n* Trying to use a development certificate for a production application or vice-versa.",
    "solutions": "* Make sure you do not modify the device token before providing it to Twilio. If using a command line tool make sure to url-encode the token.\n* Make sure that you are using a development certificate for a development application and a production certificate for a production application.\n\n  * If you are using a traditional certificate, you can tell its environment by looking at the common name field\n\n    * For a development certificate, it will start with: Apple Development IOS Push Services\n    * For a production certificate, it will start with: Apple Push Services\n  * If you are using a universal certificate, you can use it for both development and production applications. However you have to make sure that you have properly indicated the type of application by setting the sandbox parameter when you create the credential. You can check the sandbox flag of your credential via the [REST API](/docs/chat/rest/credential-resource#action-get).",
    "description": "",
    "date_created": "2016-04-19T15:35:27Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52135,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Missing subject in APNs certificate",
    "secondary_message": "APNs certificate is invalid",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The subject of APNs certificate is missing.\n\n### Possible solutions\n\n- The subject of the APNs certificate is the bundle ID of your application. Make sure you have a bundle ID defined when generating the certificate signing request.\n",
    "causes": "* The subject of APNs certificate is missing.",
    "solutions": "* The subject of the APNs certificate is the bundle ID of your application. Make sure you have a bundle ID defined when generating the certificate signing request.",
    "description": "",
    "date_created": "2016-04-19T15:36:04Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52136,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Missing payload for APNs delivery",
    "secondary_message": "Payload must be provided to send notification over APNs",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- APNs delivery had no payload.\n\n### Possible solutions\n\n- Make sure to provide a payload using at least one of Body, Sound, Action, Data or Aps parameters.\n",
    "causes": "* APNs delivery had no payload.",
    "solutions": "* Make sure to provide a payload using at least one of Body, Sound, Action, Data or Aps parameters.",
    "description": "",
    "date_created": "2016-04-19T15:36:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52137,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid size of subject in APNs certificate",
    "secondary_message": "APNs certificate is invalid",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The subject of APNs certificate is of invalid size.\n\n### Possible solutions\n\n- The subject of the APNs certificate is the bundle ID of your application. Make sure you have a valid bundle ID defined when generating the certificate signing request.\n",
    "causes": "* The subject of APNs certificate is of invalid size.",
    "solutions": "* The subject of the APNs certificate is the bundle ID of your application. Make sure you have a valid bundle ID defined when generating the certificate signing request.",
    "description": "",
    "date_created": "2016-04-19T15:37:14Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52138,
    "log_level": "ERROR",
    "log_type": null,
    "message": "APNs payload too large",
    "secondary_message": "Provided payload is too large for APNs",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Generated APNs payload exceeded limit.\n\n### Possible solutions\n\n- The maximum payload size allowed for iOS 8+ devices is 2KB for earlier devices it is 256 B. Revise your payload so that it does not exceed this limit.\n",
    "causes": "* Generated APNs payload exceeded limit.",
    "solutions": "* The maximum payload size allowed for iOS 8+ devices is 2KB for earlier devices it is 256 B. Revise your payload so that it does not exceed this limit.",
    "description": "",
    "date_created": "2016-04-19T15:38:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52139,
    "log_level": "ERROR",
    "log_type": null,
    "message": "APN service shutdown",
    "secondary_message": "APNs is shutdown",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- APNs delivery rejected because APNs service is shutting down (e.g. for maintenance).\n\n### Possible solutions\n\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* APNs delivery rejected because APNs service is shutting down (e.g. for maintenance).",
    "solutions": "* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2016-04-19T15:38:39Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52140,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unknown APNs error",
    "secondary_message": "Unexpected error has happened in Apn binding adaptor",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Unknown APNs error.\n\n### Possible solutions\n\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* Unknown APNs error.",
    "solutions": "* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2016-04-19T15:39:17Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52141,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The provided APNs device token has been unregistered",
    "secondary_message": "The device token specified is inactive for the specified topic.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- APNs notification delivery rejected because the app has either been uninstalled or notifications have been disabled.\n\n### Possible solutions\n\n- If the offending Binding still exists, remove it manually or avoid sending Notifications to it.\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* APNs notification delivery rejected because the app has either been uninstalled or notifications have been disabled.",
    "solutions": "* If the offending Binding still exists, remove it manually or avoid sending Notifications to it.\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-01-04T11:14:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52142,
    "log_level": "ERROR",
    "log_type": null,
    "message": "The provided APNs device token is not correct",
    "secondary_message": "APNs Device Token is missing or malformed",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The APNs device token is either malformed or missing.\n\n### Possible solutions\n\n- Please verify that you're capturing the device token correctly.\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* The APNs device token is either malformed or missing.",
    "solutions": "* Please verify that you're capturing the device token correctly.\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-01-04T11:17:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52143,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "The push notification was rejected by APNs",
    "secondary_message": "Request was malformed",
    "product": null,
    "docs": "\n## Description\n\nThe push notification was rejected by APNs for some reason.\n\nNB: Twilio push infrastructure does not support the notifications to not main certificate topic. So application device token and certificate subject must have the same bundle id. For instance, for VoIP notifications the certificate subject must end with \"*.voip\" and the device token app bundle ends with \"*.voip\".\n\n### Possible causes\n\n- The push notification subject in the certificate is incorrect\n- The device token cannot be used with the specified subject\n- Pushing to the specified topic is not allowed\n- An internal Twilio error has occurred\n\n### Possible solutions\n\n- Verify that your certificate is correct\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* The push notification subject in the certificate is incorrect\n* The device token cannot be used with the specified subject\n* Pushing to the specified topic is not allowed\n* An internal Twilio error has occurred",
    "solutions": "* Verify that your certificate is correct\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "The push notification was rejected by APNs for some reason. NB: Twilio push infrastructure does not support the notifications to not main certificate topic. So application device token and certificate subject must have the same bundle id. For instance, for VoIP notifications the certificate subject must end with \"*.voip\" and the device token app bundle ends with \"*.voip\".",
    "date_created": "2018-01-04T11:20:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52144,
    "log_level": "ERROR",
    "log_type": null,
    "message": "APNs experienced an internal error",
    "secondary_message": "APNs was unable to handle your request",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- APNs had an unexpected error\n- APNS is unavailable\n- Request to APNs timed out\n\n### Possible solutions\n\n- Retry the request at a later time\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* APNs had an unexpected error\n* APNS is unavailable\n* Request to APNs timed out",
    "solutions": "* Retry the request at a later time\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-01-04T11:23:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52145,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to authenticate with APNs",
    "secondary_message": "Could not authenticate with APNs using the provided credentials",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Unable to complete the TLS handshake with APNs.\n\n### Possible solutions\n\n- Verify that your certificate and private key are correct and can be used together.\n- Verify that your certificate has not been revoked.\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* Unable to complete the TLS handshake with APNs.",
    "solutions": "* Verify that your certificate and private key are correct and can be used together.\n* Verify that your certificate has not been revoked.\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-01-04T11:29:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52147,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Too many APNs provider token updates",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- A new APNs provider token is being generated too often\n- The APNs provider token is not cached by Twilio\n\n### Possible solutions\n\n- Verify that your Webhook Credential is configured correctly\n- Verify that your token endpoint is configured correctly\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* A new APNs provider token is being generated too often\n* The APNs provider token is not cached by Twilio",
    "solutions": "* Verify that your Webhook Credential is configured correctly\n* Verify that your token endpoint is configured correctly\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-04-04T09:59:45Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52148,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Expired APNs provider token used",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The APNs provider token has been in the cache for too long\n- The APNs provider token is generated incorrectly\n\n### Possible solutions\n\n- Verify that your Webhook Credential is configured correctly\n- Verify that your token endpoint is configured correctly\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* The APNs provider token has been in the cache for too long\n* The APNs provider token is generated incorrectly",
    "solutions": "* Verify that your Webhook Credential is configured correctly\n* Verify that your token endpoint is configured correctly\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-04-04T10:01:11Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52149,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid APNs provider token used",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The APNs provider token is malformed or otherwise incorrect\n\n### Possible solutions\n\n- Verify that your Webhook Credential is configured correctly\n- Verify that your token endpoint is configured correctly\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* The APNs provider token is malformed or otherwise incorrect",
    "solutions": "* Verify that your Webhook Credential is configured correctly\n* Verify that your token endpoint is configured correctly\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-04-04T10:02:19Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52161,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Empty Credentials",
    "secondary_message": "Credentials are misconfigured or not exist yet",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Credentials are invalid or do not exist for provided credential sid.\n\n### Possible solutions\n\n- Make sure you have credential is valid.\n",
    "causes": "* Credentials are invalid or do not exist for provided credential sid.",
    "solutions": "* Make sure you have credential is valid.",
    "description": "",
    "date_created": "2016-04-19T15:39:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52162,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Credentials do not belong to used account",
    "secondary_message": "Account sid from credentials is not equal account sid which is used for sending notification",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The credential you have tried to use does not belong to the account.\n\n### Possible solutions\n\n- Use a credential that belongs to the account.\n",
    "causes": "* The credential you have tried to use does not belong to the account.",
    "solutions": "* Use a credential that belongs to the account.",
    "description": "",
    "date_created": "2016-04-19T15:40:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52163,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Incorrect URL used to retrieve Webhook Credentials",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- An incorrect URL was specified in your Webhook Credentials URL field\n- The URL was correct, but returned a 404 response\n\n### Possible solutions\n\n- Verify your Webhook Credential URL and response\n",
    "causes": "* An incorrect URL was specified in your Webhook Credentials URL field\n* The URL was correct, but returned a 404 response",
    "solutions": "* Verify your Webhook Credential URL and response",
    "description": "",
    "date_created": "2018-03-28T11:49:19Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52164,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No Credentials found for the supplied Binding Type",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The Webhook Credential was configured for the wrong Binding Type\n- Your token endpoint responded with the respective error code by mistake\n- An internal Twilio error occurred\n\n### Possible solutions\n\n- Verify that your Webhook Credential is set up for the correct Binding Type\n- Verify that your token endpoint is set up correctly\n",
    "causes": "* The Webhook Credential was configured for the wrong Binding Type\n* Your token endpoint responded with the respective error code by mistake\n* An internal Twilio error occurred",
    "solutions": "* Verify that your Webhook Credential is set up for the correct Binding Type\n* Verify that your token endpoint is set up correctly",
    "description": "",
    "date_created": "2018-03-28T11:52:27Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52165,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No Credentials found for the supplied Identifier",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Your Webhook Credential has a misconfigured Identifier value\n- Your token endpoint responded with the respective error code by mistake\n- An internal Twilio error occurred\n\n### Possible solutions\n\n- Verify that your Webhook Credential is configured correctly\n- Verify that your token endpoint is set up correctly\n",
    "causes": "* Your Webhook Credential has a misconfigured Identifier value\n* Your token endpoint responded with the respective error code by mistake\n* An internal Twilio error occurred",
    "solutions": "* Verify that your Webhook Credential is configured correctly\n* Verify that your token endpoint is set up correctly",
    "description": "",
    "date_created": "2018-03-28T11:54:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52166,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Webhook Credentials endpoint responded with Internal Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Your Webhook Credentials endpoint is misconfigured\n\n### Possible solutions\n\n- Verify that your token endpoint is configured correctly\n",
    "causes": "* Your Webhook Credentials endpoint is misconfigured",
    "solutions": "* Verify that your token endpoint is configured correctly",
    "description": "",
    "date_created": "2018-03-28T11:57:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52167,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Webhook Credentials response",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Your Webhook Credentials response did not adhere to the required schema\n\n### Possible solutions\n\n- Verify that your Webhook Credentials response is correct\n",
    "causes": "* Your Webhook Credentials response did not adhere to the required schema",
    "solutions": "* Verify that your Webhook Credentials response is correct",
    "description": "",
    "date_created": "2018-03-28T12:01:11Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52168,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Webhook Credentials request timed out",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The request attempt to the URL specified in your Webhook Credential timed out\n\n### Possible solutions\n\n- Poor network conditions between Twilio and your endpoint\n- Large delay during request processing by your endpoint\n",
    "causes": "* The request attempt to the URL specified in your Webhook Credential timed out",
    "solutions": "* Poor network conditions between Twilio and your endpoint\n* Large delay during request processing by your endpoint",
    "description": "",
    "date_created": "2018-03-28T12:02:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52170,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Too many Webhook Credential requests",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- You are sending Notifications too quickly\n- Your Webhook Credentials are not being cached correctly\n\n### Possible solutions\n\n- Rate limit your requests accordingly\n- Verify the contents of your token endpoint response\n",
    "causes": "* You are sending Notifications too quickly\n* Your Webhook Credentials are not being cached correctly",
    "solutions": "* Rate limit your requests accordingly\n* Verify the contents of your token endpoint response",
    "description": "",
    "date_created": "2018-03-28T12:04:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52171,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Webhook Credentials request signature was not verified",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Your token endpoint was not able to verify the request signature\n\n### Possible solutions\n\n- Verify that your Webhook Credentials are configured with the correct values\n- Verify that your signature verification logic is working as expected\n",
    "causes": "* Your token endpoint was not able to verify the request signature",
    "solutions": "* Verify that your Webhook Credentials are configured with the correct values\n* Verify that your signature verification logic is working as expected",
    "description": "",
    "date_created": "2018-03-28T12:07:22Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52172,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Unexpected Binding Type used for Webhook Credentials request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Your token endpoint responded with an error indicating that the Binding Type used was not correct\n\n### Possible solutions\n\n- Verify that your Webhook Credential is configured correctly\n- Verify that your token endpoint is configured correctly\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* Your token endpoint responded with an error indicating that the Binding Type used was not correct",
    "solutions": "* Verify that your Webhook Credential is configured correctly\n* Verify that your token endpoint is configured correctly\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-04-04T09:55:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52173,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Unexpected Identifier used for Webhook Credentials request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Your token endpoint responded with an error indicating that the Identifier used was not correct\n\n### Possible solutions\n\n- Verify that your Webhook Credential is configured correctly\n- Verify that your token endpoint is configured correctly\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* Your token endpoint responded with an error indicating that the Identifier used was not correct",
    "solutions": "* Verify that your Webhook Credential is configured correctly\n* Verify that your token endpoint is configured correctly\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-04-04T09:56:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52174,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Unexpected error response received for Webhook Credentials request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Your token endpoint responded with an unexpected error\n\n### Possible solutions\n\n- Verify that your Webhook Credential is configured correctly\n- Verify that your token endpoint is configured correctly\n- If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).\n",
    "causes": "* Your token endpoint responded with an unexpected error",
    "solutions": "* Verify that your Webhook Credential is configured correctly\n* Verify that your token endpoint is configured correctly\n* If the problem persists, please contact [customer support](https://www.twilio.com/help/contact).",
    "description": "",
    "date_created": "2018-04-04T09:57:36Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52181,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Too many SMS notification requests",
    "secondary_message": "Global SMS notification per second limit exceeded",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Somebody is using SMS broadcast\n- General high load\n\n### Possible solutions\n\n- At the moment there is a global SMS rate limit. This should be increased or eliminated entirely in the near future, but that requires some development. Please notify RTD Notifications team if this error starts occurring.\n",
    "causes": "* Somebody is using SMS broadcast\n* General high load",
    "solutions": "* At the moment there is a global SMS rate limit. This should be increased or eliminated entirely in the near future, but that requires some development. Please notify RTD Notifications team if this error starts occurring.",
    "description": "",
    "date_created": "2016-06-07T15:56:12Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52182,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Messaging Service not specified",
    "secondary_message": "MessagingServiceSid in Notify Service is not specified",
    "product": null,
    "docs": "\n## Description\n\nIn order to send SMS messages with Notify you need to configure a [Messaging Service](/docs/messaging/services) and connect it with your Notify Service. Messaging Services make it easy to build SMS application by automatically selecting an optimal From phone number from pool you can define.\n\n### Possible causes\n\n- MessagingServiceSid in Notify Service is not specified\n\n### Possible solutions\n\n- Configure a Messaging Service in the [console](/console/notify/services) or via the [REST API](/docs/notify/api/service-resource#update-a-service). You can create a new Messaging Service in the [console](https://www.twilio.com/console/sms/services) or via the [REST API](/docs/messaging/api/service-resource).\n",
    "causes": "* MessagingServiceSid in Notify Service is not specified",
    "solutions": "* Configure a Messaging Service in the [console](/console/notify/services) or via the [REST API](/docs/notify/api/service-resource#update-a-service). You can create a new Messaging Service in the [console](https://www.twilio.com/console/sms/services) or via the [REST API](/docs/messaging/api/service-resource).",
    "description": "In order to send SMS messages with Notify you need to configure a [Messaging Service](/docs/messaging/services) and connect it with your Notify Service. Messaging Services make it easy to build SMS application by automatically selecting an optimal From phone number from pool you can define.",
    "date_created": "2017-07-14T09:29:35Z",
    "last_updated": "2020-08-04T10:00:18.029Z"
  },
  {
    "code": 52201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Too many Facebook messenger notification requests",
    "secondary_message": "Too many Facebook messenger notifications are sent from the same Facebook page ID",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Customer is trying to broadcast Facebook messenger notifications\n\n### Possible solutions\n\n- Please notify RTD Notifications team if this error starts occurring.\n",
    "causes": "* Customer is trying to broadcast Facebook messenger notifications",
    "solutions": "* Please notify RTD Notifications team if this error starts occurring.",
    "description": "",
    "date_created": "2016-06-07T15:57:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52202,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Facebook page is not connected to Twilio",
    "secondary_message": "Facebook page configured in Service is not connected to Twilio",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Facebook page configured in Notify Service instance is not connected to Twilio\n- The connection may have been removed after the Notify Service had been configured\n\n### Possible solutions\n\n- [Configure a new Facebook page](https://www.twilio.com/console/notify/services) for your Notify Service\n- [Connect the Facebook page](https://www.twilio.com/console/channels) to your Twilio account\n",
    "causes": "* Facebook page configured in Notify Service instance is not connected to Twilio\n* The connection may have been removed after the Notify Service had been configured",
    "solutions": "* [Configure a new Facebook page](https://www.twilio.com/console/notify/services) for your Notify Service\n* [Connect the Facebook page](https://www.twilio.com/console/channels) to your Twilio account",
    "description": "",
    "date_created": "2017-07-06T13:09:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52203,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Missing body for Facebook Messenger delivery attempt",
    "secondary_message": "Either Body or FacebookMessenger parameter of Notification should be used to specify the message body",
    "product": null,
    "docs": "\n## Description\n\nMessenger messages need to have some content. You can specify this either via the [generic Body parameter](/docs/notify/api/notification-resource#generic-payload-parameters) of the Notification request or the [FacebookMessenger channel specific parameter](/docs/notify/api/notification-resource#channel-specific-parameters).\n\n### Possible causes\n\n- Notification has neither Body not FacebookMessenger parameter set\n\n### Possible solutions\n\n- Specify either Body or FacebookMessenger parameter when sending a Notification\n",
    "causes": "* Notification has neither Body not FacebookMessenger parameter set",
    "solutions": "* Specify either Body or FacebookMessenger parameter when sending a Notification",
    "description": "Messenger messages need to have some content. You can specify this either via the [generic Body parameter](/docs/notify/api/notification-resource#generic-payload-parameters) of the Notification request or the [FacebookMessenger channel specific parameter](/docs/notify/api/notification-resource#channel-specific-parameters).",
    "date_created": "2017-07-17T07:40:44Z",
    "last_updated": "2020-08-04T10:00:18.014Z"
  },
  {
    "code": 52211,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Too many Alexa notifications",
    "secondary_message": "You are sending Alexa notifications too fast",
    "product": null,
    "docs": "\n## Description\n\n### Too many Alexa notifications\n\nYour message has been rejected by the Alexa channel due too many messages.\n\n### Possible causes\n\n- You are making Send Notification requests too fast.\n- You have made some bulk notification requests that created too many Alexa messages too fast.\n\n### Possible solutions\n\n- Slow down the rate of Send Notification requests.\n- Target less recipients per bulk notification request and send the bulk requests more slowly.\n",
    "causes": "* You are making Send Notification requests too fast.\n* You have made some bulk notification requests that created too many Alexa messages too fast.",
    "solutions": "* Slow down the rate of Send Notification requests.\n* Target less recipients per bulk notification request and send the bulk requests more slowly.",
    "description": "",
    "date_created": "2017-06-22T15:10:46Z",
    "last_updated": "2020-08-04T10:00:18.259Z"
  },
  {
    "code": 52212,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Missing Alexa skill ID",
    "secondary_message": "You have not specified the Alexa Skill ID in the Notify Service",
    "product": null,
    "docs": "\n## Description\n\n### Missing Alexa skill ID\n\nYour Alexa message was rejected because the Alexa Skill ID was missing. This specific message was not sent.\n\n### Possible causes\n\n- You have not specified the Alexa Skill ID in your Notify Service.\n\n### Possible solutions\n\n- Connect your Alexa Skill via the [Channels console](https://www.twilio.com/console/channels) then connect your skill to your [Notify Service](https://www.twilio.com/console/notify/services).\n",
    "causes": "* You have not specified the Alexa Skill ID in your Notify Service.",
    "solutions": "* Connect your Alexa Skill via the [Channels console](https://www.twilio.com/console/channels) then connect your skill to your [Notify Service](https://www.twilio.com/console/notify/services).",
    "description": "",
    "date_created": "2017-06-22T15:15:53Z",
    "last_updated": "2020-08-04T10:00:18.238Z"
  },
  {
    "code": 52213,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Alexa user ID",
    "secondary_message": "The message has been rejected by Alexa channel due to an invalid User ID",
    "product": null,
    "docs": "\n## Description\n\n### Invalid Alexa user ID\n\nThe message has been rejected by Alexa channel due to an invalid User ID. This specific message has not been sent.\n\n### Possible causes\n\n- The user ID (Address) in a Notify Binding was invalid\n\n### Possible solutions\n\n- Make sure that you do not modify the user ID before creating the Binding.\n",
    "causes": "* The user ID (Address) in a Notify Binding was invalid",
    "solutions": "* Make sure that you do not modify the user ID before creating the Binding.",
    "description": "",
    "date_created": "2017-06-22T15:23:19Z",
    "last_updated": "2020-08-04T10:00:18.219Z"
  },
  {
    "code": 52214,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Alexa skill is not connected to Twilio",
    "secondary_message": "The Alexa skill configured for the Notify Service is not connected to Twilio",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Alexa skill ID configured for Notify Service is not connected to Twilio\n- After the Notify Service had been configured, the Alexa skill was disconnected from Twilio\n\n### Possible solutions\n\n- [Configure a new Alexa skill](https://www.twilio.com/console/notify/services) for your Notify Service\n- [Connect the Alexa skill](https://www.twilio.com/console/channels) to your Twilio Account\n",
    "causes": "* Alexa skill ID configured for Notify Service is not connected to Twilio\n* After the Notify Service had been configured, the Alexa skill was disconnected from Twilio",
    "solutions": "* [Configure a new Alexa skill](https://www.twilio.com/console/notify/services) for your Notify Service\n* [Connect the Alexa skill](https://www.twilio.com/console/channels) to your Twilio Account",
    "description": "",
    "date_created": "2017-07-06T13:14:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52215,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Missing Title parameter for Alexa",
    "secondary_message": "Message has been rejected by Alexa channel due to missing Title parameter",
    "product": null,
    "docs": "\n## Description\n\n### Missing Title parameter for Alexa\n\nMessage has been rejected by Alexa channel due to missing Title parameter. Title is a required parameter for Alexa channel. This specific message has not been sent.\n\n### Possible causes\n\n- Have not provided the Title parameter neither in the generic payload nor in the Alexa specific parameter.\n\n### Possible solutions\n\n- Make sure that you provide the Title parameter for the Alexa channel either in the [generic payload](/docs/notify/api/notification-resource#generic-payload-parameters) or the [Alexa specific parameter](/docs/notify/api/notification-resource#sending-channel-specific-notifications).\n",
    "causes": "* Have not provided the Title parameter neither in the generic payload nor in the Alexa specific parameter.",
    "solutions": "* Make sure that you provide the Title parameter for the Alexa channel either in the [generic payload](/docs/notify/api/notification-resource#generic-payload-parameters) or the [Alexa specific parameter](/docs/notify/api/notification-resource#sending-channel-specific-notifications).",
    "description": "",
    "date_created": "2017-06-22T15:30:09Z",
    "last_updated": "2020-08-04T10:00:18.202Z"
  },
  {
    "code": 52301,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Resulted destination list for requested parameters is empty",
    "secondary_message": "Search of target destinations by provided parameters returned empty list",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- No bindings were selected by the provided combination of parameters.\n\n### Possible solutions\n\n- This may have been your intention, in that case no action is needed.\n- In case you expected to notify some of your bindings then review your parameters and bindings/registrations.\n",
    "causes": "* No bindings were selected by the provided combination of parameters.",
    "solutions": "* This may have been your intention, in that case no action is needed.\n* In case you expected to notify some of your bindings then review your parameters and bindings/registrations.",
    "description": "",
    "date_created": "2016-04-19T15:41:17Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52302,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Too many recipients",
    "secondary_message": "Request has exceed the maximum recipients limit. No deliveries were attempted.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nAn attempt was made to send a broadcast notification that targeted too many recipients.\n\n### Possible solutions\n\n- Send several notifications that target fewer recipients (e.g. by partitioning your audience using more Segments and Tags).\n- If there is no good way to partition your audience, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "An attempt was made to send a broadcast notification that targeted too many recipients.",
    "solutions": "* Send several notifications that target fewer recipients (e.g. by partitioning your audience using more Segments and Tags).\n* If there is no good way to partition your audience, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "",
    "date_created": "2017-05-24T08:28:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52303,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Concurrent User update",
    "secondary_message": "Concurrent User update may have caused User data inconsistency",
    "product": null,
    "docs": "\n## Description\n\nUpdating the same User resource in multiple concurrent requests may cause data inconsistency. This may result in that searches using multiple Segments will not find your User resource even if it should belong to all the specified Segments.\n\n### Possible causes\n\n- Updating the same User resource (e.g. adding or removing it to/from Segments) in multiple requests concurrently.\n\n### Possible solutions\n\n- Change implementation so that if you need to add a User to multiple Segments at once you wait for each request to complete before trying the next one.\n- For past errors, just read the affected User resource by using the [Read User API](/docs/notify/api/user-resource#retrieve-a-user) this will fix the data inconsistency.\n",
    "causes": "* Updating the same User resource (e.g. adding or removing it to/from Segments) in multiple requests concurrently.",
    "solutions": "* Change implementation so that if you need to add a User to multiple Segments at once you wait for each request to complete before trying the next one.\n* For past errors, just read the affected User resource by using the [Read User API](/docs/notify/api/user-resource#retrieve-a-user) this will fix the data inconsistency.",
    "description": "Updating the same User resource in multiple concurrent requests may cause data inconsistency. This may result in that searches using multiple Segments will not find your User resource even if it should belong to all the specified Segments.",
    "date_created": "2017-05-24T08:37:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52304,
    "log_level": "WARNING",
    "log_type": null,
    "message": "User already exists",
    "secondary_message": "User with this identity already exists",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- User with this identity has already been created, possibly during create binding operation.\n\n### Possible solutions\n\n- As user already exists, no extra actions are required. However one might want to make sure that the existing user has all the necessary attributes, e.g. segments.\n",
    "causes": "* User with this identity has already been created, possibly during create binding operation.",
    "solutions": "* As user already exists, no extra actions are required. However one might want to make sure that the existing user has all the necessary attributes, e.g. segments.",
    "description": "",
    "date_created": "2017-05-24T08:42:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52305,
    "log_level": "WARNING",
    "log_type": null,
    "message": "User already belongs to the segment",
    "secondary_message": "User is already a member of this segment",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- User has already been added to this segment.\n\n### Possible solutions\n\n- As user is already a member of the required segment, no actions are needed.\n",
    "causes": "* User has already been added to this segment.",
    "solutions": "* As user is already a member of the required segment, no actions are needed.",
    "description": "",
    "date_created": "2017-05-24T08:45:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52306,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Cannot delete User resource with Bindings",
    "secondary_message": "User cannot be deleted if it has at least one Binding",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- User has at least one Binding.\n\n### Possible solutions\n\n- Make sure you delete all Bindings of a User before you try to delete the User.\n",
    "causes": "* User has at least one Binding.",
    "solutions": "* Make sure you delete all Bindings of a User before you try to delete the User.",
    "description": "",
    "date_created": "2017-05-24T08:49:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52307,
    "log_level": "WARNING",
    "log_type": null,
    "message": "No users with provided segments",
    "secondary_message": "No users were found belonging to the specified segment(s)",
    "product": null,
    "docs": "\n## Description\n\nNo users were found belonging to the specified segment(s)\n\n### Possible causes\n\n- A notification was sent to one or more user segments, but no users belong to these segments\n\n### Possible solutions\n\n- Check if correct segments were specified\n- Check if users are assigned to correct segments\n",
    "causes": "* A notification was sent to one or more user segments, but no users belong to these segments",
    "solutions": "* Check if correct segments were specified\n* Check if users are assigned to correct segments",
    "description": "No users were found belonging to the specified segment(s)",
    "date_created": "2017-07-06T13:36:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52309,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Channel provider replied with an error",
    "secondary_message": "Channel provider (Amazon Alexa, Facebook, etc) replied with an error",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Some errors in channel configuration: destination address, credentials, permissions, etc.\n\n### Possible solutions\n\n- Check channel configuration or re-install the channel and destination binding. Check response message from the provider in a debugger alert.\n",
    "causes": "* Some errors in channel configuration: destination address, credentials, permissions, etc.",
    "solutions": "* Check channel configuration or re-install the channel and destination binding. Check response message from the provider in a debugger alert.",
    "description": "",
    "date_created": "2017-12-21T12:07:11Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52310,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Notification TTL has expired",
    "secondary_message": null,
    "product": "Notify",
    "docs": "\n## Description\n\nNotification expired during processing\n\n### Possible causes\n\nNotification took too much time or there are too many notifications\n\n### Possible solutions\n\nIncrease TTL for notification or try again later\n",
    "causes": "Notification took too much time or there are too many notifications",
    "solutions": "Increase TTL for notification or try again later",
    "description": "Notification expired during processing",
    "date_created": "2019-07-29T12:33:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52311,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Delivery callback invocation failed",
    "secondary_message": "Notify is unable to invoke the given callback",
    "product": "Notify",
    "docs": "\n## Description\n\nNotify is unable to invoke the given callback\n\n### Possible causes\n\nInvalid callback URL or Internal Server Error\n\n### Possible solutions\n\nCheck the callback URL\n",
    "causes": "Invalid callback URL or Internal Server Error",
    "solutions": "Check the callback URL",
    "description": "Notify is unable to invoke the given callback",
    "date_created": "2019-11-21T14:30:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52400,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Exceeded maximum iterations in template rendering",
    "secondary_message": "The maximum number of defined iterations in templated fields of the notification payload has been reached.",
    "product": "Notify",
    "docs": "\n## Description\n\nYour template contains an iterative operation that has reached the maximum allowed limit of 1000 iterations in its definition.\n\n### Possible causes\n\nSome syntax-specific iteration operators in the template, such as for-loops, cycles, table-rows, and others, may have reached the maximum limit.\n\n### Possible solutions\n\n1. Consider reducing the number of iterations required in your template.\n2. Review the template structure to optimize the use of iteration operations.\n3. Break down complex iterations into smaller, more manageable chunks if possible.\n",
    "causes": "Some syntax-specific iteration operators in the template, such as for-loops, cycles, table-rows, and others, may have reached the maximum limit.",
    "solutions": "1. Consider reducing the number of iterations required in your template.\n2. Review the template structure to optimize the use of iteration operations.\n3. Break down complex iterations into smaller, more manageable chunks if possible.",
    "description": "Your template contains an iterative operation that has reached the maximum allowed limit of 1000 iterations in its definition.",
    "date_created": "2024-03-19T15:53:39Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52401,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Too many notification log events ",
    "secondary_message": "Too many notification log events, some may be discarded.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Notification requests resulted in too many delivery attempts. As a result, some of the notification events were rate limited and might not be visible in the notification log in console. The message delivery itself is not affected.\n\n### Possible solutions\n\n- When sending large broadcasts, slow down the rate of Send Notification requests, e.g. to 1 / s\n",
    "causes": "* Notification requests resulted in too many delivery attempts. As a result, some of the notification events were rate limited and might not be visible in the notification log in console. The message delivery itself is not affected.",
    "solutions": "* When sending large broadcasts, slow down the rate of Send Notification requests, e.g. to 1 / s",
    "description": "",
    "date_created": "2017-10-14T07:36:47Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52402,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "General rendering problem with variables in a parsed template",
    "secondary_message": null,
    "product": "Notify",
    "docs": "\n## Description\n\nThe error pertains to a general rendering issue with variables in an successfully parsed template.\n\n### Possible causes\n\nVarious limitations such as reaching the maximum allowed template size of 6400 bytes or encountering a rendering timeout of 3000 milliseconds might contribute to this error.\n\n### Possible solutions\n\nTo pinpoint the underlying cause, customers should inspect the debugger logs in the console for further details.\n",
    "causes": "Various limitations such as reaching the maximum allowed template size of 6400 bytes or encountering a rendering timeout of 3000 milliseconds might contribute to this error.",
    "solutions": "To pinpoint the underlying cause, customers should inspect the debugger logs in the console for further details.",
    "description": "The error pertains to a general rendering issue with variables in an successfully parsed template.",
    "date_created": "2024-03-19T15:54:43Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52403,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Provided text template in the notification request cannot be parsed",
    "secondary_message": null,
    "product": "Notify",
    "docs": "\n## Description\n\nAn error may arise if the provided text template in the notification request cannot be parsed, potentially due to syntax errors in the input.\n\n### Possible causes\n\nThe error might be attributed to syntax errors within the provided text template.\n\n### Possible solutions\n\nTo identify the precise issue, customers are advised to examine the debugger logs in the console for detailed error messages.\n",
    "causes": "The error might be attributed to syntax errors within the provided text template.",
    "solutions": "To identify the precise issue, customers are advised to examine the debugger logs in the console for detailed error messages.",
    "description": "An error may arise if the provided text template in the notification request cannot be parsed, potentially due to syntax errors in the input.",
    "date_created": "2024-03-19T15:57:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 52404,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Undefined variable within the notification payload template",
    "secondary_message": null,
    "product": "Notify",
    "docs": "\n## Description\n\nThe error indicates that there are one or more undefined variables in the provided template of the notification payload.\n\n### Possible causes\n\n1. Missing variables might have been overlooked during template creation.\n2. Variables could have been mistyped or not properly declared.\n\n### Possible solutions\n\n1. Check the debugger logs in the console to identify the exact missing variables.\n2. Ensure that all necessary variables are included in either or both of the per-recipient object and the default variables of the notification request.\n3. Double-check the spelling and syntax of variables in the template.\n",
    "causes": "1. Missing variables might have been overlooked during template creation.\n2. Variables could have been mistyped or not properly declared.",
    "solutions": "1. Check the debugger logs in the console to identify the exact missing variables.\n2. Ensure that all necessary variables are included in either or both of the per-recipient object and the default variables of the notification request.\n3. Double-check the spelling and syntax of variables in the template.",
    "description": "The error indicates that there are one or more undefined variables in the provided template of the notification payload.",
    "date_created": "2024-03-19T15:58:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Signaling connection error",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a signaling connection error occurs that is not covered by a more specific error code.\n\n### Possible causes\n\n- The client could not establish a connection to Twilio's signaling server or the signaling path was lost.\n- Reconnection attempts were exhausted after a network disruption, resulting in a final disconnect with this error.\n- Corporate firewall or proxy is blocking secure WebSocket traffic required for signaling on TCP 443 to Twilio Video signaling hosts.\n- High latency to the chosen signaling region can slow or prevent establishing the signaling connection.\n\n### Possible solutions\n\n- Retry connecting to the Room.\n- Ensure the user has a stable internet connection or try a different network.\n- Try connecting to another region or explicitly set the signaling region with the SDK region option, or rely on Global Low Latency.\n- Verify that firewalls allow outbound WSS to the appropriate regional signaling hostnames on port 443.\n- Ensure Access Tokens have sufficient TTL and are refreshed as needed so reconnections can authenticate successfully.\n- Handle reconnection states in your app and, if a 53000 disconnect occurs, prompt the user to rejoin the Room.\n\n#### Additional resources\n\n- [Building a JS Video App: Recommendations and Best Practices](/docs/video/build-js-video-application-recommendations-and-best-practices)\n- [Video Regions and Global Low Latency](/docs/video/tutorials/video-regions-and-global-low-latency)\n- [Video IP Addresses](/docs/video/ip-addresses)\n",
    "causes": "* The client could not establish a connection to Twilio's signaling server or the signaling path was lost.\n* Reconnection attempts were exhausted after a network disruption, resulting in a final disconnect with this error.\n* Corporate firewall or proxy is blocking secure WebSocket traffic required for signaling on TCP 443 to Twilio Video signaling hosts.\n* High latency to the chosen signaling region can slow or prevent establishing the signaling connection.",
    "solutions": "* Retry connecting to the Room.\n* Ensure the user has a stable internet connection or try a different network.\n* Try connecting to another region or explicitly set the signaling region with the SDK region option, or rely on Global Low Latency.\n* Verify that firewalls allow outbound WSS to the appropriate regional signaling hostnames on port 443.\n* Ensure Access Tokens have sufficient TTL and are refreshed as needed so reconnections can authenticate successfully.\n* Handle reconnection states in your app and, if a 53000 disconnect occurs, prompt the user to rejoin the Room.",
    "description": "Raised whenever a signaling connection error occurs that is not covered by a more specific error code.",
    "date_created": "2017-04-21T22:58:09Z",
    "last_updated": "2026-04-01T14:16:33+01:00"
  },
  {
    "code": 53001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Signaling connection disconnected",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever the signaling connection is unexpectedly disconnected.\n\n### Possible causes\n\n- The device running your application lost its internet connection.\n\n### Possible solutions\n\n- Ensure the device running your application has access to a stable internet connection.\n",
    "causes": "* The device running your application lost its internet connection.",
    "solutions": "* Ensure the device running your application has access to a stable internet connection.",
    "description": "Raised whenever the signaling connection is unexpectedly disconnected.",
    "date_created": "2017-04-24T15:37:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Signaling connection timed out",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever the signaling connection times out.\n",
    "causes": null,
    "solutions": null,
    "description": "Raised whenever the signaling connection times out.",
    "date_created": "2017-04-24T15:38:29Z",
    "last_updated": "2020-08-04T10:00:19.726Z"
  },
  {
    "code": 53003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client received an invalid signaling message",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever the Client receives a message from the Server that the Client cannot handle.\n",
    "causes": null,
    "solutions": null,
    "description": "Raised whenever the Client receives a message from the Server that the Client cannot handle.",
    "date_created": "2017-04-24T15:38:53Z",
    "last_updated": "2020-08-04T10:00:19.704Z"
  },
  {
    "code": 53004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client sent an invalid signaling message",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever the Client sends a message to the Server that the Server cannot handle.\n",
    "causes": null,
    "solutions": null,
    "description": "Raised whenever the Client sends a message to the Server that the Server cannot handle.",
    "date_created": "2017-04-24T15:39:17Z",
    "last_updated": "2020-08-04T10:00:19.682Z"
  },
  {
    "code": 53006,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Video server is busy",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when the server is too busy to accept new clients.\n\n### Possible causes\n\nThe Video server is temporarily overloaded and cannot handle new requests.\n\n### Possible solutions\n\n- Try connecting later.\n- If the problem persists, try connecting to another region.\n",
    "causes": "The Video server is temporarily overloaded and cannot handle new requests.",
    "solutions": "* Try connecting later.\n* If the problem persists, try connecting to another region.",
    "description": "Raised when the server is too busy to accept new clients.",
    "date_created": "2022-05-26T18:04:35Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Room name is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Room name is invalid, and the scenario is not covered by a more specific error code.\n\n### Possible causes\n\n- The Room name does not adhere to the Room name requirements.\n\n### Possible solutions\n\n- Choose a Room name adheres to the Room name requirements.\n",
    "causes": "* The Room name does not adhere to the Room name requirements.",
    "solutions": "* Choose a Room name adheres to the Room name requirements.",
    "description": "Raised whenever a Room name is invalid, and the scenario is not covered by a more specific error code.",
    "date_created": "2017-04-24T15:39:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Room name is too long",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Room name is too long.\n\n### Possible causes\n\n- The Room name is too long.\n\n### Possible solutions\n\n- Choose a shorter Room name.\n",
    "causes": "* The Room name is too long.",
    "solutions": "* Choose a shorter Room name.",
    "description": "Raised whenever a Room name is too long.",
    "date_created": "2017-04-24T15:40:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53102,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Room name contains invalid characters",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Room name contains invalid characters.\n\n### Possible causes\n\n- The Room name contains an invalid UTF-8 byte sequence.\n\n### Possible solutions\n\n- Choose a Room name that is a valid UTF-8 string.\n",
    "causes": "* The Room name contains an invalid UTF-8 byte sequence.",
    "solutions": "* Choose a Room name that is a valid UTF-8 string.",
    "description": "Raised whenever a Room name contains invalid characters.",
    "date_created": "2017-04-24T15:56:17Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": " Unable to create Room",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when the Server is unable to create a Room.\n\n### Possible causes\n\n- A user attempted to connect to a Room which does not yet exist, and Ad-hoc Rooms are not enabled.\n- You may have chosen to enable Room features that are unsupported or not available to your account.\n- A server-side error has occurred.\n\n### Possible solutions\n\n- Make sure Ad-hoc Rooms are enabled in the Video settings for your account in Twilio Console, or create the Room explicitly using the REST API before attempting to connect to it.\n- Choose a Room configuration supported by your account.\n- If the problem persists, try connecting to another region.\n",
    "causes": "* A user attempted to connect to a Room which does not yet exist, and Ad-hoc Rooms are not enabled.\n* You may have chosen to enable Room features that are unsupported or not available to your account.\n* A server-side error has occurred.",
    "solutions": "* Make sure Ad-hoc Rooms are enabled in the Video settings for your account in Twilio Console, or create the Room explicitly using the REST API before attempting to connect to it.\n* Choose a Room configuration supported by your account.\n* If the problem persists, try connecting to another region.",
    "description": "Raised when the Server is unable to create a Room.",
    "date_created": "2017-04-24T15:42:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53104,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to connect to Room",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Client is unable to connect to a Room, and the scenario is not covered by a more specific error code.\n\n### Possible causes\n\n- A server-side error has occurred.\n\n### Possible solutions\n\n- If the problem persists, try connecting to another region.\n",
    "causes": "* A server-side error has occurred.",
    "solutions": "* If the problem persists, try connecting to another region.",
    "description": "Raised whenever a Client is unable to connect to a Room, and the scenario is not covered by a more specific error code.",
    "date_created": "2017-04-24T15:57:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53105,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Room contains too many Participants",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Client is unable to connect to a Room because the Room contains too many Participants.\n\n### Possible causes\n\n- A Client attempted to connect to a Room that already contained the maximum number of Participants.\n\n### Possible solutions\n\n- Have one or more Participants disconnect from the Room in order to make room for the Client to connect.\n",
    "causes": "* A Client attempted to connect to a Room that already contained the maximum number of Participants.",
    "solutions": "* Have one or more Participants disconnect from the Room in order to make room for the Client to connect.",
    "description": "Raised whenever a Client is unable to connect to a Room because the Room contains too many Participants.",
    "date_created": "2017-04-24T15:43:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Room not found",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever attempting operation on a non-existent Room.\n\n### Possible causes\n\n- Attempted to perform operation on non-existent Room.\n\n### Possible solutions\n\n- Make sure Room exists before re-attempting operation.\n",
    "causes": "* Attempted to perform operation on non-existent Room.",
    "solutions": "* Make sure Room exists before re-attempting operation.",
    "description": "Raised whenever attempting operation on a non-existent Room.",
    "date_created": "2017-04-24T15:43:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53107,
    "log_level": "ERROR",
    "log_type": null,
    "message": "MaxParticipants is out of range",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised in the REST API when MaxParticipants is set out of range.\n\n### Possible causes\n\n- REST API call to Create or Update Room instance with MaxParticipants out of range.\n\n### Possible solutions\n\n- Set the MaximumParticipants value from 1 up to the maximum allowed for the Room Type.\n",
    "causes": "* REST API call to Create or Update Room instance with MaxParticipants out of range.",
    "solutions": "* Set the MaximumParticipants value from 1 up to the maximum allowed for the Room Type.",
    "description": "Raised in the REST API when MaxParticipants is set out of range.",
    "date_created": "2017-04-24T15:43:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53108,
    "log_level": "ERROR",
    "log_type": null,
    "message": "RoomType is not valid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised in the REST API when the user attempts to create a Room with an invalid RoomType\n\n### Possible causes\n\n- REST API call to Create Room instance with an invalid RoomType.\n\n### Possible solutions\n\n- Set the RoomType value to a valid type or leave this field blank for the default.\n",
    "causes": "* REST API call to Create Room instance with an invalid RoomType.",
    "solutions": "* Set the RoomType value to a valid type or leave this field blank for the default.",
    "description": "Raised in the REST API when the user attempts to create a Room with an invalid RoomType",
    "date_created": "2017-04-24T15:44:21Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53109,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Timeout is out of range",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised in the REST API when Timeout is set out of range.\n\n### Possible causes\n\n- REST API call to Create or Update Room instance with Timeout out of range.\n\n### Possible solutions\n\n- Set the Timeout value (in seconds) from 1 second up to a maximum of 1 hour.\n",
    "causes": "* REST API call to Create or Update Room instance with Timeout out of range.",
    "solutions": "* Set the Timeout value (in seconds) from 1 second up to a maximum of 1 hour.",
    "description": "Raised in the REST API when Timeout is set out of range.",
    "date_created": "2017-04-24T15:45:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53110,
    "log_level": "ERROR",
    "log_type": null,
    "message": "StatusCallbackMethod is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised in the REST API when StatusCallbackMethod is set to an invalid value.\n\n### Possible causes\n\n- REST API call to Create or Update Room instance with StatusCallbackMethod set to an invalid value.\n\n### Possible solutions\n\n- Set StatusCallbackMethod to either `GET` or `POST` or leave blank for the default.\n",
    "causes": "* REST API call to Create or Update Room instance with StatusCallbackMethod set to an invalid value.",
    "solutions": "* Set StatusCallbackMethod to either `GET` or `POST` or leave blank for the default.",
    "description": "Raised in the REST API when StatusCallbackMethod is set to an invalid value.",
    "date_created": "2017-04-24T15:45:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53111,
    "log_level": "ERROR",
    "log_type": null,
    "message": "StatusCallback is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised in the REST API when StatusCallback is not a valid URL or the url is too long.\n\n### Possible causes\n\n- REST API call to Create or Update Room instance with StatusCallback set to an invalid URL.\n\n### Possible solutions\n\n- Set StatusCallback to a valid URL less than 1024 characters or leave blank to disable callbacks.\n",
    "causes": "* REST API call to Create or Update Room instance with StatusCallback set to an invalid URL.",
    "solutions": "* Set StatusCallback to a valid URL less than 1024 characters or leave blank to disable callbacks.",
    "description": "Raised in the REST API when StatusCallback is not a valid URL or the url is too long.",
    "date_created": "2017-04-24T15:46:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53112,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Status is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised in the REST API when Status is not valid or the Room is not in-progress.\n\n### Possible causes\n\n- REST API call to Update Room instance with Status that is invalid or cannot be applied to the current Room state.\n\n### Possible solutions\n\n- Set Status to completed and only apply to a Room that is in-progress.\n",
    "causes": "* REST API call to Update Room instance with Status that is invalid or cannot be applied to the current Room state.",
    "solutions": "* Set Status to completed and only apply to a Room that is in-progress.",
    "description": "Raised in the REST API when Status is not valid or the Room is not in-progress.",
    "date_created": "2017-04-24T15:59:42Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53113,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Room creation failed",
    "secondary_message": "A Room with the same name already exists.",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThis error is raised when the Server is unable to create a Room because the name you have used is already associated with an existing Room.\n\nThe [Video API Room resource page](/docs/video/api/rooms-resource#filter-by-unique-name) will show you how to get a list of existing Rooms' names, allowing you to choose a new one that has not yet been used.\n\n### Possible causes\n\nYou have already creasted a Room with the name you just used.\n\n### Possible solutions\n\nCreate a new Room with a unique name.\n",
    "causes": "You have already creasted a Room with the name you just used.",
    "solutions": "Create a new Room with a unique name.",
    "description": "This error is raised when the Server is unable to create a Room because the name you have used is already associated with an existing Room. The [Video API Room resource page](/docs/video/api/rooms-resource#filter-by-unique-name) will show you how to get a list of existing Rooms' names, allowing you to choose a new one that has not yet been used.",
    "date_created": "2017-09-11T22:30:36Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53114,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Room creation parameter(s) incompatible with the Room type",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised in the REST API when one or more Room creation parameter is incompatible with the Room type.\n\n### Possible causes\n\n- REST API call to create Room instance failed because one or more parameter is set to a value that is incompatible with the Room type.\n- For example, RecordParticipantsOnConnect cannot be set to true for peer-to-peer Rooms.\n- VideoCodec can be set only for group Rooms.\n",
    "causes": "* REST API call to create Room instance failed because one or more parameter is set to a value that is incompatible with the Room type.\n* For example, RecordParticipantsOnConnect cannot be set to true for peer-to-peer Rooms.\n* VideoCodec can be set only for group Rooms.",
    "solutions": null,
    "description": "Raised in the REST API when one or more Room creation parameter is incompatible with the Room type.",
    "date_created": "2017-09-07T00:25:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53118,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Room Completed Error",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Room is completed via the REST API.\n\n### Possible causes\n\n- The operation you requested cannot be performed on a completed Room.\n\n### Possible solutions\n\n- Some operations can only be performed on in-progress Rooms. Check the status of your Room before attempting the operation.\n",
    "causes": "* The operation you requested cannot be performed on a completed Room.",
    "solutions": "* Some operations can only be performed on in-progress Rooms. Check the status of your Room before attempting the operation.",
    "description": "Raised whenever a Room is completed via the REST API.",
    "date_created": "2020-06-16T03:59:35Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53119,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The concurrent Rooms quota was exceeded",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\n#### 53119: The concurrent Rooms quota was exceeded\n\n### Possible causes\n\n- Connecting the first Participant in an Ad-hoc Room would exceed the account's concurrent Rooms quota.\n- Creating a Room via the REST API would exceed the account's concurrent Rooms quota.\n\n### Possible solutions\n\n- Complete existing Rooms.\n- Contact support/sales to increase the concurrent Rooms quota for your account.\n",
    "causes": "* Connecting the first Participant in an Ad-hoc Room would exceed the account's concurrent Rooms quota.\n* Creating a Room via the REST API would exceed the account's concurrent Rooms quota.",
    "solutions": "* Complete existing Rooms.\n* Contact support/sales to increase the concurrent Rooms quota for your account.",
    "description": "",
    "date_created": "2020-05-13T23:08:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53120,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": " Invalid Recording Rule(s)",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised by the server when a Recording Rule is invalid.\n\n### Possible causes\n\n- An empty set of rules \\[] is not allowed.\n- A rule containing all must have a value of true and must not contain any other expression.\n- A rule must contain a type field.\n- If kind is used, it must be audio or video.\n- A maximum of 20 recording rules are allowed per room.\n\n### Possible solutions\n\n- Ensure the set of rules has at least one rule.\n- If you include all in a rule, the only other allowed field is type.\n- Ensure every rule has a type field.\n- Ensure kind is one of the valid enum values.\n- Limit the number of recording rules to 20 or fewer.\n",
    "causes": "* An empty set of rules \\[] is not allowed.\n* A rule containing all must have a value of true and must not contain any other expression.\n* A rule must contain a type field.\n* If kind is used, it must be audio or video.\n* A maximum of 20 recording rules are allowed per room.",
    "solutions": "* Ensure the set of rules has at least one rule.\n* If you include all in a rule, the only other allowed field is type.\n* Ensure every rule has a type field.\n* Ensure kind is one of the valid enum values.\n* Limit the number of recording rules to 20 or fewer.",
    "description": "Raised by the server when a Recording Rule is invalid.",
    "date_created": "2020-06-19T00:08:24Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53121,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Approaching room or participant concurrency quota",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\n#### 53121: Reached 70% of room or participant concurrency quota\n\n### Possible causes\n\n- Connecting the first Participant in an Ad-hoc Room might exceed the account's concurrent Rooms quota.\n- Creating a Room via the REST API might exceed the account's concurrent Rooms quota.\n\n### Possible solutions\n\n- Complete existing Rooms.\n- Contact support/sales to increase the concurrent Rooms quota for your account.\n",
    "causes": "* Connecting the first Participant in an Ad-hoc Room might exceed the account's concurrent Rooms quota.\n* Creating a Room via the REST API might exceed the account's concurrent Rooms quota.",
    "solutions": "* Complete existing Rooms.\n* Contact support/sales to increase the concurrent Rooms quota for your account.",
    "description": "",
    "date_created": "2020-07-01T20:53:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53122,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "The recording operation requested is not supported for the Room type",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe recording operation requested is not supported for the Room type\n\n### Possible causes\n\nREST API call requesting to record a Track in a peer-to-peer Room.\n\n### Possible solutions\n\nMake sure that the recording operation requested is supported for the Room type.\n",
    "causes": "REST API call requesting to record a Track in a peer-to-peer Room.",
    "solutions": "Make sure that the recording operation requested is supported for the Room type.",
    "description": "The recording operation requested is not supported for the Room type",
    "date_created": "2020-07-21T23:31:57Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53123,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "MaxParticipantDuration is out of range",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nMaxParticipantDuration is set to a value outside of the acceptable range of 600 seconds (10 minutes) and 86400 seconds (24 hours)\n\n### Possible causes\n\nMaxParticipantDuration is set to a value outside of the acceptable range\n\n### Possible solutions\n\nSet MaxParticipantDuration to a value inside the acceptable range of 600 seconds (10 minutes) and 86400 seconds (24 hours)\n",
    "causes": "MaxParticipantDuration is set to a value outside of the acceptable range",
    "solutions": "Set MaxParticipantDuration to a value inside the acceptable range of 600 seconds (10 minutes) and 86400 seconds (24 hours)",
    "description": "MaxParticipantDuration is set to a value outside of the acceptable range of 600 seconds (10 minutes) and 86400 seconds (24 hours)",
    "date_created": "2022-06-23T02:26:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53124,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The AudioOnly flag is not supported for the Room type",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a participant tries to set the AudioOnly flag for a Room type other than Group Rooms.\n\n### Possible causes\n\nThe AudioOnly flag is set for a room that is not a Group Room.\n\n### Possible solutions\n\nMake sure that the flag is supported by the Room type.\n",
    "causes": "The AudioOnly flag is set for a room that is not a Group Room.",
    "solutions": "Make sure that the flag is supported by the Room type.",
    "description": "Raised whenever a participant tries to set the AudioOnly flag for a Room type other than Group Rooms.",
    "date_created": "2021-10-13T16:33:44Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53125,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The track kind is not supported by the Room",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a participant tries to publish a track or connects with a track that is not supported by the Group Room.\n\n### Possible causes\n\nA participant tried to publish a video track in an Audio Only Group Room. A participant tried to connect with a video track in an Audio Only Group Room.\n\n### Possible solutions\n\nMake sure that only audio and/or data tracks are published in an Audio Only Group Room.\n",
    "causes": "A participant tried to publish a video track in an Audio Only Group Room. A participant tried to connect with a video track in an Audio Only Group Room.",
    "solutions": "Make sure that only audio and/or data tracks are published in an Audio Only Group Room.",
    "description": "Raised whenever a participant tries to publish a track or connects with a track that is not supported by the Group Room.",
    "date_created": "2021-10-13T16:36:10Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53126,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Legacy room type no longer supported",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nGo Rooms, P2P Rooms and Small Group Rooms are deprecated and only available to accounts that were active prior to October 21, 2024.\n\n### Possible causes\n\nRoom type other than Group Rooms has been specified for this account, which started using video after October 21, 2024\n\n### Possible solutions\n\nRoom type for accounts which started using video after October 21, 2024 must be Group Room\n",
    "causes": "Room type other than Group Rooms has been specified for this account, which started using video after October 21, 2024",
    "solutions": "Room type for accounts which started using video after October 21, 2024 must be Group Room",
    "description": "Go Rooms, P2P Rooms and Small Group Rooms are deprecated and only available to accounts that were active prior to October 21, 2024.",
    "date_created": "2025-01-07T09:44:39Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53127,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "audioOnly no longer supported",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe Audio only flag is deprecated and only available to accounts that were active prior to October 21, 2024.\n\n### Possible causes\n\nAudio only flag is set for this account, which started using video after October 21, 2024\n\n### Possible solutions\n\nDo not specify Audio only flag if account started using video after October 21, 2024\n",
    "causes": "Audio only flag is set for this account, which started using video after October 21, 2024",
    "solutions": "Do not specify Audio only flag if account started using video after October 21, 2024",
    "description": "The Audio only flag is deprecated and only available to accounts that were active prior to October 21, 2024.",
    "date_created": "2025-01-07T09:51:21Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53128,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Extension not found",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever attempting operation on a non-existent Extension.\n\n### Possible causes\n\nAttempted to perform operation on non-existent Extension.\n\n### Possible solutions\n\nMake sure Extension exists before re-attempting operation.\n",
    "causes": "Attempted to perform operation on non-existent Extension.",
    "solutions": "Make sure Extension exists before re-attempting operation.",
    "description": "Raised whenever attempting operation on a non-existent Extension.",
    "date_created": "2025-12-02T16:04:24.582Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53200,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant identity is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Participant identity is invalid, and the scenario is not covered by a more specific error code.\n\n### Possible causes\n\nThe Participant identity does not adhere to the Participant identity requirements.\n\nPossible causes:\n\n- The identity is null or an empty string.\n- Another Participant with the same identity already exists in the Room.\n- The identity has more than 128 characters (NOTE: Double-byte characters are counted as 2 characters).\n\n### Possible solutions\n\n- Choose a Participant identity adheres to the Participant identity requirements.\n",
    "causes": "The Participant identity does not adhere to the Participant identity requirements. : - The identity is null or an empty string.\n- Another Participant with the same identity already exists in the Room.\n- The identity has more than 128 characters (NOTE: Double-byte characters are counted as 2 characters).",
    "solutions": "* Choose a Participant identity adheres to the Participant identity requirements.",
    "description": "Raised whenever a Participant identity is invalid, and the scenario is not covered by a more specific error code.",
    "date_created": "2017-04-24T15:47:04Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant identity is too long",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Participant identity is too long.\n\n### Possible causes\n\n- The Participant identity is too long.\n\n### Possible solutions\n\n- Choose a shorter Participant identity.\n",
    "causes": "* The Participant identity is too long.",
    "solutions": "* Choose a shorter Participant identity.",
    "description": "Raised whenever a Participant identity is too long.",
    "date_created": "2017-04-24T15:47:27Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53202,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant identity contains invalid characters",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Participant identity contains invalid characters.\n\n### Possible causes\n\n- The Participant identity contains an invalid UTF-8 byte sequence.\n\n### Possible solutions\n\n- Choose a Participant identity that is a valid UTF-8 string.\n",
    "causes": "* The Participant identity contains an invalid UTF-8 byte sequence.",
    "solutions": "* Choose a Participant identity that is a valid UTF-8 string.",
    "description": "Raised whenever a Participant identity contains invalid characters.",
    "date_created": "2017-04-24T15:47:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53203,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The maximum number of published tracks allowed in the Room at the same time has been reached",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe maximum number of published tracks allowed in the Room at the same time has been reached\n\n### Possible causes\n\n- A client added more than the maximum number of Tracks allowed per Participant.\n- A client added more than the maximum number of Tracks allowed per Room.\n\n### Possible solutions\n\n- Have the Client remove one or more Tracks.\n- Have the Client publish Tracks only if the number of Tracks in a Room is less than the maximum number of Tracks allowed per Room.\n",
    "causes": "* A client added more than the maximum number of Tracks allowed per Participant.\n* A client added more than the maximum number of Tracks allowed per Room.",
    "solutions": "* Have the Client remove one or more Tracks.\n* Have the Client publish Tracks only if the number of Tracks in a Room is less than the maximum number of Tracks allowed per Room.",
    "description": "The maximum number of published tracks allowed in the Room at the same time has been reached",
    "date_created": "2017-04-24T15:48:42Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53204,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant not found",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever attempting operation on a non-existent Participant.\n\n### Possible causes\n\n- Attempting operation on an non-existent Participant.\n\n### Possible solutions\n\n- Make sure participant exists before re-attempting operation.\n",
    "causes": "* Attempting operation on an non-existent Participant.",
    "solutions": "* Make sure participant exists before re-attempting operation.",
    "description": "Raised whenever attempting operation on a non-existent Participant.",
    "date_created": "2017-04-24T15:49:31Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53205,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant disconnected because of duplicate identity",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised by the server to the existing Participant when a new Participant joins a Room with the same identity as the existing Participant.\n\n### Possible causes\n\n- Using the same identity for more than one Room Participant.\n\n### Possible solutions\n\n- Make sure that each Participant joins a Room with a unique identity.\n",
    "causes": "* Using the same identity for more than one Room Participant.",
    "solutions": "* Make sure that each Participant joins a Room with a unique identity.",
    "description": "Raised by the server to the existing Participant when a new Participant joins a Room with the same identity as the existing Participant.",
    "date_created": "2017-05-09T23:59:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53206,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Participant concurrency quota was exceeded",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\n### Possible causes\n\nConnecting another Participant to a Room would exceed the account's concurrent Participants quota\n\n### Possible solutions\n\n- Complete in-progress Rooms to disconnect Participants.\n- Disconnect connected Participants.\n- Contact support/sales to increase the concurrent Participants quota for your account.\n",
    "causes": "Connecting another Participant to a Room would exceed the account's concurrent Participants quota",
    "solutions": "* Complete in-progress Rooms to disconnect Participants.\n* Disconnect connected Participants.\n* Contact support/sales to increase the concurrent Participants quota for your account.",
    "description": "",
    "date_created": "2020-05-13T23:04:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53207,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "MaxPublishedTracks is out of range",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\n### 53207: MaxPublishedTracks is out of range\n\nRaised in the REST API when MaxPublishedTracks is set out of range.\n\n### Possible causes\n\n- REST API call to Create Room instance with MaxPublishedTracks out of range.\n\n### Possible solutions\n\n- Set the MaxPublishedTracks value from 0 (unlimited) up to the maximum allowed for the Room Type.\n",
    "causes": "* REST API call to Create Room instance with MaxPublishedTracks out of range.",
    "solutions": "* Set the MaxPublishedTracks value from 0 (unlimited) up to the maximum allowed for the Room Type.",
    "description": "",
    "date_created": "2020-11-11T01:19:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53208,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant's bandwidth profile configuration is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nParticipant's bandwidth profile configuration is invalid\n\n### Possible causes\n\nAt least one of the bandwidth profile configuration parameters is invalid. This could mean out of range, missing entirely, etc.\n\n### Possible solutions\n\n- Check the bandwidth profile documentation and confirm that your configuration is valid.\n",
    "causes": "At least one of the bandwidth profile configuration parameters is invalid. This could mean out of range, missing entirely, etc.",
    "solutions": "* Check the bandwidth profile documentation and confirm that your configuration is valid.",
    "description": "Participant's bandwidth profile configuration is invalid",
    "date_created": "2020-10-26T15:45:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53209,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant status is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised in the REST API when Status is not valid.\n\n### Possible causes\n\nREST API call to Update Participant instance with Status that is invalid.\n\n### Possible solutions\n\nSet Status to disconnected.\n",
    "causes": "REST API call to Update Participant instance with Status that is invalid.",
    "solutions": "Set Status to disconnected.",
    "description": "Raised in the REST API when Status is not valid.",
    "date_created": "2021-05-28T17:43:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53215,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Subscribe Rule(s)",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised by the server when a Subscribe Rule is invalid.\n\n### Possible causes\n\n- An empty set of rules `[]` is not allowed\n- A rule containing `all` must have a value of `true` and must not contain any other expression.\n- A rule must contain a `type` field.\n- If `kind` is used, it must be one of `audio`, `video` or `data`.\n- A maximum of 20 rules are allowed per subscriber.\n\n### Possible solutions\n\n- Ensure the set of rules has at least one rule.\n- If you include `all` in a rule, the only other allowed field is `type`.\n- Ensure every rule has a `type` field.\n- Ensure `kind` is one of the valid enum values.\n- Limit the number of rules to 20 or fewer.\n",
    "causes": "* An empty set of rules `[]` is not allowed\n* A rule containing `all` must have a value of `true` and must not contain any other expression.\n* A rule must contain a `type` field.\n* If `kind` is used, it must be one of `audio`, `video` or `data`.\n* A maximum of 20 rules are allowed per subscriber.",
    "solutions": "* Ensure the set of rules has at least one rule.\n* If you include `all` in a rule, the only other allowed field is `type`.\n* Ensure every rule has a `type` field.\n* Ensure `kind` is one of the valid enum values.\n* Limit the number of rules to 20 or fewer.",
    "description": "Raised by the server when a Subscribe Rule is invalid.",
    "date_created": "2019-05-07T22:18:42Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53216,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant session length exceeded",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised by the server when a Participant's session length exceeds the MaxParticipantDuration value.\n\n### Possible causes\n\n- The Participant's session length exceeds the MaxParticipantDuration value.\n- MaxParticipantDuration can be set to a value (in seconds) between 10 minutes (600 seconds) and 24 hours (86400 seconds).\n\n### Possible solutions\n\n- Increase the MaxParticipantDuration configuration for Rooms (up to 24 hours) via REST API upon room creation or via the Video Settings page in Twilio Console to change the default value.\n",
    "causes": "* The Participant's session length exceeds the MaxParticipantDuration value.\n* MaxParticipantDuration can be set to a value (in seconds) between 10 minutes (600 seconds) and 24 hours (86400 seconds).",
    "solutions": "* Increase the MaxParticipantDuration configuration for Rooms (up to 24 hours) via REST API upon room creation or via the Video Settings page in Twilio Console to change the default value.",
    "description": "Raised by the server when a Participant's session length exceeds the MaxParticipantDuration value.",
    "date_created": "2021-10-20T19:50:43Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53217,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "maxAudioTracks or maxVideoTracks configuration is out of range",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe configuration value provided for maxVideoTracks or maxAudioTracks in the bandwidthProfile options is out of range\n\n### Possible causes\n\nThe provided configuration for maxAudioTracks or maxVideoTracks is out of range\n\n### Possible solutions\n\nUse a valid value for maxVideoTracks and maxAudioTracks\n",
    "causes": "The provided configuration for maxAudioTracks or maxVideoTracks is out of range",
    "solutions": "Use a valid value for maxVideoTracks and maxAudioTracks",
    "description": "The configuration value provided for maxVideoTracks or maxAudioTracks in the bandwidthProfile options is out of range",
    "date_created": "2022-08-03T07:25:07Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53300,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Track is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Track is invalid, and the scenario is not covered by a more specific error code.\n",
    "causes": null,
    "solutions": null,
    "description": "Raised whenever a Track is invalid, and the scenario is not covered by a more specific error code.",
    "date_created": "2017-10-12T19:58:28Z",
    "last_updated": "2020-08-04T10:00:16.954Z"
  },
  {
    "code": 53301,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Track name is invalid",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Track name is invalid, and the scenario is not covered by a more specific error code.\n\n### Possible causes\n\n- The Track name does not adhere to the Track name requirements.\n\n### Possible solutions\n\n- Choose a Track name adheres to the Track name requirements.\n",
    "causes": "* The Track name does not adhere to the Track name requirements.",
    "solutions": "* Choose a Track name adheres to the Track name requirements.",
    "description": "Raised whenever a Track name is invalid, and the scenario is not covered by a more specific error code.",
    "date_created": "2017-10-12T19:59:08Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53302,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Track name is too long",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Track name is too long.\n\n### Possible causes\n\n- The Track name is too long.\n\n### Possible solutions\n\n- Choose a shorter Track name.\n",
    "causes": "* The Track name is too long.",
    "solutions": "* Choose a shorter Track name.",
    "description": "Raised whenever a Track name is too long.",
    "date_created": "2017-10-12T19:59:42Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53303,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Track name contains invalid characters",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Track name contains invalid characters.\n\n### Possible causes\n\n- The Track name contains an invalid UTF-8 byte sequence.\n\n### Possible solutions\n\n- Choose a Track name that is a valid UTF-8 string.\n",
    "causes": "* The Track name contains an invalid UTF-8 byte sequence.",
    "solutions": "* Choose a Track name that is a valid UTF-8 string.",
    "description": "Raised whenever a Track name contains invalid characters.",
    "date_created": "2017-10-12T20:00:45Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53304,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Track name is duplicated",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Participant is currently publishing a Track with the same name.\n\n### Possible causes\n\n- A Track with the same name already exists.\n\n### Possible solutions\n\n- Choose a Track name that is unique per Participant.\n",
    "causes": "* A Track with the same name already exists.",
    "solutions": "* Choose a Track name that is unique per Participant.",
    "description": "Raised whenever a Participant is currently publishing a Track with the same name.",
    "date_created": "2017-10-12T20:01:19Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53400,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client is unable to create or apply a local media description",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever a Client is unable to create or apply a local media description.\n\n### Possible causes\n\n- The Client may not be using a supported WebRTC implementation.\n- The Client may not have the necessary resources to create or apply a new media description.\n\n### Possible solutions\n\n- If you are experiencing this error using the JavaScript SDK, ensure you are running it with a supported WebRTC implementation.\n",
    "causes": "* The Client may not be using a supported WebRTC implementation.\n* The Client may not have the necessary resources to create or apply a new media description.",
    "solutions": "* If you are experiencing this error using the JavaScript SDK, ensure you are running it with a supported WebRTC implementation.",
    "description": "Raised whenever a Client is unable to create or apply a local media description.",
    "date_created": "2017-04-24T21:58:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53401,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Server is unable to create or apply a local media description",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRaised whenever the Server is unable to create or apply a local media description.\n",
    "causes": null,
    "solutions": null,
    "description": "Raised whenever the Server is unable to create or apply a local media description.",
    "date_created": "2019-05-22T22:52:32Z",
    "last_updated": "2020-08-04T10:00:08.096Z"
  },
  {
    "code": 53402,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Client is unable to apply a remote media description",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever the Client receives a remote media description but is unable to apply it.\n\n### Possible causes\n\n- The Client may not be using a supported WebRTC implementation.\n- The Client may be connecting peer-to-peer with another Participant that is not using a supported WebRTC implementation.\n- The Client may not have the necessary resources to apply a new media description.\n\n### Possible solutions\n\n- If you are experiencing this error using the JavaScript SDK, ensure you are running it with a supported WebRTC implementation.\n",
    "causes": "* The Client may not be using a supported WebRTC implementation.\n* The Client may be connecting peer-to-peer with another Participant that is not using a supported WebRTC implementation.\n* The Client may not have the necessary resources to apply a new media description.",
    "solutions": "* If you are experiencing this error using the JavaScript SDK, ensure you are running it with a supported WebRTC implementation.",
    "description": "Raised whenever the Client receives a remote media description but is unable to apply it.",
    "date_created": "2017-04-24T22:00:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53403,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Server is unable to apply a remote media description",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\n### Possible causes\n\nRaised whenever the Video Media Server receives a remote media description but is unable to apply it.\n\n### Possible solutions\n\n- Update to the latest Twilio Video SDK\n- Use the latest browser version (if applicable)\n",
    "causes": "Raised whenever the Video Media Server receives a remote media description but is unable to apply it.",
    "solutions": "* Update to the latest Twilio Video SDK\n* Use the latest browser version (if applicable)",
    "description": "",
    "date_created": "2019-05-22T22:53:08Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53404,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No supported codec",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nRaised whenever the intersection of codecs supported by the Client and the Server (or, in peer-to-peer, the Client and another Participant) is empty.\n",
    "causes": null,
    "solutions": null,
    "description": "Raised whenever the intersection of codecs supported by the Client and the Server (or, in peer-to-peer, the Client and another Participant) is empty.",
    "date_created": "2019-05-22T22:53:50Z",
    "last_updated": "2020-08-04T10:00:08.058Z"
  },
  {
    "code": 53405,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media connection failed or Media activity ceased",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised by the Client or Server when the media connection fails, or raised by the Client when it detects that media has stopped flowing.\n\n### Possible causes\n\n- The Client was unable to establish a media connection.\n- An active media connection failed liveliness checks.\n- The flow of media on the connection has ceased.\n- In a Peer to Peer Room on iOS 14 and later, the Participant declined local network permission which is required when apps opt in to local network candidates.\n- Restrictive firewalls or NAT blocked Twilio media traffic or TURN fallbacks preventing or disrupting media, for example UDP 10000–60000 for RTP or TURN on ports 3478 and 443.\n\n### Possible solutions\n\n- If the problem persists in a Group Room, try connecting to or creating the Room in a different media region to lower latency and packet loss.\n- Check the Client's network connectivity and allow required Twilio Video media paths including UDP 10000–60000 and TURN fallbacks on 3478 and 443.\n- Ensure STUN and TURN connectivity is available. If you use custom ICE servers, verify the server URLs and credentials are valid.\n- For iOS 14 and later in Peer to Peer Rooms, only request Local Network access if your app needs it and otherwise avoid opting in to local network candidates to prevent permission-related failures.\n- Use the Video Preflight API to test signaling and media connectivity before joining a Room to catch issues early.\n- Implement reconnection handling so the app can recover automatically when the SDK emits a reconnecting event due to a media disruption associated with this error.\n\n#### Additional resources\n\n- [Reconnection States and Events](/docs/video/reconnection-states-and-events)\n- [Networking Considerations for Video Applications](/docs/video/networking-considerations)\n- [Video Regions and Global Low Latency](/docs/video/tutorials/video-regions-and-global-low-latency)\n",
    "causes": "* The Client was unable to establish a media connection.\n* An active media connection failed liveliness checks.\n* The flow of media on the connection has ceased.\n* In a Peer to Peer Room on iOS 14 and later, the Participant declined local network permission which is required when apps opt in to local network candidates.\n* Restrictive firewalls or NAT blocked Twilio media traffic or TURN fallbacks preventing or disrupting media, for example UDP 10000–60000 for RTP or TURN on ports 3478 and 443.",
    "solutions": "* If the problem persists in a Group Room, try connecting to or creating the Room in a different media region to lower latency and packet loss.\n* Check the Client's network connectivity and allow required Twilio Video media paths including UDP 10000–60000 and TURN fallbacks on 3478 and 443.\n* Ensure STUN and TURN connectivity is available. If you use custom ICE servers, verify the server URLs and credentials are valid.\n* For iOS 14 and later in Peer to Peer Rooms, only request Local Network access if your app needs it and otherwise avoid opting in to local network candidates to prevent permission-related failures.\n* Use the Video Preflight API to test signaling and media connectivity before joining a Room to catch issues early.\n* Implement reconnection handling so the app can recover automatically when the SDK emits a reconnecting event due to a media disruption associated with this error.",
    "description": "Raised by the Client or Server when the media connection fails, or raised by the Client when it detects that media has stopped flowing.",
    "date_created": "2019-02-01T15:37:51Z",
    "last_updated": "2026-04-01T14:16:33+01:00"
  },
  {
    "code": 53406,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "The data channel used by the Data Track had a problem",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThere was a problem while negotiating with the remote media connection and it was not able to complete the channel creation. This can mean that the subscriber does not support data channels or they can not create it at this moment. This can also happen if the data channel suffers connectivity problems once it was connected.\n\n### Possible causes\n\n- The subscriber does not support data channels.\n- The subscriber can not open a data channel at this moment.\n- The subscriber rejected the data channel.\n- ICE connection between the server and the client became disconnected.\n\n### Possible solutions\n\n- Verify ICE connection.\n- Verify that the subscriber supports data channels.\n- Verify if the subscriber has reached the maximum number of data channels.\n",
    "causes": "* The subscriber does not support data channels.\n* The subscriber can not open a data channel at this moment.\n* The subscriber rejected the data channel.\n* ICE connection between the server and the client became disconnected.",
    "solutions": "* Verify ICE connection.\n* Verify that the subscriber supports data channels.\n* Verify if the subscriber has reached the maximum number of data channels.",
    "description": "There was a problem while negotiating with the remote media connection and it was not able to complete the channel creation. This can mean that the subscriber does not support data channels or they can not create it at this moment. This can also happen if the data channel suffers connectivity problems once it was connected.",
    "date_created": "2021-03-09T08:09:35Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53407,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Media connection failed due to DTLS handshake failure",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThere was a problem while negotiating with the remote DTLS peer. Therefore the Participant will not be able to publish or subscribe to Tracks.\n\n### Possible causes\n\n- One or both of the DTLS peers have an invalid certificate.\n- One or both of the DTLS peers have an outdated version of DTLS.\n- One or both of the DTLS peers lost internet connectivity while performing a DTLS handshake.\n\n### Possible solutions\n\n- Ensure that your certificate is valid.\n- Ensure that you have a stable internet connection.\n- Ensure that the browser or the Mobile SDK supports newer versions of DTLS.\n",
    "causes": "* One or both of the DTLS peers have an invalid certificate.\n* One or both of the DTLS peers have an outdated version of DTLS.\n* One or both of the DTLS peers lost internet connectivity while performing a DTLS handshake.",
    "solutions": "* Ensure that your certificate is valid.\n* Ensure that you have a stable internet connection.\n* Ensure that the browser or the Mobile SDK supports newer versions of DTLS.",
    "description": "There was a problem while negotiating with the remote DTLS peer. Therefore the Participant will not be able to publish or subscribe to Tracks.",
    "date_created": "2021-03-09T08:12:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53408,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "ICE connection restart was attempted, but it is not allowed",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nICE restarts are only allowed on SDP offers, not answers\n\n### Possible causes\n\n- The client has attempted an ICE restart in a SDP answer.\n\n### Possible solutions\n\n- Ensure that the ICE restart happens only in SDP offers.\n",
    "causes": "* The client has attempted an ICE restart in a SDP answer.",
    "solutions": "* Ensure that the ICE restart happens only in SDP offers.",
    "description": "ICE restarts are only allowed on SDP offers, not answers",
    "date_created": "2021-03-09T08:15:14Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53500,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to acquire configuration",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever the Client is unable to acquire configuration information from the Server.\n\n### Possible causes\n\n- The device running your application lost its Internet connection.\n- A server-side error has occurred.\n\n### Possible solutions\n\n- Ensure the device running your application has access to a stable internet connection. If the problem persists, try connecting to another region.\n",
    "causes": "* The device running your application lost its Internet connection.\n* A server-side error has occurred.",
    "solutions": "* Ensure the device running your application has access to a stable internet connection. If the problem persists, try connecting to another region.",
    "description": "Raised whenever the Client is unable to acquire configuration information from the Server.",
    "date_created": "2017-06-05T17:34:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53501,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to acquire TURN credentials",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised whenever the Server is unable to return TURN credentials to the Client\n\n### Possible causes\n\n- A server-side error has occurred.\n\n### Possible solutions\n\n- If the problem persists, try connecting to another region.\n",
    "causes": "* A server-side error has occurred.",
    "solutions": "* If the problem persists, try connecting to another region.",
    "description": "Raised whenever the Server is unable to return TURN credentials to the Client",
    "date_created": "2017-06-05T17:36:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53600,
    "log_level": "ERROR",
    "log_type": null,
    "message": "S3 URL for recording upload is invalid",
    "secondary_message": "The recording will not be processed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe recording will not be processed.\n\nRaised when the S3 URL specified in the recording's metadata is not valid.\n\n### Possible causes\n\n- If you have specified your own bucket, this is most likely due to the fact that the URL does not conform to an S3 URL.\n\n### Possible solutions\n\n- Set a valid S3 URL for uploading media or leave blank (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket, this is most likely due to the fact that the URL does not conform to an S3 URL.",
    "solutions": "* Set a valid S3 URL for uploading media or leave blank (media will be uploaded to the default bucket).",
    "description": "The recording will not be processed. Raised when the S3 URL specified in the recording's metadata is not valid.",
    "date_created": "2018-02-19T10:33:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53601,
    "log_level": "ERROR",
    "log_type": null,
    "message": "AWS credentials for recording upload are invalid",
    "secondary_message": "The recording will not be processed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe recording will not be processed.\n\nRaised when the AWS credentials provided in the recording's metadata for uploading the media to S3 are not valid.\n\n### Possible causes\n\n- Providing invalid AWS credentials for S3 access.\n\n### Possible solutions\n\n- Set AWS credentials to a correct value.\n",
    "causes": "* Providing invalid AWS credentials for S3 access.",
    "solutions": "* Set AWS credentials to a correct value.",
    "description": "The recording will not be processed. Raised when the AWS credentials provided in the recording's metadata for uploading the media to S3 are not valid.",
    "date_created": "2018-02-19T10:36:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53602,
    "log_level": "ERROR",
    "log_type": null,
    "message": "AWS encryption key for recording upload is invalid",
    "secondary_message": "The recording will not be processed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe recording will not be processed.\n\nRaised when the AWS encryption key provided in the recording's metadata for uploading the media to S3 is not valid.\n\n### Possible causes\n\n- Providing an invalid AWS encryption key for uploading to S3.\n\n### Possible solutions\n\n- Set AWS encryption key to a correct value.\n",
    "causes": "* Providing an invalid AWS encryption key for uploading to S3.",
    "solutions": "* Set AWS encryption key to a correct value.",
    "description": "The recording will not be processed. Raised when the AWS encryption key provided in the recording's metadata for uploading the media to S3 is not valid.",
    "date_created": "2018-02-19T10:36:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53603,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal failure while processing a recording",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when an internal error prevents us from processing the recording.\n\n### Possible causes\n\n- We screwed up. Sorry!\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": "* We screwed up. Sorry!",
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "Raised when an internal error prevents us from processing the recording.",
    "date_created": "2018-02-19T10:37:53Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53604,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Failed to upload the recording to S3",
    "secondary_message": "A new attempt will be made after a delay",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when an error prevented us from uploading the media to S3.\n\n### Possible causes\n\n- Despite our best efforts to upload your media to S3, we couldn't do it this time. We'll attempt again shortly.\n\n### Possible solutions\n\n- Please verify that any S3 configuration you've provided us is correct, such as AWS access credentials or AWS encryption key.\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": "* Despite our best efforts to upload your media to S3, we couldn't do it this time. We'll attempt again shortly.",
    "solutions": "* Please verify that any S3 configuration you've provided us is correct, such as AWS access credentials or AWS encryption key.\n* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "Raised when an error prevented us from uploading the media to S3.",
    "date_created": "2018-02-19T10:38:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53605,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Internal failure when retrieving your account's recording settings",
    "secondary_message": "A new attempt will be made after a delay",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when an error prevented us from retrieving your account's recording settings.\n\nThe recording will not be uploaded until we manage to read your recording settings.\n\n### Possible causes\n\n- An internal error stopped us from uploading the recording. We'll attempt again shortly.\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": "* An internal error stopped us from uploading the recording. We'll attempt again shortly.",
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "Raised when an error prevented us from retrieving your account's recording settings. The recording will not be uploaded until we manage to read your recording settings.",
    "date_created": "2018-02-19T10:40:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53606,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Internal failure when creating the recording resource",
    "secondary_message": "A new attempt will be made after a delay",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when an error prevented us from creating an internal resource tracking the media recording.\n\nThe recording will not be accessible directly from Twilio until we remediate the situation but the media file has probably been stored safely to S3.\n\n### Possible causes\n\n- An internal error prevented us from creating a resource. We'll attempt again shortly.\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": "* An internal error prevented us from creating a resource. We'll attempt again shortly.",
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "Raised when an error prevented us from creating an internal resource tracking the media recording. The recording will not be accessible directly from Twilio until we remediate the situation but the media file has probably been stored safely to S3.",
    "date_created": "2018-06-29T13:06:14Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53607,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Internal failure when updating the recording resource",
    "secondary_message": "A new attempt will be made after a delay",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when an error prevented us from updating an internal resource tracking the media recording.\n\nThe recording's media will not be accessible directly from Twilio until we remediate the situation but the media file has probably been stored safely to S3.\n\n### Possible causes\n\n- An internal error prevented us from updating a resource. We'll attempt again shortly.\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": "* An internal error prevented us from updating a resource. We'll attempt again shortly.",
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "Raised when an error prevented us from updating an internal resource tracking the media recording. The recording's media will not be accessible directly from Twilio until we remediate the situation but the media file has probably been stored safely to S3.",
    "date_created": "2018-06-29T13:07:16Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53610,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid URL for external S3 bucket in recording settings",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe S3 bucket URL configured in your account's recording settings is not valid.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified your own bucket, this is most likely due to the fact that the URL does not conform to an S3 URL.\n\n### Possible solutions\n\n- In the recording settings section of your account's console, set a valid S3 URL for uploading media or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket, this is most likely due to the fact that the URL does not conform to an S3 URL.",
    "solutions": "* In the recording settings section of your account's console, set a valid S3 URL for uploading media or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The S3 bucket URL configured in your account's recording settings is not valid. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-05-24T12:45:45Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53611,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid AWS credentials to access external S3 bucket in recording settings",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe AWS credentials configured in your account's recording settings are not valid.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified your own bucket and access credentials, this is most likely due to the fact that the AWS Access Key ID and Secret Access Key are not correct.\n\n### Possible solutions\n\n- In the recording settings section of your account's console, set some valid credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket and access credentials, this is most likely due to the fact that the AWS Access Key ID and Secret Access Key are not correct.",
    "solutions": "* In the recording settings section of your account's console, set some valid credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The AWS credentials configured in your account's recording settings are not valid. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-05-24T13:15:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53612,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid public key for media tracks encryption in recording settings",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe public key configured in your account's recording settings is not valid.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified a public key to cryptographically protect raw media tracks, this is most likely due to the fact that the key value is not correct.\n\n### Possible solutions\n\n- In the recording settings section of your account's console, set a valid public key or disable the encryption (media will be uploaded in raw).\n",
    "causes": "* If you have specified a public key to cryptographically protect raw media tracks, this is most likely due to the fact that the key value is not correct.",
    "solutions": "* In the recording settings section of your account's console, set a valid public key or disable the encryption (media will be uploaded in raw).",
    "description": "The public key configured in your account's recording settings is not valid. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-05-24T13:22:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53613,
    "log_level": "WARNING",
    "log_type": null,
    "message": "AWS credentials to access external S3 bucket could not be loaded",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe AWS credentials configured in your account's recording settings could not be loaded.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\nThis is most likely due to the fact that the AWS Credentials resource has been removed from Twilio.\n\n### Possible solutions\n\n- In the recording settings section of your account's console, create and assign a new credentials entry for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "This is most likely due to the fact that the AWS Credentials resource has been removed from Twilio.",
    "solutions": "* In the recording settings section of your account's console, create and assign a new credentials entry for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The AWS credentials configured in your account's recording settings could not be loaded. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-05-24T13:33:22Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53614,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Public key credentials for media tracks encryption could not be loaded",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe public key credentials configured in your account's recording settings could not be loaded.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified a public key to cryptographically protect raw media tracks, this is most likely due to the fact that the credentials resource has been removed from Twilio.\n\n### Possible solutions\n\n- In the recording settings section of your account's console, create and assign a new valid public key or disable the encryption (media will be uploaded in raw).\n",
    "causes": "* If you have specified a public key to cryptographically protect raw media tracks, this is most likely due to the fact that the credentials resource has been removed from Twilio.",
    "solutions": "* In the recording settings section of your account's console, create and assign a new valid public key or disable the encryption (media will be uploaded in raw).",
    "description": "The public key credentials configured in your account's recording settings could not be loaded. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-05-24T13:36:47Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53615,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Access denied to external S3 bucket configured in recording settings",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nWe failed to upload media to the external S3 bucket configured in your account's recording settings.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\nThis is a configuration error that can have different root causes\n\n- The IAM user referenced in the credentials provided does not have enough permissions to upload to the bucket.\n- The bucket configured in your settings has SSE-S3 enabled. The only default encryption mechanism supported is SSE-KMS. Please review the guides for more informtion\n\n### Possible solutions\n\n- In the recording settings section of your account's console, review the credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n- If SSE-S3 is enabled, please consider switching to SSE-KMS.\n",
    "causes": "This is a configuration error that can have different root causes - The IAM user referenced in the credentials provided does not have enough permissions to upload to the bucket.\n- The bucket configured in your settings has SSE-S3 enabled. The only default encryption mechanism supported is SSE-KMS. Please review the guides for more informtion",
    "solutions": "* In the recording settings section of your account's console, review the credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n* If SSE-S3 is enabled, please consider switching to SSE-KMS.",
    "description": "We failed to upload media to the external S3 bucket configured in your account's recording settings. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-05-24T14:07:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53616,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Deleted a recording with custom configuration as time for retries was depleted",
    "secondary_message": "The recording has been removed and will not be available",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nTwilio gave up on uploading your recording with custom configuration, as time for retries was depleted. The recording has been removed and will not be available.\n\n### Possible causes\n\n- There was an error with your account's recording settings, either due to the access credentials for your own bucket or to the encryption key.\n\n### Possible solutions\n\n- In the recording settings section of your account's console, review the credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n- In the recording settings section of your account's console, set a valid public key or disable the encryption (media will be uploaded in raw).\n",
    "causes": "* There was an error with your account's recording settings, either due to the access credentials for your own bucket or to the encryption key.",
    "solutions": "* In the recording settings section of your account's console, review the credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n* In the recording settings section of your account's console, set a valid public key or disable the encryption (media will be uploaded in raw).",
    "description": "Twilio gave up on uploading your recording with custom configuration, as time for retries was depleted. The recording has been removed and will not be available.",
    "date_created": "2018-09-28T16:02:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53617,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Internal failure when bulk deleting compositions from your account",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nDespite our best efforts, we have failed to delete some or all of the selected compositions. The operation has been cancelled.\n\n### Possible causes\n\nThere was an internal failure when processing your request. This action will not be retried.\n\n### Possible solutions\n\n- Please retry the delete operation with the same parameters.\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and which filter was used to select the compositions.\n",
    "causes": "There was an internal failure when processing your request. This action will not be retried.",
    "solutions": "* Please retry the delete operation with the same parameters.\n* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and which filter was used to select the compositions.",
    "description": "Despite our best efforts, we have failed to delete some or all of the selected compositions. The operation has been cancelled.",
    "date_created": "2019-07-05T11:13:01Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53620,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid URL for external S3 bucket in composition settings",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe S3 bucket URL configured in your account's composition settings is not valid.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified your own bucket, this is most likely due to the fact that the URL does not conform to an S3 URL.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, set a valid S3 URL for uploading media or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket, this is most likely due to the fact that the URL does not conform to an S3 URL.",
    "solutions": "* In the composition settings section of your account's console, set a valid S3 URL for uploading media or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The S3 bucket URL configured in your account's composition settings is not valid. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-06-11T14:35:17Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53621,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid AWS credentials to access external S3 bucket in composition settings",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe AWS credentials configured in your account's composition settings are not valid.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified your own bucket and access credentials, this is most likely due to the fact that the AWS Access Key ID and Secret Access Key are not correct.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, set some valid credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket and access credentials, this is most likely due to the fact that the AWS Access Key ID and Secret Access Key are not correct.",
    "solutions": "* In the composition settings section of your account's console, set some valid credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The AWS credentials configured in your account's composition settings are not valid. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-06-11T14:36:28Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53622,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Invalid public key for media tracks encryption in composition settings",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe public key configured in your account's composition settings is not valid.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified a public key to cryptographically protect media tracks, this is most likely due to the fact that the key value is not correct.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, set a valid public key or disable the encryption (media will be uploaded in raw).\n",
    "causes": "* If you have specified a public key to cryptographically protect media tracks, this is most likely due to the fact that the key value is not correct.",
    "solutions": "* In the composition settings section of your account's console, set a valid public key or disable the encryption (media will be uploaded in raw).",
    "description": "The public key configured in your account's composition settings is not valid. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-06-11T14:37:32Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53623,
    "log_level": "WARNING",
    "log_type": null,
    "message": "AWS credentials to access external S3 bucket could not be loaded",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe AWS credentials configured in your account's composition settings could not be loaded.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified your own bucket and access credentials, this is most likely due to the fact that the credentials resource has been removed from Twilio.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, create and assign a new credentials entry for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket and access credentials, this is most likely due to the fact that the credentials resource has been removed from Twilio.",
    "solutions": "* In the composition settings section of your account's console, create and assign a new credentials entry for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The AWS credentials configured in your account's composition settings could not be loaded. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-06-11T14:38:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53624,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Public key credentials for media tracks encryption could not be loaded",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe public key credentials configured in your account's composition settings could not be loaded.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified a public key to cryptographically protect media tracks, this is most likely due to the fact that the credentials resource has been removed from Twilio.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, create and assign a new valid public key or disable the encryption (media will be uploaded in raw).\n",
    "causes": "* If you have specified a public key to cryptographically protect media tracks, this is most likely due to the fact that the credentials resource has been removed from Twilio.",
    "solutions": "* In the composition settings section of your account's console, create and assign a new valid public key or disable the encryption (media will be uploaded in raw).",
    "description": "The public key credentials configured in your account's composition settings could not be loaded. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-06-11T14:39:24Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53625,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Access denied to external S3 bucket configured in composition settings",
    "secondary_message": "The media will not be uploaded until the configuration has been fixed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nFailed to upload media to the external S3 bucket configured in your account's composition settings.\n\nThe media will not be uploaded until the configuration has been fixed.\n\n### Possible causes\n\n- If you have specified your own bucket and access credentials, this is most likely due to the fact that the configuration is out of date.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, review the credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket and access credentials, this is most likely due to the fact that the configuration is out of date.",
    "solutions": "* In the composition settings section of your account's console, review the credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).",
    "description": "Failed to upload media to the external S3 bucket configured in your account's composition settings. The media will not be uploaded until the configuration has been fixed.",
    "date_created": "2018-06-11T14:40:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53626,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal failure while processing media composition",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when an internal error prevents us from processing the media composition.\n\n### Possible causes\n\n- We screwed up. Sorry!\n\n### Possible solutions\n\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": "* We screwed up. Sorry!",
    "solutions": "* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "Raised when an internal error prevents us from processing the media composition.",
    "date_created": "2018-06-25T10:20:16Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53627,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal failure when updating the composition resource",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised when an error prevented us from updating the resource tracking the media composition.\n\nThe media will not be accessible directly from Twilio until we remediate the situation but the composition media file has probably been stored safely to S3.\n\n### Possible causes\n\n- An internal error prevented us from updating a resource. Sorry!\n\n### Possible solutions\n\n- Please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and what you were trying to do when it occurred!\n",
    "causes": "* An internal error prevented us from updating a resource. Sorry!",
    "solutions": "* Please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and what you were trying to do when it occurred!",
    "description": "Raised when an error prevented us from updating the resource tracking the media composition. The media will not be accessible directly from Twilio until we remediate the situation but the composition media file has probably been stored safely to S3.",
    "date_created": "2018-06-25T10:21:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53628,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Room recordings deleted",
    "secondary_message": "The recordings for the room have been deleted from the system",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe recordings for the room specified in your composition job have been deleted. Although the metadata for the recordings is present, the media has been removed from the Twilio Cloud and can't be recovered.\n\n### Possible causes\n\n- You have deleted your Room Recordings, either from the console or the API.\n\n### Possible solutions\n\n- There's no solution for this. Once the recorded media files are deleted from the system, they are gone forever.\n",
    "causes": "* You have deleted your Room Recordings, either from the console or the API.",
    "solutions": "* There's no solution for this. Once the recorded media files are deleted from the system, they are gone forever.",
    "description": "The recordings for the room specified in your composition job have been deleted. Although the metadata for the recordings is present, the media has been removed from the Twilio Cloud and can't be recovered.",
    "date_created": "2018-07-02T13:45:27Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53629,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Media file could not be found",
    "secondary_message": "Media file required for a composition couldn't be found in storage",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nA media file required for a composition hasn't been found in storage.\n\n### Possible causes\n\n- The media file has been deleted in our permanent storage. This could be due to a lifecycle configuration that has deleted the file, and this state is not reflected in the metadata for that recording.\n\n### Possible solutions\n\nPlease contact support to investigate the issue and\n\n- determine why the media file was deleted\n- to have the metadata for that recording reflect the current state\n",
    "causes": "* The media file has been deleted in our permanent storage. This could be due to a lifecycle configuration that has deleted the file, and this state is not reflected in the metadata for that recording.",
    "solutions": "Please contact support to investigate the issue and - determine why the media file was deleted\n- to have the metadata for that recording reflect the current state",
    "description": "A media file required for a composition hasn't been found in storage.",
    "date_created": "2018-07-26T08:33:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53630,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Empty track list for composition",
    "secondary_message": "The composition job did not start",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe combination of sources and exclusions passed to the composition resulted in an empty track list. The composition job did not start.\n\n### Possible causes\n\n- You specified an incorrect list of sources and exclusions, audio and video, which have resulted in an empty track list.\n\n### Possible solutions\n\n- Recreate the composition using an updated list of sources and exclusions.\n",
    "causes": "* You specified an incorrect list of sources and exclusions, audio and video, which have resulted in an empty track list.",
    "solutions": "* Recreate the composition using an updated list of sources and exclusions.",
    "description": "The combination of sources and exclusions passed to the composition resulted in an empty track list. The composition job did not start.",
    "date_created": "2018-09-28T16:09:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53631,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Failed to enqueue a room composition from a configured composition hook",
    "secondary_message": "The group room will not be composed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThere was a failure creating or enqueuing a composition for a completed Group Room, using the configuration from a composition hook.\n\n### Possible causes\n\n- We failed to create the composition or the configuration was not suitable for a specific Group Room.\n\n### Possible solutions\n\n- Verify the composition hook configured in your account's console.\n- The composition can also be launched manually using the [REST API](/docs/video/api/compositions-resource).\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n",
    "causes": "* We failed to create the composition or the configuration was not suitable for a specific Group Room.",
    "solutions": "* Verify the composition hook configured in your account's console.\n* The composition can also be launched manually using the [REST API](/docs/video/api/compositions-resource).\n* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!",
    "description": "There was a failure creating or enqueuing a composition for a completed Group Room, using the configuration from a composition hook.",
    "date_created": "2018-09-28T16:22:30Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53632,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Failed to enqueue a room composition",
    "secondary_message": "The job will not be executed",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThere was a failure enqueuing a composition for processing.\n\n### Possible causes\n\n- There was an internal error when enqueuing the composition.\n\n### Possible solutions\n\n- The composition can be launched again using the [REST API](/docs/video/api/compositions-resource).\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n",
    "causes": "* There was an internal error when enqueuing the composition.",
    "solutions": "* The composition can be launched again using the [REST API](/docs/video/api/compositions-resource).\n* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!",
    "description": "There was a failure enqueuing a composition for processing.",
    "date_created": "2018-09-28T16:25:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53633,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Composition is too large",
    "secondary_message": "The composition job did not start.",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe composition job did not start because the combined size of the media sources passed to the composition is too large to process.\n\n### Possible causes\n\nDue to fixed hardware constraints, Twilio is not able to compose all the media tracks specified in the composition create request. Check the maximum size on [Known limitations](/docs/video/api/compositions-resource#known-issues)\n\n### Possible solutions\n\nPlease reduce the scope of the composition by excluding some of the sources to verity that they are below our maximum size. If not possible, please [contact us](/help/contact) and provide a description of the media files you are attempting to compose.\n",
    "causes": "Due to fixed hardware constraints, Twilio is not able to compose all the media tracks specified in the composition create request. Check the maximum size on [Known limitations](/docs/video/api/compositions-resource#known-issues)",
    "solutions": "Please reduce the scope of the composition by excluding some of the sources to verity that they are below our maximum size. If not possible, please [contact us](/help/contact) and provide a description of the media files you are attempting to compose.",
    "description": "The composition job did not start because the combined size of the media sources passed to the composition is too large to process.",
    "date_created": "2019-08-13T12:08:41Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53660,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Status Callback response timed out",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nRaised by a Twilio Service when the StatusCallback request takes too long or does not respond to callbacks sent\n\n### Possible causes\n\n- The server receiving status callbacks sent by Twilio takes too long too respond.\n\n### Possible solutions\n\n- Make sure service receiving callbacks does not block incoming requests.\n",
    "causes": "* The server receiving status callbacks sent by Twilio takes too long too respond.",
    "solutions": "* Make sure service receiving callbacks does not block incoming requests.",
    "description": "Raised by a Twilio Service when the StatusCallback request takes too long or does not respond to callbacks sent",
    "date_created": "2017-12-28T11:43:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53661,
    "log_level": "WARNING",
    "log_type": null,
    "message": "StatusCallbackMethod is invalid",
    "secondary_message": "The recording will be processed, but status notifications will not be sent",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe recording will be processed, but status notifications will not be sent.\n\nRaised when StatusCallbackMethod is set to an invalid value.\n\n### Possible causes\n\n- Recording created with StatusCallbackMethod set to an invalid value.\n\n### Possible solutions\n\n- Set StatusCallbackMethod to either `GET` or `POST` or leave blank for the default (`POST`).\n",
    "causes": "* Recording created with StatusCallbackMethod set to an invalid value.",
    "solutions": "* Set StatusCallbackMethod to either `GET` or `POST` or leave blank for the default (`POST`).",
    "description": "The recording will be processed, but status notifications will not be sent. Raised when StatusCallbackMethod is set to an invalid value.",
    "date_created": "2018-02-19T10:41:57Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53662,
    "log_level": "WARNING",
    "log_type": null,
    "message": "StatusCallback is invalid",
    "secondary_message": "The recording will be processed, but status notifications will not be sent",
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe recording will be processed, but status notifications will not be sent.\n\nRaised when StatusCallback is not a valid URL.\n\n### Possible causes\n\n- Recording created with StatusCallback set to an invalid URL.\n\n### Possible solutions\n\n- Set StatusCallback to a valid URL or leave blank (status notifications will not be sent).\n",
    "causes": "* Recording created with StatusCallback set to an invalid URL.",
    "solutions": "* Set StatusCallback to a valid URL or leave blank (status notifications will not be sent).",
    "description": "The recording will be processed, but status notifications will not be sent. Raised when StatusCallback is not a valid URL.",
    "date_created": "2018-02-19T10:43:12Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53663,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Internal failure when bulk deleting recordings from your account",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nDespite our best efforts, we have failed to delete some or all of the selected recordings. The operation has been cancelled.\n\n### Possible causes\n\nThere was an internal failure when processing your request. This action will not be retried.\n\n### Possible solutions\n\n- Please retry the delete operation with the same parameters.\n- If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n- Note the time of the error and which filter was used to select the recordings.\n",
    "causes": "There was an internal failure when processing your request. This action will not be retried.",
    "solutions": "* Please retry the delete operation with the same parameters.\n* If the error persists, please [contact us](/help/contact) to figure out what has happened and how to fix it!\n* Note the time of the error and which filter was used to select the recordings.",
    "description": "Despite our best efforts, we have failed to delete some or all of the selected recordings. The operation has been cancelled.",
    "date_created": "2019-07-29T08:29:08Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53664,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid URL for external S3 bucket in composition settings",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe S3 bucket URL configured in your account's composition settings is not valid.\n\nMedia composition has been marked as FAILED and will not be retried.\n\n### Possible causes\n\n- If you have specified your own bucket, this is most likely due to the fact that the URL does not conform to an S3 URL.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, set a valid S3 URL for uploading media or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket, this is most likely due to the fact that the URL does not conform to an S3 URL.",
    "solutions": "* In the composition settings section of your account's console, set a valid S3 URL for uploading media or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The S3 bucket URL configured in your account's composition settings is not valid. Media composition has been marked as FAILED and will not be retried.",
    "date_created": "2021-04-13T07:25:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53665,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid AWS credentials to access external S3 bucket in composition settings",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe AWS credentials configured in your account's composition settings are not valid.\n\nMedia composition has been marked as FAILED and will not be retried.\n\n### Possible causes\n\n- If you have specified your own bucket and access credentials, this is most likely due to the fact that the AWS Access Key ID and Secret Access Key are not correct.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, set some valid credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket and access credentials, this is most likely due to the fact that the AWS Access Key ID and Secret Access Key are not correct.",
    "solutions": "* In the composition settings section of your account's console, set some valid credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The AWS credentials configured in your account's composition settings are not valid. Media composition has been marked as FAILED and will not be retried.",
    "date_created": "2021-04-13T07:32:36Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53666,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid public key for media tracks encryption in composition settings",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe public key configured in your account's composition settings is not valid.\n\nMedia composition has been marked as FAILED and will not be retried.\n\n### Possible causes\n\n- If you have specified a public key to cryptographically protect media tracks, this is most likely due to the fact that the key value is not correct.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, set a valid public key or disable the encryption (media will be uploaded in raw).\n",
    "causes": "* If you have specified a public key to cryptographically protect media tracks, this is most likely due to the fact that the key value is not correct.",
    "solutions": "* In the composition settings section of your account's console, set a valid public key or disable the encryption (media will be uploaded in raw).",
    "description": "The public key configured in your account's composition settings is not valid. Media composition has been marked as FAILED and will not be retried.",
    "date_created": "2021-04-13T07:33:35Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53667,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "AWS credentials to access external S3 bucket could not be loaded",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe AWS credentials configured in your account's composition settings could not be loaded.\n\nMedia composition has been marked as FAILED and will not be retried.\n\n### Possible causes\n\n- If you have specified your own bucket and access credentials, this is most likely due to the fact that the credentials resource has been removed from Twilio.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, create and assign a new credentials entry for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket and access credentials, this is most likely due to the fact that the credentials resource has been removed from Twilio.",
    "solutions": "* In the composition settings section of your account's console, create and assign a new credentials entry for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).",
    "description": "The AWS credentials configured in your account's composition settings could not be loaded. Media composition has been marked as FAILED and will not be retried.",
    "date_created": "2021-04-13T07:34:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53668,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Public key credentials for media tracks encryption could not be loaded",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe public key credentials configured in your account's composition settings could not be loaded.\n\nMedia composition has been marked as FAILED and will not be retried.\n\n### Possible causes\n\n- If you have specified a public key to cryptographically protect media tracks, this is most likely due to the fact that the credentials resource has been removed from Twilio.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, create and assign a new valid public key or disable the encryption (media will be uploaded in raw).\n",
    "causes": "* If you have specified a public key to cryptographically protect media tracks, this is most likely due to the fact that the credentials resource has been removed from Twilio.",
    "solutions": "* In the composition settings section of your account's console, create and assign a new valid public key or disable the encryption (media will be uploaded in raw).",
    "description": "The public key credentials configured in your account's composition settings could not be loaded. Media composition has been marked as FAILED and will not be retried.",
    "date_created": "2021-04-13T07:36:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53669,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Access denied to external S3 bucket configured in composition settings",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nFailed to upload media to the external S3 bucket configured in your account's composition settings.\n\nMedia composition has been marked as FAILED and will not be retried.\n\n### Possible causes\n\n- If you have specified your own bucket and access credentials, this is most likely due to the fact that the configuration is out of date.\n\n### Possible solutions\n\n- In the composition settings section of your account's console, review the credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).\n",
    "causes": "* If you have specified your own bucket and access credentials, this is most likely due to the fact that the configuration is out of date.",
    "solutions": "* In the composition settings section of your account's console, review the credentials for accessing your S3 bucket or disable the external storage (media will be uploaded to the default bucket).",
    "description": "Failed to upload media to the external S3 bucket configured in your account's composition settings. Media composition has been marked as FAILED and will not be retried.",
    "date_created": "2021-04-13T07:37:07Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53670,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Video Room Realtime Transcriptions: Configuration Error",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nA 53670 error is an indication there is something wrong with the Room Realtime Transcription configuration.\n\n### Possible causes\n\n- Configuration is missing required properties\n- Configuration contains invalid properties or invalid combination of properties\n\n### Possible solutions\n\n- Check the TranscriptionError message included in the Debugger message in Console for further information and update your Room Transcription configuration\n",
    "causes": "* Configuration is missing required properties\n* Configuration contains invalid properties or invalid combination of properties",
    "solutions": "* Check the TranscriptionError message included in the Debugger message in Console for further information and update your Room Transcription configuration",
    "description": "A 53670 error is an indication there is something wrong with the Room Realtime Transcription configuration.",
    "date_created": "2025-05-08T14:50:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53671,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Video Room Realtime Transcriptions: Provider Error",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nA 53671 Error is an indication that the transcription provider configuration was rejected by the underlying Speech-to-Text provider.\n\n### Possible causes\n\n- Provider configuration contains invalid or unsupported properties\n\n### Possible solutions\n\n- Check any provider specific configuration.\n- Check the TranscriptionError message included in the Debugger message in Console for further information and update your Room Transcription configuration\n",
    "causes": "* Provider configuration contains invalid or unsupported properties",
    "solutions": "* Check any provider specific configuration.\n* Check the TranscriptionError message included in the Debugger message in Console for further information and update your Room Transcription configuration",
    "description": "A 53671 Error is an indication that the transcription provider configuration was rejected by the underlying Speech-to-Text provider.",
    "date_created": "2025-05-08T14:51:32Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53672,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Video Room Realtime Transcriptions: Unsupported Configuration attribute(s) in TranscriptionsConfiguration json object",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nA 53672 Error is an indication that Room Creation TranscriptionsConfiguration object contains invalid or unsupported attributes.\n\n### Possible causes\n\n- Some of the TranscriptionsConfiguration attribute(s) referenced in the Room creation are not supported.\n\n### Possible solutions\n\n- Review the Debugger message in console and update or remove the offending attributes\n",
    "causes": "* Some of the TranscriptionsConfiguration attribute(s) referenced in the Room creation are not supported.",
    "solutions": "* Review the Debugger message in console and update or remove the offending attributes",
    "description": "A 53672 Error is an indication that Room Creation TranscriptionsConfiguration object contains invalid or unsupported attributes.",
    "date_created": "2025-05-08T14:52:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53673,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Video Room Realtime Transcriptions: Internal Error",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nA 53673 Error is an indication that there is an internal server error and some internal services failed\n\n### Possible causes\n\n- Some errors occurred during communication with Twilio internal services.\n\n### Possible solutions\n\n- If this is a continuous experience, please contact Twilio Support\n",
    "causes": "* Some errors occurred during communication with Twilio internal services.",
    "solutions": "* If this is a continuous experience, please contact Twilio Support",
    "description": "A 53673 Error is an indication that there is an internal server error and some internal services failed",
    "date_created": "2025-05-08T14:53:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53674,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Video Room Realtime Transcriptions: Intelligence Service Error",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nA 32655 Error indicates a connection to the configured Intelligence Service could not be established due to an internal error. You will continue to receive real-time transcription events, however no Language Operators will be executed, and the transcript will not be persisted.\n\n### Possible causes\n\n- Some internal error occurred while trying to establish connection with the configured Intelligence service\n\n### Possible solutions\n\n- If this is a continuous experience, please contact Twilio Support\n",
    "causes": "* Some internal error occurred while trying to establish connection with the configured Intelligence service",
    "solutions": "* If this is a continuous experience, please contact Twilio Support",
    "description": "A 32655 Error indicates a connection to the configured Intelligence Service could not be established due to an internal error. You will continue to receive real-time transcription events, however no Language Operators will be executed, and the transcript will not be persisted.",
    "date_created": "2025-12-18T08:23:30.006Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53675,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Video Room Realtime Transcriptions: Approaching transcription concurrency quota",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nTranscription usage is high. When capacity is fully utilized, new requests will be denied until resources become available.\n\n### Possible causes\n\n- High Video real-time transcription usage on your account\n\n### Possible solutions\n\n- Complete existing Video Rooms with active real-time transcription sessions\n- Contact support/sales to increase the transcription concurrency quota for your account\n",
    "causes": "* High Video real-time transcription usage on your account",
    "solutions": "* Complete existing Video Rooms with active real-time transcription sessions\n* Contact support/sales to increase the transcription concurrency quota for your account",
    "description": "Transcription usage is high. When capacity is fully utilized, new requests will be denied until resources become available.",
    "date_created": "2025-12-23T08:32:59.149Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 53676,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Video Room Realtime Transcriptions: Transcription concurrency quota exceeded",
    "secondary_message": null,
    "product": "Programmable Video",
    "docs": "\n## Description\n\nThe concurrency quota for the number of active real-time transcriptions sessions in Video Rooms on this account has been exceeded. No further real-time transcriptions sessions will be started for your Video Rooms until active usage decreases.\n\n### Possible causes\n\n- High Video real-time transcription usage on your account\n\n### Possible solutions\n\n- Complete existing Video Rooms with active real-time transcription sessions\n- Contact support/sales to increase the transcription concurrency quota for your account\n",
    "causes": "* High Video real-time transcription usage on your account",
    "solutions": "* Complete existing Video Rooms with active real-time transcription sessions\n* Contact support/sales to increase the transcription concurrency quota for your account",
    "description": "The concurrency quota for the number of active real-time transcriptions sessions in Video Rooms on this account has been exceeded. No further real-time transcriptions sessions will be started for your Video Rooms until active usage decreases.",
    "date_created": "2026-01-28T10:54:05.831Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid If-Match header",
    "secondary_message": "The specified If-Match header is invalid.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified If-Match header cannot be used for concurrency control.\n\n### Possible causes\n\n- The value specified in the If-Match header is not a valid Sync object revision.\n\n### Possible solutions\n\nThe value you provide should be a revision assigned by the Sync service when interacting with an object.\n\n- In SDKs, this is the `revision` field, part of the object descriptor.\n- When using REST (e.g. via the Twilio Helper libraries) this is the `ETag` header provided in responses.\n",
    "causes": "* The value specified in the If-Match header is not a valid Sync object revision.",
    "solutions": "The value you provide should be a revision assigned by the Sync service when interacting with an object. - In SDKs, this is the `revision` field, part of the object descriptor.\n- When using REST (e.g. via the Twilio Helper libraries) this is the `ETag` header provided in responses.",
    "description": "The specified If-Match header cannot be used for concurrency control.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Sync Test",
    "secondary_message": "Sync Test",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Test\n\n### Possible solutions\n\n- Test\n",
    "causes": "* Test",
    "solutions": "* Test",
    "description": "",
    "date_created": "2016-02-23T00:25:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54006,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Request entity too large",
    "secondary_message": "The size of the specified 'Data' parameter exceeds the size limit.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe size of the specified 'Data' parameter exceeds the size limit.\n\n### Possible causes\n\n- The size of a serialized JSON payload stored in a Sync Document, List Item, or Map Item cannot exceed 16KB; attempting to submit a larger object will yield this error.\n\n### Possible solutions\n\n- Reduce the size of the submitted JSON object by removing or compressing data.\n- Split your data across multiple Map Items, List Items, or Documents.\n",
    "causes": "* The size of a serialized JSON payload stored in a Sync Document, List Item, or Map Item cannot exceed 16KB; attempting to submit a larger object will yield this error.",
    "solutions": "* Reduce the size of the submitted JSON object by removing or compressing data.\n* Split your data across multiple Map Items, List Items, or Documents.",
    "description": "The size of the specified 'Data' parameter exceeds the size limit.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54007,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Access forbidden for identity",
    "secondary_message": "The identity specified in the Access Token does not have permissions to perform this operation.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe identity specified in the Access Token does not have permissions to perform this operation.\n\n### Possible causes\n\n- Sync's ACL control has been unintentionally enabled on your Sync service instance.\n- An SDK endpoint trying to read or write a Sync object does not have the correct permission configured.\n- The identity you specified in your SDK's token does not match the permissions that you intended for them.\n\n### Possible solutions\n\n- Disable the ACL feature on this Sync service. This will allow access from any SDK with a valid token. Do this by either unchecking the AclEnabled feature in the [Twilio Console](https://www.twilio.com/console/sync/services), or setting the `acl_enabled` flag to `false` via the [Sync REST API](/docs/sync/api/service).\n- Confirm a valid permission is configured via the [Sync Permissions REST API](/docs/sync/api/sync-permissions), and that the configured identity matches the identity you provide in your FPA Access Tokens.\n",
    "causes": "* Sync's ACL control has been unintentionally enabled on your Sync service instance.\n* An SDK endpoint trying to read or write a Sync object does not have the correct permission configured.\n* The identity you specified in your SDK's token does not match the permissions that you intended for them.",
    "solutions": "* Disable the ACL feature on this Sync service. This will allow access from any SDK with a valid token. Do this by either unchecking the AclEnabled feature in the [Twilio Console](https://www.twilio.com/console/sync/services), or setting the `acl_enabled` flag to `false` via the [Sync REST API](/docs/sync/api/service).\n* Confirm a valid permission is configured via the [Sync Permissions REST API](/docs/sync/api/sync-permissions), and that the configured identity matches the identity you provide in your FPA Access Tokens.",
    "description": "The identity specified in the Access Token does not have permissions to perform this operation.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54008,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid JSON",
    "secondary_message": "The specified 'Data' parameter is not valid JSON.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified 'Data' parameter is not valid JSON.\n\n### Possible causes\n\n- The data you submitted is not JSON, or\n- A missing or poorly-encoded character makes your JSON fail to parse.\n- You crafted the HTTP request yourself, and did not percent-encode the submitted JSON data in the form parameters.\n\n### Possible solutions\n\n- Use a tool like [JSONLint](https://jsonlint.com/) to check the data you're sending for syntax errors.\n- If you're crafting HTTP requests yourself, make sure all form data is percent-encoded.\n",
    "causes": "* The data you submitted is not JSON, or\n* A missing or poorly-encoded character makes your JSON fail to parse.\n* You crafted the HTTP request yourself, and did not percent-encode the submitted JSON data in the form parameters.",
    "solutions": "* Use a tool like [JSONLint](https://jsonlint.com/) to check the data you're sending for syntax errors.\n* If you're crafting HTTP requests yourself, make sure all form data is percent-encoded.",
    "description": "The specified 'Data' parameter is not valid JSON.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54009,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Rate limit exceeded",
    "secondary_message": "The rate of access to this resource exceeds the prescribed limits.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe rate of access to this resource exceeds the prescribed limits.\n\n### Possible causes\n\n- Your application is opening, reading or querying a single Sync object or its sub-items too often.\n- Your application is updating a single Sync object or its sub-items too often.\n- Your application is creating new Sync objects or their sub-items too often.\n\n### Possible solutions\n\n- Analyze your application to ensure that the *sustained* rate of reads and writes against a single Sync object, and the sustained rate of of new object creations, is below 20 per second during normal application activity. Note that this limit only applies to explicit reads or writes; delivered state updates are not limited.\n- Analyze your application to ensure that bursts of activity are uncommon; Sync provides a ten-second burst window during which you can exceed the sustained request-rate limits.\n- Make sure your application (client or backend) uses a good exponential back-off algorithm like [the one advocated by Amazon](https://www.awsarchitectureblog.com/2015/03/backoff.html) to retry on HTTP 429 (rate limiting) responses.\n",
    "causes": "* Your application is opening, reading or querying a single Sync object or its sub-items too often.\n* Your application is updating a single Sync object or its sub-items too often.\n* Your application is creating new Sync objects or their sub-items too often.",
    "solutions": "* Analyze your application to ensure that the *sustained* rate of reads and writes against a single Sync object, and the sustained rate of of new object creations, is below 20 per second during normal application activity. Note that this limit only applies to explicit reads or writes; delivered state updates are not limited.\n* Analyze your application to ensure that bursts of activity are uncommon; Sync provides a ten-second burst window during which you can exceed the sustained request-rate limits.\n* Make sure your application (client or backend) uses a good exponential back-off algorithm like [the one advocated by Amazon](https://www.awsarchitectureblog.com/2015/03/backoff.html) to retry on HTTP 429 (rate limiting) responses.",
    "description": "The rate of access to this resource exceeds the prescribed limits.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No parameters specified",
    "secondary_message": "Expected at least 1 optional parameter, but none were provided.",
    "product": "Sync",
    "docs": "\n## Description\n\nExpected at least 1 optional parameter, but none were provided.\n\n### Possible causes\n\n- The request expected at least 1 optional parameter, but none was provided.\n\n### Possible solutions\n\n- Add a parameter or confirm that the existing parameters are not misspelled.\n",
    "causes": "* The request expected at least 1 optional parameter, but none was provided.",
    "solutions": "* Add a parameter or confirm that the existing parameters are not misspelled.",
    "description": "Expected at least 1 optional parameter, but none were provided.",
    "date_created": "2018-11-21T09:25:29Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54011,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid TTL",
    "secondary_message": "The TTL value in seconds must either be empty or an integer between 0 and 31 536 000 (1 year).",
    "product": "Sync",
    "docs": "\n## Description\n\nThe TTL value in seconds must either be empty or an integer between 0 and 31 536 000 (1 year).\n\n### Possible causes\n\n- The value supplied for the TTL parameter does not fall into the valid range.\n\n### Possible solutions\n\n- Confirm a valid TTL parameter is being passed in your request.\n",
    "causes": "* The value supplied for the TTL parameter does not fall into the valid range.",
    "solutions": "* Confirm a valid TTL parameter is being passed in your request.",
    "description": "The TTL value in seconds must either be empty or an integer between 0 and 31 536 000 (1 year).",
    "date_created": "2019-01-07T13:50:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54050,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Service Instance not found",
    "secondary_message": "The specified Service Instance does not exist.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified Service Instance does not exist.\n\n### Possible causes\n\n- The supplied Sync Service Instance SID is erroneous.\n- The requested Sync Service Instance has been deleted.\n\n### Possible solutions\n\n- Use the [Twilio Console](https://twilio.com/console) or the [REST API](/docs/sync/api/service) to confirm your Sync service exists.\n- Make sure the Sync Service Instance SID passed in your request matches the SID of that service exactly.\n",
    "causes": "* The supplied Sync Service Instance SID is erroneous.\n* The requested Sync Service Instance has been deleted.",
    "solutions": "* Use the [Twilio Console](https://twilio.com/console) or the [REST API](/docs/sync/api/service) to confirm your Sync service exists.\n* Make sure the Sync Service Instance SID passed in your request matches the SID of that service exactly.",
    "description": "The specified Service Instance does not exist.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54051,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid webhook URL",
    "secondary_message": "The specified 'WebhookUrl' parameter is not a valid URL or exceeds the allowed length.",
    "product": "Sync",
    "docs": "\n## Description\n\n### Possible causes\n\n- You did not pass a correctly-formatted URL.\n- You are crafting HTTP requests yourself and passed a URL, but did not percent-encoded it.\n- You passed a webhook URL that is longer than 512 characters.\n\n### Possible solutions\n\nConfirm that you are providing a fully-qualified, percent-encoded HTTP URL no longer than 512 characters.\n",
    "causes": "* You did not pass a correctly-formatted URL.\n* You are crafting HTTP requests yourself and passed a URL, but did not percent-encoded it.\n* You passed a webhook URL that is longer than 512 characters.",
    "solutions": "Confirm that you are providing a fully-qualified, percent-encoded HTTP URL no longer than 512 characters.",
    "description": "",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54053,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid friendly name",
    "secondary_message": "The specified 'FriendlyName' parameter is not valid.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified 'FriendlyName' parameter is not valid.\n\n### Possible causes\n\n- The value supplied by the FriendlyName parameter is an empty string.\n- The value supplied by the FriendlyName parameter exceeds 255 characters.\n\n### Possible solutions\n\nConfirm the FriendlyName string parameter is either unspecified (`null`) or a nonempty string of up to 1-255 Unicode characters.\n",
    "causes": "* The value supplied by the FriendlyName parameter is an empty string.\n* The value supplied by the FriendlyName parameter exceeds 255 characters.",
    "solutions": "Confirm the FriendlyName string parameter is either unspecified (`null`) or a nonempty string of up to 1-255 Unicode characters.",
    "description": "The specified 'FriendlyName' parameter is not valid.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54056,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Account cannot access requested Service Instance",
    "secondary_message": "Account cannot access requested Service Instance.",
    "product": "Sync",
    "docs": "\n## Description\n\nAccount cannot access requested Service Instance.\n\n### Possible causes\n\n- The requested Sync Service does not belong to this account.\n- You have multiple accounts, and this Sync Service does not belong to the account whose credentials you used.\n\n### Possible solutions\n\nConfirm that you're using the correct credentials for this instance's account. This could mean:\n\n- Make sure the Access Token specifies the correct Account SID\n- Make sure that the Account SID + AuthToken pair you're using (for REST access) matches the correct account\n- Make sure the API Key + API secret you're using (for REST access) belongs to the correct account.\n",
    "causes": "* The requested Sync Service does not belong to this account.\n* You have multiple accounts, and this Sync Service does not belong to the account whose credentials you used.",
    "solutions": "Confirm that you're using the correct credentials for this instance's account. This could mean: - Make sure the Access Token specifies the correct Account SID\n- Make sure that the Account SID + AuthToken pair you're using (for REST access) matches the correct account\n- Make sure the API Key + API secret you're using (for REST access) belongs to the correct account.",
    "description": "Account cannot access requested Service Instance.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Document not found",
    "secondary_message": "The specified Document does not exist.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified Document does not exist.\n\n### Possible causes\n\n- The supplied Sync Document SID or Unique Name is erroneous.\n- This Sync Document has been deleted.\n\n### Possible solutions\n\nConfirm that the document you're requesting exists, and that you are using the precise SID or unique name it is assigned.\n",
    "causes": "* The supplied Sync Document SID or Unique Name is erroneous.\n* This Sync Document has been deleted.",
    "solutions": "Confirm that the document you're requesting exists, and that you are using the precise SID or unique name it is assigned.",
    "description": "The specified Document does not exist.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Document data",
    "secondary_message": "The 'Data' parameter cannot be null.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe 'Data' parameter cannot be null.\n\n### Possible causes\n\nYour request does not include a Data parameter which is required for this operation.\n\n### Possible solutions\n\nConfirm that a valid Data parameter containing a serialized, utf-8 JSON object is being passed in your request.\n",
    "causes": "Your request does not include a Data parameter which is required for this operation.",
    "solutions": "Confirm that a valid Data parameter containing a serialized, utf-8 JSON object is being passed in your request.",
    "description": "The 'Data' parameter cannot be null.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54103,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Document revision mismatch",
    "secondary_message": "The actual revision of the Document does not match the expected revision.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe actual revision of the Document does not match the expected revision.\n\n### Possible causes\n\n- Your update to this Sync Document has conflicted with a request submitted elsewhere.\n- The value specified in the If-Match header is erroneous.\n\n### Possible solutions\n\nIf your update conflicts with a concurrent update elsewhere, the correct solution is to read the latest revision (on the client SDK: wait for an update) and then re-attempt your update until you succeed. Consider that, since the data has changed, you may not want to submit the exact same update a second time. On the JavaScript SDK, we suggest using the [mutate](/docs/sync/mutation-and-conflict-resolution#javascript-sdk-conflict-walkthrough) convenience function.\n\nThe value you provide in the If-Match header should be a revision assigned by the Sync service when interacting with an object.\n\n- In SDKs, this is the `revision` field, part of the object descriptor.\n- When using REST (e.g. via the Twilio Helper libraries) this is the `ETag` header provided in responses.\n",
    "causes": "* Your update to this Sync Document has conflicted with a request submitted elsewhere.\n* The value specified in the If-Match header is erroneous.",
    "solutions": "If your update conflicts with a concurrent update elsewhere, the correct solution is to read the latest revision (on the client SDK: wait for an update) and then re-attempt your update until you succeed. Consider that, since the data has changed, you may not want to submit the exact same update a second time. On the JavaScript SDK, we suggest using the [mutate](/docs/sync/mutation-and-conflict-resolution#javascript-sdk-conflict-walkthrough) convenience function. The value you provide in the If-Match header should be a revision assigned by the Sync service when interacting with an object. - In SDKs, this is the `revision` field, part of the object descriptor.\n- When using REST (e.g. via the Twilio Helper libraries) this is the `ETag` header provided in responses.",
    "description": "The actual revision of the Document does not match the expected revision.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54150,
    "log_level": "ERROR",
    "log_type": null,
    "message": "List not found",
    "secondary_message": "The specified List does not exist.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified List does not exist.\n\n### Possible causes\n\n- The supplied Sync List SID is erroneous.\n- The requested Sync List has been deleted.\n\n### Possible solutions\n\nConfirm that the list you're requesting exists, and that you are using the precise SID or unique name it is assigned.\n",
    "causes": "* The supplied Sync List SID is erroneous.\n* The requested Sync List has been deleted.",
    "solutions": "Confirm that the list you're requesting exists, and that you are using the precise SID or unique name it is assigned.",
    "description": "The specified List does not exist.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54151,
    "log_level": "ERROR",
    "log_type": null,
    "message": "List Item not found",
    "secondary_message": "The specified List Item does not exist.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified List Item does not exist.\n\n### Possible causes\n\n- The specified Sync List item index is incorrect.\n- The requested item of a Sync List has been deleted.\n\n### Possible solutions\n\nConfirm a valid Sync List index is being passed in your request.\n",
    "causes": "* The specified Sync List item index is incorrect.\n* The requested item of a Sync List has been deleted.",
    "solutions": "Confirm a valid Sync List index is being passed in your request.",
    "description": "The specified List Item does not exist.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54155,
    "log_level": "ERROR",
    "log_type": null,
    "message": "List Item revision mismatch",
    "secondary_message": "The actual revision of the List Item does not match the expected revision.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe actual revision of the List Item does not match the expected revision.\n\n### Possible causes\n\n- Your update to this Sync List Item has conflicted with a request submitted elsewhere.\n- The value specified in the If-Match header is erroneous.\n\n### Possible solutions\n\nIf your update conflicts with a concurrent update elsewhere, the correct solution is to read the latest data (on the client SDK: wait for an update) and then re-attempt your update until you succeed. Consider that, since the data has changed, you may not want to submit the exact same update a second time. On the JavaScript SDK, we suggest using the [mutate](/docs/sync/mutation-and-conflict-resolution#javascript-sdk-conflict-walkthrough) convenience function.\n\nThe value you provide in the If-Match header should be a revision assigned by the Sync service when interacting with the object.\n\n- In SDKs, this is the `revision` field, part of the object descriptor.\n- When using REST (e.g. via the Twilio Helper libraries) this is the `ETag` header provided in responses.\n",
    "causes": "* Your update to this Sync List Item has conflicted with a request submitted elsewhere.\n* The value specified in the If-Match header is erroneous.",
    "solutions": "If your update conflicts with a concurrent update elsewhere, the correct solution is to read the latest data (on the client SDK: wait for an update) and then re-attempt your update until you succeed. Consider that, since the data has changed, you may not want to submit the exact same update a second time. On the JavaScript SDK, we suggest using the [mutate](/docs/sync/mutation-and-conflict-resolution#javascript-sdk-conflict-walkthrough) convenience function. The value you provide in the If-Match header should be a revision assigned by the Sync service when interacting with the object. - In SDKs, this is the `revision` field, part of the object descriptor.\n- When using REST (e.g. via the Twilio Helper libraries) this is the `ETag` header provided in responses.",
    "description": "The actual revision of the List Item does not match the expected revision.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54156,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid List Item data",
    "secondary_message": "The 'Data' parameter cannot be null.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe 'Data' parameter cannot be null.\n\n### Possible causes\n\n- Your request does not include a Data parameter which is required for this operation.\n\n### Possible solutions\n\nConfirm that a valid Data parameter containing a serialized, utf-8 JSON object is being passed in your request.\n",
    "causes": "* Your request does not include a Data parameter which is required for this operation.",
    "solutions": "Confirm that a valid Data parameter containing a serialized, utf-8 JSON object is being passed in your request.",
    "description": "The 'Data' parameter cannot be null.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54200,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Map not found",
    "secondary_message": "The specified Map does not exist.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified Map does not exist.\n\n### Possible causes\n\n- The supplied Sync Map SID is erroneous.\n- The requested Sync Map has been deleted.\n\n### Possible solutions\n\nConfirm that the map you're requesting exists, and that you are using the precise SID or unique name it is assigned.\n",
    "causes": "* The supplied Sync Map SID is erroneous.\n* The requested Sync Map has been deleted.",
    "solutions": "Confirm that the map you're requesting exists, and that you are using the precise SID or unique name it is assigned.",
    "description": "The specified Map does not exist.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Map Item not found",
    "secondary_message": "The specified Map Item does not exist.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified Map Item does not exist.\n\n### Possible causes\n\n- The specified Sync Map item key is incorrect.\n- The requested item of a Sync Map has been deleted.\n\n### Possible solutions\n\nConfirm a valid Sync Map key is being passed in your request.\n",
    "causes": "* The specified Sync Map item key is incorrect.\n* The requested item of a Sync Map has been deleted.",
    "solutions": "Confirm a valid Sync Map key is being passed in your request.",
    "description": "The specified Map Item does not exist.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54205,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Map Item revision mismatch",
    "secondary_message": "The actual revision of the Map Item does not match the expected revision.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe actual revision of the Map Item does not match the expected revision.\n\n### Possible causes\n\n- Your update to this Sync Map Item has conflicted with a request submitted elsewhere.\n- The value specified in the If-Match header is erroneous.\n\n### Possible solutions\n\nIf your update conflicts with a concurrent update elsewhere, the correct solution is to read the latest data (on the client SDK: wait for an update) and then re-attempt your update until you succeed. Consider that, since the data has changed, you may not want to submit the exact same update a second time. On the JavaScript SDK, we suggest using the [mutate](/docs/sync/mutation-and-conflict-resolution#javascript-sdk-conflict-walkthrough) convenience function.\n\nThe value you provide in the If-Match header should be a revision assigned by the Sync service when interacting with the object.\n\n- In SDKs, this is the `revision` field, part of the object descriptor.\n- When using REST (e.g. via the Twilio Helper libraries) this is the `ETag` header provided in responses.\n",
    "causes": "* Your update to this Sync Map Item has conflicted with a request submitted elsewhere.\n* The value specified in the If-Match header is erroneous.",
    "solutions": "If your update conflicts with a concurrent update elsewhere, the correct solution is to read the latest data (on the client SDK: wait for an update) and then re-attempt your update until you succeed. Consider that, since the data has changed, you may not want to submit the exact same update a second time. On the JavaScript SDK, we suggest using the [mutate](/docs/sync/mutation-and-conflict-resolution#javascript-sdk-conflict-walkthrough) convenience function. The value you provide in the If-Match header should be a revision assigned by the Sync service when interacting with the object. - In SDKs, this is the `revision` field, part of the object descriptor.\n- When using REST (e.g. via the Twilio Helper libraries) this is the `ETag` header provided in responses.",
    "description": "The actual revision of the Map Item does not match the expected revision.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54206,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Map Item data",
    "secondary_message": "The 'Data' parameter cannot be null.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe 'Data' parameter cannot be null.\n\n### Possible causes\n\n- Your request does not include a Data parameter which is required for this operation.\n\n### Possible solutions\n\nConfirm that a valid Data parameter containing a serialized, utf-8 JSON object is being passed in your request.\n",
    "causes": "* Your request does not include a Data parameter which is required for this operation.",
    "solutions": "Confirm that a valid Data parameter containing a serialized, utf-8 JSON object is being passed in your request.",
    "description": "The 'Data' parameter cannot be null.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54208,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Map Item already exists",
    "secondary_message": "A Map Item with given key already exists in the Map.",
    "product": "Sync",
    "docs": "\n## Description\n\nA Map Item with given key already exists in the Map.\n\n### Possible causes\n\n- Another Item with the matching Key already exists in this Sync Map, causing a conflict.\n- The provided Key parameter is not set correctly.\n- Your original Map Item creation request has been sent more than once due to a retrier error.\n\n### Possible solutions\n\n- Confirm a valid Key parameter is being passed in request, matching your expectation.\n- Delete a previous Map Item with the matching Key if you no longer need it.\n- Pick a different Key. If your items should be unique, consider using a UUID.\n",
    "causes": "* Another Item with the matching Key already exists in this Sync Map, causing a conflict.\n* The provided Key parameter is not set correctly.\n* Your original Map Item creation request has been sent more than once due to a retrier error.",
    "solutions": "* Confirm a valid Key parameter is being passed in request, matching your expectation.\n* Delete a previous Map Item with the matching Key if you no longer need it.\n* Pick a different Key. If your items should be unique, consider using a UUID.",
    "description": "A Map Item with given key already exists in the Map.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54209,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Map Item key",
    "secondary_message": "The Map Item key must be a string with length 1-256.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe Map Item key must be a string with length 1-256.\n\n### Possible causes\n\n- The value supplied by the Map Key parameter contains an empty string.\n- The string supplied by the Map Key parameter exceeds 256 characters.\n\n### Possible solutions\n\n- Confirm a valid Map Key parameter is being passed in your request.\n",
    "causes": "* The value supplied by the Map Key parameter contains an empty string.\n* The string supplied by the Map Key parameter exceeds 256 characters.",
    "solutions": "* Confirm a valid Map Key parameter is being passed in your request.",
    "description": "The Map Item key must be a string with length 1-256.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54250,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Message Stream not found",
    "secondary_message": "The specified Message Stream does not exist.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified Message Stream does not exist.\n\n### Possible causes\n\n- The supplied Message Stream SID is erroneous.\n- The requested Message Stream has been deleted.\n\n### Possible solutions\n\nConfirm a valid Message Stream SID is being passed in your request.\n",
    "causes": "* The supplied Message Stream SID is erroneous.\n* The requested Message Stream has been deleted.",
    "solutions": "Confirm a valid Message Stream SID is being passed in your request.",
    "description": "The specified Message Stream does not exist.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54251,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Message Stream Message data",
    "secondary_message": "The 'Data' parameter cannot be null.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe 'Data' parameter cannot be null.\n\n### Possible causes\n\n- Your request does not include a Data parameter which is required for this operation.\n\n### Possible solutions\n\nConfirm that a valid Data parameter containing a serialized, utf-8 JSON object is being passed in your request.\n",
    "causes": "* Your request does not include a Data parameter which is required for this operation.",
    "solutions": "Confirm that a valid Data parameter containing a serialized, utf-8 JSON object is being passed in your request.",
    "description": "The 'Data' parameter cannot be null.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54300,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unique name not found",
    "secondary_message": "No object with the specified unique name exists.",
    "product": "Sync",
    "docs": "\n## Description\n\nNo object with the specified unique name exists.\n\n### Possible causes\n\n- The provided UniqueName parameter is incorrect.\n- The requested Sync object with given unique name has been deleted.\n\n### Possible solutions\n\nConfirm that a valid UniqueName parameter is being passed in your request.\n",
    "causes": "* The provided UniqueName parameter is incorrect.\n* The requested Sync object with given unique name has been deleted.",
    "solutions": "Confirm that a valid UniqueName parameter is being passed in your request.",
    "description": "No object with the specified unique name exists.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54301,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unique name already exists",
    "secondary_message": "An object with the specified unique name already exists.",
    "product": "Sync",
    "docs": "\n## Description\n\nAn object with the specified unique name already exists.\n\n### Possible causes\n\n- Another object with the matching Unique Name already exists in this Sync Service Instance, causing a conflict.\n- The provided UniqueName parameter is not set correctly.\n- Your original Sync object creation request has been sent more than once due to a retrier error.\n\n### Possible solutions\n\n- Confirm a valid UniqueName parameter is being passed in request, matching your expectation.\n- Delete a previous object with the matching Unique Name if you no longer need it.\n- Pick a different Unique Name, or create an anonymous object addressed by a SID instead.\n",
    "causes": "* Another object with the matching Unique Name already exists in this Sync Service Instance, causing a conflict.\n* The provided UniqueName parameter is not set correctly.\n* Your original Sync object creation request has been sent more than once due to a retrier error.",
    "solutions": "* Confirm a valid UniqueName parameter is being passed in request, matching your expectation.\n* Delete a previous object with the matching Unique Name if you no longer need it.\n* Pick a different Unique Name, or create an anonymous object addressed by a SID instead.",
    "description": "An object with the specified unique name already exists.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54302,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid unique name",
    "secondary_message": "The unique name must be a string with length 1-256 and not match the SID pattern \\[A-Z]\\{2}\\[a-f0-9]\\{32}.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe unique name must be a string with length 1-256 and not match the SID pattern \\[A-Z]\\{2}\\[a-f0-9]\\{32}.\n\n### Possible causes\n\n- The value supplied by the UniqueName parameter is an empty string.\n- The value supplied by the UniqueName parameter exceeds 256 characters.\n\n### Possible solutions\n\nConfirm that your UniqueName is a string of 1-256 characters not matching the SID pattern.\n",
    "causes": "* The value supplied by the UniqueName parameter is an empty string.\n* The value supplied by the UniqueName parameter exceeds 256 characters.",
    "solutions": "Confirm that your UniqueName is a string of 1-256 characters not matching the SID pattern.",
    "description": "The unique name must be a string with length 1-256 and not match the SID pattern \\[A-Z]{2}\\[a-f0-9]{32}.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54351,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid identity",
    "secondary_message": "Identity must be a string with length 1-256.",
    "product": "Sync",
    "docs": "\n## Description\n\nIdentity must be a string with length 1-256.\n\n### Possible causes\n\n- The value supplied by the Identity parameter is an empty string.\n- The value supplied by the Identity parameter exceeds 256 characters.\n\n### Possible solutions\n\nConfirm than an Identity string parameter of 1-256 characters is being passed in request.\n",
    "causes": "* The value supplied by the Identity parameter is an empty string.\n* The value supplied by the Identity parameter exceeds 256 characters.",
    "solutions": "Confirm than an Identity string parameter of 1-256 characters is being passed in request.",
    "description": "Identity must be a string with length 1-256.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54354,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Permission not found",
    "secondary_message": "The specified Permission does not exist.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified Permission does not exist.\n\n### Possible causes\n\n- Requested permission does not exist because the provided Identity parameter is incorrect.\n- Permission for the specified Identity has been deleted.\n\n### Possible solutions\n\nConfirm that the Identity parameter being passed in your request answers to the correct identity in your app, and that it has permissions to access the given object.\n",
    "causes": "* Requested permission does not exist because the provided Identity parameter is incorrect.\n* Permission for the specified Identity has been deleted.",
    "solutions": "Confirm that the Identity parameter being passed in your request answers to the correct identity in your app, and that it has permissions to access the given object.",
    "description": "The specified Permission does not exist.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54419,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Number of subscriptions per connection is over the limit",
    "secondary_message": "An SDK attempted to open and listen for updates for more than 2000 objects",
    "product": "Sync",
    "docs": "\n## Description\n\nAn SDK attempted to open and listen for updates for more than 2000 objects.\n\n### Possible causes\n\n- A programming error has generated many queries in place of one.\n- Your app has created too many LiveQueries over time (often a problem in single-page apps).\n\n### Possible solutions\n\n- Make sure you're only issuing queries for information that you need.\n- When your UI no longer needs a query, use the `close()` method on the LiveQuery object to unsubscribe and release the corresponding Sync resources. See the [SDK Documentation](/docs/sync/javascript/changelog) for details.\n",
    "causes": "* A programming error has generated many queries in place of one.\n* Your app has created too many LiveQueries over time (often a problem in single-page apps).",
    "solutions": "* Make sure you're only issuing queries for information that you need.\n* When your UI no longer needs a query, use the `close()` method on the LiveQuery object to unsubscribe and release the corresponding Sync resources. See the [SDK Documentation](/docs/sync/javascript/changelog) for details.",
    "description": "An SDK attempted to open and listen for updates for more than 2000 objects.",
    "date_created": "2019-03-28T08:32:32Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54450,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid 'Direction' query parameter",
    "secondary_message": "The 'Direction' query parameter must be one of \\{'forward', 'backward'}.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe 'Direction' query parameter must be one of \\{'forward', 'backward'}.\n\n### Possible causes\n\n- The value supplied by the Direction query string parameter does not match *forward* or *backward* designators.\n\n### Possible solutions\n\nConfirm that a valid Direction query parameter is being passed in request.\n",
    "causes": "* The value supplied by the Direction query string parameter does not match *forward* or *backward* designators.",
    "solutions": "Confirm that a valid Direction query parameter is being passed in request.",
    "description": "The 'Direction' query parameter must be one of {'forward', 'backward'}.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54451,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid 'Order' query parameter",
    "secondary_message": "The 'Order' query parameter must be one of \\{'asc', 'desc'}.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe 'Order' query parameter must be one of \\{'asc', 'desc'}.\n\n### Possible causes\n\n- The value supplied by the Order query string parameter does not match *asc* or *desc* designators.\n\n### Possible solutions\n\nConfirm a valid Order query parameter is being passed in request.\n",
    "causes": "* The value supplied by the Order query string parameter does not match *asc* or *desc* designators.",
    "solutions": "Confirm a valid Order query parameter is being passed in request.",
    "description": "The 'Order' query parameter must be one of {'asc', 'desc'}.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54452,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid 'Bounds' query parameter",
    "secondary_message": "The 'Bounds' query parameter must be one of \\{'inclusive', 'exclusive'}.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe 'Bounds' query parameter must be one of \\{'inclusive', 'exclusive'}.\n\n### Possible causes\n\n- The value supplied by the Bounds query string parameter does not match *inclusive* or *exclusive* designators.\n\n### Possible solutions\n\nConfirm a valid Bounds query parameter is being passed in request.\n",
    "causes": "* The value supplied by the Bounds query string parameter does not match *inclusive* or *exclusive* designators.",
    "solutions": "Confirm a valid Bounds query parameter is being passed in request.",
    "description": "The 'Bounds' query parameter must be one of {'inclusive', 'exclusive'}.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54453,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid 'PageToken' query parameter",
    "secondary_message": "Your query specifies an invalid paging token.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified 'PageToken' query parameter is invalid.\n\n### Possible causes\n\n- The value supplied by the PageToken query string parameter is invalid or malformed.\n\n### Possible solutions\n\nEnsure that a valid PageToken parameter is supplied, as originally included in the previous/next page links under the *meta* block of pagination response.\n",
    "causes": "* The value supplied by the PageToken query string parameter is invalid or malformed.",
    "solutions": "Ensure that a valid PageToken parameter is supplied, as originally included in the previous/next page links under the *meta* block of pagination response.",
    "description": "The specified 'PageToken' query parameter is invalid.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54454,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sync: Invalid 'PageSize' query parameter",
    "secondary_message": "The requested page size must be in the range \\[1-1000].",
    "product": "Sync",
    "docs": "\n## Description\n\n### Possible causes\n\nThe value supplied by the PageSize query string parameter is not an integer in the required range.\n\n### Possible solutions\n\nConfirm that a valid PageSize query parameter is being passed in request.\n",
    "causes": "The value supplied by the PageSize query string parameter is not an integer in the required range.",
    "solutions": "Confirm that a valid PageSize query parameter is being passed in request.",
    "description": "",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54458,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid List Item index",
    "secondary_message": "The List Item index must be a non-negative integer.",
    "product": "Sync",
    "docs": "\n## Description\n\nThe List Item index must be a non-negative integer.\n\n### Possible causes\n\n- The value supplied by the List Index parameter contains a non-integer or a negative integer.\n\n### Possible solutions\n\nConfirm that a valid List Index parameter is being passed in your request.\n",
    "causes": "* The value supplied by the List Index parameter contains a non-integer or a negative integer.",
    "solutions": "Confirm that a valid List Index parameter is being passed in your request.",
    "description": "The List Item index must be a non-negative integer.",
    "date_created": "2017-09-04T00:00:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54502,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid index name",
    "secondary_message": "The specified index does not exist",
    "product": "Sync",
    "docs": "\n## Description\n\nThe specified index doesn't exist, therefore cannot be queried.\n\n### Possible causes\n\n- You may have made a typo.\n- You may have made a programming error that yields the empty string in place of a valid index name.\n\n### Possible solutions\n\n- Please review https://www.twilio.com/docs/sync/live-query for the currently supported list of indices, and make sure your code consumes one of those. There is no facility to create your own index today.\n",
    "causes": "* You may have made a typo.\n* You may have made a programming error that yields the empty string in place of a valid index name.",
    "solutions": "* Please review https://www.twilio.com/docs/sync/live-query for the currently supported list of indices, and make sure your code consumes one of those. There is no facility to create your own index today.",
    "description": "The specified index doesn't exist, therefore cannot be queried.",
    "date_created": "2019-04-09T06:40:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54507,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid query",
    "secondary_message": "Valid query expression is expected",
    "product": "Sync",
    "docs": "\n## Description\n\nValid query expression is expected.\n\n### Possible causes\n\n- You made a typo.\n- You've made a programming error that produces a corrupt expression (where usually the expression is valid).\n\n### Possible solutions\n\n- Check that you're adhering to the right format. Query expressions must be specified in infix notation in the form `field operator \"value\"`.\n- Check that you're using supported operators. Please review https://www.twilio.com/docs/sync/live-query for a list of supported operators and query examples examples.\n",
    "causes": "* You made a typo.\n* You've made a programming error that produces a corrupt expression (where usually the expression is valid).",
    "solutions": "* Check that you're adhering to the right format. Query expressions must be specified in infix notation in the form `field operator \"value\"`.\n* Check that you're using supported operators. Please review https://www.twilio.com/docs/sync/live-query for a list of supported operators and query examples examples.",
    "description": "Valid query expression is expected.",
    "date_created": "2019-04-09T06:47:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54509,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Query expression contains too many operators",
    "secondary_message": "The query expression must contain less than 30 operators",
    "product": "Sync",
    "docs": "\n## Description\n\nThe query expression must contain less than 30 operators.\n\n### Possible causes\n\n- The query expression contains 30 or more operators, probably a user-facing edge case or a programming error.\n\n### Possible solutions\n\n- Rewrite the query or the code generating it to use fewer operators or issue separate queries. You can use any combination of the following operators: `and`, `or`, `in`, `eq`, `not_in`, `not_eq `, `contains`, however overall number of operators in any query expression must be less than 30.\n",
    "causes": "* The query expression contains 30 or more operators, probably a user-facing edge case or a programming error.",
    "solutions": "* Rewrite the query or the code generating it to use fewer operators or issue separate queries. You can use any combination of the following operators: `and`, `or`, `in`, `eq`, `not_in`, `not_eq `, `contains`, however overall number of operators in any query expression must be less than 30.",
    "description": "The query expression must contain less than 30 operators.",
    "date_created": "2019-03-28T08:31:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54510,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Query expression contains an array with too many items",
    "secondary_message": "Any array within query expression must contain less than 30 items",
    "product": "Sync",
    "docs": "\n## Description\n\nAny array within query expression must contain less than 30 items.\n\n### Possible causes\n\n- The query expression contains an array with 30 or more elements.\n\n### Possible solutions\n\n- Rewrite your queries (or the code generating them) such that arrays never contain more than 30 items.\n",
    "causes": "* The query expression contains an array with 30 or more elements.",
    "solutions": "* Rewrite your queries (or the code generating them) such that arrays never contain more than 30 items.",
    "description": "Any array within query expression must contain less than 30 items.",
    "date_created": "2019-03-28T08:29:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 54666,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Too many hooks in today's soup",
    "secondary_message": "Maximum webhook count reached while serving fish soup",
    "product": "Sync",
    "docs": "\n## Description\n\nSymptoms:\n\n- A large inedible S-shaped metal foreign body is located in the soup\n\nRemediation:\n\n- Ensure the metal does not exhibit strong radioactive decay\n- Ensure customer's teeth are not misplaced\n- Ensure the soup was properly boiled to 100 degrees Centigrate or above\n- Ensure that Technical Regulatory Authority has certified your silverware\n- Ensure that your catering vendor has been certified by Health Board Inspection\n",
    "causes": null,
    "solutions": null,
    "description": "Symptoms: - A large inedible S-shaped metal foreign body is located in the soup Remediation: - Ensure the metal does not exhibit strong radioactive decay\n- Ensure customer's teeth are not misplaced\n- Ensure the soup was properly boiled to 100 degrees Centigrate or above\n- Ensure that Technical Regulatory Authority has certified your silverware\n- Ensure that your catering vendor has been certified by Health Board Inspection",
    "date_created": "2018-06-21T16:40:02Z",
    "last_updated": "2018-06-21T16:40:02Z"
  },
  {
    "code": 55555,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Instruction passed to TaskRouter",
    "secondary_message": null,
    "product": "TaskRouter",
    "docs": "\n## Description\n\nAn invalid instruction was passed to TaskRouter when responding to a pending Reservation.\n\n### Possible causes\n\n- An invalid instruction was passed to TaskRouter.\n\n### Possible solutions\n\n- Ensure only valid instructions are being used. A list of valid instructions can be found at https://www.twilio.com/docs/taskrouter/api/reservations#action-update\n",
    "causes": "* An invalid instruction was passed to TaskRouter.",
    "solutions": "* Ensure only valid instructions are being used. A list of valid instructions can be found at https://www.twilio.com/docs/taskrouter/api/reservations#action-update",
    "description": "An invalid instruction was passed to TaskRouter when responding to a pending Reservation.",
    "date_created": "2020-09-14T21:57:37Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 57001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Secret id' is empty",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means the `Secret id` value is empty in the request or destination configuration. In Segment's Amazon Kinesis Firehose destination, `Secret ID` is a required, read-only setting that functions as the `sts:ExternalId` for the IAM role trust relationship.\n\n### Possible causes\n\n- The `Secret id` parameter was omitted or sent as an empty value.\n- The destination's `Secret ID` setting was not configured before the IAM role trust relationship was created.\n- The IAM role was configured with a different external ID than the `Secret ID` value from the destination.\n\n### Possible solutions\n\n- Set a non-empty `Secret ID` value in the destination settings. For Amazon Kinesis Firehose destinations, open the Settings tab and use that value as the IAM role `sts:ExternalId`.\n- If multiple Kinesis sources share the same IAM role, add each allowed secret to the `sts:ExternalId` array.\n- If the `Secret ID` value needs to change, contact support to update it.\n\n#### Additional resources\n\n- [Amazon Kinesis Firehose Destination](/docs/segment/connections/destinations/catalog/amazon-kinesis-firehose)\n",
    "causes": "* The `Secret id` parameter was omitted or sent as an empty value.\n* The destination's `Secret ID` setting was not configured before the IAM role trust relationship was created.\n* The IAM role was configured with a different external ID than the `Secret ID` value from the destination.",
    "solutions": "* Set a non-empty `Secret ID` value in the destination settings. For Amazon Kinesis Firehose destinations, open the Settings tab and use that value as the IAM role `sts:ExternalId`.\n* If multiple Kinesis sources share the same IAM role, add each allowed secret to the `sts:ExternalId` array.\n* If the `Secret ID` value needs to change, contact support to update it.",
    "description": "This error means the `Secret id` value is empty in the request or destination configuration. In Segment's Amazon Kinesis Firehose destination, `Secret ID` is a required, read-only setting that functions as the `sts:ExternalId` for the IAM role trust relationship.",
    "date_created": "2021-05-07T08:41:35Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Secret id' is too long",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when the `Secret id` value in a Branded Comms request exceeds the allowed length.\n\n### Possible causes\n\n- The `Secret id` value in the request is longer than Twilio accepts.\n\n### Possible solutions\n\n- Pass a valid `Secret id` value that fits the expected length, then retry the request.\n- Review the request payload or integration that supplies `Secret id`, then remove any extra characters before you send it again.\n\n#### Additional resources\n\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Trust Hub](/docs/trust-hub)\n",
    "causes": "* The `Secret id` value in the request is longer than Twilio accepts.",
    "solutions": "* Pass a valid `Secret id` value that fits the expected length, then retry the request.\n* Review the request payload or integration that supplies `Secret id`, then remove any extra characters before you send it again.",
    "description": "This error appears when the `Secret id` value in a Branded Comms request exceeds the allowed length.",
    "date_created": "2021-05-07T08:43:37Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Secret id' is invalid for this Partner",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when the `Secret id` in the request does not match the Partner configuration that Twilio expects. Verify that you are sending the current secret for the correct Partner before you retry the request.\n\n### Possible causes\n\n- The `Secret id` value was copied incorrectly.\n- The request is using a secret that belongs to a different Partner, account, or environment.\n- The Partner configuration changed after the secret was issued or stored.\n- Extra spaces or formatting characters were added to the `Secret id` value.\n\n### Possible solutions\n\n- Confirm the exact `Secret id` for the Partner and resend the request with that value.\n- Remove any leading or trailing spaces before submitting the request.\n- Make sure the request targets the correct Partner configuration and environment.\n- Regenerate or update the Partner secret if the current value is no longer valid.\n\n#### Additional resources\n\n- [Troubleshooting](/docs/comms/troubleshooting)\n",
    "causes": "* The `Secret id` value was copied incorrectly.\n* The request is using a secret that belongs to a different Partner, account, or environment.\n* The Partner configuration changed after the secret was issued or stored.\n* Extra spaces or formatting characters were added to the `Secret id` value.",
    "solutions": "* Confirm the exact `Secret id` for the Partner and resend the request with that value.\n* Remove any leading or trailing spaces before submitting the request.\n* Make sure the request targets the correct Partner configuration and environment.\n* Regenerate or update the Partner secret if the current value is no longer valid.",
    "description": "This error occurs when the `Secret id` in the request does not match the Partner configuration that Twilio expects. Verify that you are sending the current secret for the correct Partner before you retry the request.",
    "date_created": "2021-05-07T08:46:13Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Category' is empty",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means the request included `Category` without a value. Twilio returns this error for Messaging requests when `Category` is empty or not specified.\n\n### Possible causes\n\n- `Category` was omitted from the request.\n- `Category` was sent as an empty string or blank value.\n\n### Possible solutions\n\n- Pass a valid, non-empty `Category` value in the request.\n- Validate required fields before sending the request so blank values are rejected earlier. Twilio validates provided parameters and surfaces the exact error, causes, and suggested solutions in error logs.\n\n#### Additional resources\n\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Programmable Messaging](/docs/messaging)\n",
    "causes": "* `Category` was omitted from the request.\n* `Category` was sent as an empty string or blank value.",
    "solutions": "* Pass a valid, non-empty `Category` value in the request.\n* Validate required fields before sending the request so blank values are rejected earlier. Twilio validates provided parameters and surfaces the exact error, causes, and suggested solutions in error logs.",
    "description": "This error means the request included `Category` without a value. Twilio returns this error for Messaging requests when `Category` is empty or not specified.",
    "date_created": "2021-05-07T08:48:06Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Category' is too long",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when the `Category` value in your request is longer than Twilio accepts. For SendGrid email sends, each category must be 255 characters or fewer.\n\n### Possible causes\n\n- The `Category` value contains more than 255 characters.\n\n### Possible solutions\n\n- Shorten `Category` to 255 characters or fewer before you send the request.\n- Validate the value in your application and reject or trim any overlong category names before submission.\n- Use categories for broad message grouping, and keep each category label concise.\n\n#### Additional resources\n\n- [Working with Categories](/docs/sendgrid/for-developers/sending-email/categories)\n- [Mail Send Errors](/docs/sendgrid/api-reference/mail-send/errors)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* The `Category` value contains more than 255 characters.",
    "solutions": "* Shorten `Category` to 255 characters or fewer before you send the request.\n* Validate the value in your application and reject or trim any overlong category names before submission.\n* Use categories for broad message grouping, and keep each category label concise.",
    "description": "This error occurs when the `Category` value in your request is longer than Twilio accepts. For SendGrid email sends, each category must be 255 characters or fewer.",
    "date_created": "2021-05-07T08:49:49Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 57006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'EventType' is empty",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n`EventType` is required in this request. When it is missing or empty, Twilio returns This error with the message `'EventType' is empty`.\n\n### Possible causes\n\n- The request did not include a value for `EventType`.\n- The request included `EventType`, but the value was empty.\n\n### Possible solutions\n\n- Pass a valid `EventType` value in the request.\n- Validate the payload before sending it so `EventType` is present and populated.\n\n#### Additional resources\n\n- [Programmable Messaging](/docs/messaging)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* The request did not include a value for `EventType`.\n* The request included `EventType`, but the value was empty.",
    "solutions": "* Pass a valid `EventType` value in the request.\n* Validate the payload before sending it so `EventType` is present and populated.",
    "description": "`EventType` is required in this request. When it is missing or empty, Twilio returns This error with the message `'EventType' is empty`.",
    "date_created": "2021-05-07T08:51:57Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 57007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'EventType' is absent",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns 57007 when a request reaches Twilio without the `EventType` parameter. Use Programmable Messaging Logs and Debugging Tools to inspect the failing request and confirm what your application sent.\n\n### Possible causes\n\n- Your application did not include `EventType` in the request.\n- The request was built incorrectly, so `EventType` never reached Twilio.\n\n### Possible solutions\n\n- Add the `EventType` parameter to the request and send it again.\n- Check Programmable Messaging Logs, then use Debugging Tools to inspect the request details and confirm the parameter is present.\n\n#### Additional resources\n\n- [Programmable Messaging API](/docs/messaging/api)\n- [Debugging Common Issues with SMS](/docs/messaging/guides/debugging-common-issues)\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n",
    "causes": "* Your application did not include `EventType` in the request.\n* The request was built incorrectly, so `EventType` never reached Twilio.",
    "solutions": "* Add the `EventType` parameter to the request and send it again.\n* Check Programmable Messaging Logs, then use Debugging Tools to inspect the request details and confirm the parameter is present.",
    "description": "Twilio returns 57007 when a request reaches Twilio without the `EventType` parameter. Use Programmable Messaging Logs and Debugging Tools to inspect the failing request and confirm what your application sent.",
    "date_created": "2021-05-07T08:53:47Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 57008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'EventType' format must be String",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the request includes `EventType`, but the value is not a string. This code appears in the Messaging error dictionary.\n\n### Possible causes\n\n- `EventType` was sent in a format other than a string.\n- The request payload was built or serialized incorrectly, so `EventType` did not reach Twilio as a string.\n\n### Possible solutions\n\n- Pass `EventType` as a string value in the request.\n- Review the code that builds the request payload and make sure `EventType` stays a string before you send it.\n- Check the error logs to inspect the exact request that Twilio received.\n\n#### Additional resources\n\n- [Programmable Messaging](/docs/messaging)\n- [Message resource](/docs/messaging/api/message-resource)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* `EventType` was sent in a format other than a string.\n* The request payload was built or serialized incorrectly, so `EventType` did not reach Twilio as a string.",
    "solutions": "* Pass `EventType` as a string value in the request.\n* Review the code that builds the request payload and make sure `EventType` stays a string before you send it.\n* Check the error logs to inspect the exact request that Twilio received.",
    "description": "Twilio returns this error when the request includes `EventType`, but the value is not a string. This code appears in the Messaging error dictionary.",
    "date_created": "2021-05-07T08:55:47Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 57009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'EventType' is too long",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the `EventType` value in a Messaging webhook or status callback exceeds the accepted length. `EventType` is one of the fields Twilio includes in outbound message status callback requests for supported messaging channels.\n\n### Possible causes\n\n- The `EventType` value in the request is longer than Twilio accepts.\n- Your webhook or callback payload includes extra text or formatting instead of the supported event identifier. This is an inference from the error and the documented callback shape.\n\n### Possible solutions\n\n- Send the documented `EventType` value exactly as required for the webhook or callback you are using.\n- Remove any appended labels, whitespace, or other formatting before you send the request to Twilio. This is an inference based on the length error.\n- If you are tracking outbound message delivery, use the Messaging webhook and status callback flow and make sure your endpoint handles the parameters Twilio sends.\n\n#### Additional resources\n\n- [Messaging Webhooks](/docs/usage/webhooks/messaging-webhooks)\n- [Outbound Message Status in Status Callbacks](/docs/messaging/guides/outbound-message-status-in-status-callbacks)\n- [Track the Message Status of Outbound Messages](/docs/messaging/guides/track-outbound-message-status)\n",
    "causes": "* The `EventType` value in the request is longer than Twilio accepts.\n* Your webhook or callback payload includes extra text or formatting instead of the supported event identifier. This is an inference from the error and the documented callback shape.",
    "solutions": "* Send the documented `EventType` value exactly as required for the webhook or callback you are using.\n* Remove any appended labels, whitespace, or other formatting before you send the request to Twilio. This is an inference based on the length error.\n* If you are tracking outbound message delivery, use the Messaging webhook and status callback flow and make sure your endpoint handles the parameters Twilio sends.",
    "description": "Twilio returns this error when the `EventType` value in a Messaging webhook or status callback exceeds the accepted length. `EventType` is one of the fields Twilio includes in outbound message status callback requests for supported messaging channels.",
    "date_created": "2021-05-07T08:57:15Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 57010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'PartnerName' is absent",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when `PartnerName` is not specified in the request.\n\n### Possible causes\n\n- `PartnerName` was omitted from the request.\n\n### Possible solutions\n\n- Confirm a valid `PartnerName` is included in the request.\n- Check the error logs while debugging the request so you can verify the parameters Twilio received.\n\n#### Additional resources\n\n- [Messaging](/docs/messaging)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* `PartnerName` was omitted from the request.",
    "solutions": "* Confirm a valid `PartnerName` is included in the request.\n* Check the error logs while debugging the request so you can verify the parameters Twilio received.",
    "description": "This error appears when `PartnerName` is not specified in the request.",
    "date_created": "2021-05-07T08:58:55Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 57011,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported Partner name",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when the `PartnerName` value in your Messaging request is not supported.\n\n### Possible causes\n\n- The `PartnerName` value you sent is not supported.\n\n### Possible solutions\n\n- Confirm that you're passing a valid `PartnerName` value in the request.\n\n#### Additional resources\n\n- [Messaging documentation](/docs/messaging)\n- [Troubleshooting](/docs/comms/troubleshooting)\n",
    "causes": "* The `PartnerName` value you sent is not supported.",
    "solutions": "* Confirm that you're passing a valid `PartnerName` value in the request.",
    "description": "This error occurs when the `PartnerName` value in your Messaging request is not supported.",
    "date_created": "2021-05-07T09:01:50Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57012,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Signature invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means the webhook signature on an incoming Messaging request did not match the signature Twilio calculated for that request. Twilio signs inbound webhooks with `X-Twilio-Signature`. For `application/json` requests, Twilio also includes a `bodySHA256` query parameter and expects you to validate the raw request body.\n\n### Possible causes\n\n- You validated the request against a URL that is not exactly the same as the webhook URL Twilio used, including query parameters or URL-encoded characters.\n- You did not pass all received form parameters to the validator, or your framework trimmed whitespace from `POST` body fields.\n- You treated a JSON webhook body like form data instead of passing the raw body to `validateRequestWithBody`.\n- You used the wrong `AuthToken`, including a secondary token that has not been promoted to Primary AuthToken.\n\n### Possible solutions\n\n- Validate the request with the exact webhook URL Twilio requested, and keep any query parameters URL-encoded.\n- For `application/x-www-form-urlencoded` requests, pass every received parameter to the SDK validation helper.\n- For `application/json` requests, pass the raw body string to `validateRequestWithBody` and let the SDK verify the `bodySHA256` value.\n- Use your Primary `AuthToken`, and prefer Twilio's signature validation helpers instead of a custom implementation.\n\n#### Additional resources\n\n- [Webhooks security](/docs/usage/webhooks/webhooks-security)\n- [Security](/docs/usage/security)\n- [Secure your Flask App by Validating Incoming Twilio Requests](/docs/usage/tutorials/how-to-secure-your-flask-app-by-validating-incoming-twilio-requests)\n",
    "causes": "* You validated the request against a URL that is not exactly the same as the webhook URL Twilio used, including query parameters or URL-encoded characters.\n* You did not pass all received form parameters to the validator, or your framework trimmed whitespace from `POST` body fields.\n* You treated a JSON webhook body like form data instead of passing the raw body to `validateRequestWithBody`.\n* You used the wrong `AuthToken`, including a secondary token that has not been promoted to Primary AuthToken.",
    "solutions": "* Validate the request with the exact webhook URL Twilio requested, and keep any query parameters URL-encoded.\n* For `application/x-www-form-urlencoded` requests, pass every received parameter to the SDK validation helper.\n* For `application/json` requests, pass the raw body string to `validateRequestWithBody` and let the SDK verify the `bodySHA256` value.\n* Use your Primary `AuthToken`, and prefer Twilio's signature validation helpers instead of a custom implementation.",
    "description": "This error means the webhook signature on an incoming Messaging request did not match the signature Twilio calculated for that request. Twilio signs inbound webhooks with `X-Twilio-Signature`. For `application/json` requests, Twilio also includes a `bodySHA256` query parameter and expects you to validate the raw request body.",
    "date_created": "2021-05-07T09:03:25Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57013,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Topic' is absent",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when the request is missing the `Topic` field. The error is listed under Messaging in the Error and Warning Dictionary.\n\n### Possible causes\n\n- `Topic` is not included in the request payload.\n\n### Possible solutions\n\n- Add `Topic` to the request and make sure it contains a valid value before you send it.\n\n#### Additional resources\n\n- [Messaging docs](/docs/messaging)\n",
    "causes": "* `Topic` is not included in the request payload.",
    "solutions": "* Add `Topic` to the request and make sure it contains a valid value before you send it.",
    "description": "This error occurs when the request is missing the `Topic` field. The error is listed under Messaging in the Error and Warning Dictionary.",
    "date_created": "2021-06-11T19:01:53Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57014,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Event' data in payload is absent",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when the request payload is missing `Event` data. Twilio lists This error under Messaging in the Error and Warning Dictionary, and Twilio returns a 400 response when a request is missing a required parameter.\n\n### Possible causes\n\n- The request payload does not include `Event` data.\n\n### Possible solutions\n\n- Include `Event` data in the request payload, then resend the request.\n- Review the error logs to inspect the exact error, likely causes, suggested solutions, and the request and response associated with the failure.\n\n#### Additional resources\n\n- [Twilio API responses](/docs/usage/twilios-response)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* The request payload does not include `Event` data.",
    "solutions": "* Include `Event` data in the request payload, then resend the request.\n* Review the error logs to inspect the exact error, likely causes, suggested solutions, and the request and response associated with the failure.",
    "description": "This error occurs when the request payload is missing `Event` data. Twilio lists This error under Messaging in the Error and Warning Dictionary, and Twilio returns a 400 response when a request is missing a required parameter.",
    "date_created": "2021-06-11T19:03:17Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57015,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Required field in payload is invalid or absent",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nA required field (mentioned in the error message) in the inbound payload has invalid value or is absent.\n\n### Possible causes\n\nField name mismatch\n\n### Possible solutions\n\nConfirm a valid value for the field mentioned is being passed in request.\n",
    "causes": "Field name mismatch",
    "solutions": "Confirm a valid value for the field mentioned is being passed in request.",
    "description": "A required field (mentioned in the error message) in the inbound payload has invalid value or is absent.",
    "date_created": "2021-06-16T21:22:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 57016,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Topic' is empty",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns 57016 when the request includes a `Topic` field, but that field is empty. This error appears in the Messaging section of the Error and Warning Dictionary.\n\n### Possible causes\n\n- Your request sends `Topic` without a value.\n- Your application builds the request payload with an empty `Topic` value before it reaches Twilio.\n\n### Possible solutions\n\n- Send a non-empty `Topic` value in the request.\n- Check the request in Twilio Error Logs or Programmable Messaging logs to confirm the value that reached Twilio, then fix the code path that leaves `Topic` blank.\n\n#### Additional resources\n\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n",
    "causes": "* Your request sends `Topic` without a value.\n* Your application builds the request payload with an empty `Topic` value before it reaches Twilio.",
    "solutions": "* Send a non-empty `Topic` value in the request.\n* Check the request in Twilio Error Logs or Programmable Messaging logs to confirm the value that reached Twilio, then fix the code path that leaves `Topic` blank.",
    "description": "Twilio returns 57016 when the request includes a `Topic` field, but that field is empty. This error appears in the Messaging section of the Error and Warning Dictionary.",
    "date_created": "2021-06-11T19:04:47Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57017,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Topic' is too long",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means Twilio received a Branded Comms request without a `Topic` value. In the Error and Warning Dictionary, code 57017 is listed as `Topic` is empty and is grouped with the other Branded Comms validation errors.\n\n### Possible causes\n\n- The request omits the `Topic` field.\n- The `Topic` field is present but empty.\n\n### Possible solutions\n\n- Include a non-empty `Topic` value in the request.\n- Check the request payload before you submit it and make sure `Topic` is populated.\n\n#### Additional resources\n\n- [Messaging Webhooks](/docs/usage/webhooks/messaging-webhooks)\n- [Webhooks: an Introduction](/docs/usage/webhooks)\n",
    "causes": "* The request omits the `Topic` field.\n* The `Topic` field is present but empty.",
    "solutions": "* Include a non-empty `Topic` value in the request.\n* Check the request payload before you submit it and make sure `Topic` is populated.",
    "description": "This error means Twilio received a Branded Comms request without a `Topic` value. In the Error and Warning Dictionary, code 57017 is listed as `Topic` is empty and is grouped with the other Branded Comms validation errors.",
    "date_created": "2021-06-11T19:06:10Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57018,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Event' value type must be Map",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYour request sent the `Event` field with the wrong type. Twilio expects `Event` to be a map, so this error appears when the request includes a non-object value. Messaging event payloads in Event Streams are published as JSON objects with nested `data` objects.\n\n### Possible causes\n\n- You sent `Event` as a string, array, number, or other non-map value.\n- The request body does not match the JSON object structure used by Messaging event payloads.\n\n### Possible solutions\n\n- Send `Event` as a JSON object/map with key-value pairs, not as a scalar or array.\n- Compare your payload with the published Event Streams examples and correct any field types before you retry the request.\n- Use the debugging guide to inspect the request body and confirm the `Event` field is being serialized correctly.\n\n#### Additional resources\n\n- [Set Up A2P 10DLC Event Streams](/docs/messaging/compliance/a2p-10dlc/event-streams-setup)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* You sent `Event` as a string, array, number, or other non-map value.\n* The request body does not match the JSON object structure used by Messaging event payloads.",
    "solutions": "* Send `Event` as a JSON object/map with key-value pairs, not as a scalar or array.\n* Compare your payload with the published Event Streams examples and correct any field types before you retry the request.\n* Use the debugging guide to inspect the request body and confirm the `Event` field is being serialized correctly.",
    "description": "Your request sent the `Event` field with the wrong type. Twilio expects `Event` to be a map, so this error appears when the request includes a non-object value. Messaging event payloads in Event Streams are published as JSON objects with nested `data` objects.",
    "date_created": "2021-06-11T19:08:42Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 57019,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Authorization' header is missing or is invalid",
    "secondary_message": "'Authorization' header is missing or is invalid",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n'Authorization' header is missing or is invalid\n\n### Possible causes\n\n'Authorization' header is missing or is invalid\n\n### Possible solutions\n\nConfirm a valid 'Authorisation' header is being passed in the request\n",
    "causes": "'Authorization' header is missing or is invalid",
    "solutions": "Confirm a valid 'Authorisation' header is being passed in the request",
    "description": "'Authorization' header is missing or is invalid",
    "date_created": "2021-06-28T14:17:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 57020,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Authorization failed",
    "secondary_message": "Authorization failed",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when Twilio cannot validate the request's `Authorization` header on a Messaging request. Twilio API requests use HTTP Basic authentication, and Twilio recommends API keys and API key secrets for production applications.\n\n### Possible causes\n\n- The request does not include an `Authorization` header.\n- The `Authorization` header does not contain valid Twilio API credentials.\n\n### Possible solutions\n\n- Add a valid `Authorization` header to the request and authenticate with HTTP Basic authentication.\n- Use an API key and API key secret for production requests.\n- For local testing, use your Account SID and Auth Token.\n\n#### Additional resources\n\n- [Twilio API requests](/docs/usage/requests-to-twilio)\n- [Basic Authentication](/docs/glossary/what-is-basic-authentication)\n",
    "causes": "* The request does not include an `Authorization` header.\n* The `Authorization` header does not contain valid Twilio API credentials.",
    "solutions": "* Add a valid `Authorization` header to the request and authenticate with HTTP Basic authentication.\n* Use an API key and API key secret for production requests.\n* For local testing, use your Account SID and Auth Token.",
    "description": "This error appears when Twilio cannot validate the request's `Authorization` header on a Messaging request. Twilio API requests use HTTP Basic authentication, and Twilio recommends API keys and API key secrets for production applications.",
    "date_created": "2021-06-28T14:18:58Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 57021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Token invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the request includes an invalid token. Send a valid token before retrying the request.\n\n### Possible causes\n\n- The token in the request is invalid.\n\n### Possible solutions\n\n- Replace the token with a valid value and send the request again.\n\n#### Additional resources\n\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Twilio API requests](/docs/usage/requests-to-twilio)\n",
    "causes": "* The token in the request is invalid.",
    "solutions": "* Replace the token with a valid value and send the request again.",
    "description": "Twilio returns this error when the request includes an invalid token. Send a valid token before retrying the request.",
    "date_created": "2024-06-11T09:53:17Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 57022,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Required header is missing or invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio Messaging returns This error when a request is missing a required header or includes a header with an invalid value. This error is listed as a Messaging error in the Error and Warning Dictionary.\n\n### Possible causes\n\n- One or more mandatory headers are missing from the request.\n- A required header is present, but the value is invalid.\n\n### Possible solutions\n\n- Add every mandatory header required by the request.\n- Check the error logs to review the exact error, potential causes, suggested solutions, and the full HTTP request and response associated with the request.\n\n#### Additional resources\n\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Messages resource](/docs/messaging/api/message-resource)\n",
    "causes": "* One or more mandatory headers are missing from the request.\n* A required header is present, but the value is invalid.",
    "solutions": "* Add every mandatory header required by the request.\n* Check the error logs to review the exact error, potential causes, suggested solutions, and the full HTTP request and response associated with the request.",
    "description": "Twilio Messaging returns This error when a request is missing a required header or includes a header with an invalid value. This error is listed as a Messaging error in the Error and Warning Dictionary.",
    "date_created": "2024-06-11T10:28:29Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 60001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Downstream Authentication Failed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nDownstream Authentication Failed\n\n### Possible causes\n\nThe request was received and passed Twilio API authentication, but failed due to a downstream authentication error for the Account SID provided.\n\n### Possible solutions\n\n- Check that the Account SID provided is correct.\n- [Contact Twilio Support](https://www.twilio.com/help/contact) to confirm that access to this endpoint is enabled for the given Account SID.\n",
    "causes": "The request was received and passed Twilio API authentication, but failed due to a downstream authentication error for the Account SID provided.",
    "solutions": "* Check that the Account SID provided is correct.\n* [Contact Twilio Support](https://www.twilio.com/help/contact) to confirm that access to this endpoint is enabled for the given Account SID.",
    "description": "Downstream Authentication Failed",
    "date_created": "2022-09-06T13:07:06.169569Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "End User Identification Timeout",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nEnd User Identification Timeout\n\n### Possible causes\n\nThe request was received but failed during processing due to a timeout. If using Silent Network Auth, this can happen when the device does not invoke the SNA URL within the timeout period. The default timeout period is 10 minutes.\n\n### Possible solutions\n\nResend request for this phone number to restart timeout period.\n",
    "causes": "The request was received but failed during processing due to a timeout. If using Silent Network Auth, this can happen when the device does not invoke the SNA URL within the timeout period. The default timeout period is 10 minutes.",
    "solutions": "Resend request for this phone number to restart timeout period.",
    "description": "End User Identification Timeout",
    "date_created": "2022-09-06T13:09:20.027384Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60003,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "End User Data is Not Available",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe request was received and processed successfully but data is not available for the requested end user.\n\n### Possible solutions\n\nDo not retry request for this end user.\n",
    "causes": "The request was received and processed successfully but data is not available for the requested end user.",
    "solutions": "Do not retry request for this end user.",
    "description": "",
    "date_created": "2022-09-06T13:10:40.987363Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Configuration ",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe request was received but failed due to an invalid configuration.\n\n### Possible solutions\n\n- Check that the Account SID provided is correct.\n- [Contact Twilio Support](https://www.twilio.com/help/contact) to confirm that access to this endpoint is enabled for the given Account SID.\n",
    "causes": "The request was received but failed due to an invalid configuration.",
    "solutions": "* Check that the Account SID provided is correct.\n* [Contact Twilio Support](https://www.twilio.com/help/contact) to confirm that access to this endpoint is enabled for the given Account SID.",
    "description": "",
    "date_created": "2022-09-06T13:12:33.151985Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Downstream Carrier Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe request was received but failed during processing due to an error while communicating with the carrier.\n\n### Possible solutions\n\n- Retry request to rule out transient carrier connection issues.\n- If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.\n",
    "causes": "The request was received but failed during processing due to an error while communicating with the carrier.",
    "solutions": "* Retry request to rule out transient carrier connection issues.\n* If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.",
    "description": "",
    "date_created": "2022-09-06T13:13:51.90861Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60006,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid Phone Number",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe request was received and failed during processing because a downstream provider indicated that the phone number is invalid, although the phone number formatting was valid. This can happen when the end user provides an invalid phone number in error, the phone number is deactivated, suspended, or in the grace period before reassignment, or a fraudulent user purposefully uses an invalid phone number.\n\n### Possible solutions\n\n- Check that the phone number provided is correct.\n- If using Silent Network Auth, retry Verification using a channel not based on phone number such as email.\n",
    "causes": "The request was received and failed during processing because a downstream provider indicated that the phone number is invalid, although the phone number formatting was valid. This can happen when the end user provides an invalid phone number in error, the phone number is deactivated, suspended, or in the grace period before reassignment, or a fraudulent user purposefully uses an invalid phone number.",
    "solutions": "* Check that the phone number provided is correct.\n* If using Silent Network Auth, retry Verification using a channel not based on phone number such as email.",
    "description": "",
    "date_created": "2022-09-06T13:16:11.053933Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Downstream Verification Failed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nSecurity Token validation failed\n\n### Possible causes\n\n- Missing App Security Token.\n- App Security Token mismatch.\n\n### Possible solutions\n\n- Ensure you have correctly enabled additional token validation at verification creation.\n- Check App Security Token is being passed correctly as part of SNA URL validation.\n",
    "causes": "* Missing App Security Token.\n* App Security Token mismatch.",
    "solutions": "* Ensure you have correctly enabled additional token validation at verification creation.\n* Check App Security Token is being passed correctly as part of SNA URL validation.",
    "description": "Security Token validation failed",
    "date_created": "2024-10-02T15:36:06Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60008,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Unsupported Carrier",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nThe request was received and failed due to the phone number's carrier not supporting this endpoint.\n\n### Possible solutions\n\n- Complete the [Account Security Registration](https://interactive.twilio.com/account-security-registration-form?_ga=2.40477419.894088021.1660748067-1879743973.1650468405) form to use this carrier.\n- If you have completed the Account Security Registration form, [contact Twilio Support](https://www.twilio.com/help/contact) to confirm that you are approved.\n- If you have completed the Account Security Registration form and it has been approved, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.\n- If using Silent Network Auth, retry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The request was received and failed due to the phone number's carrier not supporting this endpoint.",
    "solutions": "* Complete the [Account Security Registration](https://interactive.twilio.com/account-security-registration-form?_ga=2.40477419.894088021.1660748067-1879743973.1650468405) form to use this carrier.\n* If you have completed the Account Security Registration form, [contact Twilio Support](https://www.twilio.com/help/contact) to confirm that you are approved.\n* If you have completed the Account Security Registration form and it has been approved, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.\n* If using Silent Network Auth, retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-09-06T13:17:31.60648Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60100,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Out of coverage",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nRaised in the Lookup service when an error prevented us from get the carrier info for the phone number.\n\n### Possible causes\n\nYou have provided a phone number that appears as not provisioned with any carrier\n",
    "causes": "You have provided a phone number that appears as not provisioned with any carrier",
    "solutions": null,
    "description": "Raised in the Lookup service when an error prevented us from get the carrier info for the phone number.",
    "date_created": "2017-11-23T21:24:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60117,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Phone Verification: Service not found",
    "secondary_message": "Specified Service does not exist.",
    "product": "Authy",
    "docs": "\n## Description\n\n### Possible causes\n\n- Specified Service does not exist.\n\n### Possible solutions\n\n- Confirm a valid Service is being passed in request.\n",
    "causes": "* Specified Service does not exist.",
    "solutions": "* Confirm a valid Service is being passed in request.",
    "description": "",
    "date_created": "2017-09-19T20:53:57Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60200,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid parameter",
    "secondary_message": "Parameter value is incorrectly formatted or is not an accepted option.",
    "product": "Verify",
    "docs": "\n## Description\n\nThe response `message` contains the name of the invalid parameter.\n\nHTTP status: 400\n\nExample where `To` is the invalid parameter:\n\n```bash\n{\n    \"code\": 60200,\n    \"message\": \"Invalid parameter: To\",\n    \"more_info\": \"https://www.twilio.com/docs/errors/60200\",\n    \"status\": 400\n}\n```\n\n### Possible causes\n\nWhen [starting a verification](/docs/verify/api/verification#start-new-verification):\n\n- `To` parameter is incorrectly formatted or missing the leading `+`.\n- `Channel` parameter is not one of the [accepted options](/docs/verify/api/verification#start-new-verification), or you might not have access to the requested channel.\n\nWhen [checking a verification](/docs/verify/api/verification-check#check-a-verification):\n\n- `Code` parameter is not between 4-10 numbers long.\n\nWhen [creating a service](/docs/verify/api/service#create-a-verification-service):\n\n- `FriendlyName` is too long (max 30 characters).\n\nWhen [fetching a service](/docs/verify/api/service#fetch-a-service):\n\n- Neither `ServiceSid` nor `UniqueName` is present.\n\n### Possible solutions\n\n- Use strict [E.164 formatting](/docs/glossary/what-e164), including the `+` sign, for phone numbers in the `To` parameter. Example: `+15017122661`.\n- If using the `sna` channel, ensure you have requested and been granted access. See [SNA Overview](/docs/verify/sna) for details.\n",
    "causes": "When [starting a verification](/docs/verify/api/verification#start-new-verification): - `To` parameter is incorrectly formatted or missing the leading `+`.\n- `Channel` parameter is not one of the [accepted options](/docs/verify/api/verification#start-new-verification), or you might not have access to the requested channel. When [checking a verification](/docs/verify/api/verification-check#check-a-verification): - `Code` parameter is not between 4-10 numbers long. When [creating a service](/docs/verify/api/service#create-a-verification-service): - `FriendlyName` is too long (max 30 characters). When [fetching a service](/docs/verify/api/service#fetch-a-service): - Neither `ServiceSid` nor `UniqueName` is present.",
    "solutions": "* Use strict [E.164 formatting](/docs/glossary/what-e164), including the `+` sign, for phone numbers in the `To` parameter. Example: `+15017122661`.\n* If using the `sna` channel, ensure you have requested and been granted access. See [SNA Overview](/docs/verify/sna) for details.",
    "description": "The response `message` contains the name of the invalid parameter. HTTP status: 400 Example where `To` is the invalid parameter: ```bash\n{\n    \"code\": 60200,\n    \"message\": \"Invalid parameter: To\",\n    \"more_info\": \"https://www.twilio.com/docs/errors/60200\",\n    \"status\": 400\n}\n```",
    "date_created": "2017-10-04T22:00:46Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Selected template translation is not approved",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nSelected template translation is not approved.\n\n### Possible causes\n\n- A custom template was created but has not been approved.\n\n### Possible solutions\n\nApprove your template\\[s] in the Twilio Console: [console.twilio.com/us1/develop/verify/settings/templates](https://console.twilio.com/us1/develop/verify/settings/templates)\n\nIf your custom template is not listed, please reach out to Twilio Support to create a new template. Learn more about verification templates in the documentation: [twilio.com/docs/verify/api/templates](https://twilio.com/docs/verify/api/templates)\n",
    "causes": "* A custom template was created but has not been approved.",
    "solutions": "Approve your template\\[s] in the Twilio Console: [console.twilio.com/us1/develop/verify/settings/templates](https://console.twilio.com/us1/develop/verify/settings/templates) If your custom template is not listed, please reach out to Twilio Support to create a new template. Learn more about verification templates in the documentation: [twilio.com/docs/verify/api/templates](https://twilio.com/docs/verify/api/templates)",
    "description": "Selected template translation is not approved.",
    "date_created": "2022-08-30T20:31:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60202,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max check attempts reached",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nMax (5) verification check attempts reached.\n\nHTTP status: 429\n\n### Possible causes\n\nYou have attempted to check a verification more than 5 times and have reached the limit.\n\n### Possible solutions\n\nYou have 5 attempts to check a verification code, after that you will need to wait until the current verification expires (10 minutes) to create a new verification. Find more recommendations for avoiding rate limits while testing Verify in [this blog post](https://www.twilio.com/blog/test-verify-no-rate-limits).\n",
    "causes": "You have attempted to check a verification more than 5 times and have reached the limit.",
    "solutions": "You have 5 attempts to check a verification code, after that you will need to wait until the current verification expires (10 minutes) to create a new verification. Find more recommendations for avoiding rate limits while testing Verify in [this blog post](https://www.twilio.com/blog/test-verify-no-rate-limits).",
    "description": "Max (5) verification check attempts reached. HTTP status: 429",
    "date_created": "2018-11-20T19:38:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60203,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max send attempts reached.",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThis rate limit is triggered when the verification lifecycle (sending and checking) is not completed.\n\nHTTP status: 429\n\n### Possible causes\n\n- You have attempted to send the verification code more than 5 times and have reached the limit.\n- You have not [checked the verification](/docs/verify/api/verification-check).\n\n### Possible solutions\n\n- Complete a verification lifecycle by calling the [Verification Check endpoint](/docs/verify/api/verification-check).\n- Wait for the verification to [expire](/docs/verify/api/rate-limits-and-timeouts) (10 minutes).\n- For use with [custom codes](/docs/verify/api/customization-options) you can manually approve or cancel the verification by calling the [Verification Update endpoint](/docs/verify/api/verification#update-a-verification-status).\n- **For testing** you can manually cancel the verification by calling the [Verification Update endpoint](/docs/verify/api/verification#update-a-verification-status).\n\nIf you identify a delivery issue, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).\n",
    "causes": "* You have attempted to send the verification code more than 5 times and have reached the limit.\n* You have not [checked the verification](/docs/verify/api/verification-check).",
    "solutions": "* Complete a verification lifecycle by calling the [Verification Check endpoint](/docs/verify/api/verification-check).\n* Wait for the verification to [expire](/docs/verify/api/rate-limits-and-timeouts) (10 minutes).\n* For use with [custom codes](/docs/verify/api/customization-options) you can manually approve or cancel the verification by calling the [Verification Update endpoint](/docs/verify/api/verification#update-a-verification-status).\n* **For testing** you can manually cancel the verification by calling the [Verification Update endpoint](/docs/verify/api/verification#update-a-verification-status). If you identify a delivery issue, please reach out to Twilio Support through the [Console](https://console.twilio.com) or [Help Center](https://support.twilio.com).",
    "description": "This rate limit is triggered when the verification lifecycle (sending and checking) is not completed. HTTP status: 429",
    "date_created": "2018-11-20T19:39:41Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60204,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Service does not support this feature",
    "secondary_message": "Your service does not have access to this feature.",
    "product": "Verify",
    "docs": "\n## Description\n\nYour service does not have access to this feature.\n\nHTTP status: 403\n\n### Possible causes\n\nYou attempted to use a premium feature, but this feature is not enabled in your Service. Further authorization required.\n\n### Possible solutions\n\nIf you are looking to use [custom verification codes](/docs/verify/api/customization-options#custom-verification-codes), you must first select the **Enable Custom Verification Code** option on your [Verify service](https://console.twilio.com/us1/develop/verify/services) via the Twilio Console. [Learn more](/docs/verify/api/customization-options#custom-verification-codes).\n\nIf you are looking to use a [custom friendly name](/docs/verify/api/customization-options#custom-company-name), contact [Twilio Sales](https://www.twilio.com/help/sales) to have this feature enabled.\n",
    "causes": "You attempted to use a premium feature, but this feature is not enabled in your Service. Further authorization required.",
    "solutions": "If you are looking to use [custom verification codes](/docs/verify/api/customization-options#custom-verification-codes), you must first select the **Enable Custom Verification Code** option on your [Verify service](https://console.twilio.com/us1/develop/verify/services) via the Twilio Console. [Learn more](/docs/verify/api/customization-options#custom-verification-codes). If you are looking to use a [custom friendly name](/docs/verify/api/customization-options#custom-company-name), contact [Twilio Sales](https://www.twilio.com/help/sales) to have this feature enabled.",
    "description": "Your service does not have access to this feature. HTTP status: 403",
    "date_created": "2018-11-20T19:40:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60205,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SMS is not supported by landline phone number",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYou have attempted to send the verification code to phone number that does not support SMS.\n\nHTTP status: 403\n\n### Possible causes\n\nYou have attempted to send the verification code to phone number that does not support SMS.\n\n### Possible solutions\n\n- Make sure the number you are sending a verification to is a valid mobile phone number\n- Disable validating phone numbers using the Twilio API setting `SkipSmsToLandlines` on your Verification Service to `false`.\n",
    "causes": "You have attempted to send the verification code to phone number that does not support SMS.",
    "solutions": "* Make sure the number you are sending a verification to is a valid mobile phone number\n* Disable validating phone numbers using the Twilio API setting `SkipSmsToLandlines` on your Verification Service to `false`.",
    "description": "You have attempted to send the verification code to phone number that does not support SMS. HTTP status: 403",
    "date_created": "2018-12-06T20:10:12Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60206,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Amount' & 'Payee' params are required",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour service has the `Psd2Enabled `flag which requires you to send the 'Amount' & 'Payee' params when creating a verification\n\nHTTP status: 400\n\n### Possible causes\n\nYour service has the `Psd2Enabled `flag which requires you to send the 'Amount' & 'Payee' params when creating a verification\n\n### Possible solutions\n\n- Make sure that you send the 'Amount' & 'Payee' params\n- Set the `Psd2Enabled `flag on your Verification Service to `false`.\n",
    "causes": "Your service has the `Psd2Enabled `flag which requires you to send the 'Amount' & 'Payee' params when creating a verification",
    "solutions": "* Make sure that you send the 'Amount' & 'Payee' params\n* Set the `Psd2Enabled `flag on your Verification Service to `false`.",
    "description": "Your service has the `Psd2Enabled `flag which requires you to send the 'Amount' & 'Payee' params when creating a verification HTTP status: 400",
    "date_created": "2019-03-27T23:19:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60207,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max rate limits per service reached ",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour service has reached the max number of rate limits\n\nHTTP status: 400\n\n### Possible causes\n\nYour service has reached the max number of rate limits\n\n### Possible solutions\n\n- Delete/update rate limits that you are not using at the moment\n- Create a new service and add the desired rate limit to the new service\n",
    "causes": "Your service has reached the max number of rate limits",
    "solutions": "* Delete/update rate limits that you are not using at the moment\n* Create a new service and add the desired rate limit to the new service",
    "description": "Your service has reached the max number of rate limits HTTP status: 400",
    "date_created": "2019-05-08T15:21:08Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60208,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Rate limit with that UniqueName already exists",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYou tried to create a rate limit with a `UniqueName` that already exists for the specified service\n\nHTTP status: 400\n\n### Possible causes\n\nYou tried to create a rate limit with a `UniqueName` that already exists for the specified service\n\n### Possible solutions\n\n- Use a different `UniqueName`\n- Create a new service and create a rate limit with the desired `UniqueName`\n",
    "causes": "You tried to create a rate limit with a `UniqueName` that already exists for the specified service",
    "solutions": "* Use a different `UniqueName`\n* Create a new service and create a rate limit with the desired `UniqueName`",
    "description": "You tried to create a rate limit with a `UniqueName` that already exists for the specified service HTTP status: 400",
    "date_created": "2019-05-08T15:23:07Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60209,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "UniqueName format is invalid",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n`UniqueName` only supports alphanumeric characters and `-`, `_` or `.`\n\nHTTP status: 400\n\n### Possible causes\n\n`UniqueName` only supports alphanumeric characters and `-`, `_` or `.`\n\n### Possible solutions\n\n- Remove unsupported characters from `UniqueName`\n",
    "causes": "`UniqueName` only supports alphanumeric characters and `-`, `_` or `.`",
    "solutions": "* Remove unsupported characters from `UniqueName`",
    "description": "`UniqueName` only supports alphanumeric characters and `-`, `_` or `.` HTTP status: 400",
    "date_created": "2019-05-07T18:18:07Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60210,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max Buckets per Rate limit reached",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour Rate limit has reached the max number of Buckets\n\nHTTP status: 400\n\n### Possible causes\n\nYour Rate limit has reached the max number of Buckets\n\n### Possible solutions\n\n- Delete/update Buckets that you are not using at the moment\n- Create a new Rate limit and add the desired Buckets to the new Rate limit\n",
    "causes": "Your Rate limit has reached the max number of Buckets",
    "solutions": "* Delete/update Buckets that you are not using at the moment\n* Create a new Rate limit and add the desired Buckets to the new Rate limit",
    "description": "Your Rate limit has reached the max number of Buckets HTTP status: 400",
    "date_created": "2019-05-08T15:26:21Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60211,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Bucket with the given Interval already exists",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYou have already configured that Max number of requests for this `Interval`\n\nHTTP status: 400\n\n### Possible causes\n\nYou have already configured that Max number of requests for this `Interval`\n\n### Possible solutions\n\n- Delete/Update Bucket that has this same `Interval`\n",
    "causes": "You have already configured that Max number of requests for this `Interval`",
    "solutions": "* Delete/Update Bucket that has this same `Interval`",
    "description": "You have already configured that Max number of requests for this `Interval` HTTP status: 400",
    "date_created": "2019-05-08T15:28:24Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60212,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Too many concurrent requests for phone number",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour application is initiating many verifications in a short period of time for the same phone number.\n\nHTTP status: 429\n\n### Possible causes\n\nYour application is initiating many verifications in a short period of time for the same phone number.\n\n### Possible solutions\n\n- Check if your application is being the target of fraudulent traffic.\n- Review your implementation.\n",
    "causes": "Your application is initiating many verifications in a short period of time for the same phone number.",
    "solutions": "* Check if your application is being the target of fraudulent traffic.\n* Review your implementation.",
    "description": "Your application is initiating many verifications in a short period of time for the same phone number. HTTP status: 429",
    "date_created": "2019-06-07T17:15:10Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60213,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "A Messaging Configuration already exists for the given country",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n- You have already configured the given country.\n\nHTTP status: 400\n\n### Possible causes\n\n- You have already configured the given country.\n\n### Possible solutions\n\n- Try updating the Messaging Configuration instead.\n",
    "causes": "* You have already configured the given country.",
    "solutions": "* Try updating the Messaging Configuration instead.",
    "description": "* You have already configured the given country. HTTP status: 400",
    "date_created": "2019-06-07T17:35:16Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60214,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Call channel is not supported when using PSD2",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nCall channel is not supported when using PSD2\n\nHTTP status: 400\n\n### Possible causes\n\n- Verify Service has PSD2 enabled\n\n### Possible solutions\n\n- Disable PSD2 for this Verify Service\n- Use SMS channel\n",
    "causes": "* Verify Service has PSD2 enabled",
    "solutions": "* Disable PSD2 for this Verify Service\n* Use SMS channel",
    "description": "Call channel is not supported when using PSD2 HTTP status: 400",
    "date_created": "2019-09-19T19:38:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60215,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max number of mailers per account reached",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nMax number of mailers per account reached\n\nHTTP status: 400\n\n### Possible causes\n\nYour account has reached the max number of Mailers\n\n### Possible solutions\n\nDelete/update Mailers that you are not using at the moment\n",
    "causes": "Your account has reached the max number of Mailers",
    "solutions": "Delete/update Mailers that you are not using at the moment",
    "description": "Max number of mailers per account reached HTTP status: 400",
    "date_created": "2019-11-27T21:52:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60216,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Error while encrypting or decrypting the API key.",
    "secondary_message": "Error while encrypting or decrypting the API key.",
    "product": "Verify",
    "docs": "\n## Description\n\nError while encrypting or decrypting the API key.\n\n### Possible causes\n\nCorrupted encryption key Corrupted database\n\n### Possible solutions\n\nGod help us\n",
    "causes": "Corrupted encryption key Corrupted database",
    "solutions": "God help us",
    "description": "Error while encrypting or decrypting the API key.",
    "date_created": "2019-11-07T20:16:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60217,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Service configuration",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAdd an email integration before using the Email channel.\n\nHTTP status: 400\n\n### Possible causes\n\nNo email integration has been set up with the Verify Service.\n\n### Possible solutions\n\nCreate a SendGrid email integration for the Service before using the email channel. [Detailed instructions available here.](/docs/verify/email)\n",
    "causes": "No email integration has been set up with the Verify Service.",
    "solutions": "Create a SendGrid email integration for the Service before using the email channel. [Detailed instructions available here.](/docs/verify/email)",
    "description": "Add an email integration before using the Email channel. HTTP status: 400",
    "date_created": "2019-11-21T15:59:24Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60218,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SendGrid Template is not active",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nSendGrid Template is not active\n\nHTTP status: 400\n\n### Possible causes\n\nThe provided template is not active\n\n### Possible solutions\n\nLog into SendGrid's dashboard and activate the template, or select a different template\n",
    "causes": "The provided template is not active",
    "solutions": "Log into SendGrid's dashboard and activate the template, or select a different template",
    "description": "SendGrid Template is not active HTTP status: 400",
    "date_created": "2019-11-27T22:01:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60219,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SendGrid Template does not contain required placeholders",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nSendGrid Template does not contain required placeholders\n\nHTTP status: 400\n\n### Possible causes\n\nMissing placeholders \\{\\{twilio\\_code}} or \\{\\{twilio\\_message}}\n\n### Possible solutions\n\nAdd the required placeholders\n",
    "causes": "Missing placeholders {{twilio\\_code}} or {{twilio\\_message}}",
    "solutions": "Add the required placeholders",
    "description": "SendGrid Template does not contain required placeholders HTTP status: 400",
    "date_created": "2019-11-27T22:14:31Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60220,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Messages to China require use case vetting",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nMessages to China require use case vetting, please refer to this support article https://support.twilio.com/hc/en-us/articles/17024185400859-Use-Case-Vetting-for-Verify-Messages-to-China to understand this in detail.\n\nHTTP status: 400\n\n### Possible causes\n\nYour account is not allowed to create verifications towards China\n\n### Possible solutions\n\nPlease read this support article https://support.twilio.com/hc/en-us/articles/17024185400859-Use-Case-Vetting-for-Verify-Messages-to-China to get your more details on how to get your use case vetted for China.\n",
    "causes": "Your account is not allowed to create verifications towards China",
    "solutions": "Please read this support article https://support.twilio.com/hc/en-us/articles/17024185400859-Use-Case-Vetting-for-Verify-Messages-to-China to get your more details on how to get your use case vetted for China.",
    "description": "Messages to China require use case vetting, please refer to this support article https://support.twilio.com/hc/en-us/articles/17024185400859-Use-Case-Vetting-for-Verify-Messages-to-China to understand this in detail. HTTP status: 400",
    "date_created": "2019-12-06T20:21:57Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60221,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "No target verification specified",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nEnsure that either a `To` or `VerificationSid` is provided\n\nHTTP status: 400\n\n### Possible causes\n\nNo `To` nor `VerificationSid` is provided in the request\n\n### Possible solutions\n\nEnsure that either a `To` or `VerificationSid` is provided\n",
    "causes": "No `To` nor `VerificationSid` is provided in the request",
    "solutions": "Ensure that either a `To` or `VerificationSid` is provided",
    "description": "Ensure that either a `To` or `VerificationSid` is provided HTTP status: 400",
    "date_created": "2020-07-03T00:53:12Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60222,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SendGrid The from address does not match a verified Sender Identity",
    "secondary_message": "The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved.",
    "product": "Verify",
    "docs": "\n## Description\n\nNow SendGrid needs that the account has been verified before it can send messages.\n\nHTTP status: 403\n\n### Possible causes\n\nThe SendGrid account from address the message has not been verified.\n\n### Possible solutions\n\nVisit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements\n",
    "causes": "The SendGrid account from address the message has not been verified.",
    "solutions": "Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements",
    "description": "Now SendGrid needs that the account has been verified before it can send messages. HTTP status: 403",
    "date_created": "2020-07-16T23:53:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60223,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Delivery channel disabled",
    "secondary_message": "Create verification failed because delivery channel is currently disabled",
    "product": "Verify",
    "docs": "\n## Description\n\nCreate verification failed because delivery channel is currently disabled\n\nHTTP status: 400\n\n### Possible causes\n\nThe delivery channel specified is currently disabled in the Verify Service settings\n\n### Possible solutions\n\n- Enable delivery channel in Verify Service settings\n- Change the delivery channel specified in the create verification request\n",
    "causes": "The delivery channel specified is currently disabled in the Verify Service settings",
    "solutions": "* Enable delivery channel in Verify Service settings\n* Change the delivery channel specified in the create verification request",
    "description": "Create verification failed because delivery channel is currently disabled HTTP status: 400",
    "date_created": "2020-09-16T16:26:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60224,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Missing substitutions for selected template",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe selected template has one or more expected substitutions that were not provided in the request.\n\n### Possible causes\n\n- The template requires extra fields for building the message that are not included in the request.\n- The substitutions were not provided in the correct format (stringified JSON).\n\n### Possible solutions\n\n- Include all the substitutions for the place holder variables with the `TemplateCustomSubstitution` parameter.\n- Format the variable object as stringified JSON.\n\nFor example, the following template requires a **`uuid`** substitution:\n\n\"**Your \\{\\{friendly\\_name}} login link: https://example.com/verify.html?uuid=\\{\\{uuid}}\\&code=\\{\\{code}}**\"\n\nThe expected request in cURL:\n\n```bash\ncurl -X POST https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications \\\r\n--data-urlencode \"To=+15017122661\" \\\r\n--data-urlencode \"Channel=sms\" \\\r\n--data-urlencode \"TemplateSid=HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\" \\\r\n--data-urlencode \"TemplateCustomSubstitutions={ \\\"uuid\\\": \\\"MY_UNIQUE_ID\\\" }\" \\\r\n-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN\n```\n\nThe expected request in Node.js:\n\n```javascript\nconst verification = await client.verify.v2\r\n  .services(\"VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\r\n  .verifications.create({\r\n    channel: \"sms\",\r\n    templateSid: \"HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\r\n    to: \"+15017122661\",\r\n    templateCustomSubstitutions: '{ \"uuid\": \"MY_UNIQUE_ID\" }'\r\n  });\n```\n\nThe following variables are auto-populated by Twilio and do **not** need to be included in your request:\n\n- `{{friendly_name}}`\n- `{{code}}`\n- `{{ttl}}`\n",
    "causes": "* The template requires extra fields for building the message that are not included in the request.\n* The substitutions were not provided in the correct format (stringified JSON).",
    "solutions": "* Include all the substitutions for the place holder variables with the `TemplateCustomSubstitution` parameter.\n* Format the variable object as stringified JSON. For example, the following template requires a **`uuid`** substitution: \"**Your {{friendly\\_name}} login link: https://example.com/verify.html?uuid={{uuid}}\\&code={{code}}**\" The expected request in cURL: ```bash\ncurl -X POST https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications \\\r\n--data-urlencode \"To=+15017122661\" \\\r\n--data-urlencode \"Channel=sms\" \\\r\n--data-urlencode \"TemplateSid=HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\" \\\r\n--data-urlencode \"TemplateCustomSubstitutions={ \\\"uuid\\\": \\\"MY_UNIQUE_ID\\\" }\" \\\r\n-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN\n``` The expected request in Node.js: ```javascript\nconst verification = await client.verify.v2\r\n  .services(\"VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\r\n  .verifications.create({\r\n    channel: \"sms\",\r\n    templateSid: \"HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\r\n    to: \"+15017122661\",\r\n    templateCustomSubstitutions: '{ \"uuid\": \"MY_UNIQUE_ID\" }'\r\n  });\n``` The following variables are auto-populated by Twilio and do **not** need to be included in your request: * `{{friendly_name}}`\n* `{{code}}`\n* `{{ttl}}`",
    "description": "The selected template has one or more expected substitutions that were not provided in the request.",
    "date_created": "2021-06-16T15:51:44Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60225,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Translation already exists for the provided template",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nTranslation already exists for the provided template.\n\nHTTP status: 409\n\n### Possible causes\n\nThe user has provided an existent translation for the template.\n\n### Possible solutions\n\nTry to create another translation with a different locale.\n",
    "causes": "The user has provided an existent translation for the template.",
    "solutions": "Try to create another translation with a different locale.",
    "description": "Translation already exists for the provided template. HTTP status: 409",
    "date_created": "2021-06-16T15:54:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60226,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Messages sent to china require friendly_name",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nMessages sent to china require friendly\\_name\n\n### Possible causes\n\nYou are trying to send a verification to a chinese phone number but didn't specify the friendly name\n\n### Possible solutions\n\nSend the friendly name if the verification is done to a chinese phone number\n",
    "causes": "You are trying to send a verification to a chinese phone number but didn't specify the friendly name",
    "solutions": "Send the friendly name if the verification is done to a chinese phone number",
    "description": "Messages sent to china require friendly\\_name",
    "date_created": "2021-09-07T20:04:16Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60227,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The selected channel for template is not supported",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Invalid Parameter\n\nThe selected template for translation is not supported\n\n### Possible causes\n\nThe user have provided a channel to be used that is not supported for a template.\n\n### Possible solutions\n\nProvide a supported channel for the template.\n",
    "causes": "The user have provided a channel to be used that is not supported for a template.",
    "solutions": "Provide a supported channel for the template.",
    "description": "",
    "date_created": "2022-08-23T16:05:06Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60228,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template was not found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Invalid Parameter\n\nThe selected template was not found\n\n### Possible causes\n\nThe user has provide a TemplateSid that was not found\n\n### Possible solutions\n\nProvide a TemplateSid that exists\n",
    "causes": "The user has provide a TemplateSid that was not found",
    "solutions": "Provide a TemplateSid that exists",
    "description": "",
    "date_created": "2022-08-30T18:44:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60229,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template translation was not found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Invalid Parameter\n\nThe translation locale for the template was not found\n\n### Possible causes\n\nThe user has provide a translation for a templated that not exists\n\n### Possible solutions\n\nCreate a translation or use a existent translation for the template\n",
    "causes": "The user has provide a translation for a templated that not exists",
    "solutions": "Create a translation or use a existent translation for the template",
    "description": "",
    "date_created": "2022-08-30T18:46:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60230,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The template being used doesn't have a brandless version",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nInvalid Parameter\n\nThe template being used doesn't have a brandless version. Your message should be sent using the default template (learn more about default templates [link](/docs/verify/verification-templates#verify-default-template)).\n\n### Possible causes\n\nThe message being sent was to a country that doesn't allow branded content with shared sender IDs.\n\n### Possible solutions\n\nSelect a template that has brandless support or register your sender ID with Twilio support team ([instructions](https://support.twilio.com/hc/en-us/articles/12387480513307-Why-was-my-friendly-name-not-included-in-the-Verify-SMS-)).\n",
    "causes": "The message being sent was to a country that doesn't allow branded content with shared sender IDs.",
    "solutions": "Select a template that has brandless support or register your sender ID with Twilio support team ([instructions](https://support.twilio.com/hc/en-us/articles/12387480513307-Why-was-my-friendly-name-not-included-in-the-Verify-SMS-)).",
    "description": "Invalid Parameter The template being used doesn't have a brandless version. Your message should be sent using the default template (learn more about default templates [link](/docs/verify/verification-templates#verify-default-template)).",
    "date_created": "2023-02-15T23:13:24Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60231,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sender id already exists for account",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nSender id already exists for account\n\n### Possible causes\n\nThe created sender id already exists in the given account sid\n\n### Possible solutions\n\nUse a different sender id\n",
    "causes": "The created sender id already exists in the given account sid",
    "solutions": "Use a different sender id",
    "description": "Sender id already exists for account",
    "date_created": "2023-05-24T16:48:21Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60232,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sender id does not exist",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nSender id does not exist\n\n### Possible causes\n\nThe sender id used in the request does not exist\n\n### Possible solutions\n\nUse a sender id that exists for the given account\n",
    "causes": "The sender id used in the request does not exist",
    "solutions": "Use a sender id that exists for the given account",
    "description": "Sender id does not exist",
    "date_created": "2023-05-24T16:51:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60233,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Default sender id can't be deleted",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nDefault sender id can't be deleted\n\n### Possible causes\n\nThe sender id that was requested to be deleted is default\n\n### Possible solutions\n\nSet another sender id as default and try again\n",
    "causes": "The sender id that was requested to be deleted is default",
    "solutions": "Set another sender id as default and try again",
    "description": "Default sender id can't be deleted",
    "date_created": "2023-08-15T21:41:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60234,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sender id can not be set as not default",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nSender id can not be set as not default\n\n### Possible causes\n\nThe sender id that's being updated is default and it's not allowed to set default as false\n\n### Possible solutions\n\nSet another sender id as default\n",
    "causes": "The sender id that's being updated is default and it's not allowed to set default as false",
    "solutions": "Set another sender id as default",
    "description": "Sender id can not be set as not default",
    "date_created": "2023-08-15T21:55:41Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60235,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sender Definitions does not match with requirements",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nSender definitions does not match with requirements\n\n### Possible causes\n\nThe sender definitions contains invalid properties\n\n### Possible solutions\n\nValidate the object, it contains invalid requirements such as an invalid name. Sender id must have at least 3 characters and up to 11 characters.\n",
    "causes": "The sender definitions contains invalid properties",
    "solutions": "Validate the object, it contains invalid requirements such as an invalid name. Sender id must have at least 3 characters and up to 11 characters.",
    "description": "Sender definitions does not match with requirements",
    "date_created": "2023-08-16T21:48:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60236,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "The domain could not be obtained from the given email",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe domain could not be obtained from the given email\n\n### Possible causes\n\nCould not obtain the domain from the email provided\n\n### Possible solutions\n\nPlease review the email provided or the email registered of your account administrator users\n",
    "causes": "Could not obtain the domain from the email provided",
    "solutions": "Please review the email provided or the email registered of your account administrator users",
    "description": "The domain could not be obtained from the given email",
    "date_created": "2023-09-19T22:07:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60237,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "The given domain is on a deny list",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nSome generic domains have been blocked for specific functionalities. The domains in the deny list are: Gmail, Yahoo, Hotmail, Outlook.\n\n### Possible solutions\n\nPlease use a different email with a custom domain.\n",
    "causes": "Some generic domains have been blocked for specific functionalities. The domains in the deny list are: Gmail, Yahoo, Hotmail, Outlook.",
    "solutions": "Please use a different email with a custom domain.",
    "description": "",
    "date_created": "2023-09-20T15:14:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60238,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Verification Creation Attempt blocked by Twilio",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nVerification creation attempt is blocked by Twilio\n\n### Possible causes\n\n- Your request has been blocked because your upgrade request is going through a review process\n- Your request has been blocked because you are attempting to send a message to Iran, Syria or Cuba.\n\n### Possible solutions\n\nIf you are still getting this error after 72 hours, please reach out to our support team for assistance.\n",
    "causes": "* Your request has been blocked because your upgrade request is going through a review process\n* Your request has been blocked because you are attempting to send a message to Iran, Syria or Cuba.",
    "solutions": "If you are still getting this error after 72 hours, please reach out to our support team for assistance.",
    "description": "Verification creation attempt is blocked by Twilio",
    "date_created": "2023-10-05T03:20:04Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60239,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "BYOT feature is not enabled",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour account doesn't have access to use Bring your Own templates (BYOT). The verification was sent using default templates.\n\n### Possible causes\n\nThe BYOT feature is not enabled on your account.\n\n### Possible solutions\n\nIf you need access to the BYOT feature please contact Twilio Support.\n",
    "causes": "The BYOT feature is not enabled on your account.",
    "solutions": "If you need access to the BYOT feature please contact Twilio Support.",
    "description": "Your account doesn't have access to use Bring your Own templates (BYOT). The verification was sent using default templates.",
    "date_created": "2023-10-24T17:30:01Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60240,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Templates not allowed",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour account does not have enough permissions to use templates\n\n### Possible causes\n\nSome countries have special requirements that can override the message to be compliant with the country thus preventing the use of templates.\n\n### Possible solutions\n\nPlease contact the support team to validate the requirements needed to be compliant with the country and avoid the override of the message.\n",
    "causes": "Some countries have special requirements that can override the message to be compliant with the country thus preventing the use of templates.",
    "solutions": "Please contact the support team to validate the requirements needed to be compliant with the country and avoid the override of the message.",
    "description": "Your account does not have enough permissions to use templates",
    "date_created": "2023-11-03T19:27:55Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60241,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Static message required",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour verification requires use static message\n\n### Possible causes\n\nSome countries have special requirements that can override the message to be compliant with the country thus forcing the use of static messages.\n\n### Possible solutions\n\nPlease contact the support team to validate the requirements needed to be compliant with the country and avoid the override of the message.\n",
    "causes": "Some countries have special requirements that can override the message to be compliant with the country thus forcing the use of static messages.",
    "solutions": "Please contact the support team to validate the requirements needed to be compliant with the country and avoid the override of the message.",
    "description": "Your verification requires use static message",
    "date_created": "2023-11-03T19:28:30Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60242,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "WhatsApp template not found",
    "secondary_message": "An approved WhatsApp template was not found for the given account sid and language",
    "product": "Verify",
    "docs": "\n## Description\n\nAn approved WhatsApp template was not found for the given account sid and language\n\n### Possible causes\n\nSelected account does not have whatsApp template created or approved\n\n### Possible solutions\n\nCreate and request approval for a whatsApp template in the needed language\n",
    "causes": "Selected account does not have whatsApp template created or approved",
    "solutions": "Create and request approval for a whatsApp template in the needed language",
    "description": "An approved WhatsApp template was not found for the given account sid and language",
    "date_created": "2023-12-22T15:31:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60243,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Custom messages are not supported",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour verification is using custom messages.\n\n### Possible causes\n\nVerification created using custom message are not supported.\n\n### Possible solutions\n\nEnsure that you pass the OTP code via [custom code](/docs/verify/api/customization-options) parameter in the API request, following which it will be automatically map your incoming message to Verify default templates or migrate your custom messages to use [Verify Custom Templates](/docs/verify/api/templates)\n",
    "causes": "Verification created using custom message are not supported.",
    "solutions": "Ensure that you pass the OTP code via [custom code](/docs/verify/api/customization-options) parameter in the API request, following which it will be automatically map your incoming message to Verify default templates or migrate your custom messages to use [Verify Custom Templates](/docs/verify/api/templates)",
    "description": "Your verification is using custom messages.",
    "date_created": "2024-02-06T14:26:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60244,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Custom messages are not supported",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYour verification messages are upgraded to default templates.\n\n### Possible causes\n\nVerifications created using custom messages are no longer supported and upgraded to default templates.\n\n### Possible solutions\n\nIf you would like to continue using custom message text migrate to [BYOT templates](/docs/verify/api/templates).\n",
    "causes": "Verifications created using custom messages are no longer supported and upgraded to default templates.",
    "solutions": "If you would like to continue using custom message text migrate to [BYOT templates](/docs/verify/api/templates).",
    "description": "Your verification messages are upgraded to default templates.",
    "date_created": "2024-02-06T14:35:30Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60245,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "You have exceeded your messaging limits",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYou have exceeded your messaging limits\n\n### Possible causes\n\nThis error is returned by SendGrid if you've sent more emails than your account can handle. This error can occur for a number of reasons, including daily or hourly limits, or limits on the number of messages that can be sent at once. SendGrid uses one credit for each email, and credits renew at the beginning of each month.\n\n### Possible solutions\n\nContact SendGrid support to remove that limit or change your SendGrid plan.\n",
    "causes": "This error is returned by SendGrid if you've sent more emails than your account can handle. This error can occur for a number of reasons, including daily or hourly limits, or limits on the number of messages that can be sent at once. SendGrid uses one credit for each email, and credits renew at the beginning of each month.",
    "solutions": "Contact SendGrid support to remove that limit or change your SendGrid plan.",
    "description": "You have exceeded your messaging limits",
    "date_created": "2024-05-20T16:59:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60246,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Service already exists",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nService already exists\n\n### Possible causes\n\n- You tried to create a service with a UniqueName that already exists.\n\n### Possible solutions\n\n- Use a different UniqueName.\n",
    "causes": "* You tried to create a service with a UniqueName that already exists.",
    "solutions": "* Use a different UniqueName.",
    "description": "Service already exists",
    "date_created": "2024-06-11T14:08:57Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60247,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Message Length Exceeded",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe message body generated for your verification is too long. The maximum number of characters allowed is 500.\n\n### Possible causes\n\n1. Template Substitutions: If you are using a template, ensure that it, including any variable substitutions, does not exceed the 500-character limit.\n2. Friendly Name, Code, or Custom Substitutions: Review your message's friendly name, code, or custom substitutions. These elements might be increasing the message length and causing it to exceed the limit.\n\n### Possible solutions\n\n1. Template Substitutions:\n\n   - Review the length of dynamic variables or placeholders in your template, such as \\{\\{customer\\_name}} or \\{\\{order\\_number}}. These values might be longer than expected once replaced.\n   - Simplify or abbreviate the content of your template. For example, instead of \"Dear \\{\\{customer\\_name}}, we are pleased to inform that your code is \\{\\{code}}\", try \"Hi \\{\\{customer\\_name}}, your code is \\{\\{code}}\"\n2. Friendly Name Substitutions:\n   - If you're using a friendly name for identification, ensure it's concise.\n3. Code Substitutions:\n   - Check for codes that are dynamically added to the message. Long codes may need to be shortened. For example, you could change the code length of your verify service.\n4. Custom Substitutions:\n   - Look for unnecessary custom substitutions that may be inflating the message length.\n\nThese substitutions are focused on shortening the content without losing clarity, helping users keep their messages within the 500-character limit.\n",
    "causes": "1. Template Substitutions: If you are using a template, ensure that it, including any variable substitutions, does not exceed the 500-character limit.\n2. Friendly Name, Code, or Custom Substitutions: Review your message's friendly name, code, or custom substitutions. These elements might be increasing the message length and causing it to exceed the limit.",
    "solutions": "1. Template Substitutions:\n\n   * Review the length of dynamic variables or placeholders in your template, such as {{customer\\_name}} or {{order\\_number}}. These values might be longer than expected once replaced.\n   * Simplify or abbreviate the content of your template. For example, instead of \"Dear {{customer\\_name}}, we are pleased to inform that your code is {{code}}\", try \"Hi {{customer\\_name}}, your code is {{code}}\"\n2. Friendly Name Substitutions:\n   * If you're using a friendly name for identification, ensure it's concise.\n3. Code Substitutions:\n   * Check for codes that are dynamically added to the message. Long codes may need to be shortened. For example, you could change the code length of your verify service.\n4. Custom Substitutions:\n   * Look for unnecessary custom substitutions that may be inflating the message length. These substitutions are focused on shortening the content without losing clarity, helping users keep their messages within the 500-character limit.",
    "description": "The message body generated for your verification is too long. The maximum number of characters allowed is 500.",
    "date_created": "2024-09-27T15:07:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60248,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Friendly Name contains a restricted word",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe specified Friendly Name to create or update the Verify Service is not allowed because it contains a restricted word. Provide a different Friendly Name or contact support.\n\n### Possible causes\n\nThe specified Friendly Name for the Verify Service contains a restricted word.\n\n### Possible solutions\n\nProvide a different Friendly Name that does not contain a restricted word or contact support to request an exemption from the restriction.\n",
    "causes": "The specified Friendly Name for the Verify Service contains a restricted word.",
    "solutions": "Provide a different Friendly Name that does not contain a restricted word or contact support to request an exemption from the restriction.",
    "description": "The specified Friendly Name to create or update the Verify Service is not allowed because it contains a restricted word. Provide a different Friendly Name or contact support.",
    "date_created": "2025-10-22T23:42:58.273Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60300,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Param",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe request contained malformed or semantically incorrect parameters.\n\n#### Is the request safe to retry?\n\nA 60300 error request is never processed and is always safe to retry.\n\nHTTP status: 400\n\n### Possible causes\n\n- Missing parameter.\n- Invalid parameter type, value, or length.\n\n### Possible solutions\n\n- Send the required parameter.\n- Review the parameter type or value.\n- Review the parameter length.\n",
    "causes": "* Missing parameter.\n* Invalid parameter type, value, or length.",
    "solutions": "* Send the required parameter.\n* Review the parameter type or value.\n* Review the parameter length.",
    "description": "The request contained malformed or semantically incorrect parameters.",
    "date_created": "2020-06-30T16:44:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60301,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Entity already exists",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nHTTP status: 409\n\n### Possible causes\n\nYou are trying to create an Entity with an existing `Identity` in the same Service.\n\n### Possible solutions\n\nMake sure that there is not any other Entity with the same `Identity` associated to the same Service.\n",
    "causes": "You are trying to create an Entity with an existing `Identity` in the same Service.",
    "solutions": "Make sure that there is not any other Entity with the same `Identity` associated to the same Service.",
    "description": "HTTP status: 409",
    "date_created": "2020-06-30T16:46:05Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60302,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "FactorType already exists",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe Entity has already a `FactorType` of the same type.\n\nHTTP status: 400\n\n### Possible causes\n\nEach Entity can have multiples Factor types, but each `FactorType` has to be unique for the given Entity.\n\n### Possible solutions\n\nMake sure you are assigning the new `FactorType` to the right Entity.\n",
    "causes": "Each Entity can have multiples Factor types, but each `FactorType` has to be unique for the given Entity.",
    "solutions": "Make sure you are assigning the new `FactorType` to the right Entity.",
    "description": "The Entity has already a `FactorType` of the same type. HTTP status: 400",
    "date_created": "2020-06-30T16:47:35Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60303,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Entities batch deletion request body is not valid",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYou are trying to delete entities in batch mode, but the body sent is invalid\n\n### Possible causes\n\n- Your body payload does not follow the right structure\n- You are exceeding the maximum amount of records to be processed (Currently: 10)\n- You are sending incorrect entities information. Eg: Malformed SIDs or missing identities\n\n### Possible solutions\n\n- Make sure you are sending the information following the right structure\n- Please do not exceed the maximum amount of records to process per request\n- Make review the SID's and identities you are sending\n",
    "causes": "* Your body payload does not follow the right structure\n* You are exceeding the maximum amount of records to be processed (Currently: 10)\n* You are sending incorrect entities information. Eg: Malformed SIDs or missing identities",
    "solutions": "* Make sure you are sending the information following the right structure\n* Please do not exceed the maximum amount of records to process per request\n* Make review the SID's and identities you are sending",
    "description": "You are trying to delete entities in batch mode, but the body sent is invalid",
    "date_created": "2020-06-16T13:52:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60304,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Entity already exists",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nYou are trying to create an Entity that already exists and is associated the given service and has the same Identity\n\n### Possible solutions\n\nMake sure you are associating the entity to the right service Make sure there are not additional entities in the service with the same identity name\n",
    "causes": "You are trying to create an Entity that already exists and is associated the given service and has the same Identity",
    "solutions": "Make sure you are associating the entity to the right service Make sure there are not additional entities in the service with the same identity name",
    "description": "",
    "date_created": "2020-06-16T13:56:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60305,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Access Token parameters are invalid",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAccess Token parameters are invalid.\n\nHTTP status: 400\n\n### Possible causes\n\nAny of the required parameters are missing in the request params:\n\n- **Identity:** External unique identifier for the Entity.\n- **FactorType:** The factor type that the Access Token will be used to create.\n\n### Possible solutions\n\nCheck Access Token parameters.\n",
    "causes": "Any of the required parameters are missing in the request params: - **Identity:** External unique identifier for the Entity.\n- **FactorType:** The factor type that the Access Token will be used to create.",
    "solutions": "Check Access Token parameters.",
    "description": "Access Token parameters are invalid. HTTP status: 400",
    "date_created": "2020-06-30T16:49:31Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60306,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Request",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe request is invalid.\n\nHTTP status: 400\n\n### Possible causes\n\nOne or more parameters are in an invalid format:\n\n- Invalid `AccountSid`.\n- Invalid `ServiceSid`.\n- Invalid `Identity`.\n- Invalid Factor parameters: Invalid `FriendlyName`, `Binding`, etc.\n- Invalid `AuthPayload` when verifying a factor or challenge.\n- Invalid `FactorSid`.\n- Invalid list parameters: Invalid `Page`, `PageSize` or `PageToken`.\n- Invalid Challenge parameters: Invalid `FactorSid`, `ExpirationDate`, `Details` or `HiddenDetails`.\n- Invalid `ChallengeSid`.\n- Invalid Factor configuration.\n- Invalid `JWT`.\n- Invalid Webhooks parameters: Invalid `EventTypes`\n- Invalid `PhoneNumber` or Invalid `PhoneNumberPrefix` when adding a `PhoneNumber` or `PhoneNumberPrefix` to Global Safelist APIs.\n\n### Possible solutions\n\nReview the parameters you are passing from the list above and try again. Accepted parameters are detailed in the [API reference](/docs/verify/api).\n",
    "causes": "One or more parameters are in an invalid format: - Invalid `AccountSid`.\n- Invalid `ServiceSid`.\n- Invalid `Identity`.\n- Invalid Factor parameters: Invalid `FriendlyName`, `Binding`, etc.\n- Invalid `AuthPayload` when verifying a factor or challenge.\n- Invalid `FactorSid`.\n- Invalid list parameters: Invalid `Page`, `PageSize` or `PageToken`.\n- Invalid Challenge parameters: Invalid `FactorSid`, `ExpirationDate`, `Details` or `HiddenDetails`.\n- Invalid `ChallengeSid`.\n- Invalid Factor configuration.\n- Invalid `JWT`.\n- Invalid Webhooks parameters: Invalid `EventTypes`\n- Invalid `PhoneNumber` or Invalid `PhoneNumberPrefix` when adding a `PhoneNumber` or `PhoneNumberPrefix` to Global Safelist APIs.",
    "solutions": "Review the parameters you are passing from the list above and try again. Accepted parameters are detailed in the [API reference](/docs/verify/api).",
    "description": "The request is invalid. HTTP status: 400",
    "date_created": "2020-06-30T16:53:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60307,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot resend push notifications to 'none' notification platform",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThis error is returned when the resend push notification endpoint was called for a factor using \"none\" as notification platform in its configuration.\n\n### Possible causes\n\nYou called the resend push notification endpoint for a factor with the \"none\" notification platform configured.\n\n### Possible solutions\n\nFor factor configured with \"none\" as notification platform, it is not necessary to call the resend push notification endpoint.\n",
    "causes": "You called the resend push notification endpoint for a factor with the \"none\" notification platform configured.",
    "solutions": "For factor configured with \"none\" as notification platform, it is not necessary to call the resend push notification endpoint.",
    "description": "This error is returned when the resend push notification endpoint was called for a factor using \"none\" as notification platform in its configuration.",
    "date_created": "2021-10-29T18:08:00Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60308,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Challenge verification attempts limit reached",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe maximum number of verification attempts for a Challenge has been reached.\n\nMax. number of attempts for TOTP: 5.\n\nHTTP status: 429\n\n### Possible causes\n\nToo many incorrect TOTP codes have been provided in the AuthPayload\n\n### Possible solutions\n\n- Create a new Challenge and verify that one.\n- For TOTP, ask the user to provide the correct TOTP code or re-register them with a new Factor if they are unable to generate correct codes for the existing Factor.\n",
    "causes": "Too many incorrect TOTP codes have been provided in the AuthPayload",
    "solutions": "* Create a new Challenge and verify that one.\n* For TOTP, ask the user to provide the correct TOTP code or re-register them with a new Factor if they are unable to generate correct codes for the existing Factor.",
    "description": "The maximum number of verification attempts for a Challenge has been reached. Max. number of attempts for TOTP: 5. HTTP status: 429",
    "date_created": "2021-04-23T22:03:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60309,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Push notifications limit reached for a Challenge",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe maximum number of push notifications for the Challenge has been reached\n\nMax number of notifications: 3\n\nHTTP status: 429\n\n### Possible causes\n\nToo many calls to the Resend Notification endpoint for a given Challenge\n\n### Possible solutions\n\nCreate a new Challenge and send notifications for it.\n",
    "causes": "Too many calls to the Resend Notification endpoint for a given Challenge",
    "solutions": "Create a new Challenge and send notifications for it.",
    "description": "The maximum number of push notifications for the Challenge has been reached Max number of notifications: 3 HTTP status: 429",
    "date_created": "2021-04-30T14:49:42Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60310,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor verification attempts reached",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe maximum number of verification attempts for a Factor has been reached.\n\nMax. Number of attempts for a TOTP Factor: 5.\n\nHTTP status: 429\n\n### Possible causes\n\nToo many incorrect TOTP codes have been provided in the AuthPayload\n\n### Possible solutions\n\n- Create a new Factor and verify that one..\n- For a TOTP Factor, ask the user to provide the correct TOTP code or create a new Factor if they are unable to generate the correct codes for the Factor they are verifying.\n",
    "causes": "Too many incorrect TOTP codes have been provided in the AuthPayload",
    "solutions": "* Create a new Factor and verify that one..\n* For a TOTP Factor, ask the user to provide the correct TOTP code or create a new Factor if they are unable to generate the correct codes for the Factor they are verifying.",
    "description": "The maximum number of verification attempts for a Factor has been reached. Max. Number of attempts for a TOTP Factor: 5. HTTP status: 429",
    "date_created": "2021-05-11T19:20:57Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60311,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor verification failed",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nFactor verification failure.\n\nHTTP status: 403\n\n### Possible causes\n\nIt was not possible to verify a Factor.\n\n### Possible solutions\n\nCheck parameters and retry.\n",
    "causes": "It was not possible to verify a Factor.",
    "solutions": "Check parameters and retry.",
    "description": "Factor verification failure. HTTP status: 403",
    "date_created": "2020-06-30T17:03:06Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60312,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Challenge creation limit reached",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe maximum number of Challenge creations for a Factor has been reached.\n\nMax. number of attempts for a Factor with `Config.CodeLength` less or equal to 4: 10 every 24 hours.\n\nMax. number of attempts for a Factor with `Config.CodeLength` greater or equal to 5: 50 every hour, and up to 100 every 24 hours.\n\nHTTP status: 429\n\n### Possible causes\n\nToo many Challenges created within a time period.\n\n### Possible solutions\n\n- Create a new Factor and verify it. Then create new Challenges under the new Factor.\n- Depending on the Factor's `Config.CodeLength` parameter, await rate limit cooldown period between 1 hour and 24 hours.\n",
    "causes": "Too many Challenges created within a time period.",
    "solutions": "* Create a new Factor and verify it. Then create new Challenges under the new Factor.\n* Depending on the Factor's `Config.CodeLength` parameter, await rate limit cooldown period between 1 hour and 24 hours.",
    "description": "The maximum number of Challenge creations for a Factor has been reached. Max. number of attempts for a Factor with `Config.CodeLength` less or equal to 4: 10 every 24 hours. Max. number of attempts for a Factor with `Config.CodeLength` greater or equal to 5: 50 every hour, and up to 100 every 24 hours. HTTP status: 429",
    "date_created": "2021-05-21T16:36:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60313,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unauthorized factor creation",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYou are not authorized to create a Factor.\n\nHTTP status: 403\n\n### Possible causes\n\nYou do not have the permissions required to create a Factor.\n\n### Possible solutions\n\nRequest permissions.\n",
    "causes": "You do not have the permissions required to create a Factor.",
    "solutions": "Request permissions.",
    "description": "You are not authorized to create a Factor. HTTP status: 403",
    "date_created": "2020-06-30T17:04:43Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60314,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factors binding format is invalid",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe format of the Factor binding is not valid.\n\nHTTP status: 400\n\n### Possible causes\n\nThe `Public Key` might be invalid.\n\n### Possible solutions\n\nMake sure that the `Public Key` and `Algorithm` are correct.\n",
    "causes": "The `Public Key` might be invalid.",
    "solutions": "Make sure that the `Public Key` and `Algorithm` are correct.",
    "description": "The format of the Factor binding is not valid. HTTP status: 400",
    "date_created": "2020-06-30T17:08:13Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60315,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Reached max limit of 20 push Factors associated per Entity",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n- Reached max limit of 20 Factors of `FactorType` = `push` per Entity.\n- Reached max limit of 100 Factors of `FactorType` = `totp` per Entity.\n\nHTTP status: 400\n\n### Possible causes\n\n- You already have 20 `push` Factors created for the Entity.\n- You already have 100 `totp` Factors created for the Entity.\n\n### Possible solutions\n\nDelete one of the existing Factors of the same `FactorType` to create a new one.\n",
    "causes": "* You already have 20 `push` Factors created for the Entity.\n* You already have 100 `totp` Factors created for the Entity.",
    "solutions": "Delete one of the existing Factors of the same `FactorType` to create a new one.",
    "description": "* Reached max limit of 20 Factors of `FactorType` = `push` per Entity.\n* Reached max limit of 100 Factors of `FactorType` = `totp` per Entity. HTTP status: 400",
    "date_created": "2020-06-30T17:09:54Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60317,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor already exists",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYou are creating a Factor that already exists.\n\nHTTP status: 409\n\n### Possible causes\n\nYou are trying to create a Factor with the same binding parameters as an existing one.\n\n### Possible solutions\n\nCheck that the binding parameters are not the same as those in an existing Factor.\n",
    "causes": "You are trying to create a Factor with the same binding parameters as an existing one.",
    "solutions": "Check that the binding parameters are not the same as those in an existing Factor.",
    "description": "You are creating a Factor that already exists. HTTP status: 409",
    "date_created": "2020-06-30T17:14:44Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60318,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor is unverified",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nHTTP status: 403\n\n### Possible causes\n\nThe Factor has not been verified.\n\n### Possible solutions\n\nVerify the Factor first.\n",
    "causes": "The Factor has not been verified.",
    "solutions": "Verify the Factor first.",
    "description": "HTTP status: 403",
    "date_created": "2020-06-30T21:31:32Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60322,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Challenge already responded",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe Challenge was already responded before.\n\nHTTP status: 403\n\n### Possible causes\n\nThis Challenge already have a previous response.\n\n### Possible solutions\n\nCreate a new Challenge.\n",
    "causes": "This Challenge already have a previous response.",
    "solutions": "Create a new Challenge.",
    "description": "The Challenge was already responded before. HTTP status: 403",
    "date_created": "2020-06-30T21:34:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60323,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Challenge expired",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nChallenge verification window expired.\n\nHTTP status: 403\n\n### Possible causes\n\nThe Challenge was not responded within the window of time.\n\n### Possible solutions\n\nCreate a new Challenge.\n",
    "causes": "The Challenge was not responded within the window of time.",
    "solutions": "Create a new Challenge.",
    "description": "Challenge verification window expired. HTTP status: 403",
    "date_created": "2020-06-30T21:42:23Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60324,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Challenge verification failed",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nVerification attempt was unsuccessful, AuthPayload is invalid.\n\nHTTP status: 403\n\n### Possible causes\n\n- For a Push Challenge, the signature in AuthPayload is invalid.\n- For a TOTP Challenge, the OTP code in AuthPayload is invalid.\n\n### Possible solutions\n\n- For a Push Challenge, check the signature sent in AuthPayload and retry.\n- For a TOTP Challenge, check the OTP code sent in AuthPayload and retry.\n",
    "causes": "* For a Push Challenge, the signature in AuthPayload is invalid.\n* For a TOTP Challenge, the OTP code in AuthPayload is invalid.",
    "solutions": "* For a Push Challenge, check the signature sent in AuthPayload and retry.\n* For a TOTP Challenge, check the OTP code sent in AuthPayload and retry.",
    "description": "Verification attempt was unsuccessful, AuthPayload is invalid. HTTP status: 403",
    "date_created": "2020-06-30T21:45:43Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60325,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Translation for locale not found, using default",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe template you are using does not have the translation with the locale you specified.\n\n### Possible causes\n\nThe translation might not exist.\n\n### Possible solutions\n\nIf you want to add more translations, please contact support.\n",
    "causes": "The translation might not exist.",
    "solutions": "If you want to add more translations, please contact support.",
    "description": "The template you are using does not have the translation with the locale you specified.",
    "date_created": "2021-10-16T15:11:12Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60326,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Too many requests to create factors for the entity",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n- Too many requests to create factors for the entity\n\nHTTP status: 429\n\n### Possible causes\n\n- This entity tried to create more than 100 factors per day\n\n### Possible solutions\n\nTry again 24h later\n",
    "causes": "* This entity tried to create more than 100 factors per day",
    "solutions": "Try again 24h later",
    "description": "* Too many requests to create factors for the entity HTTP status: 429",
    "date_created": "2022-02-16T18:37:04Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60327,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "The provided channel is not supported by the given template. Verify is falling back to the static message.",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe template you are using does not support the channel you specified. The static message fallback was used.\n\n### Possible causes\n\nThe template provided doesn't support the specified channel.\n\n### Possible solutions\n\nIf you want to add the provided channel for the given template, please contact support.\n",
    "causes": "The template provided doesn't support the specified channel.",
    "solutions": "If you want to add the provided channel for the given template, please contact support.",
    "description": "The template you are using does not support the channel you specified. The static message fallback was used.",
    "date_created": "2023-11-17T12:43:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60328,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Entities rate limit exceeded",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nExceeded the rate limit of entities created per account per second\n\n### Possible causes\n\n- More than 40 entities were created within the last second\n\n### Possible solutions\n\n- Lower the rate at which entities are being created\n- Keep in mind that this could also happen while using the create factor endpoint\n- Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to review your use case and limits\n",
    "causes": "* More than 40 entities were created within the last second",
    "solutions": "* Lower the rate at which entities are being created\n* Keep in mind that this could also happen while using the create factor endpoint\n* Verify that your application is not misbehaving and the load is expected. If everything is as expected then contact Customer Support to review your use case and limits",
    "description": "Exceeded the rate limit of entities created per account per second",
    "date_created": "2024-05-30T18:21:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60329,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Verify SNA does not work with `psd2_enabled`",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe Silent Network Auth channel does not work when `psd2_nabled` is set to `true` for a Verify `Service`.\n\n### Possible causes\n\n- Attempting to create a `Verification` with `channel` set to `sna` under a Verify `Service` with `psd2_enabled` set to `true`.\n\n### Possible solutions\n\n- Do not use `sna` channel for a Verify `Service` with `psd2_enabled` set to `true`.\n",
    "causes": "* Attempting to create a `Verification` with `channel` set to `sna` under a Verify `Service` with `psd2_enabled` set to `true`.",
    "solutions": "* Do not use `sna` channel for a Verify `Service` with `psd2_enabled` set to `true`.",
    "description": "The Silent Network Auth channel does not work when `psd2_nabled` is set to `true` for a Verify `Service`.",
    "date_created": "2022-07-11T19:05:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60330,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to invoke the webhook",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nHTTP status: 400\n\n### Possible causes\n\n- Unable to access the `webhook` **URL**\n- The `webhook` is allowing **HTTP** requests other than **`POST`**\n- The `webhook` is responding with a status code other than **200** (OK)\n\n### Possible solutions\n\n- Make sure the `webhook` **URL** is reachable\n- Remember the `webhook` must allow **HTTP `POST`** requests\n- Make sure the `webhook` is responding with status code **200** when everything is going well\n",
    "causes": "* Unable to access the `webhook` **URL**\n* The `webhook` is allowing **HTTP** requests other than **`POST`**\n* The `webhook` is responding with a status code other than **200** (OK)",
    "solutions": "* Make sure the `webhook` **URL** is reachable\n* Remember the `webhook` must allow **HTTP `POST`** requests\n* Make sure the `webhook` is responding with status code **200** when everything is going well",
    "description": "HTTP status: 400",
    "date_created": "2020-07-27T15:07:28Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60331,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Locale requested is not supported by Verify Text-To-Speech conversion",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Invalid Parameter\n\nLocale requested is not supported by Verify Text-To-Speech conversion.\n\n### Possible causes\n\nThe user have provided a Locale to be used that is not supported for Text-to-Speech.\n\n### Possible solutions\n\nProvide a supported Text-To-Speech using this documentation. https://support.twilio.com/hc/en-us/articles/223132827-What-Languages-can-the-Say-TwiML-Verb-Speak-\n",
    "causes": "The user have provided a Locale to be used that is not supported for Text-to-Speech.",
    "solutions": "Provide a supported Text-To-Speech using this documentation. https://support.twilio.com/hc/en-us/articles/223132827-What-Languages-can-the-Say-TwiML-Verb-Speak-",
    "description": "",
    "date_created": "2022-08-17T20:42:49Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60332,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Delete translation is not allowed",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Invalid Action\n\nPayload requests must contain the current translations that the template have\n\n### Possible causes\n\nThe user did not provide the current translations that exist for the template\n\n### Possible solutions\n\nProvide the desired translation to be deleted with the field \"ToBeDeleted\"\n",
    "causes": "The user did not provide the current translations that exist for the template",
    "solutions": "Provide the desired translation to be deleted with the field \"ToBeDeleted\"",
    "description": "",
    "date_created": "2022-10-28T14:39:27Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60333,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "The SMS message was sent using a brandless template.",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe SMS message was sent using a brandless template, instead of the template that you configured, which contains a friendly name (brand).\n\n### Possible causes\n\nDue to mobile carrier regulations, Verify needs to remove the friendly name from the message body. This is due to compliance, and our best-effort to ensure delivery of your OTP to certain restricted destinations.\n\n### Possible solutions\n\nConfigure a dedicated Sender ID or phone number to send messages, instead of using a shared one.\n\nTo learn more, see [Why was my friendly name not included in the Verify SMS?](https://support.twilio.com/hc/en-us/articles/12387480513307-Why-was-my-friendly-name-not-included-in-the-Verify-SMS-)\n",
    "causes": "Due to mobile carrier regulations, Verify needs to remove the friendly name from the message body. This is due to compliance, and our best-effort to ensure delivery of your OTP to certain restricted destinations.",
    "solutions": "Configure a dedicated Sender ID or phone number to send messages, instead of using a shared one. To learn more, see [Why was my friendly name not included in the Verify SMS?](https://support.twilio.com/hc/en-us/articles/12387480513307-Why-was-my-friendly-name-not-included-in-the-Verify-SMS-)",
    "description": "The SMS message was sent using a brandless template, instead of the template that you configured, which contains a friendly name (brand).",
    "date_created": "2023-01-27T16:26:17Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60334,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "The SMS message was sent using a brandful template.",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe SMS message was sent using a brandful template instead of the configured template, which does not contain a friendly name (brand).\n\n### Possible causes\n\nDue to mobile carrier regulations, Verify needs to add the friendly name from the message body.\n\n### Possible solutions\n\nConfigure or use a dedicated template that includes the friendly name.\n",
    "causes": "Due to mobile carrier regulations, Verify needs to add the friendly name from the message body.",
    "solutions": "Configure or use a dedicated template that includes the friendly name.",
    "description": "The SMS message was sent using a brandful template instead of the configured template, which does not contain a friendly name (brand).",
    "date_created": "2024-05-09T22:41:18Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60335,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "The SMS message was sent using a brandless template.",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe SMS message was sent using a brandless template instead of the template that you configured, which contains a Friendly Name (brand) configured in the Verify Service.\n\n### Possible causes\n\nThe Friendly Name that you have configured contains restricted words\n\n### Possible solutions\n\nContact support if you would like to request an exemption. To learn more, see Why was my friendly name not included in the Verify SMS?\n",
    "causes": "The Friendly Name that you have configured contains restricted words",
    "solutions": "Contact support if you would like to request an exemption. To learn more, see Why was my friendly name not included in the Verify SMS?",
    "description": "The SMS message was sent using a brandless template instead of the template that you configured, which contains a Friendly Name (brand) configured in the Verify Service.",
    "date_created": "2025-11-20T18:22:08.455Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60361,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account SID is invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Account SID in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Account SID in the request parameter/header is correct.\n",
    "causes": "The Account SID in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Account SID in the request parameter/header is correct.",
    "description": "",
    "date_created": "2023-12-13T09:48:07Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60362,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor SID invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Factor SID in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Factor SID in the request parameter is correct.\n",
    "causes": "The Factor SID in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Factor SID in the request parameter is correct.",
    "description": "",
    "date_created": "2023-12-13T09:50:20Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60363,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Service SID invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Service SID in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Service SID in the request parameter/header is correct.\n",
    "causes": "The Service SID in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Service SID in the request parameter/header is correct.",
    "description": "",
    "date_created": "2023-12-13T09:52:58Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60364,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Challenge SID invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Challenge SID in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Challenge SID in the request parameter/body is correct.\n",
    "causes": "The Challenge SID in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Challenge SID in the request parameter/body is correct.",
    "description": "",
    "date_created": "2023-12-13T09:54:54Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60365,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Entity SID invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Entity SID in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Entity SID in the request parameter/body is correct.\n",
    "causes": "The Entity SID in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Entity SID in the request parameter/body is correct.",
    "description": "",
    "date_created": "2023-12-13T10:21:50Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60366,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Entity invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Entity in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Entity in the request body is correct.\n",
    "causes": "The Entity in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Entity in the request body is correct.",
    "description": "",
    "date_created": "2023-12-13T10:23:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60367,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid entity identity",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Entity identity in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Entity identity in the request body is correct.\n",
    "causes": "The Entity identity in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Entity identity in the request body is correct.",
    "description": "",
    "date_created": "2023-12-19T11:29:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60368,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Challenge details invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Challenge details section in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Challenge details in the request body is correct.\n",
    "causes": "The Challenge details section in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Challenge details in the request body is correct.",
    "description": "",
    "date_created": "2023-12-19T11:34:41Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60369,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor type invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Factor type in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Factor type in the request body is correct.\n",
    "causes": "The Factor type in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Factor type in the request body is correct.",
    "description": "",
    "date_created": "2023-12-19T11:36:56Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60370,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor config invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Factor config section in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Factor config in the request body is correct.\n",
    "causes": "The Factor config section in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Factor config in the request body is correct.",
    "description": "",
    "date_created": "2023-12-19T11:39:12Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60371,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Relying party invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe config for relying party in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the config for relying party in the request body is correct.\n",
    "causes": "The config for relying party in the request is missing or incorrectly formatted.",
    "solutions": "Check that the config for relying party in the request body is correct.",
    "description": "",
    "date_created": "2023-12-20T09:19:37Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60372,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Relying party id invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Relying party ID in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Relying party ID in the request body is correct.\n",
    "causes": "The Relying party ID in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Relying party ID in the request body is correct.",
    "description": "",
    "date_created": "2023-12-20T09:21:40Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60373,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid page size",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Page size in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Page size in the request body is correct.\n",
    "causes": "The Page size in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Page size in the request body is correct.",
    "description": "",
    "date_created": "2023-12-20T09:29:30Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60374,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid page token",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Page token in the request is incorrectly formatted\n\n### Possible solutions\n\nCheck that the Page token in the request body is correct.\n",
    "causes": "The Page token in the request is incorrectly formatted",
    "solutions": "Check that the Page token in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:35:03Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60375,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid id",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe ID in the request is incorrectly formatted.\n\n### Possible solutions\n\nCheck that the ID in the request body is correct.\n",
    "causes": "The ID in the request is incorrectly formatted.",
    "solutions": "Check that the ID in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:36:59Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60376,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid rawId",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe RawID in the request is incorrectly formatted.\n\n### Possible solutions\n\nCheck that the RawID in the request body is correct.\n",
    "causes": "The RawID in the request is incorrectly formatted.",
    "solutions": "Check that the RawID in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:39:06Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60377,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Authenticator attachment invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Authenticator attachment in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Authenticator attachment in the request body is correct.\n",
    "causes": "The Authenticator attachment in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Authenticator attachment in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:40:39Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60378,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Authenticator response invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Authenticator response in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Authenticator response in the request body is correct.\n",
    "causes": "The Authenticator response in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Authenticator response in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:42:29Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60379,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Authenticator data invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Authenticator data in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Authenticator data in the request body is correct.\n",
    "causes": "The Authenticator data in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Authenticator data in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:44:22Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60380,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Client data invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Client data JSON in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Client data JSON in the request body is correct.\n",
    "causes": "The Client data JSON in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Client data JSON in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:46:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60381,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Signature invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Signature in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Signature in the request body is correct.\n",
    "causes": "The Signature in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Signature in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:48:08Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60382,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor does not match the relying party of the challenge",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Relying party is specified in the request, but it is incorrect.\n\n### Possible solutions\n\nCheck that the Relying party in the request body is correct.\n",
    "causes": "The Relying party is specified in the request, but it is incorrect.",
    "solutions": "Check that the Relying party in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:49:43Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60383,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Illegal factor status",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested operation cannot be performed on this Factor because the Factor is in an inconsistent state or has expired.\n\n### Possible solutions\n\nComplete the Factor or re-register the identity.\n",
    "causes": "The requested operation cannot be performed on this Factor because the Factor is in an inconsistent state or has expired.",
    "solutions": "Complete the Factor or re-register the identity.",
    "description": "",
    "date_created": "2023-12-27T09:51:28Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60384,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid challenge timeout",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Challenge timeout in the request is negative.\n\n### Possible solutions\n\nCheck that the Challenge timeout in the request has positive value\n",
    "causes": "The Challenge timeout in the request is negative.",
    "solutions": "Check that the Challenge timeout in the request has positive value",
    "description": "",
    "date_created": "2023-12-27T09:53:08Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60385,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Public key invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Public key in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Public key in the request body is correct.\n",
    "causes": "The Public key in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Public key in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:54:45Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60386,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attestation object invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Attestation object in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Attestation object in the request body is correct.\n",
    "causes": "The Attestation object in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Attestation object in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:56:15Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60387,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attested credential data invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Attested credential data in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Attested credential data in the request body is correct.\n",
    "causes": "The Attested credential data in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Attested credential data in the request body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:57:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60388,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "User display name not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nUser display name not provided\n\n### Possible causes\n\nThe User display name in the request is missing.\n\n### Possible solutions\n\nCheck that the User display name in the request body is provided.\n",
    "causes": "The User display name in the request is missing.",
    "solutions": "Check that the User display name in the request body is provided.",
    "description": "User display name not provided",
    "date_created": "2024-08-02T12:50:02Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60390,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor not found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested Factor is missing\n\n### Possible solutions\n\nCheck that the Factor in the request parameter/body is correct.\n",
    "causes": "The requested Factor is missing",
    "solutions": "Check that the Factor in the request parameter/body is correct.",
    "description": "",
    "date_created": "2023-12-27T09:59:52Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60391,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Challenge not found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested Challenge is missing\n\n### Possible solutions\n\nCheck that the Challenge in the request parameter/body is correct.\n",
    "causes": "The requested Challenge is missing",
    "solutions": "Check that the Challenge in the request parameter/body is correct.",
    "description": "",
    "date_created": "2023-12-27T10:01:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60392,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Entity not found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested Entity is missing\n\n### Possible solutions\n\nCheck that the Entity in the request parameter/body is correct.\n",
    "causes": "The requested Entity is missing",
    "solutions": "Check that the Entity in the request parameter/body is correct.",
    "description": "",
    "date_created": "2023-12-27T10:03:19Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60401,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Network Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while calling the API.\n\n### Possible causes\n\nIt was not possible to communicate properly with the API.\n\n### Possible solutions\n\nCheck parameters and retry\n",
    "causes": "It was not possible to communicate properly with the API.",
    "solutions": "Check parameters and retry",
    "description": "An error occurred while calling the API.",
    "date_created": "2021-03-15T20:43:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60402,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Mapper Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while mapping an entity.\n\n### Possible causes\n\nUnexpected entity format.\n\n### Possible solutions\n\nCreate a new factor.\n",
    "causes": "Unexpected entity format.",
    "solutions": "Create a new factor.",
    "description": "An error occurred while mapping an entity.",
    "date_created": "2021-03-15T20:44:09Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60403,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Storage Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while storing/loading an entity.\n\n### Possible causes\n\n- Storage may be corrupted.\n- Factor not found.\n\n### Possible solutions\n\nCreate a new factor.\n",
    "causes": "* Storage may be corrupted.\n* Factor not found.",
    "solutions": "Create a new factor.",
    "description": "An error occurred while storing/loading an entity.",
    "date_created": "2021-03-15T20:44:48Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60404,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Input Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while loading input.\n\n### Possible causes\n\nSome inputs are invalid.\n\n### Possible solutions\n\nCheck parameters and retry.\n",
    "causes": "Some inputs are invalid.",
    "solutions": "Check parameters and retry.",
    "description": "An error occurred while loading input.",
    "date_created": "2021-03-15T20:45:25Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60405,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Key Storage Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while storing/loading keypairs.\n\n### Possible causes\n\n- Keypair not set.\n- Keypair could not be created.\n- Signature failed.\n\n### Possible solutions\n\nCreate a new factor.\n",
    "causes": "* Keypair not set.\n* Keypair could not be created.\n* Signature failed.",
    "solutions": "Create a new factor.",
    "description": "An error occurred while storing/loading keypairs.",
    "date_created": "2021-03-15T20:46:04Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60406,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Initialization Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while initializing a class.\n\n### Possible causes\n\nMissing arguments to initialize a class.\n\n### Possible solutions\n\nCheck parameters and retry.\n",
    "causes": "Missing arguments to initialize a class.",
    "solutions": "Check parameters and retry.",
    "description": "An error occurred while initializing a class.",
    "date_created": "2021-03-15T20:47:11Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60407,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Authentication Token Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while generating a token.\n\n### Possible causes\n\nUnsupported factor type.\n\n### Possible solutions\n\nCheck parameters and retry.\n",
    "causes": "Unsupported factor type.",
    "solutions": "Check parameters and retry.",
    "description": "An error occurred while generating a token.",
    "date_created": "2021-03-15T20:47:45Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60408,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "TemplateSid is only supported for the SMS channel",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nTemplateSid is only supported for the SMS channel\n\n### Possible causes\n\nCreating a verification on CALL or EMAIL with TemplateSid parameter.\n\n### Possible solutions\n\nStop sending the TemplateSid param with non SMS verifications\n",
    "causes": "Creating a verification on CALL or EMAIL with TemplateSid parameter.",
    "solutions": "Stop sending the TemplateSid param with non SMS verifications",
    "description": "TemplateSid is only supported for the SMS channel",
    "date_created": "2021-06-22T04:57:26Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60409,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Custom message did not match any template",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe custom message did not match any of our approved templates for your account. Usage of approved message templates are strongly recommended as they increase the deliverability and conversion rate.\n\n### Possible causes\n\nYou have changed your custom message and it does not match any of our approved templates.\n\n### Possible solutions\n\nIn case you have changed the custom message, please return to the old one and contact support before changing it again. In case you have not changed the custom message, please contact support to provide the correct template for you. Note: Consider using templates instead of custom messages, if none of the available templates work for you, please contact support and we can create it for you.\n",
    "causes": "You have changed your custom message and it does not match any of our approved templates.",
    "solutions": "In case you have changed the custom message, please return to the old one and contact support before changing it again. In case you have not changed the custom message, please contact support to provide the correct template for you. Note: Consider using templates instead of custom messages, if none of the available templates work for you, please contact support and we can create it for you.",
    "description": "The custom message did not match any of our approved templates for your account. Usage of approved message templates are strongly recommended as they increase the deliverability and conversion rate.",
    "date_created": "2021-08-09T01:54:51Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60410,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Verification delivery attempt blocked",
    "secondary_message": "A verification delivery attempt was blocked.",
    "product": "Verify",
    "docs": "\n## Description\n\nThis is because [Fraud Guard](/docs/verify/preventing-toll-fraud/sms-fraud-guard) has identified potential fraudulent messages being sent to one or more destination. A temporary block on SMS traffic has been placed for the next 12 hours on the prefix you used. This block will be lifted at the end of this 12-hour period. If further fraudulent activity is detected after this block, this pattern will continue with further temporary 12 hour blocks until the issue is no longer observed.\n\n### Possible causes\n\nWe [identified SMS fraud](/docs/verify/preventing-toll-fraud/sms-fraud-guard) occurring within your Verify product.\n\n### Possible solutions\n\nYou do not need to take any specific action. The block is temporary and will resolve in 12 hours if we do not detect additional fraud.\n",
    "causes": "We [identified SMS fraud](/docs/verify/preventing-toll-fraud/sms-fraud-guard) occurring within your Verify product.",
    "solutions": "You do not need to take any specific action. The block is temporary and will resolve in 12 hours if we do not detect additional fraud.",
    "description": "This is because [Fraud Guard](/docs/verify/preventing-toll-fraud/sms-fraud-guard) has identified potential fraudulent messages being sent to one or more destination. A temporary block on SMS traffic has been placed for the next 12 hours on the prefix you used. This block will be lifted at the end of this 12-hour period. If further fraudulent activity is detected after this block, this pattern will continue with further temporary 12 hour blocks until the issue is no longer observed.",
    "date_created": "2022-03-15T12:01:33Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60411,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone Number or Phone Number Prefix already exists in Safelist",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nThe phone number or prefix of the phone number that you are trying to add already exists in the SafeList.\n\n### Possible causes\n\n- Multiple requests were made to add the phone number or phone number prefix to the SafeList.\n- The phone number or prefix of the phone number was already added at an earlier time.\n\n### Possible solutions\n\nIf either the phone number or the prefix of the phone number is present in the SafeList already, it requires no further action on your end.\n",
    "causes": "* Multiple requests were made to add the phone number or phone number prefix to the SafeList.\n* The phone number or prefix of the phone number was already added at an earlier time.",
    "solutions": "If either the phone number or the prefix of the phone number is present in the SafeList already, it requires no further action on your end.",
    "description": "The phone number or prefix of the phone number that you are trying to add already exists in the SafeList.",
    "date_created": "2022-09-02T19:45:38Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 60412,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Verification blocked by Fraudulent Signup Prevention",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nBased on your service configuration, Twilio Verify has blocked this request because it was identified as a possible fraudulent signup attempt.\n\nTo prevent platform abuse and unnecessary costs, the verification attempt was terminated before the message was sent.\n\n### Causes\n\n- The request was identified as a high-risk attempt to create a fake or duplicate account.\n- You have not added a legitimate number to the Verify Safelist.\n\n### Possible solutions\n\n- **Update your Safelist**: Add the phone number to your [Verify Safelist](/docs/verify/api/safe-list). This prevents active filters from blocking this specific phone number.\n- **Override it using the `risk_check` parameter**: If you're sure that this authentication is legitimate and safe, you can bypass the block by including the `risk_check=disable` parameter in your API request.\n  - Note: Disabling risk checks increases your exposure to SMS pumping and fake account creation.\n- **Adjust Fraudulent Signup Prevention Setting**: While the feature is in pilot, contact your account manager or reach out to support to adjust the prevention mode.\n",
    "causes": null,
    "solutions": "* **Update your Safelist**: Add the phone number to your [Verify Safelist](/docs/verify/api/safe-list). This prevents active filters from blocking this specific phone number.\n* **Override it using the `risk_check` parameter**: If you're sure that this authentication is legitimate and safe, you can bypass the block by including the `risk_check=disable` parameter in your API request.\n  * Note: Disabling risk checks increases your exposure to SMS pumping and fake account creation.\n* **Adjust Fraudulent Signup Prevention Setting**: While the feature is in pilot, contact your account manager or reach out to support to adjust the prevention mode.",
    "description": "Based on your service configuration, Twilio Verify has blocked this request because it was identified as a possible fraudulent signup attempt. To prevent platform abuse and unnecessary costs, the verification attempt was terminated before the message was sent.",
    "date_created": "2026-03-03T13:31:55-05:00",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60420,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Contact ID format",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Contact ID in the request is incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Contact ID in the request body is correct.\n",
    "causes": "The Contact ID in the request is incorrectly formatted.",
    "solutions": "Check that the Contact ID in the request body is correct.",
    "description": "",
    "date_created": "2024-07-15T10:44:39Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60421,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Unexpected result when creating contact",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nSome unexpected error was appeared during creating new Contact.\n\n### Possible solutions\n\nCheck that the contact information in the request body is correct and try again.\n",
    "causes": "Some unexpected error was appeared during creating new Contact.",
    "solutions": "Check that the contact information in the request body is correct and try again.",
    "description": "",
    "date_created": "2024-07-15T10:46:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60422,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Contact not found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested Contact is missing\n\n### Possible solutions\n\nCheck that the Contact in the request body is correct.\n",
    "causes": "The requested Contact is missing",
    "solutions": "Check that the Contact in the request body is correct.",
    "description": "",
    "date_created": "2024-07-15T10:48:28Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60423,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Multiple contacts were found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nSeveral contacts were found based on the request criteria.\n\n### Possible solutions\n\nTry sending a request with more accurate contact information.\n",
    "causes": "Several contacts were found based on the request criteria.",
    "solutions": "Try sending a request with more accurate contact information.",
    "description": "",
    "date_created": "2024-07-15T10:50:26Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60424,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Contact address not found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe contact does not contain relevant address information.\n\n### Possible solutions\n\nTry updating the contact with the appropriate address information.\n",
    "causes": "The contact does not contain relevant address information.",
    "solutions": "Try updating the contact with the appropriate address information.",
    "description": "",
    "date_created": "2024-07-15T10:52:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60425,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Verification SID invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification ID in request has invalid format\n\n### Possible solutions\n\nCheck that the Verification ID in the request parameters or body is correct.\n",
    "causes": "The Verification ID in request has invalid format",
    "solutions": "Check that the Verification ID in the request parameters or body is correct.",
    "description": "",
    "date_created": "2024-07-15T10:53:38Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60426,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Verification ID invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification ID in the request is incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Verification ID in the request parameter or body is correct.\n",
    "causes": "The Verification ID in the request is incorrectly formatted.",
    "solutions": "Check that the Verification ID in the request parameter or body is correct.",
    "description": "",
    "date_created": "2024-07-15T10:55:55Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60427,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor ID invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Factor ID in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Factor ID in the request parameter or body is correct.\n",
    "causes": "The Factor ID in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Factor ID in the request parameter or body is correct.",
    "description": "",
    "date_created": "2024-07-15T10:57:25Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60428,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported channel",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested channel is not currently supported.\n\n### Possible solutions\n\nTry using a different channel type\n",
    "causes": "The requested channel is not currently supported.",
    "solutions": "Try using a different channel type",
    "description": "",
    "date_created": "2024-07-15T10:59:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60431,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Verification not found",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested Verification is missing\n\n### Possible solutions\n\nCheck that the Verification in the request parameter/body is correct.\n",
    "causes": "The requested Verification is missing",
    "solutions": "Check that the Verification in the request parameter/body is correct.",
    "description": "",
    "date_created": "2024-07-15T11:02:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60432,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported passkeys relying party",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested relying party type is not currently supported.\n\n### Possible solutions\n\nTry using a different relying party type\n",
    "causes": "The requested relying party type is not currently supported.",
    "solutions": "Try using a different relying party type",
    "description": "",
    "date_created": "2024-07-15T11:04:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60433,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported passkeys approval content type",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested approval content type is not currently supported.\n\n### Possible solutions\n\nTry using a different approval content type\n",
    "causes": "The requested approval content type is not currently supported.",
    "solutions": "Try using a different approval content type",
    "description": "",
    "date_created": "2024-07-15T11:06:28Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60434,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported passkeys verification content type",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested verification content type is not currently supported.\n\n### Possible solutions\n\nTry using a different verification content type\n",
    "causes": "The requested verification content type is not currently supported.",
    "solutions": "Try using a different verification content type",
    "description": "",
    "date_created": "2024-07-15T11:07:56Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60436,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Recipient invalid or not provided",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Recipient in the request is missing or incorrectly formatted.\n\n### Possible solutions\n\nCheck that the Recipient in the request body is correct.\n",
    "causes": "The Recipient in the request is missing or incorrectly formatted.",
    "solutions": "Check that the Recipient in the request body is correct.",
    "description": "",
    "date_created": "2024-07-15T11:10:08Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60437,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Recipient type unsupported",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested recipient type is not currently supported.\n\n### Possible solutions\n\nTry using a different recipient type\n",
    "causes": "The requested recipient type is not currently supported.",
    "solutions": "Try using a different recipient type",
    "description": "",
    "date_created": "2024-07-15T11:11:39Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60440,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported verification content type",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe requested verification content type is not currently supported.\n\n### Possible solutions\n\nTry using a different verification content type\n",
    "causes": "The requested verification content type is not currently supported.",
    "solutions": "Try using a different verification content type",
    "description": "",
    "date_created": "2024-07-15T11:13:25Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60441,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Illegal status",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nAn unexpected verification status returned.\n\n### Possible solutions\n\nCall Twilio support team\n",
    "causes": "An unexpected verification status returned.",
    "solutions": "Call Twilio support team",
    "description": "",
    "date_created": "2024-07-15T11:15:12Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60500,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Phone Number Mismatch",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request and processing was successful but the phone number provided in the request does not match the phone number detected via the carrier. This can happen when there is dual SIM usage or the end user is trying to verify a phone number that does not belong to the SIM.\n\n### Possible solutions\n\n- Check that the phone number provided is correct.\n- Retry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The Verification request and processing was successful but the phone number provided in the request does not match the phone number detected via the carrier. This can happen when there is dual SIM usage or the end user is trying to verify a phone number that does not belong to the SIM.",
    "solutions": "* Check that the phone number provided is correct.\n* Retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-08-29T21:51:30Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60504,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Removed, Can be replaced",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n-\n\n### Possible causes\n\n-\n\n### Possible solutions\n\n-\n",
    "causes": "*",
    "solutions": "*",
    "description": "*",
    "date_created": "2025-01-30T10:31:27Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60510,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received but failed during processing due to an error during the Silent Network Auth process.\n\n### Possible solutions\n\n- Check that the mobile client is using a mobile data connection to invoke the SNA URL, not WiFi.\n- Retry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The Verification request was received but failed during processing due to an error during the Silent Network Auth process.",
    "solutions": "* Check that the mobile client is using a mobile data connection to invoke the SNA URL, not WiFi.\n* Retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-08-30T16:43:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60511,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Downstream Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received but failed during processing due to a downstream error during the Silent Network Auth process. This can happen when the carrier was expecting a missing header, the phone number was invalid, the SNA URL was invoked on a carrier that does not support HTTPS, or there is an invalid redirect.\n\n### Possible solutions\n\nRetry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The Verification request was received but failed during processing due to a downstream error during the Silent Network Auth process. This can happen when the carrier was expecting a missing header, the phone number was invalid, the SNA URL was invoked on a carrier that does not support HTTPS, or there is an invalid redirect.",
    "solutions": "Retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-08-30T16:46:26Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60517,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA User-Agent Mismatch Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received but failed during processing due to a `User-Agent` mismatch detected during redirects.\n\n### Possible solutions\n\nRetry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The Verification request was received but failed during processing due to a `User-Agent` mismatch detected during redirects.",
    "solutions": "Retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-08-30T16:48:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60519,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Verification Result Pending",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received and is still pending completion.\n\nThis can happen when:\n\n- A Verification Check is performed on a Verification that is still in progress.\n- A Verification was created for a phone number whose carrier is not supported for the selected Twilio Region. For example, if an SNA Verification was created for a UK phone number using the US1 Region instead of the IE1 Region. In this case, the Verification request will never complete.\n\n### Possible solutions\n\n- Confirm the Verification Check is performed only after a HTTP 200 Response is received from invoking the SNA URL.\n- Retry if the Verification is still in its validity window and has not expired.\n- Confirm the Verification was created in the correct Twilio Region for the phone number, see [Using Verify Silent Network Auth with Twilio Regions ](/docs/verify/using-verify-silent-network-auth-with-twilio-regions)for more detailed information. If it was not, retry Verification using correct Region.\n",
    "causes": "The Verification request was received and is still pending completion. This can happen when: - A Verification Check is performed on a Verification that is still in progress.\n- A Verification was created for a phone number whose carrier is not supported for the selected Twilio Region. For example, if an SNA Verification was created for a UK phone number using the US1 Region instead of the IE1 Region. In this case, the Verification request will never complete.",
    "solutions": "* Confirm the Verification Check is performed only after a HTTP 200 Response is received from invoking the SNA URL.\n* Retry if the Verification is still in its validity window and has not expired.\n* Confirm the Verification was created in the correct Twilio Region for the phone number, see [Using Verify Silent Network Auth with Twilio Regions ](/docs/verify/using-verify-silent-network-auth-with-twilio-regions)for more detailed information. If it was not, retry Verification using correct Region.",
    "description": "",
    "date_created": "2022-08-30T16:50:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60520,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA URL Failed",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received and failed due to an error related to invoking the SNA URL.\n\n### Possible solutions\n\n- Retry Verification using a channel other than Silent Network Auth for this end user.\n- [Contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.\n",
    "causes": "The Verification request was received and failed due to an error related to invoking the SNA URL.",
    "solutions": "* Retry Verification using a channel other than Silent Network Auth for this end user.\n* [Contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.",
    "description": "",
    "date_created": "2022-08-30T16:52:54Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60531,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Carrier Not Detected",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received and failed due to being unable to identify the carrier from the detected IP address. This can happen if the end user is connected to WiFi during the Verification process.\n\n### Possible solutions\n\n- Check that the mobile client is using a mobile data connection to invoke the SNA URL, not WiFi.\n- Retry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The Verification request was received and failed due to being unable to identify the carrier from the detected IP address. This can happen if the end user is connected to WiFi during the Verification process.",
    "solutions": "* Check that the mobile client is using a mobile data connection to invoke the SNA URL, not WiFi.\n* Retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-08-30T17:00:49Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60532,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Potential Dual SIM Detected",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received and failed due to the request potentially coming from a dual SIM device. In this case, the carrier identified via IP address does not match the carrier identified via phone number and Silent Network Auth cannot be completed. This can also happen when multiple people share one device.\n\n### Possible solutions\n\nRetry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The Verification request was received and failed due to the request potentially coming from a dual SIM device. In this case, the carrier identified via IP address does not match the carrier identified via phone number and Silent Network Auth cannot be completed. This can also happen when multiple people share one device.",
    "solutions": "Retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-08-30T17:02:55Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60533,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Carrier Header Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received but failed during processing due to a missing header from the carrier.\n\n### Possible solutions\n\nRetry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The Verification request was received but failed during processing due to a missing header from the carrier.",
    "solutions": "Retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-08-30T17:07:51Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60534,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Downstream Carrier Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received but failed during processing due to a downstream carrier error.\n\n### Possible solutions\n\nRetry Verification using a channel other than Silent Network Auth for this end user.\n",
    "causes": "The Verification request was received but failed during processing due to a downstream carrier error.",
    "solutions": "Retry Verification using a channel other than Silent Network Auth for this end user.",
    "description": "",
    "date_created": "2022-08-30T17:10:56Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60535,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Factor is unverified",
    "secondary_message": null,
    "product": "Authy",
    "docs": "\n## Description\n\nYou are trying to use a factor that has not been verified.\n\n### Possible causes\n\nYou are trying to perform an action on a factor that has not been validated.\n\n### Possible solutions\n\n- Use the update factor service to verify the factor.\n",
    "causes": "You are trying to perform an action on a factor that has not been validated.",
    "solutions": "* Use the update factor service to verify the factor.",
    "description": "You are trying to use a factor that has not been verified.",
    "date_created": "2020-02-20T21:07:39Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60540,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "SNA Carrier Identified Invalid Phone Number",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Verification request was received and failed during processing because the carrier indicated that the phone number is invalid, although the phone number formatting was valid. This can happen when the end user provides an invalid phone number in error, the phone number is deactivated, suspended, in the grace period before reassignment, or a fraudulent user purposefully uses an invalid phone number.\n\n### Possible solutions\n\n- Check that the phone number provided is correct.\n- Retry Verification using a channel not based on phone number such as email.\n\nIf fraud is suspected:\n\n- Do not retry Verification using a channel other than Silent Network Auth for this end user.\n- [Report potential fraud attempt](/docs/verify/preventing-toll-fraud#what-to-do-if-you-suspect-fraud-on-your-twilio-account).\n",
    "causes": "The Verification request was received and failed during processing because the carrier indicated that the phone number is invalid, although the phone number formatting was valid. This can happen when the end user provides an invalid phone number in error, the phone number is deactivated, suspended, in the grace period before reassignment, or a fraudulent user purposefully uses an invalid phone number.",
    "solutions": "* Check that the phone number provided is correct.\n* Retry Verification using a channel not based on phone number such as email. If fraud is suspected: * Do not retry Verification using a channel other than Silent Network Auth for this end user.\n* [Report potential fraud attempt](/docs/verify/preventing-toll-fraud#what-to-do-if-you-suspect-fraud-on-your-twilio-account).",
    "description": "",
    "date_created": "2022-08-30T17:23:44Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60550,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Auto Channel Failed: None of the available channels could be selected due to validation errors. Check your debugger messages in console.",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nDue to validation errors, none of the available specific channels could be selected. Check your debugger messages in the console for more details.\n\n### Possible causes\n\n- Specific delivery channel(s) are disabled\n- Your service does not have access to an specific feature.\n\n### Possible solutions\n\nCheck your debugger messages in the console to get the specific validation errors\n",
    "causes": "* Specific delivery channel(s) are disabled\n* Your service does not have access to an specific feature.",
    "solutions": "Check your debugger messages in the console to get the specific validation errors",
    "description": "Due to validation errors, none of the available specific channels could be selected. Check your debugger messages in the console for more details.",
    "date_created": "2023-02-02T13:40:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60600,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unprovisioned or out of coverage",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nNo information returned on the requested phone number\n\n### Possible causes\n\nPhone number provided is not assigned to a carrier based on our data sources; or the phone number is outside of the scope of our data coverage\n\n### Possible solutions\n\nConfirm with authoritative evidence that the phone number is valid and assigned to a carrier; then contact Support and let us know\n",
    "causes": "Phone number provided is not assigned to a carrier based on our data sources; or the phone number is outside of the scope of our data coverage",
    "solutions": "Confirm with authoritative evidence that the phone number is valid and assigned to a carrier; then contact Support and let us know",
    "description": "No information returned on the requested phone number",
    "date_created": "2017-11-27T20:24:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60601,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Authorization required for Canada lookups",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nAuthorization must be granted to your company by the CLNPC to return data on Canada phone numbers.\n\n### Possible causes\n\nYour account is not authorized for lookups on Canada phone numbers\n\n### Possible solutions\n\nTo apply for access to query Canada phone number information, see https://help.twilio.com/articles/360004563433-Twilio-Lookup-API-is-Not-Returning-Carrier-Data-for-Canadian-Phone-Numbers\n",
    "causes": "Your account is not authorized for lookups on Canada phone numbers",
    "solutions": "To apply for access to query Canada phone number information, see https://help.twilio.com/articles/360004563433-Twilio-Lookup-API-is-Not-Returning-Carrier-Data-for-Canadian-Phone-Numbers",
    "description": "Authorization must be granted to your company by the CLNPC to return data on Canada phone numbers.",
    "date_created": "2018-05-28T21:31:27Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60602,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "App hash can only be used with SMS channel",
    "secondary_message": "App hash can only be used with SMS channel",
    "product": "Verify",
    "docs": "\n## Description\n\nApp hash can only be used with SMS channel\n\nHTTP status: 400\n\n### Possible causes\n\nThe customer is using App Hash without SMS channel\n\n### Possible solutions\n\ndo not use app Hash with channel other than SMS\n",
    "causes": "The customer is using App Hash without SMS channel",
    "solutions": "do not use app Hash with channel other than SMS",
    "description": "App hash can only be used with SMS channel HTTP status: 400",
    "date_created": "2019-12-24T17:19:35Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60603,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SendGrid maximum credits exceeded",
    "secondary_message": "SendGrid maximum credits exceeded",
    "product": "Verify",
    "docs": "\n## Description\n\nSendGrid maximum credits exceeded\n\nHTTP status: 401\n\n### Possible causes\n\nSent too many emails verifications\n\n### Possible solutions\n\nUpgrade your Sendgrid subscription\n",
    "causes": "Sent too many emails verifications",
    "solutions": "Upgrade your Sendgrid subscription",
    "description": "SendGrid maximum credits exceeded HTTP status: 401",
    "date_created": "2019-12-30T18:04:42Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60604,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "SendGrid Authenticated user is not authorized to send mail",
    "secondary_message": "SendGrid Authenticated user is not authorized to send mail",
    "product": "Verify",
    "docs": "\n## Description\n\nSendGrid Authenticated user is not authorized to send mail\n\nHTTP status: 401\n\n### Possible causes\n\nSendGrid API key have no send emails privileges\n\n### Possible solutions\n\nUpdate your API key permissions\n",
    "causes": "SendGrid API key have no send emails privileges",
    "solutions": "Update your API key permissions",
    "description": "SendGrid Authenticated user is not authorized to send mail HTTP status: 401",
    "date_created": "2019-12-30T18:13:28Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60605,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Verification delivery attempt blocked",
    "secondary_message": "Verification delivery attempt blocked",
    "product": "Verify",
    "docs": "\n## Description\n\nThe destination phone number has been blocked by Verify Geo-Permissions\n\nHTTP status: 403\n\nNote: To align with evolving regulatory requirements, Twilio has stopped delivering voice, messaging, and email traffic to recipients in Iran starting March 15, 2025 and Syria & Cuba starting September 15, 2025.\n\n### Possible causes\n\nThe destination has been disabled due to suspected fraudulent activity or for possible security reasons.\n\n### Possible solutions\n\nInvestigate your application for potential abuse. If you have a legitimate need to call this number, please check the following: https://support.twilio.com/hc/en-us/articles/5054044369179-Error-60605-Verification-delivery-attempt-blocked-\n",
    "causes": "The destination has been disabled due to suspected fraudulent activity or for possible security reasons.",
    "solutions": "Investigate your application for potential abuse. If you have a legitimate need to call this number, please check the following: https://support.twilio.com/hc/en-us/articles/5054044369179-Error-60605-Verification-delivery-attempt-blocked-",
    "description": "The destination phone number has been blocked by Verify Geo-Permissions HTTP status: 403 Note: To align with evolving regulatory requirements, Twilio has stopped delivering voice, messaging, and email traffic to recipients in Iran starting March 15, 2025 and Syria & Cuba starting September 15, 2025.",
    "date_created": "2020-10-14T15:41:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60606,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup Package is Not Enabled",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nYour account is not enabled to call the requested package.\n\n### Possible causes\n\nThe request was received but failed due to the Account not being enabled to access the requested Lookup package.\n\n### Possible solutions\n\n- Check that the Account SID provided is correct.\n- If the requested package requires it, complete the [Account Security Registration form](https://twlo.my.salesforce-sites.com/countrycarrier/SN_CarrierRegistration_VFP) to enable the package on your Account.\n- [Contact Twilio Support](https://www.twilio.com/help/contact) to rule out other issues.\n",
    "causes": "The request was received but failed due to the Account not being enabled to access the requested Lookup package.",
    "solutions": "* Check that the Account SID provided is correct.\n* If the requested package requires it, complete the [Account Security Registration form](https://twlo.my.salesforce-sites.com/countrycarrier/SN_CarrierRegistration_VFP) to enable the package on your Account.\n* [Contact Twilio Support](https://www.twilio.com/help/contact) to rule out other issues.",
    "description": "Your account is not enabled to call the requested package.",
    "date_created": "2020-12-28T19:48:36Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60607,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup Unsupported Country",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nNo provider found to satisfy the Lookup request\n\n### Possible causes\n\nThe request was received but failed due to the phone number being associated with a country that is not supported by the requested Lookup package.\n\n### Possible solutions\n\n- Check that the phone number provided is correct.\n- Confirm that the phone number's country is supported by the requested Lookup package. Check country coverage in https://www.twilio.com/docs/lookup/v2-api.\n",
    "causes": "The request was received but failed due to the phone number being associated with a country that is not supported by the requested Lookup package.",
    "solutions": "* Check that the phone number provided is correct.\n* Confirm that the phone number's country is supported by the requested Lookup package. Check country coverage in https://www.twilio.com/docs/lookup/v2-api.",
    "description": "No provider found to satisfy the Lookup request",
    "date_created": "2021-02-09T15:05:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60608,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Lookup Error",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nLookup provider replied with an error\n\n### Possible causes\n\nThe Lookup request was received but failed during processing due to an error encountered with downstream providers.\n\n### Possible solutions\n\n- Retry request to rule out transient issues.\n- If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.\n",
    "causes": "The Lookup request was received but failed during processing due to an error encountered with downstream providers.",
    "solutions": "* Retry request to rule out transient issues.\n* If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.",
    "description": "Lookup provider replied with an error",
    "date_created": "2021-02-09T15:07:14Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60609,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Live activity not enabled",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nlive\\_activity is not enabled on your account\n\n### Possible causes\n\nYour account has not been approved and enabled to access the requested package\n\n### Possible solutions\n\nPlease contact Support or Sales to enable the requested package\n",
    "causes": "Your account has not been approved and enabled to access the requested package",
    "solutions": "Please contact Support or Sales to enable the requested package",
    "description": "live\\_activity is not enabled on your account",
    "date_created": "2021-06-30T14:15:13Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60610,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone number outside of coverage",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nThe requested phone number is outside of our range of coverage\n\n### Possible causes\n\nYou have provided a phone number that appears as either not provisioned with any carrier or belonging to a carrier outside the scope of our data coverage.\n\n### Possible solutions\n\nTry a supported phone number\n",
    "causes": "You have provided a phone number that appears as either not provisioned with any carrier or belonging to a carrier outside the scope of our data coverage.",
    "solutions": "Try a supported phone number",
    "description": "The requested phone number is outside of our range of coverage",
    "date_created": "2021-06-30T14:26:50Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60611,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup Package Quota Reached",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nLookup quota for requested package has been reached\n\n### Possible causes\n\nThe request was received but failed due to the Account reaching its request quota for the given Lookup package. Some packages may have a quota set when they are in the Pilot phase.\n\n### Possible solutions\n\n- [Contact Twilio Support](https://www.twilio.com/help/contact) to remove the quota limitation.\n",
    "causes": "The request was received but failed due to the Account reaching its request quota for the given Lookup package. Some packages may have a quota set when they are in the Pilot phase.",
    "solutions": "* [Contact Twilio Support](https://www.twilio.com/help/contact) to remove the quota limitation.",
    "description": "Lookup quota for requested package has been reached",
    "date_created": "2021-07-02T16:34:22Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60612,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Requested phone number not mobile",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nRequested phone number is not a mobile number\n\n### Possible causes\n\nLookup package requested is only applicable to mobile phone numbers\n\n### Possible solutions\n\nTry again with a mobile phone number\n",
    "causes": "Lookup package requested is only applicable to mobile phone numbers",
    "solutions": "Try again with a mobile phone number",
    "description": "Requested phone number is not a mobile number",
    "date_created": "2021-08-03T20:54:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60613,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Lookup Provider Degradation",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nTemporary service degradation with provider encountered; fallback data returned if available.\n\n### Possible causes\n\nError encountered when calling Lookup data providers. Fallback data returned.\n\n### Possible solutions\n\n- Retry request to rule out transient issues in order to receive complete information.\n- If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out other issues.\n",
    "causes": "Error encountered when calling Lookup data providers. Fallback data returned.",
    "solutions": "* Retry request to rule out transient issues in order to receive complete information.\n* If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out other issues.",
    "description": "Temporary service degradation with provider encountered; fallback data returned if available.",
    "date_created": "2021-10-20T14:30:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60614,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup Request Must Be Completed in Different Twilio Region",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nLookup package requested is not supported in your Twilio Region.\n\n[Learn more about Twilio Regions here](/docs/global-infrastructure/understanding-twilio-regions).\n\n### Possible causes\n\nThe request was received but failed due to the Lookup request not being supported by the selected Twilio Region due to data residency requirements. This can happen when a request for an EU or GB phone number is made outside of the IE1 Region. Learn more at [Twilio Regions](/docs/global-infrastructure/understanding-twilio-regions) and [Using Lookup with Twilio Regions](/docs/lookup/using-lookup-with-twilio-regions).\n\n### Possible solutions\n\n- Confirm that the request is selecting the expected Region.\n- Confirm that the request is using an API key generated for the expected Region.\n",
    "causes": "The request was received but failed due to the Lookup request not being supported by the selected Twilio Region due to data residency requirements. This can happen when a request for an EU or GB phone number is made outside of the IE1 Region. Learn more at [Twilio Regions](/docs/global-infrastructure/understanding-twilio-regions) and [Using Lookup with Twilio Regions](/docs/lookup/using-lookup-with-twilio-regions).",
    "solutions": "* Confirm that the request is selecting the expected Region.\n* Confirm that the request is using an API key generated for the expected Region.",
    "description": "Lookup package requested is not supported in your Twilio Region. [Learn more about Twilio Regions here](/docs/global-infrastructure/understanding-twilio-regions).",
    "date_created": "2022-01-13T20:43:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60616,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup rate limit exceeded",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nThe rate of lookup requests exceeds allowable limits for the requested package.\n\n### Possible causes\n\nYour application is making lookups at a rate higher than allowed for the requested package. This may be intentional or the result of an unexpected condition in your code.\n\n### Possible solutions\n\nOur downstream providers do not have uniform rate limits. Confirm the published rate limits for the requested package and debug your application to ensure your lookup request rate remains under allowed limits.\n",
    "causes": "Your application is making lookups at a rate higher than allowed for the requested package. This may be intentional or the result of an unexpected condition in your code.",
    "solutions": "Our downstream providers do not have uniform rate limits. Confirm the published rate limits for the requested package and debug your application to ensure your lookup request rate remains under allowed limits.",
    "description": "The rate of lookup requests exceeds allowable limits for the requested package.",
    "date_created": "2022-03-15T17:23:36Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60617,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup Not Enough Request Parameters",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nMissing at least one valid additional argument to execute the Lookup you requested\n\n### Possible causes\n\nThe request was received but failed due to the Lookup package you requested requiring at least one optional request parameter to match against the phone number. If there is a single request parameter, its value may not be left blank.\n\n### Possible solutions\n\n- Review request parameters to ensure at least one optional field, such as FirstName, is included.\n",
    "causes": "The request was received but failed due to the Lookup package you requested requiring at least one optional request parameter to match against the phone number. If there is a single request parameter, its value may not be left blank.",
    "solutions": "* Review request parameters to ensure at least one optional field, such as FirstName, is included.",
    "description": "Missing at least one valid additional argument to execute the Lookup you requested",
    "date_created": "2022-10-05T16:33:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60618,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup Malformed Request Parameter",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nAn invalid value was passed for query parameters\n\n### Possible causes\n\nThe request was received but failed due to one or more request parameters being malformed. This can happen when a parameter has exceeded its maximum length constraint.\n\n### Possible solutions\n\n- Review request parameters and retry request.\n",
    "causes": "The request was received but failed due to one or more request parameters being malformed. This can happen when a parameter has exceeded its maximum length constraint.",
    "solutions": "* Review request parameters and retry request.",
    "description": "An invalid value was passed for query parameters",
    "date_created": "2022-10-05T16:33:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60619,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup Request Cannot be Completed in Twilio Region",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nThe Lookup request cannot be completed in the selected Twilio region.\n\n### Possible causes\n\nThe request was received but failed due to the Lookup request not being supported by the selected Twilio Region. This can happen when specific Lookup packages or functionality is not available in the Region. Learn more at [Twilio Regions](/docs/global-infrastructure/understanding-twilio-regions) and [Using Lookup with Twilio Regions](/docs/lookup/using-lookup-with-twilio-regions).\n\n### Possible solutions\n\n- Confirm that the request is selecting the expected Region.\n- Confirm that the request is using an API key generated for the expected Region.\n",
    "causes": "The request was received but failed due to the Lookup request not being supported by the selected Twilio Region. This can happen when specific Lookup packages or functionality is not available in the Region. Learn more at [Twilio Regions](/docs/global-infrastructure/understanding-twilio-regions) and [Using Lookup with Twilio Regions](/docs/lookup/using-lookup-with-twilio-regions).",
    "solutions": "* Confirm that the request is selecting the expected Region.\n* Confirm that the request is using an API key generated for the expected Region.",
    "description": "The Lookup request cannot be completed in the selected Twilio region.",
    "date_created": "2022-11-01T15:51:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60620,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Lookup SIM Swap Information is Incomplete From Carrier",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nLookup Carrier Information Not Available\n\n### Possible causes\n\nThe carrier failed to provide SIM Swap information for this phone number.\n\n### Possible solutions\n\nDo not retry request for this end user.\n",
    "causes": "The carrier failed to provide SIM Swap information for this phone number.",
    "solutions": "Do not retry request for this end user.",
    "description": "Lookup Carrier Information Not Available",
    "date_created": "2022-11-01T17:03:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60621,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Lookup Carrier Information Not Available",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nLookup SIM Swap Information is Incomplete From Carrier\n\n### Possible causes\n\nThe request was processed successfully and Last SIM Swap information was returned, but carrier information was not available.\n\n### Possible solutions\n\n- Retry request to rule out transient issues in order to receive carrier information.\n- If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out other issues.\n",
    "causes": "The request was processed successfully and Last SIM Swap information was returned, but carrier information was not available.",
    "solutions": "* Retry request to rule out transient issues in order to receive carrier information.\n* If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out other issues.",
    "description": "Lookup SIM Swap Information is Incomplete From Carrier",
    "date_created": "2022-11-01T17:07:42Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60622,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Magic Number",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nThe request was received but failed due to the phone number not being a valid Magic Number.\n\n### Possible causes\n\nThe phone number sent is not a valid Magic Number.\n\n### Possible solutions\n\nCheck that the phone number provided is correct and one of the pre-configured phone numbers from Magic Numbers.\n",
    "causes": "The phone number sent is not a valid Magic Number.",
    "solutions": "Check that the phone number provided is correct and one of the pre-configured phone numbers from Magic Numbers.",
    "description": "The request was received but failed due to the phone number not being a valid Magic Number.",
    "date_created": "2023-08-18T16:05:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60623,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Verification Not Found",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\n### Possible causes\n\nThe Lookup request was received but failed during the verification existence check because it was not found a success verification or it had failed or expired.\n\n### Possible solutions\n\n- Retry request to rule out transient issues.\n- If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.\n",
    "causes": "The Lookup request was received but failed during the verification existence check because it was not found a success verification or it had failed or expired.",
    "solutions": "* Retry request to rule out transient issues.\n* If error persists, [contact Twilio Support](https://www.twilio.com/help/contact) to rule out integration issues.",
    "description": "",
    "date_created": "2024-02-29T20:11:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60624,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum rate limit for Trial Accounts",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nThe account has reached the maximum rate limit for Trial Accounts.\n\n### Possible causes\n\nThe error message indicates either excessive usage within a short period or exceeding the established request limit\n\n### Possible solutions\n\nA possible solution to mitigate this issue is to transition to a paid account that offers higher rate limits and unrestricted access to the services.\n",
    "causes": "The error message indicates either excessive usage within a short period or exceeding the established request limit",
    "solutions": "A possible solution to mitigate this issue is to transition to a paid account that offers higher rate limits and unrestricted access to the services.",
    "description": "The account has reached the maximum rate limit for Trial Accounts.",
    "date_created": "2024-05-21T15:57:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60625,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Phone Number is Cancelled",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nLookup SIM Swap Phone Number is Cancelled\n\n### Possible causes\n\nThe carrier response indicated that the phone number provided was cancelled.\n\n### Possible solutions\n\nDo not retry request for this end user.\n",
    "causes": "The carrier response indicated that the phone number provided was cancelled.",
    "solutions": "Do not retry request for this end user.",
    "description": "Lookup SIM Swap Phone Number is Cancelled",
    "date_created": "2025-03-25T20:21:44Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60626,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone number rate limit exceeded",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nThis error occurs when requests involving a specific phone number are sent more frequently than Twilio's allowed rate limits. The system blocks further requests to prevent abuse or accidental flooding.\n\n### Possible causes\n\nThe same phone number is being used in multiple requests within a short time frame. The same phone number is included multiple times within a single BULK request. There is a loop or logic error in your application that causes repeated or rapid submissions for the same number. Bulk operations are not properly throttled or batched.\n\n### Possible solutions\n\nReview your application logic to ensure each phone number is only included once per request. Implement rate limiting or throttling in your code to avoid sending requests for the same phone number too quickly. Add checks to prevent duplicate submissions of the same phone number within a single request.\n",
    "causes": "The same phone number is being used in multiple requests within a short time frame. The same phone number is included multiple times within a single BULK request. There is a loop or logic error in your application that causes repeated or rapid submissions for the same number. Bulk operations are not properly throttled or batched.",
    "solutions": "Review your application logic to ensure each phone number is only included once per request. Implement rate limiting or throttling in your code to avoid sending requests for the same phone number too quickly. Add checks to prevent duplicate submissions of the same phone number within a single request.",
    "description": "This error occurs when requests involving a specific phone number are sent more frequently than Twilio's allowed rate limits. The system blocks further requests to prevent abuse or accidental flooding.",
    "date_created": "2025-06-16T21:46:19.362Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60699,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Lookup Usage Disabled",
    "secondary_message": null,
    "product": "Lookup",
    "docs": "\n## Description\n\nUsage of Lookup has been disabled on your account\n\n### Possible causes\n\nOur systems have detected abnormal behavior and have disabled Lookup on your account.\n\n### Possible solutions\n\n- [Contact Twilio Support](https://www.twilio.com/help/contact) to re-activate your account.\n",
    "causes": "Our systems have detected abnormal behavior and have disabled Lookup on your account.",
    "solutions": "* [Contact Twilio Support](https://www.twilio.com/help/contact) to re-activate your account.",
    "description": "Usage of Lookup has been disabled on your account",
    "date_created": "2022-02-04T21:45:13Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60700,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Something went wrong. Try again later",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returned a server error for this Messaging request. Treat 60700 as a generic 500 error, and review the response body for additional details.\n\n### Possible causes\n\nThe response body includes additional details about the failure.\n\n### Possible solutions\n\n- Check the response body for the specific failure details before you retry.\n- Retry the request after the server issue clears.\n\n#### Additional resources\n\n- [Twilio API responses](/docs/usage/twilios-response)\n- [Programmable Messaging API](/docs/messaging/api)\n",
    "causes": "The response body includes additional details about the failure.",
    "solutions": "* Check the response body for the specific failure details before you retry.\n* Retry the request after the server issue clears.",
    "description": "Twilio returned a server error for this Messaging request. Treat 60700 as a generic 500 error, and review the response body for additional details.",
    "date_created": "2020-01-20T14:21:31Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 60701,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid request",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n60701 means Twilio rejected the Messaging request as invalid and returned a generic 400 Bad Request response. Use the response body to find the specific error detail for the request that failed.\n\n### Possible causes\n\n- The request did not pass validation, so Twilio returned a generic 400 Bad Request response.\n\n### Possible solutions\n\n- Inspect the response body for the detailed error message, then correct the request and retry it.\n- Review the debugging guide and error logs to isolate the parameter or field that caused the failure.\n\n#### Additional resources\n\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n",
    "causes": "* The request did not pass validation, so Twilio returned a generic 400 Bad Request response.",
    "solutions": "* Inspect the response body for the detailed error message, then correct the request and retry it.\n* Review the debugging guide and error logs to isolate the parameter or field that caused the failure.",
    "description": "60701 means Twilio rejected the Messaging request as invalid and returned a generic 400 Bad Request response. Use the response body to find the specific error detail for the request that failed.",
    "date_created": "2020-01-20T14:23:55Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 60702,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Business Profile not found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio couldn't find the Business Profile referenced by the `Business Profile SID` in your request. Use an approved Business Profile from Trust Hub when you register Branded Calling, or create one first if you do not have one yet.\n\n### Possible causes\n\n- The `Business Profile SID` is invalid or does not point to an existing profile.\n- You are using a draft, rejected, or deleted profile instead of an approved Business Profile. Twilio lets you delete draft or rejected profiles, and approved profiles are managed in Trust Hub.\n- The business or brand you want to register requires a different Customer Profile, such as a secondary profile for a separate business identity.\n\n### Possible solutions\n\n- Open Trust Hub in Console and verify that the Business Profile exists and is the one you want to use.\n- If you do not have a Business Profile yet, create a Primary Customer Profile and complete verification before you try again.\n- If the profile was deleted or never created, create a new profile or a secondary Customer Profile for the separate business identity, then retry the request.\n- If the profile should exist but still is not found, contact Twilio Support.\n\n#### Additional resources\n\n- [Trust Hub](/docs/trust-hub)\n- [US Enhanced Branded Calling](/docs/voice/branded-calling/us-enhanced)\n- [Console: Create a Primary Customer Profile](/docs/trust-hub/trusthub-rest-api/console-create-a-primary-customer-profile)\n",
    "causes": "* The `Business Profile SID` is invalid or does not point to an existing profile.\n* You are using a draft, rejected, or deleted profile instead of an approved Business Profile. Twilio lets you delete draft or rejected profiles, and approved profiles are managed in Trust Hub.\n* The business or brand you want to register requires a different Customer Profile, such as a secondary profile for a separate business identity.",
    "solutions": "* Open Trust Hub in Console and verify that the Business Profile exists and is the one you want to use.\n* If you do not have a Business Profile yet, create a Primary Customer Profile and complete verification before you try again.\n* If the profile was deleted or never created, create a new profile or a secondary Customer Profile for the separate business identity, then retry the request.\n* If the profile should exist but still is not found, contact Twilio Support.",
    "description": "Twilio couldn't find the Business Profile referenced by the `Business Profile SID` in your request. Use an approved Business Profile from Trust Hub when you register Branded Calling, or create one first if you do not have one yet.",
    "date_created": "2020-01-20T14:25:30Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 60703,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid phone numbers format",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe origination or destination numbers are not valid numbers in E.164 format\n\n### Possible causes\n\n- The origination or destination number is missing the `+` sign, or has separators like spaces or dashes\n\n### Possible solutions\n\n- Check the `From` and `To` numbers in your request\n",
    "causes": "* The origination or destination number is missing the `+` sign, or has separators like spaces or dashes",
    "solutions": "* Check the `From` and `To` numbers in your request",
    "description": "The origination or destination numbers are not valid numbers in E.164 format",
    "date_created": "2020-01-20T14:34:25Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60704,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Phone number not branded by Twilio",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe origination number (`From`) used was not found as a valid branded phone number\n\n### Possible causes\n\n- The origination number does not belong to the account\n- The origination number is incorrect\n- The origination number is not correctly branded, or linked to a business/brand\n- The origination number is linked to a deactivated business/brand\n- The origination number is linked to a business/brand that's not vetted, or the vetting was rejected\n\n### Possible solutions\n\n- Make sure the origination number belongs to the account and is in the correct E.164 format\n- Make sure the origination number is correctly linked to a business/brand, that's vetting-approved, and that's active\n",
    "causes": "* The origination number does not belong to the account\n* The origination number is incorrect\n* The origination number is not correctly branded, or linked to a business/brand\n* The origination number is linked to a deactivated business/brand\n* The origination number is linked to a business/brand that's not vetted, or the vetting was rejected",
    "solutions": "* Make sure the origination number belongs to the account and is in the correct E.164 format\n* Make sure the origination number is correctly linked to a business/brand, that's vetting-approved, and that's active",
    "description": "The origination number (`From`) used was not found as a valid branded phone number",
    "date_created": "2020-01-20T14:37:39Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60706,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Push Token",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nRegistering a new device, the Push Token is empty or invalid\n\n### Possible causes\n\n- The `PushToken` is iOS-incorrect or empty\n\n### Possible solutions\n\n- Check the `PushToken` of the iOS device to register\n",
    "causes": "* The `PushToken` is iOS-incorrect or empty",
    "solutions": "* Check the `PushToken` of the iOS device to register",
    "description": "Registering a new device, the Push Token is empty or invalid",
    "date_created": "2020-01-20T14:58:36Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60707,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Branded Channel not found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this warning when it cannot find the branded channel referenced by your request. ChannelSenders are associated with a Messaging Service, and Twilio selects the matching channel sender when you send to a channel destination.\n\n### Possible causes\n\n- The branded channel was deleted or no longer exists, so Twilio can no longer match the request to an active channel sender.\n- One or more request parameters is invalid, including `BrandedChannelSid`, `BrandSid`, or `BusinessSid`.\n\n### Possible solutions\n\n- Check the SIDs in your request and correct any invalid values before retrying.\n- Retrieve or list the ChannelSenders for the Messaging Service to confirm that the branded channel still exists.\n- If the branded channel was deleted, create a new ChannelSender for the Messaging Service before you retry the request.\n- If you are sending to a specific messaging channel, use the channel-specific address format Twilio expects for that channel. For example, RCS uses `rcs:{unique_id}`.\n\n#### Additional resources\n\n- [ChannelSenders subresource](/docs/messaging/api/messaging-service-channelsender-resource)\n- [Twilio Messaging Channels](/docs/messaging/channels)\n",
    "causes": "* The branded channel was deleted or no longer exists, so Twilio can no longer match the request to an active channel sender.\n* One or more request parameters is invalid, including `BrandedChannelSid`, `BrandSid`, or `BusinessSid`.",
    "solutions": "* Check the SIDs in your request and correct any invalid values before retrying.\n* Retrieve or list the ChannelSenders for the Messaging Service to confirm that the branded channel still exists.\n* If the branded channel was deleted, create a new ChannelSender for the Messaging Service before you retry the request.\n* If you are sending to a specific messaging channel, use the channel-specific address format Twilio expects for that channel. For example, RCS uses `rcs:{unique_id}`.",
    "description": "Twilio returns this warning when it cannot find the branded channel referenced by your request. ChannelSenders are associated with a Messaging Service, and Twilio selects the matching channel sender when you send to a channel destination.",
    "date_created": "2020-01-20T14:59:50Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 60708,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Phone record number not found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nDNS Record for that phone number not found\n\n### Possible causes\n\n- Our provider (Route 53) did not find the DNS record you're trying to update or delete\n\n### Possible solutions\n\n- Make sure the DNS record for that phone number exists in order to update or delete it\n",
    "causes": "* Our provider (Route 53) did not find the DNS record you're trying to update or delete",
    "solutions": "* Make sure the DNS record for that phone number exists in order to update or delete it",
    "description": "DNS Record for that phone number not found",
    "date_created": "2020-01-20T15:01:54Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60709,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Business Profile already exists",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis Account already has a Business Profile\n\n### Possible causes\n\n- Each Account can have only one Business Profile, and you're attempting to create another for the same Account\n\n### Possible solutions\n\n- Make sure you're using the Account intended to create the new Business Profile\n",
    "causes": "* Each Account can have only one Business Profile, and you're attempting to create another for the same Account",
    "solutions": "* Make sure you're using the Account intended to create the new Business Profile",
    "description": "This Account already has a Business Profile",
    "date_created": "2020-01-20T15:03:19Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60710,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Phone number CPS not found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis phone number was not found on the Call Placement Service (CPS) Directory\n\n### Possible causes\n\n- The number queried is not branded by Twilio or any other CPS\n- The service to discover CPS is having issues querying phone numbers\n\n### Possible solutions\n\n- Check that the phone number is the same that you branded in Twilio or your CPS provider\n",
    "causes": "* The number queried is not branded by Twilio or any other CPS\n* The service to discover CPS is having issues querying phone numbers",
    "solutions": "* Check that the phone number is the same that you branded in Twilio or your CPS provider",
    "description": "This phone number was not found on the Call Placement Service (CPS) Directory",
    "date_created": "2020-01-20T15:05:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60711,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Business status does not allow updates",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBusinesses (AKA Business Profiles) can only be updated when they have certain status values.\n\n### Possible causes\n\nYou sent a *`POST`* request to update a business that is in status \"Pending Verification\" or \"Verified\"\n\n### Possible solutions\n\nIf you really need to update the business information, you can dismiss its current status (this action will update the status to \"Draft\") and then you can `POST` the update\n",
    "causes": "You sent a *`POST`* request to update a business that is in status \"Pending Verification\" or \"Verified\"",
    "solutions": "If you really need to update the business information, you can dismiss its current status (this action will update the status to \"Draft\") and then you can `POST` the update",
    "description": "Businesses (AKA Business Profiles) can only be updated when they have certain status values.",
    "date_created": "2020-01-24T16:11:29Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60712,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Error communicating with Regulatory Compliance API",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nKYC, part of the Branded Comms product, depends on Twilio's regulatory APIs\n\n### Possible causes\n\nCommunication with the Regulatory Compliance API failed\n\n### Possible solutions\n\nWait a bit in case this is a temporal error, or else contact our support team\n",
    "causes": "Communication with the Regulatory Compliance API failed",
    "solutions": "Wait a bit in case this is a temporal error, or else contact our support team",
    "description": "KYC, part of the Branded Comms product, depends on Twilio's regulatory APIs",
    "date_created": "2020-01-24T18:10:54Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60713,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Error communicating with Regulatory Identification API",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nKYC, part of the Branded Comms product, depends on Twilio's regulatory APIs\n\n### Possible causes\n\nCommunication with the Regulatory Identification API failed\n\n### Possible solutions\n\nWait a bit in case this is a temporal error, or else contact our support team\n",
    "causes": "Communication with the Regulatory Identification API failed",
    "solutions": "Wait a bit in case this is a temporal error, or else contact our support team",
    "description": "KYC, part of the Branded Comms product, depends on Twilio's regulatory APIs",
    "date_created": "2020-01-24T18:10:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60714,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Brand not found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou are asking for a brand that does not exist for the business\n\n### Possible causes\n\nThe brand, or its associated business, may have been removed\n\n### Possible solutions\n\nDouble check that the business SID and the brand SID are correct\n",
    "causes": "The brand, or its associated business, may have been removed",
    "solutions": "Double check that the business SID and the brand SID are correct",
    "description": "You are asking for a brand that does not exist for the business",
    "date_created": "2020-01-24T18:15:25Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60715,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Error reading logo file",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe file sent for the brand logo image could not be read\n\n### Possible causes\n\nThe file may be corrupted, or the file format is not expected (PNG is expected, max size 128kb)\n\n### Possible solutions\n\nMake sure file format and size meet the criteria\n",
    "causes": "The file may be corrupted, or the file format is not expected (PNG is expected, max size 128kb)",
    "solutions": "Make sure file format and size meet the criteria",
    "description": "The file sent for the brand logo image could not be read",
    "date_created": "2020-01-24T18:23:35Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60716,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Selected logo is not a valid PNG file",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe selected brand logo file is not a valid PNG file. Twilio returns This error when the logo file is not recognized as PNG.\n\n### Possible causes\n\n- The uploaded logo file is not a PNG image.\n- The file was provided with a `.png` extension, but the underlying file format is different.\n\n### Possible solutions\n\n- Upload a logo file that is saved as a valid PNG image.\n- Re-export or convert the logo to PNG, then submit it again.\n- Verify the file opens correctly as a PNG before you retry the upload.\n\n#### Additional resources\n\n- [A2P 10DLC - BrandRegistrations resource](/docs/messaging/api/brand-registration-resource)\n- [A2P 10DLC Brand Approval Best Practices](https://help.twilio.com/articles/4405758341659-A2P-10DLC-Brand-Approval-Best-Practices)\n",
    "causes": "* The uploaded logo file is not a PNG image.\n* The file was provided with a `.png` extension, but the underlying file format is different.",
    "solutions": "* Upload a logo file that is saved as a valid PNG image.\n* Re-export or convert the logo to PNG, then submit it again.\n* Verify the file opens correctly as a PNG before you retry the upload.",
    "description": "The selected brand logo file is not a valid PNG file. Twilio returns This error when the logo file is not recognized as PNG.",
    "date_created": "2020-01-24T18:28:02Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 60717,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Error uploading logo to the storage",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe file sent for the brand logo image could not be stored in the storage bucket\n\n### Possible causes\n\nIt may be caused by a temporal communication issue with the storage bucket.\n\n### Possible solutions\n\nTry again later\n",
    "causes": "It may be caused by a temporal communication issue with the storage bucket.",
    "solutions": "Try again later",
    "description": "The file sent for the brand logo image could not be stored in the storage bucket",
    "date_created": "2020-01-24T18:55:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60719,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Branded Call not found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou are requesting a branded call for phone number that is not branded (it is not associated to a verified brand and business)\n\n### Possible causes\n\nThe phone number is not associated to a brand, or it is, but the brand or the business are no verified.\n\n### Possible solutions\n\nThe business and brand associated to the phone number being requested in the branded call must go through a vetting process and get a status of verified\n",
    "causes": "The phone number is not associated to a brand, or it is, but the brand or the business are no verified.",
    "solutions": "The business and brand associated to the phone number being requested in the branded call must go through a vetting process and get a status of verified",
    "description": "You are requesting a branded call for phone number that is not branded (it is not associated to a verified brand and business)",
    "date_created": "2020-01-24T20:20:58Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60721,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Phone Number(s) already used in a Branded Channel",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWhen you create/update a Branded Channel resource, you send a list of your phone numbers to be associated with it. You cannot have a phone number associated with more than one Branded Channel.\n\n### Possible causes\n\nAt least one of the phone numbers sent in the payload when creating/updating a Branded Channel are already associated with a different Branded Channel.\n\n### Possible solutions\n\nUse a different phone number in the Branded Channel payload, or remove the phone number from the existing Branded Channel if you really want to associate it with the Branded Channel being created/updated.\n",
    "causes": "At least one of the phone numbers sent in the payload when creating/updating a Branded Channel are already associated with a different Branded Channel.",
    "solutions": "Use a different phone number in the Branded Channel payload, or remove the phone number from the existing Branded Channel if you really want to associate it with the Branded Channel being created/updated.",
    "description": "When you create/update a Branded Channel resource, you send a list of your phone numbers to be associated with it. You cannot have a phone number associated with more than one Branded Channel.",
    "date_created": "2020-01-24T20:26:36Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60722,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Business status does not allow dismissal",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBusinesses (AKA Business Profiles) can only be dismissed when they have certain status values. Dismissing a business will set its status to \"Draft\".\n\n### Possible causes\n\nYou sent a dismiss request for a business that is in status \"Draft\" or \"Rejected\".\n\n### Possible solutions\n\nYou're only interested in dismissing a business to update its information before being vetted by Twilio's vetting team, or if you want to remove its verified status. To dismiss the business its status must be one of \"Pending Verification\" or \"Verified\".\n",
    "causes": "You sent a dismiss request for a business that is in status \"Draft\" or \"Rejected\".",
    "solutions": "You're only interested in dismissing a business to update its information before being vetted by Twilio's vetting team, or if you want to remove its verified status. To dismiss the business its status must be one of \"Pending Verification\" or \"Verified\".",
    "description": "Businesses (AKA Business Profiles) can only be dismissed when they have certain status values. Dismissing a business will set its status to \"Draft\".",
    "date_created": "2020-01-24T20:34:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60723,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Brand status does not allow updates",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrands can only be updated when they have certain status values.\n\n### Possible causes\n\nYou sent a `POST` request to update a brand that is in status \"Pending Verification\" or \"Verified\".\n\n### Possible solutions\n\nIf you really need to update the brand information, you can dismiss its current status (this action will update the status to \"Draft\") and then you can `POST` the update.\n",
    "causes": "You sent a `POST` request to update a brand that is in status \"Pending Verification\" or \"Verified\".",
    "solutions": "If you really need to update the brand information, you can dismiss its current status (this action will update the status to \"Draft\") and then you can `POST` the update.",
    "description": "Brands can only be updated when they have certain status values.",
    "date_created": "2020-01-24T20:37:06Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60724,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Brand status does not allow dismissal",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nBrands can only be dismissed when they have certain status values. Dismissing a brand will set its status to \"Draft\".\n\n### Possible causes\n\nYou sent a dismiss request for a brand that is in status \"Draft\" or \"Rejected\".\n\n### Possible solutions\n\nYou're only interested in dismissing a brand to update its information before being vetted by Twilio's vetting team, or if you want to remove its verified status. To dismiss the brand its status must be one of \"Pending Verification\" or \"Verified\".\n",
    "causes": "You sent a dismiss request for a brand that is in status \"Draft\" or \"Rejected\".",
    "solutions": "You're only interested in dismissing a brand to update its information before being vetted by Twilio's vetting team, or if you want to remove its verified status. To dismiss the brand its status must be one of \"Pending Verification\" or \"Verified\".",
    "description": "Brands can only be dismissed when they have certain status values. Dismissing a brand will set its status to \"Draft\".",
    "date_created": "2020-01-24T21:20:32Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60725,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Brand status does not allow to have branded channels",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou are creating a branded channel for a brand in a status does not allow it to have branded channels\n\n### Possible causes\n\nA brand must be verified in order to have any branded channels\n\n### Possible solutions\n\nMake sure your brand already has a verified status before attempting to create branded channels.\n",
    "causes": "A brand must be verified in order to have any branded channels",
    "solutions": "Make sure your brand already has a verified status before attempting to create branded channels.",
    "description": "You are creating a branded channel for a brand in a status does not allow it to have branded channels",
    "date_created": "2020-01-24T21:25:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60726,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Business status does not allow to have brands",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou are creating a brand for a business in a status does not allow it to have brands\n\n### Possible causes\n\nA business must be verified in order to have any brands\n\n### Possible solutions\n\nMake sure your business already has a verified status before attempting to create brands\n",
    "causes": "A business must be verified in order to have any brands",
    "solutions": "Make sure your business already has a verified status before attempting to create brands",
    "description": "You are creating a brand for a business in a status does not allow it to have brands",
    "date_created": "2020-01-24T21:26:35Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60727,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Channel not found",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nReturned when looking for a channel with no match in the storage\n\n### Possible causes\n\n- The channel does not exist anymore\n- The phone number sent is invalid/incorrect\n\n### Possible solutions\n\n- Check the phone number in your request\n",
    "causes": "* The channel does not exist anymore\n* The phone number sent is invalid/incorrect",
    "solutions": "* Check the phone number in your request",
    "description": "Returned when looking for a channel with no match in the storage",
    "date_created": "2020-04-14T22:49:13Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60728,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account exceeded the hourly messages limit",
    "secondary_message": "Account exceeded the maximum amount of messages per hour",
    "product": "Verify",
    "docs": "\n## Description\n\nAccount exceeded the maximum amount of messages per hour\n\n### Possible causes\n\nAccount has sent too many messages.\n\n### Possible solutions\n\n- Wait for sometime and try again.\n- Check your [support center](https://help.twilio.com/tickets) or email inbox/spam folder for outreach from the Twilio team on how to remove/raise your hourly limit.\n",
    "causes": "Account has sent too many messages.",
    "solutions": "* Wait for sometime and try again.\n* Check your [support center](https://help.twilio.com/tickets) or email inbox/spam folder for outreach from the Twilio team on how to remove/raise your hourly limit.",
    "description": "Account exceeded the maximum amount of messages per hour",
    "date_created": "2024-04-15T05:28:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60729,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "The phone number is associated with a different business name.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe phone number is associated with a different business name.\n\n### Possible causes\n\nThe phone number is currently branded under a different business name. This situation may arise if a previous owner released the number without removing the brand information from the third-party vendor.\n\n### Possible solutions\n\nPlease provide a Letter of Authorization (LOA) to Twilio Support, confirming ownership of the number, to proceed with reprovisioning.\n",
    "causes": "The phone number is currently branded under a different business name. This situation may arise if a previous owner released the number without removing the brand information from the third-party vendor.",
    "solutions": "Please provide a Letter of Authorization (LOA) to Twilio Support, confirming ownership of the number, to proceed with reprovisioning.",
    "description": "The phone number is associated with a different business name.",
    "date_created": "2025-08-07T11:27:12.423Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60730,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "The provided display name, logo, or call reason contains prohibited content",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe display name, logo, or call reason contains prohibited content, including SHAFT elements, offensive material, or promotes illegal activities.\n\n### Possible causes\n\nThe Display Name, logo, or Call Reason must not contain SHAFT content (Sex, Hate, Alcohol, Firearms, Tobacco), prohibited terms (e.g., FBI, Medicare, Police, Government), or any offensive, profane, defamatory, or racially insensitive language. Additionally, content promoting illegal activities—including drugs, gambling, or violence—is strictly prohibited, even if part of a legal name.\n\n### Possible solutions\n\nKindly review the error message and contact Twilio Support with the corrected information to complete the branding process for the affected number(s).\n",
    "causes": "The Display Name, logo, or Call Reason must not contain SHAFT content (Sex, Hate, Alcohol, Firearms, Tobacco), prohibited terms (e.g., FBI, Medicare, Police, Government), or any offensive, profane, defamatory, or racially insensitive language. Additionally, content promoting illegal activities—including drugs, gambling, or violence—is strictly prohibited, even if part of a legal name.",
    "solutions": "Kindly review the error message and contact Twilio Support with the corrected information to complete the branding process for the affected number(s).",
    "description": "The display name, logo, or call reason contains prohibited content, including SHAFT elements, offensive material, or promotes illegal activities.",
    "date_created": "2025-08-07T11:30:52.699Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60731,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Display name/logo provided is not associated with the business",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nDisplay name/logo provided is not associated with the business\n\n### Possible causes\n\nThe provided display name does not correspond with the business or is associated with another entity.\n\n### Possible solutions\n\nKindly review the error message and contact Twilio Support with the corrected information to complete the branding process for the affected number.\n",
    "causes": "The provided display name does not correspond with the business or is associated with another entity.",
    "solutions": "Kindly review the error message and contact Twilio Support with the corrected information to complete the branding process for the affected number.",
    "description": "Display name/logo provided is not associated with the business",
    "date_created": "2025-08-07T11:32:01.763Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60732,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Display name, logo, or call reason does not adhere to the Branded Calling guidelines",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe provided display name, logo, or call reason does not adhere to the Branded Calling guidelines.\n\n### Possible causes\n\nPossible issues with the submission include:\n\n1. Typo or special characters in the display name\n2. Use of personal names instead of the official business/brand name\n3. Excessive punctuation or phone numbers in the display name\n4. Inclusion of spam, ads, or web links in the display name or call reason\n5. Logo non-compliant or unrelated to the business/display name\n6. Presence of personally identifiable information (PII)\n\n### Possible solutions\n\nKindly review the error message and contact Twilio Support with the corrected information to complete the branding process for the affected number.\n",
    "causes": "Possible issues with the submission include: 1) Typo or special characters in the display name\n2) Use of personal names instead of the official business/brand name\n3) Excessive punctuation or phone numbers in the display name\n4) Inclusion of spam, ads, or web links in the display name or call reason\n5) Logo non-compliant or unrelated to the business/display name\n6) Presence of personally identifiable information (PII)",
    "solutions": "Kindly review the error message and contact Twilio Support with the corrected information to complete the branding process for the affected number.",
    "description": "The provided display name, logo, or call reason does not adhere to the Branded Calling guidelines.",
    "date_created": "2025-08-07T11:33:26.908Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 60733,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Phone number provisioning failed - Unknown error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPhone number provisioning failed - Unknown error\n\n### Possible causes\n\nThe phone number provisioning failed because of an unknown error and may stem from an issue raised by other parties in the ecosystem.\n\n### Possible solutions\n\nOur Support team has the means to obtain more detailed information about this specific error. Please contact Twilio Customer Support for assistance in understanding the underlying problem and finding a resolution.\n",
    "causes": "The phone number provisioning failed because of an unknown error and may stem from an issue raised by other parties in the ecosystem.",
    "solutions": "Our Support team has the means to obtain more detailed information about this specific error. Please contact Twilio Customer Support for assistance in understanding the underlying problem and finding a resolution.",
    "description": "Phone number provisioning failed - Unknown error",
    "date_created": "2025-08-07T11:42:01.115Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61000,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Add-ons: Internal server error",
    "secondary_message": "This is generic catch all error for Add-on related conditions that were not caught by a more specific error.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- This is generic catch all error for Add-on related conditions that were not caught by a more specific error.\n",
    "causes": "* This is generic catch all error for Add-on related conditions that were not caught by a more specific error.",
    "solutions": null,
    "description": "",
    "date_created": "2016-06-01T00:35:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Add-ons: Request timed out",
    "secondary_message": "The Add-on Provider failed to respond in the allotted time. The request was terminated and no further processing was attempted.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The Add-on Provider failed to respond in the allotted time. The request was terminated and no further processing was attempted.\n\n### Possible solutions\n\n- Contact Add-on Provider if this error persists\n",
    "causes": "* The Add-on Provider failed to respond in the allotted time. The request was terminated and no further processing was attempted.",
    "solutions": "* Contact Add-on Provider if this error persists",
    "description": "",
    "date_created": "2016-06-01T00:36:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Add-ons: Provider could not complete request",
    "secondary_message": "The Add-on Provider provided a HTTP Status Code in the 500 range. This indicates an error processing the Add-on Request on the Vendors side.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The Add-on Provider provided a HTTP Status Code in the 500 range. This indicates an error processing the Add-on Request on the Vendors side.\n",
    "causes": "* The Add-on Provider provided a HTTP Status Code in the 500 range. This indicates an error processing the Add-on Request on the Vendors side.",
    "solutions": null,
    "description": "",
    "date_created": "2016-06-01T00:36:32Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Add-ons: Requirements to invoke AddOns have not been met",
    "secondary_message": "A parameter required to complete the request was missing or is not supported. As a result the Add-on Request can not be completed.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- A parameter required to complete the request was not provided at run time. As a result the Add-on Request can not be completed.\n- The Add-on does not support the data that was provided. For example the Add-on may not support looking up phone numbers in specific countries.\n\n### Possible solutions\n\n- Refer to Add-on documentation in Console to determine if the Add-on supports the country or format of the data you are providing\n- Check Add-on documentation to see if you may be missing some data for Lookup Add-ons\n",
    "causes": "* A parameter required to complete the request was not provided at run time. As a result the Add-on Request can not be completed.\n* The Add-on does not support the data that was provided. For example the Add-on may not support looking up phone numbers in specific countries.",
    "solutions": "* Refer to Add-on documentation in Console to determine if the Add-on supports the country or format of the data you are providing\n* Check Add-on documentation to see if you may be missing some data for Lookup Add-ons",
    "description": "",
    "date_created": "2016-06-01T00:36:55Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61004,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Add-ons: No results",
    "secondary_message": "The Add-on Provider returned a successful response but the Response Validation Schema indicated there was no usable data.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The Add-on Provider returned a successful response but the Response Validation Schema indicated there was no usable data.\n",
    "causes": "* The Add-on Provider returned a successful response but the Response Validation Schema indicated there was no usable data.",
    "solutions": null,
    "description": "",
    "date_created": "2016-06-01T00:37:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61005,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Add-ons: Bad request",
    "secondary_message": "The Vendor provided an HTTP Status Code in the 400 range. This indicates that the Add-on Provider received the request but was unable to processes it due to validation or authorization issue.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The Add-on Provider provided an HTTP Status Code in the 400 range. This indicates that they received the request but were unable to processes it due to validation or authorization issue.\n",
    "causes": "* The Add-on Provider provided an HTTP Status Code in the 400 range. This indicates that they received the request but were unable to processes it due to validation or authorization issue.",
    "solutions": null,
    "description": "",
    "date_created": "2016-06-01T00:37:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61006,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Add-ons: Add-ons unavailable for GET callbacks",
    "secondary_message": "Due to the size limitations of GET callbacks we do not include Add-on results in GET callbacks",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Due to the size limitations of `GET` callbacks we do not include Add-on results in `GET` callbacks\n",
    "causes": "* Due to the size limitations of `GET` callbacks we do not include Add-on results in `GET` callbacks",
    "solutions": null,
    "description": "",
    "date_created": "2016-06-01T00:38:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61007,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Add-ons: Response body too large",
    "secondary_message": "The Add-on Provider returned a response payload that exceeded 64 kilobytes. As a result the payload was removed and this error was returned instead.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- The Add-on Provider returned a response payload that exceeded 64 kilobytes. As a result the payload was removed and this error was returned instead.\n",
    "causes": "* The Add-on Provider returned a response payload that exceeded 64 kilobytes. As a result the payload was removed and this error was returned instead.",
    "solutions": null,
    "description": "",
    "date_created": "2016-06-01T00:38:26Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61008,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Add-ons:  HTTP too many redirects",
    "secondary_message": "Add-on Provider returned too many HTTP redirects. To prevent getting stuck in a redirect loop only 5 redirects will be followed. After that the request will be terminated and this error code will be returned.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- Add-on Provider returned too many HTTP redirects. To prevent getting stuck in a redirect loop only 5 redirects will be followed. After that the request will be terminated and this error code will be returned.\n",
    "causes": "* Add-on Provider returned too many HTTP redirects. To prevent getting stuck in a redirect loop only 5 redirects will be followed. After that the request will be terminated and this error code will be returned.",
    "solutions": null,
    "description": "",
    "date_created": "2016-06-01T00:38:44Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 61009,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Add-ons: Could not fulfill request with available data",
    "secondary_message": "One of the request fields in the Add-ons specification could not be interpolated with the provided data. The result is an invalid URL, Header value or other parameter that makes the request impossible to execute.",
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\n- One of the request fields in the Add-ons specification could not be interpolated with the provided data. The result is an invalid URL, Header value or other parameter that makes the request impossible to execute.\n",
    "causes": "* One of the request fields in the Add-ons specification could not be interpolated with the provided data. The result is an invalid URL, Header value or other parameter that makes the request impossible to execute.",
    "solutions": null,
    "description": "",
    "date_created": "2016-06-01T00:39:05Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62000,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to write to the database.",
    "secondary_message": "An internal error occurred, and the service was unable to write data relevant to your request.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nAn internal error occurred, and the service was unable to write data relevant to your request.\n",
    "causes": null,
    "solutions": null,
    "description": "An internal error occurred, and the service was unable to write data relevant to your request.",
    "date_created": "2016-10-05T20:25:16Z",
    "last_updated": "2020-08-04T10:00:21.244Z"
  },
  {
    "code": 62001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid SID",
    "secondary_message": "A SID that was provided in the request was not valid. Ensure that any SIDs are complete and valid.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nA SID that was provided in the request was not valid. Ensure that any SIDs are complete and valid.\n",
    "causes": null,
    "solutions": null,
    "description": "A SID that was provided in the request was not valid. Ensure that any SIDs are complete and valid.",
    "date_created": "2016-10-05T20:26:23Z",
    "last_updated": "2020-08-04T10:00:21.218Z"
  },
  {
    "code": 62002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Exchange not found",
    "secondary_message": "The exchange SID in the request could not be found.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe exchange SID in the request could not be found.\n",
    "causes": null,
    "solutions": null,
    "description": "The exchange SID in the request could not be found.",
    "date_created": "2016-10-05T23:33:35Z",
    "last_updated": "2020-08-04T10:00:21.183Z"
  },
  {
    "code": 62003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "MPLS carrier not found.",
    "secondary_message": "The MPLS carrier SID in the request could not be found.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe MPLS carrier SID in the request could not be found.\n",
    "causes": null,
    "solutions": null,
    "description": "The MPLS carrier SID in the request could not be found.",
    "date_created": "2016-10-05T23:34:32Z",
    "last_updated": "2020-08-04T10:00:21.143Z"
  },
  {
    "code": 62004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Direct connect not found.",
    "secondary_message": "The direct connect SID in the request could not be found.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe direct connect SID in the request could not be found.\n",
    "causes": null,
    "solutions": null,
    "description": "The direct connect SID in the request could not be found.",
    "date_created": "2016-10-05T23:35:06Z",
    "last_updated": "2020-08-04T10:00:21.126Z"
  },
  {
    "code": 62005,
    "log_level": "ERROR",
    "log_type": null,
    "message": " Bandwidth reserve not found.",
    "secondary_message": "The bandwidth reserve SID in the request could not be found.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe bandwidth reserve SID in the request could not be found.\n",
    "causes": null,
    "solutions": null,
    "description": "The bandwidth reserve SID in the request could not be found.",
    "date_created": "2016-10-05T23:35:36Z",
    "last_updated": "2020-08-04T10:00:21.107Z"
  },
  {
    "code": 62006,
    "log_level": "ERROR",
    "log_type": null,
    "message": " MPLS carrier is not associated with the exchange.",
    "secondary_message": "The MPLS carrier SID in the request is not associated with the exchange SID in the request. Choose an MPLS carrier SID that is associated with the exchange SID, or choose an exchange SID that is associated with the MPLS carrier SID.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe MPLS carrier SID in the request is not associated with the exchange SID in the request. Choose an MPLS carrier SID that is associated with the exchange SID, or choose an exchange SID that is associated with the MPLS carrier SID.\n",
    "causes": null,
    "solutions": null,
    "description": "The MPLS carrier SID in the request is not associated with the exchange SID in the request. Choose an MPLS carrier SID that is associated with the exchange SID, or choose an exchange SID that is associated with the MPLS carrier SID.",
    "date_created": "2016-10-05T23:36:20Z",
    "last_updated": "2020-08-04T10:00:21.091Z"
  },
  {
    "code": 62007,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Direct connect is not associated with the exchange.",
    "secondary_message": "The direct connect SID in the request is not associated with the exchange SID in the request. Choose a direct connect SID that is associated with the exchange SID, or choose an exchange SID associated with the direct connect SID.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe direct connect SID in the request is not associated with the exchange SID in the request. Choose a direct connect SID that is associated with the exchange SID, or choose an exchange SID associated with the direct connect SID.\n",
    "causes": null,
    "solutions": null,
    "description": "The direct connect SID in the request is not associated with the exchange SID in the request. Choose a direct connect SID that is associated with the exchange SID, or choose an exchange SID associated with the direct connect SID.",
    "date_created": "2016-10-05T23:37:08Z",
    "last_updated": "2020-08-04T10:00:21.074Z"
  },
  {
    "code": 62008,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Bandwidth reserve is not associated with the exchange.",
    "secondary_message": "The bandwidth reserve SID in the request is not associated with the exchange SID in the request. Choose a bandwidth reserve that is associated with the exchange SID, or choose an exchange SID that is associated with the bandwidth reserve SID.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe bandwidth reserve SID in the request is not associated with the exchange SID in the request. Choose a bandwidth reserve that is associated with the exchange SID, or choose an exchange SID that is associated with the bandwidth reserve SID.\n",
    "causes": null,
    "solutions": null,
    "description": "The bandwidth reserve SID in the request is not associated with the exchange SID in the request. Choose a bandwidth reserve that is associated with the exchange SID, or choose an exchange SID that is associated with the bandwidth reserve SID.",
    "date_created": "2016-10-05T23:37:48Z",
    "last_updated": "2020-08-04T10:00:21.055Z"
  },
  {
    "code": 62009,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Account SID was not found.",
    "secondary_message": "The account SID in the request could not be found in the Twilio Interconnect directory. This does not mean that the account is not valid, only that it is not associated with any Twilio Interconnect entries.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe account SID in the request could not be found in the Twilio Interconnect directory. This does not mean that the account is not valid, only that it is not associated with any Twilio Interconnect entries.\n",
    "causes": null,
    "solutions": null,
    "description": "The account SID in the request could not be found in the Twilio Interconnect directory. This does not mean that the account is not valid, only that it is not associated with any Twilio Interconnect entries.",
    "date_created": "2016-10-05T23:38:28Z",
    "last_updated": "2020-08-04T10:00:21.036Z"
  },
  {
    "code": 62010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No authentication was provided.",
    "secondary_message": "An attempt was made to access a restricted resource without proper authorization. Provide authentication details and try again.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nAn attempt was made to access a restricted resource without proper authorization. Provide authentication details and try again.\n",
    "causes": null,
    "solutions": null,
    "description": "An attempt was made to access a restricted resource without proper authorization. Provide authentication details and try again.",
    "date_created": "2016-10-05T23:39:06Z",
    "last_updated": "2020-08-04T10:00:21.017Z"
  },
  {
    "code": 62011,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unauthorized",
    "secondary_message": "The access credentials provided are not authorized to access this resource.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe access credentials provided are not authorized to access this resource.\n",
    "causes": null,
    "solutions": null,
    "description": "The access credentials provided are not authorized to access this resource.",
    "date_created": "2016-10-05T23:39:45Z",
    "last_updated": "2020-08-04T10:00:20.999Z"
  },
  {
    "code": 62012,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Connection not found.",
    "secondary_message": "The connection SID in the request could not be found.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe connection SID in the request could not be found.\n",
    "causes": null,
    "solutions": null,
    "description": "The connection SID in the request could not be found.",
    "date_created": "2016-10-05T23:40:17Z",
    "last_updated": "2020-08-04T10:00:20.98Z"
  },
  {
    "code": 62013,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unable to identify account owner of connection.",
    "secondary_message": "The connection SID in the request is orphaned, and the owner cannot be identified.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe connection SID in the request is orphaned, and the owner cannot be identified.\n",
    "causes": null,
    "solutions": null,
    "description": "The connection SID in the request is orphaned, and the owner cannot be identified.",
    "date_created": "2016-10-05T23:40:59Z",
    "last_updated": "2020-08-04T10:00:20.963Z"
  },
  {
    "code": 62014,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Connection not ready",
    "secondary_message": "The connection SID in the request is not fully configured. Please provide additional configuration info. For a VPN connection, please provide IP Gateway and at least one IP route.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe connection SID in the request is not fully configured. Please provide additional configuration info. For a VPN connection, please provide IP Gateway and at least one IP route.\n",
    "causes": null,
    "solutions": null,
    "description": "The connection SID in the request is not fully configured. Please provide additional configuration info. For a VPN connection, please provide IP Gateway and at least one IP route.",
    "date_created": "2016-10-05T23:41:28Z",
    "last_updated": "2020-08-04T10:00:20.946Z"
  },
  {
    "code": 62015,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Connection in transition",
    "secondary_message": "The connection SID in the request is currently in a state of transition. A connection cannot be transitioned from inactive to active unless if the connection is currently in an inactive state. To transition the connection to an active state, please wait for the connection to be inactive again.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe connection SID in the request is currently in a state of transition. A connection cannot be transitioned from inactive to active unless if the connection is currently in an inactive state. To transition the connection to an active state, please wait for the connection to be inactive again.\n",
    "causes": null,
    "solutions": null,
    "description": "The connection SID in the request is currently in a state of transition. A connection cannot be transitioned from inactive to active unless if the connection is currently in an inactive state. To transition the connection to an active state, please wait for the connection to be inactive again.",
    "date_created": "2016-10-05T23:42:03Z",
    "last_updated": "2020-08-04T10:00:20.915Z"
  },
  {
    "code": 62016,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Connection not active",
    "secondary_message": "The connection SID in the request is not currently active. To transition a connection from active to inactive, the connection must be in an active state.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe connection SID in the request is not currently active. To transition a connection from active to inactive, the connection must be in an active state.\n",
    "causes": null,
    "solutions": null,
    "description": "The connection SID in the request is not currently active. To transition a connection from active to inactive, the connection must be in an active state.",
    "date_created": "2016-10-05T23:42:34Z",
    "last_updated": "2020-08-04T10:00:20.897Z"
  },
  {
    "code": 62017,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No IP route specified",
    "secondary_message": "The request did not identify an IP route. This may indicate that the IP Route parameter was misspelled.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe request did not identify an IP route. This may indicate that the IP Route parameter was misspelled.\n",
    "causes": null,
    "solutions": null,
    "description": "The request did not identify an IP route. This may indicate that the IP Route parameter was misspelled.",
    "date_created": "2016-10-05T23:43:10Z",
    "last_updated": "2020-08-04T10:00:20.879Z"
  },
  {
    "code": 62018,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid IP route",
    "secondary_message": "The request provided an invalid IP route. The IP route must be a valid formed CIDR address that does not exist within the RFC 1918 address space.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe request provided an invalid IP route. The IP route must be a valid formed CIDR address that does not exist within the RFC 1918 address space.\n",
    "causes": null,
    "solutions": null,
    "description": "The request provided an invalid IP route. The IP route must be a valid formed CIDR address that does not exist within the RFC 1918 address space.",
    "date_created": "2016-10-05T23:43:42Z",
    "last_updated": "2020-08-04T10:00:20.863Z"
  },
  {
    "code": 62019,
    "log_level": "ERROR",
    "log_type": null,
    "message": "IP route exceeds permitted IP range",
    "secondary_message": "The request provided an IP route that would exceed permitted IP range. IP addresses are limited to the 256 address range.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe request provided an IP route that would exceed permitted IP range. IP addresses are limited to the 256 address range.\n",
    "causes": null,
    "solutions": null,
    "description": "The request provided an IP route that would exceed permitted IP range. IP addresses are limited to the 256 address range.",
    "date_created": "2016-10-05T23:44:37Z",
    "last_updated": "2020-08-04T10:00:20.845Z"
  },
  {
    "code": 62020,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Connection pending deletion.",
    "secondary_message": "The connection SID in the request is pending deletion. No changes can be made to it.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe connection SID in the request is pending deletion. No changes can be made to it.\n",
    "causes": null,
    "solutions": null,
    "description": "The connection SID in the request is pending deletion. No changes can be made to it.",
    "date_created": "2016-10-05T23:46:37Z",
    "last_updated": "2020-08-04T10:00:20.826Z"
  },
  {
    "code": 62021,
    "log_level": "ERROR",
    "log_type": null,
    "message": "IP Gateway Invalid",
    "secondary_message": "The request provided an invalid gateway IP address. Request must provide a valid IP address not in the RFC 1918 range.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe request provided an invalid gateway IP address. Request must provide a valid IP address not in the RFC 1918 range.\n",
    "causes": null,
    "solutions": null,
    "description": "The request provided an invalid gateway IP address. Request must provide a valid IP address not in the RFC 1918 range.",
    "date_created": "2016-10-05T23:47:11Z",
    "last_updated": "2020-08-04T10:00:20.808Z"
  },
  {
    "code": 62022,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Missing account SID",
    "secondary_message": "The request did not specify an account SID.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe request did not specify an account SID.\n",
    "causes": null,
    "solutions": null,
    "description": "The request did not specify an account SID.",
    "date_created": "2016-10-05T23:48:09Z",
    "last_updated": "2020-08-04T10:00:20.789Z"
  },
  {
    "code": 62023,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Missing exchange",
    "secondary_message": "The request did not specify an exchange SID.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe request did not specify an exchange SID.\n",
    "causes": null,
    "solutions": null,
    "description": "The request did not specify an exchange SID.",
    "date_created": "2016-10-05T23:48:43Z",
    "last_updated": "2020-08-04T10:00:20.771Z"
  },
  {
    "code": 62024,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Missing connection type",
    "secondary_message": "The request did not specify a connection type. Valid connection types are vpn, crossconnect, mpls.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe request did not specify a connection type. Valid connection types are vpn, crossconnect, mpls.\n",
    "causes": null,
    "solutions": null,
    "description": "The request did not specify a connection type. Valid connection types are vpn, crossconnect, mpls.",
    "date_created": "2016-10-05T23:49:15Z",
    "last_updated": "2020-08-04T10:00:20.752Z"
  },
  {
    "code": 62025,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Interconnect: Invalid connection type",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- Invalid connection type\n\n### Possible solutions\n\n- The request specified an invalid connection type. Please add a valid type-cloudconnect, crossconnect, mpls or vpn.\n",
    "causes": "* Invalid connection type",
    "solutions": "* The request specified an invalid connection type. Please add a valid type-cloudconnect, crossconnect, mpls or vpn.",
    "description": "",
    "date_created": "2016-10-05T23:49:50Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62026,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Interconnect: Missing MPLS carrier SID",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- Missing MPLS carrier SID\n\n### Possible solutions\n\n- Please add a valid MPLS carrier SID.\n",
    "causes": "* Missing MPLS carrier SID",
    "solutions": "* Please add a valid MPLS carrier SID.",
    "description": "",
    "date_created": "2016-10-05T23:50:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62027,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Interconnect: Extra MPLS parameter",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- Extra MPLS parameter\n\n### Possible solutions\n\n- An MPLS carrier does not relate to a connection of the specified type, please update the parameter and try again.\n",
    "causes": "* Extra MPLS parameter",
    "solutions": "* An MPLS carrier does not relate to a connection of the specified type, please update the parameter and try again.",
    "description": "",
    "date_created": "2016-10-05T23:50:56Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62028,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Interconnect: Connection expired.",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- Connection expired.\n\n### Possible solutions\n\n- The connection SID in the request has expired, and may no longer be used. Please create a new connection.\n",
    "causes": "* Connection expired.",
    "solutions": "* The connection SID in the request has expired, and may no longer be used. Please create a new connection.",
    "description": "",
    "date_created": "2016-10-05T23:51:26Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62034,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Interconnect: No useful parameters provided.",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- No useful parameters provided\n\n### Possible solutions\n\n- The request you made expected at least 1 optional parameter, but none was provided. Please add a parameter and/or confirm that is was not misspelled.\n",
    "causes": "* No useful parameters provided",
    "solutions": "* The request you made expected at least 1 optional parameter, but none was provided. Please add a parameter and/or confirm that is was not misspelled.",
    "description": "",
    "date_created": "2016-10-05T23:52:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62035,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Interconnect: No bandwidth was specified in the request",
    "secondary_message": "The request did not specify bandwidth. Approved quantities are 10.0, 100.0, and 1000.0Mb.",
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- No bandwidth was specified in the request\n\n### Possible solutions\n\n- The request did not specify bandwidth. Please include an approved bandwidth option--those are 10.0Mb, 100.0mb, and 1000.0Mb\n",
    "causes": "* No bandwidth was specified in the request",
    "solutions": "* The request did not specify bandwidth. Please include an approved bandwidth option--those are 10.0Mb, 100.0mb, and 1000.0Mb",
    "description": "",
    "date_created": "2016-10-05T23:53:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62052,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Interconnect: This account is not a subaccount of the Interconnect Connection owner's account.",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- This account is not a subaccount of the Interconnect Connection owner's account.\n\n### Possible solutions\n\n- Please verify your Connection SID. Visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).\n",
    "causes": "* This account is not a subaccount of the Interconnect Connection owner's account.",
    "solutions": "* Please verify your Connection SID. Visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).",
    "description": "",
    "date_created": "2017-06-05T22:46:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62053,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Interconnect: The subaccount is not authorized to access this connection.  ",
    "secondary_message": null,
    "product": "Interconnect",
    "docs": "\n## Description\n\n### Possible causes\n\n- The subaccount is not authorized to access this connection.\n\n### Possible solutions\n\n- Please verify your Interconnect Connection permission settings, visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).\n",
    "causes": "* The subaccount is not authorized to access this connection.",
    "solutions": "* Please verify your Interconnect Connection permission settings, visit [Interconnect Connections](https://www.twilio.com/console/sip-trunking/interconnect/connections).",
    "description": "",
    "date_created": "2017-06-05T22:47:22Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "IP address(es) already linked to another connection",
    "secondary_message": "An IP address can be associated to one Interconnect connection only.",
    "product": "Interconnect",
    "docs": "\n## Description\n\nThe IP address is already associated with another Interconnect connection.\n\n### Possible causes\n\nIP conflict\n\n### Possible solutions\n\nNew valid IP address\n",
    "causes": "IP conflict",
    "solutions": "New valid IP address",
    "description": "The IP address is already associated with another Interconnect connection.",
    "date_created": "2020-04-13T22:12:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62200,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Provisioning failure - Network-API is unavailable!",
    "secondary_message": "Network API is not available to perform the provisioning task",
    "product": "Interconnect",
    "docs": "\n## Description\n\nNetwork provisioning calls are traced by network API which at the moment are not available.\n\n### Possible causes\n\nnetwork connectivity, or the NSO server down\n\n### Possible solutions\n\ncheck the status of the NSO if the network is fine.\n",
    "causes": "network connectivity, or the NSO server down",
    "solutions": "check the status of the NSO if the network is fine.",
    "description": "Network provisioning calls are traced by network API which at the moment are not available.",
    "date_created": "2020-04-13T22:21:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 62220,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Provisioning failure - Requested bandwidth not available on the network device.",
    "secondary_message": "Network device does not have the capacity available to perform the provisioning task",
    "product": "Interconnect",
    "docs": "\n## Description\n\nBandwidth is not available on the network device due to lack of capacity\n\n### Possible causes\n\nNetwork device is out of capacity\n\n### Possible solutions\n\nUpgrade the capacity on the network device.\n",
    "causes": "Network device is out of capacity",
    "solutions": "Upgrade the capacity on the network device.",
    "description": "Bandwidth is not available on the network device due to lack of capacity",
    "date_created": "2020-04-13T22:27:10Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63001,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Channel could not authenticate the request. Please see Channel specific error message for more information",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Channel could not authenticate the request. Please see Channel specific error message for more information.\n\n### Possible causes\n\n- The Channel could not authenticate the request. Please see Channel specific error message for more information.\n- Facebook identified a potential security issue and rotated the token\n- The Facebook user who connected the FB page to Twilio has changed their password\n- The user de-authorized the Twilio app\n\n### Possible solutions\n\nIf the issue persists, you may need to delete the sender and and re-add it.\n",
    "causes": "* The Channel could not authenticate the request. Please see Channel specific error message for more information.\n* Facebook identified a potential security issue and rotated the token\n* The Facebook user who connected the FB page to Twilio has changed their password\n* The user de-authorized the Twilio app",
    "solutions": "If the issue persists, you may need to delete the sender and and re-add it.",
    "description": "The Channel could not authenticate the request. Please see Channel specific error message for more information.",
    "date_created": "2017-05-31T22:21:51Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Channel could not find the From address",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the `From` address in a Programmable Messaging request does not map to a configured Channel endpoint address. This error applies to WhatsApp and other non-SMS messaging channels. For WhatsApp sandbox traffic, use the `whatsapp:<sandbox phone number>` format, and for live senders use the sender address assigned to that channel.\n\n### Possible causes\n\n- The `From` address in the request is incorrect or does not match the channel address exactly.\n- The sender address is not associated with the Channel or WhatsApp installation you are using.\n- You are sending from a WhatsApp sandbox or live sender without using the channel-specific `From` format Twilio expects.\n\n### Possible solutions\n\n- Use the exact Channel endpoint address shown on the Channel page, and make sure the `From` value matches that address for the channel you are sending through.\n- If you are sending via WhatsApp sandbox, set `From` to `whatsapp:<sandbox phone number>` and activate the sandbox before sending messages.\n- If you are sending via a live WhatsApp sender, use the `whatsapp:` sender address that is configured for your number.\n- Check Error Logs and Programmable Messaging Logs to review the request details, sender configuration, and the associated Message SID.\n\n#### Additional resources\n\n- [Programmable Messaging](/docs/messaging)\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n- [The WhatsApp Business Platform with Twilio: Best Practices and FAQs](/docs/whatsapp/best-practices-and-faqs)\n",
    "causes": "* The `From` address in the request is incorrect or does not match the channel address exactly.\n* The sender address is not associated with the Channel or WhatsApp installation you are using.\n* You are sending from a WhatsApp sandbox or live sender without using the channel-specific `From` format Twilio expects.",
    "solutions": "* Use the exact Channel endpoint address shown on the Channel page, and make sure the `From` value matches that address for the channel you are sending through.\n* If you are sending via WhatsApp sandbox, set `From` to `whatsapp:<sandbox phone number>` and activate the sandbox before sending messages.\n* If you are sending via a live WhatsApp sender, use the `whatsapp:` sender address that is configured for your number.\n* Check Error Logs and Programmable Messaging Logs to review the request details, sender configuration, and the associated Message SID.",
    "description": "Twilio returns this error when the `From` address in a Programmable Messaging request does not map to a configured Channel endpoint address. This error applies to WhatsApp and other non-SMS messaging channels. For WhatsApp sandbox traffic, use the `whatsapp:<sandbox phone number>` format, and for live senders use the sender address assigned to that channel.",
    "date_created": "2018-03-17T00:16:07Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel could not find To address",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nYou have tried to send a message to a To address that is inactive or invalid.\n\n### Possible causes\n\n- The To address is no invalid or longer belongs to a mobile user\n- The To address was entered or formatted incorrectly\n\n### Possible solutions\n\n- Ensure you have provided the correct To address for the user you are trying to reach\n- Ensure that the To address is still active\n",
    "causes": "* The To address is no invalid or longer belongs to a mobile user\n* The To address was entered or formatted incorrectly",
    "solutions": "* Ensure you have provided the correct To address for the user you are trying to reach\n* Ensure that the To address is still active",
    "description": "You have tried to send a message to a To address that is inactive or invalid.",
    "date_created": "2018-03-17T00:17:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Channel did not accept given content. Please see Channel specific error message for more information",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Channel did not accept given content\n\n### Possible causes\n\n- The content you are trying to send was rejected by the Channel. Please see Channel specific error message for more information.\n- When sending messages to an end user on WhatsApp, this error may occur when the end user is not a valid WhatsApp user.\n- When sending messages with media to an end user on WhatsApp, this error may occur when WhatsApp detects an issue with the media file sent.\n- Business is restricted from messaging users in the recipient country\n\n### Possible solutions\n\n- Make sure the end user you are messaging has a valid WhatsApp account.\n- Make sure the media file sent is valid. Try to download the media file being sent. Export the file to a different valid format and re-upload it to your storage solution. If sending over WhatsApp, resubmit a new template for approval with the new media file.\n- Confirm that you are sending rich content within the sending session guidelines. If fields that are only supported as part of a template or fields that are only available in session are sent incorrectly, this error may occur.\n- See [WhatsApp Business Messaging Policy](https://business.whatsapp.com/policy?fbclid=IwZXh0bgNhZW0CMTEAYnJpZBExdmRxNFl6M041MnhnUVVqVAEe3WuinXosQ-2o09Tkp7NGIZo4j8kTJoiCxPoKode1N4dvHJGtCj4fzn6EzCE_aem_7rfuv15Iv9rakXOXsmr6qQ) for details on allowed countries for messaging in your business category.\n",
    "causes": "* The content you are trying to send was rejected by the Channel. Please see Channel specific error message for more information.\n* When sending messages to an end user on WhatsApp, this error may occur when the end user is not a valid WhatsApp user.\n* When sending messages with media to an end user on WhatsApp, this error may occur when WhatsApp detects an issue with the media file sent.\n* Business is restricted from messaging users in the recipient country",
    "solutions": "* Make sure the end user you are messaging has a valid WhatsApp account.\n* Make sure the media file sent is valid. Try to download the media file being sent. Export the file to a different valid format and re-upload it to your storage solution. If sending over WhatsApp, resubmit a new template for approval with the new media file.\n* Confirm that you are sending rich content within the sending session guidelines. If fields that are only supported as part of a template or fields that are only available in session are sent incorrectly, this error may occur.\n* See [WhatsApp Business Messaging Policy](https://business.whatsapp.com/policy?fbclid=IwZXh0bgNhZW0CMTEAYnJpZBExdmRxNFl6M041MnhnUVVqVAEe3WuinXosQ-2o09Tkp7NGIZo4j8kTJoiCxPoKode1N4dvHJGtCj4fzn6EzCE_aem_7rfuv15Iv9rakXOXsmr6qQ) for details on allowed countries for messaging in your business category.",
    "description": "",
    "date_created": "2018-03-17T00:19:12Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63006,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Could not format given content for the channel. Please see Channel specific error message for more information",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns 63006 when it cannot format the content you sent for the selected channel. Review the channel-specific error message in the message logs to find the exact formatting issue, and compare your template against Twilio's channel support and content-template rules. Twilio sends the most complex translation supported by the chosen channel, and some content components can still be incompatible across channels.\n\n### Possible causes\n\n- The content template includes a type or component that the destination channel does not support.\n- The template includes multiple content types, and Twilio cannot translate the message into a format the selected channel supports.\n- Variable values, names, or URL samples do not follow Content Template rules, so Twilio cannot render the final message correctly.\n\n### Possible solutions\n\n- Check the channel support table and send a content type that the destination channel supports.\n- Remove or replace any unsupported components, then resend the message with a translation that matches the target channel.\n- Validate your variable names, counts, and values, and make sure any URL path samples resolve to publicly hosted media or URL samples.\n- Open the message error details in Twilio Console and use the channel-specific error message to pinpoint the formatting problem.\n\n#### Additional resources\n\n- [Content Types Overview](/docs/content/content-types-overview)\n- [Using Variables with Content Templates](/docs/content/using-variables-with-content-api)\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n",
    "causes": "* The content template includes a type or component that the destination channel does not support.\n* The template includes multiple content types, and Twilio cannot translate the message into a format the selected channel supports.\n* Variable values, names, or URL samples do not follow Content Template rules, so Twilio cannot render the final message correctly.",
    "solutions": "* Check the channel support table and send a content type that the destination channel supports.\n* Remove or replace any unsupported components, then resend the message with a translation that matches the target channel.\n* Validate your variable names, counts, and values, and make sure any URL path samples resolve to publicly hosted media or URL samples.\n* Open the message error details in Twilio Console and use the channel-specific error message to pinpoint the formatting problem.",
    "description": "Twilio returns 63006 when it cannot format the content you sent for the selected channel. Review the channel-specific error message in the message logs to find the exact formatting issue, and compare your template against Twilio's channel support and content-template rules. Twilio sends the most complex translation supported by the chosen channel, and some content components can still be incompatible across channels.",
    "date_created": "2018-03-17T00:20:54Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 63007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Twilio could not find a Channel with the specified 'From' address",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\n- Sending a message using a `From` address that is not associated with any Channel or WhatsApp installation.\n- Sending a message using a `From` address for a Channel that is pending approval.\n- Using incorrect Account Credentials for the account that owns the Sender\n\n### Possible solutions\n\n- See [here](/docs/messaging#channel-addresses) for supported formats of Channel endpoint addresses.\n- To send messages using WhatsApp, the `From` address should be `whatsapp:<sandbox phone number>` or `whatsapp:<your twilio number>` . This can be found on the [WhatsApp sandbox page](https://www.twilio.com/console/messaging/whatsapp/sandbox) or [WhatsApp numbers page](https://www.twilio.com/console/messaging/whatsapp/numbers).\n- If you are using the WhatsApp sandbox, ensure that you have activated the Twilio Sandbox for WhatsApp. This can be found on the [WhatsApp sandbox page](https://www.twilio.com/console/messaging/whatsapp/sandbox).\n- Check your account SID and auth token are correct and correspond to the account that owns the Sender. You can find your account credentials in the Console [here](https://console.twilio.com/).\n",
    "causes": "* Sending a message using a `From` address that is not associated with any Channel or WhatsApp installation.\n* Sending a message using a `From` address for a Channel that is pending approval.\n* Using incorrect Account Credentials for the account that owns the Sender",
    "solutions": "* See [here](/docs/messaging#channel-addresses) for supported formats of Channel endpoint addresses.\n* To send messages using WhatsApp, the `From` address should be `whatsapp:<sandbox phone number>` or `whatsapp:<your twilio number>` . This can be found on the [WhatsApp sandbox page](https://www.twilio.com/console/messaging/whatsapp/sandbox) or [WhatsApp numbers page](https://www.twilio.com/console/messaging/whatsapp/numbers).\n* If you are using the WhatsApp sandbox, ensure that you have activated the Twilio Sandbox for WhatsApp. This can be found on the [WhatsApp sandbox page](https://www.twilio.com/console/messaging/whatsapp/sandbox).\n* Check your account SID and auth token are correct and correspond to the account that owns the Sender. You can find your account credentials in the Console [here](https://console.twilio.com/).",
    "description": "",
    "date_created": "2018-03-17T01:22:43Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63008,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Could not execute the request because the channel module has been misconfigured. Please check the Channel configuration in Twilio",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means Twilio could not execute the request because the channel module is misconfigured. Check the Channel configuration in Twilio and confirm that the sender and receiver use the correct channel-specific address format.\n\n### Possible causes\n\n- The Channel configuration in Twilio is incomplete or incorrect.\n- The `From` or `To` address does not match the channel-specific address format required for the messaging channel you are using.\n\n### Possible solutions\n\n- Open the Channel configuration in Twilio and correct the channel settings.\n- Verify that the `From` address maps to a configured Channel endpoint address.\n- Verify that the `To` address is valid for the channel and follows the required channel address format.\n- Review Programmable Messaging Logs and the individual message details view to inspect the error, request, and response for the failed message.\n\n#### Additional resources\n\n- [Twilio Messaging Channels](/docs/messaging/channels)\n- [Programmable Messaging Logs](/docs/messaging/features/messaging-logs)\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n",
    "causes": "* The Channel configuration in Twilio is incomplete or incorrect.\n* The `From` or `To` address does not match the channel-specific address format required for the messaging channel you are using.",
    "solutions": "* Open the Channel configuration in Twilio and correct the channel settings.\n* Verify that the `From` address maps to a configured Channel endpoint address.\n* Verify that the `To` address is valid for the channel and follows the required channel address format.\n* Review Programmable Messaging Logs and the individual message details view to inspect the error, request, and response for the failed message.",
    "description": "This error means Twilio could not execute the request because the channel module is misconfigured. Check the Channel configuration in Twilio and confirm that the sender and receiver use the correct channel-specific address format.",
    "date_created": "2018-03-17T00:22:45Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 63009,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Channel provider returned an internal service error (HTTP 5xx). Please see Channel specific error message for more information",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\n- Please see Channel specific error message for more information.\n",
    "causes": "* Please see Channel specific error message for more information.",
    "solutions": null,
    "description": "",
    "date_created": "2018-03-17T00:23:54Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilio's platform encountered an internal error processing this message",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\n- Twilio's platform encountered an internal error processing this message\n",
    "causes": "* Twilio's platform encountered an internal error processing this message",
    "solutions": null,
    "description": "",
    "date_created": "2018-03-19T23:27:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63011,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Request: Twilio encountered an error while processing your request",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio was unable to complete the Messaging request because the channel provider didn't receive the necessary capabilities required for processing.\n\n### Possible causes\n\n- Twilio could not retrieve the channel capabilities required for the request.\n- The message may have been affected by a transient internal Twilio processing issue or an incident.\n\n### Possible solutions\n\n- Retry the request. If the issue was transient, the next attempt may succeed.\n- Check the Console Debugger and event logs for message delivery details and related error events.\n- If the error continues, contact support and include the affected Message SIDs and the error code.\n\n#### Additional resources\n\n- [Troubleshooting](/docs/comms/troubleshooting)\n- [Debugging Your Twilio Application](/docs/usage/troubleshooting/debugging-your-application)\n- [Messaging](/docs/messaging)\n",
    "causes": "* Twilio could not retrieve the channel capabilities required for the request.\n* The message may have been affected by a transient internal Twilio processing issue or an incident.",
    "solutions": "* Retry the request. If the issue was transient, the next attempt may succeed.\n* Check the Console Debugger and event logs for message delivery details and related error events.\n* If the error continues, contact support and include the affected Message SIDs and the error code.",
    "description": "Twilio was unable to complete the Messaging request because the channel provider didn't receive the necessary capabilities required for processing.",
    "date_created": "2019-03-28T17:33:55Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63012,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Channel provider returned an internal service error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error indicates that the channel provider returned an internal service error and Twilio could not complete the request. This usually corresponds to an HTTP 5xx response from the provider.\n\n### Possible causes\n\n- The channel provider returned an internal service error, including an HTTP 5xx response.\n\n### Possible solutions\n\n- Review the channel-specific error message for more information about the provider-side failure.\n- Open the message in Programmable Messaging Logs to inspect the `Message SID`, delivery steps, errors or warnings, and the Request Inspector.\n- If you still cannot determine the cause, contact Twilio Support and include the relevant `Message SID`.\n\n#### Additional resources\n\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n- [Programmable Messaging Logs](/docs/messaging/features/messaging-logs)\n- [Twilio Health Score for Messaging](/docs/messaging/features/twilio-health-score-for-messaging)\n",
    "causes": "* The channel provider returned an internal service error, including an HTTP 5xx response.",
    "solutions": "* Review the channel-specific error message for more information about the provider-side failure.\n* Open the message in Programmable Messaging Logs to inspect the `Message SID`, delivery steps, errors or warnings, and the Request Inspector.\n* If you still cannot determine the cause, contact Twilio Support and include the relevant `Message SID`.",
    "description": "This error indicates that the channel provider returned an internal service error and Twilio could not complete the request. This usually corresponds to an HTTP 5xx response from the provider.",
    "date_created": "2018-03-17T00:26:57Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63013,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Channel policy violation",
    "secondary_message": "This message send failed because it violates Channel provider's policy.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\nThis message send failed because it violates Channel provider's policy. Please see Channel specific error message for more information.\n\n- If more than 4 consecutive whitespaces replace a placeholder in a WhatsApp message body.\n- If an empty or null string is passed into an approved WhatsApp template variable.\n- When there are consecutive new lines where a channel does not support it.\n- When there is variable in a field that the channel provider does not support variables.\n- Unsupported media file type\n- When there are emojis in fields that do not support them or there are too many emojis in a field that only allows a limited number of emojis\n- When the customer attempts to send a WhatsApp message with an invalid or not publicly accessible URL on their Call-to-action template. \n\n### Possible solutions\n\nCheck content is in compliance with Channel providers policy.\n",
    "causes": "This message send failed because it violates Channel provider's policy. Please see Channel specific error message for more information. - If more than 4 consecutive whitespaces replace a placeholder in a WhatsApp message body.\n- If an empty or null string is passed into an approved WhatsApp template variable.\n- When there are consecutive new lines where a channel does not support it.\n- When there is variable in a field that the channel provider does not support variables.\n- Unsupported media file type\n- When there are emojis in fields that do not support them or there are too many emojis in a field that only allows a limited number of emojis\n- When the customer attempts to send a WhatsApp message with an invalid or not publicly accessible URL on their Call-to-action template.",
    "solutions": "Check content is in compliance with Channel providers policy.",
    "description": "",
    "date_created": "2018-03-17T00:28:00Z",
    "last_updated": "2026-03-24T10:05:38-07:00"
  },
  {
    "code": 63014,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Channel message blocked by user action",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when a message is blocked because the recipient took an action that prevents delivery. Check the channel-specific error details to identify the exact block reason and review the failed message in Messaging Logs.\n\n### Possible causes\n\n- The recipient blocked the sender in the channel they are using, such as WhatsApp, so the message cannot be delivered.\n- The recipient opted out or otherwise removed consent for future messages, which blocks later outgoing messages from that sender.\n\n### Possible solutions\n\n- Open the Messaging Logs entry for the failed message and use the `MessageSid` and error details to confirm the channel-specific block reason.\n- Stop sending additional messages to that recipient until they re-engage or restore consent for the channel. If you use SMS opt-out handling, accept the relevant opt-in keyword again before resuming delivery.\n- If you use WhatsApp, collect explicit opt-ins and respect opt-out requests so recipients do not block your business.\n\n#### Additional resources\n\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n- [Advanced Opt-Out](/docs/messaging/tutorials/advanced-opt-out)\n- [WhatsApp API](/docs/whatsapp/api)\n",
    "causes": "* The recipient blocked the sender in the channel they are using, such as WhatsApp, so the message cannot be delivered.\n* The recipient opted out or otherwise removed consent for future messages, which blocks later outgoing messages from that sender.",
    "solutions": "* Open the Messaging Logs entry for the failed message and use the `MessageSid` and error details to confirm the channel-specific block reason.\n* Stop sending additional messages to that recipient until they re-engage or restore consent for the channel. If you use SMS opt-out handling, accept the relevant opt-in keyword again before resuming delivery.\n* If you use WhatsApp, collect explicit opt-ins and respect opt-out requests so recipients do not block your business.",
    "description": "Twilio returns this error when a message is blocked because the recipient took an action that prevents delivery. Check the channel-specific error details to identify the exact block reason and review the failed message in Messaging Logs.",
    "date_created": "2018-03-17T00:28:57Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63015,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel Sandbox can only send messages to phone numbers that have joined the Sandbox",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nChannel Sandbox can only send messages to phone numbers that have joined the Sandbox\n\n### Possible causes\n\nThis message failed to be delivered to the user because it was sent from a Sandbox to a phone number that has not joined your Sandbox\n\n### Possible solutions\n\nInstruct the recipient to join your Sandbox by sending the join phrase or keyword shown on the Sandbox page in your Twilio Console.\n",
    "causes": "This message failed to be delivered to the user because it was sent from a Sandbox to a phone number that has not joined your Sandbox",
    "solutions": "Instruct the recipient to join your Sandbox by sending the join phrase or keyword shown on the Sandbox page in your Twilio Console.",
    "description": "Channel Sandbox can only send messages to phone numbers that have joined the Sandbox",
    "date_created": "2018-06-25T18:44:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63016,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to send freeform message because you are outside the allowed window. If you are using WhatsApp, please use a Message Template.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\n- **After April 1, 2025** WhatsApp templates can only be sent using Content Sid and Content Variables. Templates sent using body outside of a conversation window will fail with this error.\n- This message failed to be delivered to the user because it was sent outside the messaging channel's allowed conversation window. For WhatsApp messages initiated by the business, you must use a pre-defined template.\n- If the message was created with Content API or Content Editor it may be one of the following issues:\n- The customer is still using \"body\" instead of \"Content SID\" and \"Content Variables\"\n- The customer is using content type that is not supported for business initiated conversations, e.g. listpicker or location\n- For Facebook Messenger messages initiated by the business, only publishers registered with the Facebook News Page Index (NPI) are allowed to send notification messages outside the 24-hour window.\n\n### Possible solutions\n\n- [Send a WhatsApp message using a template](/docs/whatsapp/tutorial/send-whatsapp-notification-messages-templates#send-a-whatsapp-message-using-a-template)\n- [Include all the necessary parameters for a Content API or Content Editor Template and make sure you aren't sending with the wrong parameters](/docs/content/send-templates-created-with-the-content-template-builder)\n- If you are a publisher, register your Facebook Page with the [Facebook News Page Index](https://www.facebook.com/business/help/316333835842972?id=644465919618833)\n",
    "causes": "* **After April 1, 2025** WhatsApp templates can only be sent using Content Sid and Content Variables. Templates sent using body outside of a conversation window will fail with this error.\n* This message failed to be delivered to the user because it was sent outside the messaging channel's allowed conversation window. For WhatsApp messages initiated by the business, you must use a pre-defined template.\n* If the message was created with Content API or Content Editor it may be one of the following issues:\n* The customer is still using \"body\" instead of \"Content SID\" and \"Content Variables\"\n* The customer is using content type that is not supported for business initiated conversations, e.g. listpicker or location\n* For Facebook Messenger messages initiated by the business, only publishers registered with the Facebook News Page Index (NPI) are allowed to send notification messages outside the 24-hour window.",
    "solutions": "* [Send a WhatsApp message using a template](/docs/whatsapp/tutorial/send-whatsapp-notification-messages-templates#send-a-whatsapp-message-using-a-template)\n* [Include all the necessary parameters for a Content API or Content Editor Template and make sure you aren't sending with the wrong parameters](/docs/content/send-templates-created-with-the-content-template-builder)\n* If you are a publisher, register your Facebook Page with the [Facebook News Page Index](https://www.facebook.com/business/help/316333835842972?id=644465919618833)",
    "description": "",
    "date_created": "2019-01-30T19:26:43Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63017,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Rate limit exceeded",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when your account or subaccounts send messages at a combined rate higher than 2000 messages per second.\n\n### Possible causes\n\n- Your account or subaccounts are sending messages faster than the combined 2000 messages-per-second limit.\n- Your traffic burst exceeds the throughput available for your sender or Messaging Service configuration. Twilio measures throughput per phone number, per second, and queues messages when requests exceed the prescribed rate limit.\n\n### Possible solutions\n\n- Slow down message submission so combined account and subaccount traffic stays below 2000 messages per second.\n- Queue large sends and use Messaging Services when you need to enqueue a large number of messages. Twilio queues messages at your prescribed rate limit and executes excess requests as capacity becomes available.\n- Plan your senders and traffic timing around the MPS you need, then build in extra buffer for carrier capacity changes.\n- If you have a large emergency or sustained high-volume use case, reach out to Twilio to discuss adjusting the limits applied to your account, senders, or Messaging Services.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Account Based Throughput Overview](/docs/messaging/guides/account-based-throughput-overview)\n- [Build to scale: queueing and latency on Twilio](/docs/messaging/guides/scaling-queueing-latency)\n",
    "causes": "* Your account or subaccounts are sending messages faster than the combined 2000 messages-per-second limit.\n* Your traffic burst exceeds the throughput available for your sender or Messaging Service configuration. Twilio measures throughput per phone number, per second, and queues messages when requests exceed the prescribed rate limit.",
    "solutions": "* Slow down message submission so combined account and subaccount traffic stays below 2000 messages per second.\n* Queue large sends and use Messaging Services when you need to enqueue a large number of messages. Twilio queues messages at your prescribed rate limit and executes excess requests as capacity becomes available.\n* Plan your senders and traffic timing around the MPS you need, then build in extra buffer for carrier capacity changes.\n* If you have a large emergency or sustained high-volume use case, reach out to Twilio to discuss adjusting the limits applied to your account, senders, or Messaging Services.",
    "description": "Twilio returns this error when your account or subaccounts send messages at a combined rate higher than 2000 messages per second.",
    "date_created": "2019-02-13T23:08:34Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63018,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Rate limit exceeded for Channel",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\n- Your account is sending messages at a higher combined rate than configured for your account.\n- Your RCS Sender has exceeded the messaging limit imposed by our downstream RCS providers.\n- Your WhatsApp Sender has exceeded the messaging limit imposed by WhatsApp. For more information, see [WhatsApp Sender Messaging Limits & Quality Rating](https://support.twilio.com/hc/en-us/articles/360024008153-WhatsApp-Sender-Message-Limits-and-Quality-Rating)\n\n### Possible solutions\n\n- Wait until 24 hours have passed since starting a business-initiated conversation with one or more users\n",
    "causes": "* Your account is sending messages at a higher combined rate than configured for your account.\n* Your RCS Sender has exceeded the messaging limit imposed by our downstream RCS providers.\n* Your WhatsApp Sender has exceeded the messaging limit imposed by WhatsApp. For more information, see [WhatsApp Sender Messaging Limits & Quality Rating](https://support.twilio.com/hc/en-us/articles/360024008153-WhatsApp-Sender-Message-Limits-and-Quality-Rating)",
    "solutions": "* Wait until 24 hours have passed since starting a business-initiated conversation with one or more users",
    "description": "",
    "date_created": "2019-02-20T07:24:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63019,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media failed to download",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\n- Twilio failed to download the media from the sender.\n- Attempt to retrieve the media returned 0 bytes.\n\n### Possible solutions\n\nPlease check the media content before retrying\n",
    "causes": "* Twilio failed to download the media from the sender.\n* Attempt to retrieve the media returned 0 bytes.",
    "solutions": "Please check the media content before retrying",
    "description": "",
    "date_created": "2019-02-25T19:24:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63020,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilio encountered a Business Manager account error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when Twilio cannot send messages for your business because the linked Meta Business Manager account has not accepted Twilio's invitation. Verify the WhatsApp billing account associated with your business before you try again.\n\n### Possible causes\n\n- You have not accepted Twilio's invitation in Meta Business Manager to send messages on your behalf.\n- The WhatsApp billing account associated with your business is not verified.\n\n### Possible solutions\n\n- Open Meta Business Manager and accept the invitation from Twilio to send messages on your behalf.\n- Verify the WhatsApp billing account associated with your business.\n- Retry the message after the business account and billing setup are complete.\n\n#### Additional resources\n\n- [Overview of the WhatsApp Business Platform with Twilio](/docs/whatsapp/api)\n- [The WhatsApp Business Platform with Twilio: Best Practices and FAQs](/docs/whatsapp/best-practices-and-faqs)\n",
    "causes": "* You have not accepted Twilio's invitation in Meta Business Manager to send messages on your behalf.\n* The WhatsApp billing account associated with your business is not verified.",
    "solutions": "* Open Meta Business Manager and accept the invitation from Twilio to send messages on your behalf.\n* Verify the WhatsApp billing account associated with your business.\n* Retry the message after the business account and billing setup are complete.",
    "description": "This error occurs when Twilio cannot send messages for your business because the linked Meta Business Manager account has not accepted Twilio's invitation. Verify the WhatsApp billing account associated with your business before you try again.",
    "date_created": "2019-02-25T19:26:54Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel invalid content error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMessage contains content that is rejected or unsupported by the messaging channel.\n\n### Possible causes\n\n- Unable to upload the media used in the message because it is not supported by the messaging channel.\n- Message contains components not supported in selected messaging channel\n- Length of the the template text exceeds the allowed length of 1024 for WhatsApp.\n- Length of button text exceeds maximum length of 25 characters for approved WhatsApp templates or RCS suggestions and 20 characters for in session WhatsApp templates.\n\n### Possible solutions\n\n- Inspect the media files being sent and confirm their MIME type is in fact supported by the messaging channel.\n- Confirm message components follow character limitations, proper formatting, and channel specific rules mentioned in docs if applicable.\n- Confirm WhatsApp template sends do not exceed 1024 characters, which can occur when placeholder text substitutions or translations are too long.\n",
    "causes": "* Unable to upload the media used in the message because it is not supported by the messaging channel.\n* Message contains components not supported in selected messaging channel\n* Length of the the template text exceeds the allowed length of 1024 for WhatsApp.\n* Length of button text exceeds maximum length of 25 characters for approved WhatsApp templates or RCS suggestions and 20 characters for in session WhatsApp templates.",
    "solutions": "* Inspect the media files being sent and confirm their MIME type is in fact supported by the messaging channel.\n* Confirm message components follow character limitations, proper formatting, and channel specific rules mentioned in docs if applicable.\n* Confirm WhatsApp template sends do not exceed 1024 characters, which can occur when placeholder text substitutions or translations are too long.",
    "description": "Message contains content that is rejected or unsupported by the messaging channel.",
    "date_created": "2019-02-25T19:28:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63022,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid vname certificate",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the vname certificate attached to your business account is invalid. If you send with WhatsApp, verify that the sender is registered in a verified Meta Business Portfolio and WABA before you retry.\n\n### Possible causes\n\n- The vname certificate attached to your business account is invalid.\n- The WhatsApp sender was created in a different Meta Business Portfolio or WABA than the one you are using now. Twilio requires you to use the same Meta Business Portfolio and WABA for each sender in an account.\n\n### Possible solutions\n\n- Verify your Meta Business Manager or Business Portfolio, then confirm that the WhatsApp sender is registered in the matching WABA. Twilio requires a Meta Business Manager account to create a WABA and register WhatsApp senders.\n- If you are adding more WhatsApp senders, use the same Meta Business Portfolio and WABA that you used for the first sender. Choosing a different portfolio or WABA results in an error.\n- Contact Twilio Support and ask them to verify the certificate for your business account.\n\n#### Additional resources\n\n- [Using WhatsApp Business Accounts with Twilio](/docs/whatsapp/tutorial/whatsapp-business-account)\n- [Register WhatsApp senders using Self Sign-up](/docs/whatsapp/self-sign-up)\n- [Overview of the WhatsApp Business Platform with Twilio](/docs/whatsapp/api)\n",
    "causes": "* The vname certificate attached to your business account is invalid.\n* The WhatsApp sender was created in a different Meta Business Portfolio or WABA than the one you are using now. Twilio requires you to use the same Meta Business Portfolio and WABA for each sender in an account.",
    "solutions": "* Verify your Meta Business Manager or Business Portfolio, then confirm that the WhatsApp sender is registered in the matching WABA. Twilio requires a Meta Business Manager account to create a WABA and register WhatsApp senders.\n* If you are adding more WhatsApp senders, use the same Meta Business Portfolio and WABA that you used for the first sender. Choosing a different portfolio or WABA results in an error.\n* Contact Twilio Support and ask them to verify the certificate for your business account.",
    "description": "Twilio returns this error when the vname certificate attached to your business account is invalid. If you send with WhatsApp, verify that the sender is registered in a verified Meta Business Portfolio and WABA before you retry.",
    "date_created": "2019-02-25T19:29:14Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63023,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Channel generic error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the messaging channel encounters a generic failure while processing your message. When delivery fails, the Message resource's `StatusCallback` can include `ChannelStatusMessage` with the channel's returned error detail.\n\n### Possible causes\n\n- The underlying channel returned a generic error instead of a more specific failure code.\n\n### Possible solutions\n\n- Check the Console Error Logs to review the error code, impacted product, timestamp, and request context.\n- Review the Message resource or status callback for `ErrorCode` and `ChannelStatusMessage` when delivery fails.\n- Use Programmable Messaging Logs to investigate the delivery attempt, and contact Twilio Support with the Message SID if you still cannot determine the cause.\n\n#### Additional resources\n\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Troubleshooting](/docs/comms/troubleshooting)\n",
    "causes": "* The underlying channel returned a generic error instead of a more specific failure code.",
    "solutions": "* Check the Console Error Logs to review the error code, impacted product, timestamp, and request context.\n* Review the Message resource or status callback for `ErrorCode` and `ChannelStatusMessage` when delivery fails.\n* Use Programmable Messaging Logs to investigate the delivery attempt, and contact Twilio Support with the Message SID if you still cannot determine the cause.",
    "description": "Twilio returns this error when the messaging channel encounters a generic failure while processing your message. When delivery fails, the Message resource's `StatusCallback` can include `ChannelStatusMessage` with the channel's returned error detail.",
    "date_created": "2019-02-25T19:30:40Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63024,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid message recipient",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nFor WhatsApp, the message is undeliverable due to the recipient being an invalid user on WhatsApp or other Meta restrictions for WhatsApp.\n\n### Possible causes\n\nFor WhatsApp, reasons can include:\n\n- Recipient phone number is not a WhatsApp enabled phone number.\n- Recipient has not accepted WhatsApp's Terms of Service and Privacy Policy.\n- Recipient is using an old, unsupported version of the WhatsApp client for their phone.\n\n### Possible solutions\n\n- Confirm with the recipient that they have accepted Meta's latest Terms of Service for WhatsApp. If they have not, then send them this link https://wa.me/tos/20210210 to accept the latest WhatsApp Terms of Service.\n- Confirm with the recipient that they have an active WhatsApp phone number on the latest client version for their phone.\n",
    "causes": "For WhatsApp, reasons can include: - Recipient phone number is not a WhatsApp enabled phone number.\n- Recipient has not accepted WhatsApp's Terms of Service and Privacy Policy.\n- Recipient is using an old, unsupported version of the WhatsApp client for their phone.",
    "solutions": "* Confirm with the recipient that they have accepted Meta's latest Terms of Service for WhatsApp. If they have not, then send them this link https://wa.me/tos/20210210 to accept the latest WhatsApp Terms of Service.\n* Confirm with the recipient that they have an active WhatsApp phone number on the latest client version for their phone.",
    "description": "For WhatsApp, the message is undeliverable due to the recipient being an invalid user on WhatsApp or other Meta restrictions for WhatsApp.",
    "date_created": "2019-02-25T19:31:58Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63025,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Media already exists",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMedia is a subresource of Messages. Twilio creates and stores it when you send MMS or WhatsApp images, or when you receive media. If a request tries to upload media that already exists, Twilio returns a conflict error.\n\n### Possible causes\n\n- The media content already exists. Conflict in uploading the media.\n\n### Possible solutions\n\n- Delete the related Media subresource if you need to replace the stored file. Twilio retains stored media until you delete it.\n- If you need the existing file, fetch or list the Media subresource through the API instead of uploading another copy.\n- If the media comes from a URL, make sure the URL is publicly accessible and does not require authentication. Twilio must be able to reach the file.\n\n#### Additional resources\n\n- [Send SMS and MMS messages](/docs/messaging/tutorials/how-to-send-sms-messages)\n- [Media subresource](/docs/messaging/api/media-resource)\n",
    "causes": "* The media content already exists. Conflict in uploading the media.",
    "solutions": "* Delete the related Media subresource if you need to replace the stored file. Twilio retains stored media until you delete it.\n* If you need the existing file, fetch or list the Media subresource through the API instead of uploading another copy.\n* If the media comes from a URL, make sure the URL is publicly accessible and does not require authentication. Twilio must be able to reach the file.",
    "description": "Media is a subresource of Messages. Twilio creates and stores it when you send MMS or WhatsApp images, or when you receive media. If a request tries to upload media that already exists, Twilio returns a conflict error.",
    "date_created": "2019-02-25T19:33:21Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63026,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Channel sender content flagged as spam",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error indicates that Twilio flagged the sender content in a channel message as spam. Review the message body, consent history, and applicable messaging rules before you send again.\n\n### Possible causes\n\n- The message contains spam-like language, excessive capitalization, or repeated punctuation that can trigger filtering.\n- The content is illegal, harmful, unwanted, inappropriate, objectionable, or otherwise prohibited by Twilio Messaging Policy.\n- The recipient has not explicitly opted in, or you have not retained proof of consent.\n- The message does not follow the applicable country-specific messaging guidelines.\n- The message is designed to evade unwanted messaging detection and prevention mechanisms.\n\n### Possible solutions\n\n- Rewrite the message to remove spam triggers and keep the content clear, specific, and relevant.\n- Send messages only to recipients who have explicitly opted in, and keep a record of that consent.\n- Make sure each message clearly identifies the sender and includes standard opt-out language such as `STOP` when required.\n- Review Twilio Messaging Policy and the country-specific rules for the destination before you resend the message.\n- If the message is part of an ongoing campaign, use Messaging Insights recommendations to review spam complaints and delivery signals.\n\n#### Additional resources\n\n- [Twilio Messaging Policy](https://twilio.com/en-us/legal/messaging-policy)\n- [Personalized Recommendations for Twilio Messaging](/docs/messaging/features/recommendations)\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n",
    "causes": "* The message contains spam-like language, excessive capitalization, or repeated punctuation that can trigger filtering.\n* The content is illegal, harmful, unwanted, inappropriate, objectionable, or otherwise prohibited by Twilio Messaging Policy.\n* The recipient has not explicitly opted in, or you have not retained proof of consent.\n* The message does not follow the applicable country-specific messaging guidelines.\n* The message is designed to evade unwanted messaging detection and prevention mechanisms.",
    "solutions": "* Rewrite the message to remove spam triggers and keep the content clear, specific, and relevant.\n* Send messages only to recipients who have explicitly opted in, and keep a record of that consent.\n* Make sure each message clearly identifies the sender and includes standard opt-out language such as `STOP` when required.\n* Review Twilio Messaging Policy and the country-specific rules for the destination before you resend the message.\n* If the message is part of an ongoing campaign, use Messaging Insights recommendations to review spam complaints and delivery signals.",
    "description": "This error indicates that Twilio flagged the sender content in a channel message as spam. Review the message body, consent history, and applicable messaging rules before you send again.",
    "date_created": "2019-02-25T19:34:31Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63027,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Template does not exist for a language and locale",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Template does not exist for a language and locale\n\n### Possible causes\n\n- Template does not exist for a language and locale\n- Template is being sent using the wrong API parameters\n\n### Possible solutions\n\n- Validate that you are sending templates with the right parameters according to the [Content Templates documentation](/docs/content/send-templates-created-with-the-content-template-builder).\n",
    "causes": "* Template does not exist for a language and locale\n* Template is being sent using the wrong API parameters",
    "solutions": "* Validate that you are sending templates with the right parameters according to the [Content Templates documentation](/docs/content/send-templates-created-with-the-content-template-builder).",
    "description": "",
    "date_created": "2019-05-16T19:07:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63028,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Number of parameters provided does not match the expected number of parameters",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the number of parameters you supplied does not match the number expected for the request.\n\n### Possible causes\n\n- The number of parameters you provided does not match the expected number of parameters.\n- When sending a templated message with `ContentSid`, the values supplied in ContentVariables do not align with the template's placeholder variables.\n\n### Possible solutions\n\n- Count the placeholder variables in the selected content template and provide a matching set of values in ContentVariables, or adjust the template so the counts align.\n- If using WhatsApp templates, ensure variables follow Content API rules such as sequential numbering without skipping integers, which helps avoid template validation and parameter alignment issues.\n- Fetch and inspect the content template definition to confirm expected variables and their numbering before sending.\n\n## Additional resources\n\n- [Send templates created with the Content Template Builder](/docs/content/send-templates-created-with-the-content-template-builder)\n- [Using Variables with Content Templates](/docs/content/using-variables-with-content-api)\n- [Content API public endpoints](/docs/content/content-api-resources)\n",
    "causes": "* The number of parameters you provided does not match the expected number of parameters.\n* When sending a templated message with `ContentSid`, the values supplied in ContentVariables do not align with the template's placeholder variables.",
    "solutions": "* Count the placeholder variables in the selected content template and provide a matching set of values in ContentVariables, or adjust the template so the counts align.\n* If using WhatsApp templates, ensure variables follow Content API rules such as sequential numbering without skipping integers, which helps avoid template validation and parameter alignment issues.\n* Fetch and inspect the content template definition to confirm expected variables and their numbering before sending.",
    "description": "Twilio returns this error when the number of parameters you supplied does not match the number expected for the request.",
    "date_created": "2019-05-16T19:08:26Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63029,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "The receiver failed to download the template",
    "secondary_message": null,
    "product": "Branded Comms, Whatsapp, Content",
    "docs": "\n## Description\n\nThis error occurs when the recipient cannot download a WhatsApp template. For WhatsApp messaging, this condition corresponds to WhatsApp error 2002. If your template includes media or URL-based actions, verify that each referenced resource is public and reachable before you retry the message.\n\n### Possible causes\n\n- The recipient's device or WhatsApp client could not download the template.\n- A media template references a file that is not publicly hosted, does not resolve correctly, or uses a file type that is not supported for WhatsApp templates.\n- A template button URL does not resolve to a publicly accessible website.\n- The destination number or handset could not receive the template successfully at the time of delivery.\n\n### Possible solutions\n\n- Check the destination number and handset, then retry the message.\n- If the template includes media, host the file at a public URL, confirm the URL resolves successfully, and use a supported WhatsApp template media type such as JPG, JPEG, PNG, PDF, or MP4.\n- If the template includes a URL button, make sure the URL resolves to a publicly accessible website. If the URL uses variables, provide a valid sample path in the template.\n- Send templated WhatsApp messages with `ContentSid` and `ContentVariables`. Confirm the template is approved and configured correctly before you send it.\n- If you need a delivery fallback after a failed WhatsApp attempt, configure channel fallback to SMS and include both the recipient's phone number and WhatsApp address.\n\n#### Additional resources\n\n- [Send WhatsApp notification messages with templates](/docs/whatsapp/tutorial/send-whatsapp-notification-messages-templates)\n- [twilio/media](/docs/content/twilio-media)\n- [Channel Fallback](/docs/comms/channel-fallback)\n",
    "causes": "* The recipient's device or WhatsApp client could not download the template.\n* A media template references a file that is not publicly hosted, does not resolve correctly, or uses a file type that is not supported for WhatsApp templates.\n* A template button URL does not resolve to a publicly accessible website.\n* The destination number or handset could not receive the template successfully at the time of delivery.",
    "solutions": "* Check the destination number and handset, then retry the message.\n* If the template includes media, host the file at a public URL, confirm the URL resolves successfully, and use a supported WhatsApp template media type such as JPG, JPEG, PNG, PDF, or MP4.\n* If the template includes a URL button, make sure the URL resolves to a publicly accessible website. If the URL uses variables, provide a valid sample path in the template.\n* Send templated WhatsApp messages with `ContentSid` and `ContentVariables`. Confirm the template is approved and configured correctly before you send it.\n* If you need a delivery fallback after a failed WhatsApp attempt, configure channel fallback to SMS and include both the recipient's phone number and WhatsApp address.",
    "description": "This error occurs when the recipient cannot download a WhatsApp template. For WhatsApp messaging, this condition corresponds to WhatsApp error 2002. If your template includes media or URL-based actions, verify that each referenced resource is public and reachable before you retry the message.",
    "date_created": "2019-05-16T19:09:54Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63030,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Unsupported parameter for type of channels message",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Media messages are not supported with template (structured) messages. Please check your message and try sending a template message without the media\n\n### URL preview messages sent with incorrect URL format\n\n### Possible causes\n\n- Media message not supported with template messages\n- No URL to support preview\n\n### Possible solutions\n\n- Send template message without the media component\n- Check url for correctness for url previews\n",
    "causes": "* Media message not supported with template messages\n* No URL to support preview",
    "solutions": "* Send template message without the media component\n* Check url for correctness for url previews",
    "description": "",
    "date_created": "2019-06-27T18:49:50Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63031,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channels message cannot have same 'From' and 'To'",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nChannels message should not have same `From` and `To` number\n\n### Possible causes\n\nIncorrect `To` and `From` number in your API Request\n\n### Possible solutions\n\nReview your `To` and `From` parameters and include the correct values.\n",
    "causes": "Incorrect `To` and `From` number in your API Request",
    "solutions": "Review your `To` and `From` parameters and include the correct values.",
    "description": "Channels message should not have same `From` and `To` number",
    "date_created": "2019-07-12T21:33:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63032,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "We cannot send this message to this user because of a WhatsApp limitation. ",
    "secondary_message": "User's number is part of an experiment.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when you try to send a WhatsApp message to a user whose number is part of an experiment. Twilio can't send the message in that case.\n\n### Possible causes\n\n- The destination user's phone number is part of an experiment, so Twilio can't deliver the WhatsApp message.\n\n### Possible solutions\n\n- Skip sending messages to this user.\n\n#### Additional resources\n\n- [Overview of the WhatsApp Business Platform with Twilio](/docs/whatsapp/api)\n- [The WhatsApp Business Platform with Twilio: Best Practices and FAQs](/docs/whatsapp/best-practices-and-faqs)\n",
    "causes": "* The destination user's phone number is part of an experiment, so Twilio can't deliver the WhatsApp message.",
    "solutions": "* Skip sending messages to this user.",
    "description": "This error occurs when you try to send a WhatsApp message to a user whose number is part of an experiment. Twilio can't send the message in that case.",
    "date_created": "2019-07-25T22:52:16Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 63033,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Recipient opted out to receive message",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe WhatsApp message you are attempting to send uses a \"Marketing\" category template and the user you are trying to reach has opted out from receiving your marketing messages.\n\n### Possible causes\n\nRecipient has opted out of WhatsApp marketing messages from your business.\n\n### Possible solutions\n\nThe user needs to opt back into WhatsApp marketing messages from your business. You may still send templated WhatsApp messages of other categories, such as Authentication and Utility, to this user.\n",
    "causes": "Recipient has opted out of WhatsApp marketing messages from your business.",
    "solutions": "The user needs to opt back into WhatsApp marketing messages from your business. You may still send templated WhatsApp messages of other categories, such as Authentication and Utility, to this user.",
    "description": "The WhatsApp message you are attempting to send uses a \"Marketing\" category template and the user you are trying to reach has opted out from receiving your marketing messages.",
    "date_created": "2019-07-25T22:53:29Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63034,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media exceeds size limit",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when the media attached to an outbound message exceeds the channel's maximum size limit. For MMS, keep the total message and media size at 5 MB or less. Twilio accepts different maximum sizes for MMS, RCS, and WhatsApp.\n\n### Possible causes\n\n- The media file is larger than the 5 MB MMS limit.\n- The combined size of the message and its media exceeds the channel's maximum limit.\n\n### Possible solutions\n\n- Reduce the media file size to 5 MB or less before sending the message again.\n- Check the media limit for the channel you are using before retrying. Twilio applies different size limits to MMS, RCS, and WhatsApp.\n\n#### Additional resources\n\n- [Accepted content types for media](/docs/messaging/guides/accepted-mime-types)\n- [Programmable Messaging](/docs/messaging)\n",
    "causes": "* The media file is larger than the 5 MB MMS limit.\n* The combined size of the message and its media exceeds the channel's maximum limit.",
    "solutions": "* Reduce the media file size to 5 MB or less before sending the message again.\n* Check the media limit for the channel you are using before retrying. Twilio applies different size limits to MMS, RCS, and WhatsApp.",
    "description": "Twilio returns this error when the media attached to an outbound message exceeds the channel's maximum size limit. For MMS, keep the total message and media size at 5 MB or less. Twilio accepts different maximum sizes for MMS, RCS, and WhatsApp.",
    "date_created": "2019-08-19T22:20:28Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63035,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The RCS sender does not have permission to send to this recipient.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe RCS sender does not have permission to send to this recipient.\n\n### Possible causes\n\nThe RCS sender is not approved to send RCS messages to to this region or carrier. \nThe RCS recipient has not accepted the invite to become an RCS tester.\n\n### Possible solutions\n\nIf you're testing RCS, ensure that the recipient has accepted the invitation to become an RCS tester.\nIf you intend to use this RCS sender for production traffic, ensure that sender approval has been requested.\n",
    "causes": "The RCS sender is not approved to send RCS messages to to this region or carrier.\nThe RCS recipient has not accepted the invite to become an RCS tester.",
    "solutions": "If you're testing RCS, ensure that the recipient has accepted the invitation to become an RCS tester.\nIf you intend to use this RCS sender for production traffic, ensure that sender approval has been requested.",
    "description": "The RCS sender does not have permission to send to this recipient.",
    "date_created": "2019-10-10T20:30:35Z",
    "last_updated": "2026-03-30T14:39:11-04:00"
  },
  {
    "code": 63036,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The specified phone number cannot be reached using RCS at this time.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe specified phone number cannot be reached using RCS at this time.\n\n### Possible causes\n\n- Device is switched off\n- Device does not have an internet connection\n- Device is not RCS Business Messaging capable\n\n### Possible solutions\n\nTurn on the device, connect to internet, and enable RCS and RCS Business Messaging if the device is running iOS ([more details](https://help.twilio.com/articles/29076535334043-RCS-Messaging-Best-Practices-and-FAQ))\n",
    "causes": "* Device is switched off\n* Device does not have an internet connection\n* Device is not RCS Business Messaging capable",
    "solutions": "Turn on the device, connect to internet, and enable RCS and RCS Business Messaging if the device is running iOS ([more details](https://help.twilio.com/articles/29076535334043-RCS-Messaging-Best-Practices-and-FAQ))",
    "description": "The specified phone number cannot be reached using RCS at this time.",
    "date_created": "2019-10-10T20:34:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63037,
    "log_level": "WARNING",
    "log_type": "CARRIER",
    "message": "Channel Media Upload Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nUse this warning when Twilio cannot upload media to the channel provider. Twilio retries the upload automatically.\n\n### Possible causes\n\n- The channel provider returned a transient upload failure.\n- The `MediaUrl` does not point to a file Twilio can fetch and validate.\n- The media file does not meet the channel's supported MIME type or size limits.\n\n### Possible solutions\n\n- Let Twilio retry the upload. If you resend the message, try again after the provider recovers.\n- Confirm that the `MediaUrl` returns the expected file and that the `Content-Type` header matches the file contents.\n- Keep the media within the channel's size limits and use a supported MIME type for that channel.\n\n#### Additional resources\n\n- [Accepted content types for media](/docs/messaging/guides/accepted-mime-types)\n- [Media subresource](/docs/messaging/api/media-resource)\n",
    "causes": "* The channel provider returned a transient upload failure.\n* The `MediaUrl` does not point to a file Twilio can fetch and validate.\n* The media file does not meet the channel's supported MIME type or size limits.",
    "solutions": "* Let Twilio retry the upload. If you resend the message, try again after the provider recovers.\n* Confirm that the `MediaUrl` returns the expected file and that the `Content-Type` header matches the file contents.\n* Keep the media within the channel's size limits and use a supported MIME type for that channel.",
    "description": "Use this warning when Twilio cannot upload media to the channel provider. Twilio retries the upload automatically.",
    "date_created": "2020-02-19T22:25:22Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 63038,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Account exceeded the daily messages limit",
    "secondary_message": "Account exceeded the maximum amount of messages per 24 hours",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when an account exceeds the maximum number of messages permitted within a rolling 24 hour window.\n\n### Possible causes\n\nThe account sent more messages than allowed during a 24 hour period.\n\n### Possible solutions\n\n- Wait until the next day for the 24 hour window to reset, or contact Twilio Support to request a higher limit.\n- Check the [Twilio Help Center](https://help.twilio.com/) or your email inbox or spam folder for outreach from Twilio with steps to remove or raise the daily limit.\n\n## Additional resources\n\n- [Messaging Insights](/docs/messaging/features/messaging-insights)\n- [Account Based Throughput Overview](/docs/messaging/guides/account-based-throughput-overview)\n- [Twilio Will Bill For Failed Messages Starting September 30, 2024](https://www.twilio.com/en-us/changelog/twilio-will-bill-for-failed-messages-starting-september-30--2024)\n",
    "causes": "The account sent more messages than allowed during a 24 hour period.",
    "solutions": "* Wait until the next day for the 24 hour window to reset, or contact Twilio Support to request a higher limit.\n* Check the [Twilio Help Center](https://help.twilio.com/) or your email inbox or spam folder for outreach from Twilio with steps to remove or raise the daily limit.",
    "description": "Twilio returns this error when an account exceeds the maximum number of messages permitted within a rolling 24 hour window.",
    "date_created": "2020-07-24T10:53:29Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63039,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Warning! Facebook says your page is engaging in behavior that may be considered bothersome or abusive by users. To avoid messaging restrictions being placed on your Page, Facebook requires you to immediately decrease the rate at which you are sending messages outside the 24-hour window to this person.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\nFacebook and/or Facebook users consider the messages abusive or bothersome, falling outside of Facebook's policies.\n\n### Possible solutions\n\nSoften the content of your message and decrease the rate at which messages are being sent to the user outside of the 24-hour session.\n",
    "causes": "Facebook and/or Facebook users consider the messages abusive or bothersome, falling outside of Facebook's policies.",
    "solutions": "Soften the content of your message and decrease the rate at which messages are being sent to the user outside of the 24-hour session.",
    "description": "",
    "date_created": "2021-08-20T22:22:14Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63040,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template Rejected",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis message matches a template that was rejected by WhatsApp or failed to be submitted. For the most updated guidelines, please view WhatsApp's documentation: https://developers.facebook.com/docs/whatsapp/message-templates/guidelines.\n\n### Possible causes\n\n- Template purpose is not clear, concise, or well-written. For example, \"Hi, \\{\\{1 2 Thank you.}}\" is vague and not clear how it would be used or what the placeholder values represent.\n- Template placeholders are not sequential in order. For example, \"\\{\\{1 and 2 and 4 }}\" are included but the placeholder \\{\\{3}} does not exist in the template.\n- Template placeholders cannot be right next to each other like \"\\{}\\{\\{1 2\\{}}}\".\n- Template content is identical to the content of another existing template.\n- Template body cannot start or end with a placeholder.\n- Template body cannot have the \\n newline character.\n- Template footer cannot have emojis or the \\n newline character.\n- Templates with Text headers cannot have emojis, asterisks, formatting markup, or the \\n newline character.\n- Templates with Media headers (video, image, document) must include a sample with their submission.\n- Template is abusive or threatening in nature, such as containing content threatening to take legal action against a user.\n\nFor the most updated guidelines, please view WhatsApp's documentation: https://developers.facebook.com/docs/whatsapp/message-templates/guidelines.\n\nThis error may also occur if you have an approved template that has similar body to a rejected template.\n\n### Possible solutions\n\nSubmit a new template that doesn't violate the above causes. We also recommend the follow best practices when creating templates:\n\n- Templates should be as short as possible to get the necessary information across.\n- Templates must not have any grammatical or spelling mistakes.\n- Templates that include major spelling or grammatical mistakes are likely to be rejected. Templates with minor punctuation errors or grammatical inconsistencies may be approved, but should be avoided.\n- When submitting your Template in Console, ensure you select the appropriate message type and language.\n- Get feedback from your teammates or coworkers to ensure the template you've written is clear and free of errors.\n- Think about a template message as a conversation starter, with the goal to convert this into a 2-way message by having the user reply. The two-way use case will keep your spend lower, as WhatsApp does not charge the Template message fee for two-way messages.\n- Make sure your customers understand why they received your message – you can remind them of the reason why they originally gave you permission to send them messages.\n- Avoid sending surveys or using the word \"survey\". Instead, you may ask the customer for their feedback.\n\nIf you believe you have an approved template that matches the message you are attempting to send, then we recommend deleting any rejected templates that are similar to the approved template. You may also use the Twilio Content API, which lets you send templates by referencing a template Sid. To learn more, please see: https://www.twilio.com/docs/content-api\n",
    "causes": "* Template purpose is not clear, concise, or well-written. For example, \"Hi, {{1 2 Thank you.}}\" is vague and not clear how it would be used or what the placeholder values represent.\n* Template placeholders are not sequential in order. For example, \"{{1 and 2 and 4 }}\" are included but the placeholder {{3}} does not exist in the template.\n* Template placeholders cannot be right next to each other like \"{}{{1 2{}}}\".\n* Template content is identical to the content of another existing template.\n* Template body cannot start or end with a placeholder.\n* Template body cannot have the \\n newline character.\n* Template footer cannot have emojis or the \\n newline character.\n* Templates with Text headers cannot have emojis, asterisks, formatting markup, or the \\n newline character.\n* Templates with Media headers (video, image, document) must include a sample with their submission.\n* Template is abusive or threatening in nature, such as containing content threatening to take legal action against a user. For the most updated guidelines, please view WhatsApp's documentation: https://developers.facebook.com/docs/whatsapp/message-templates/guidelines. This error may also occur if you have an approved template that has similar body to a rejected template.",
    "solutions": "Submit a new template that doesn't violate the above causes. We also recommend the follow best practices when creating templates: - Templates should be as short as possible to get the necessary information across.\n- Templates must not have any grammatical or spelling mistakes.\n- Templates that include major spelling or grammatical mistakes are likely to be rejected. Templates with minor punctuation errors or grammatical inconsistencies may be approved, but should be avoided.\n- When submitting your Template in Console, ensure you select the appropriate message type and language.\n- Get feedback from your teammates or coworkers to ensure the template you've written is clear and free of errors.\n- Think about a template message as a conversation starter, with the goal to convert this into a 2-way message by having the user reply. The two-way use case will keep your spend lower, as WhatsApp does not charge the Template message fee for two-way messages.\n- Make sure your customers understand why they received your message – you can remind them of the reason why they originally gave you permission to send them messages.\n- Avoid sending surveys or using the word \"survey\". Instead, you may ask the customer for their feedback. If you believe you have an approved template that matches the message you are attempting to send, then we recommend deleting any rejected templates that are similar to the approved template. You may also use the Twilio Content API, which lets you send templates by referencing a template Sid. To learn more, please see: https://www.twilio.com/docs/content-api",
    "description": "This message matches a template that was rejected by WhatsApp or failed to be submitted. For the most updated guidelines, please view WhatsApp's documentation: https://developers.facebook.com/docs/whatsapp/message-templates/guidelines.",
    "date_created": "2022-10-05T19:19:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63041,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template paused",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWhatsApp has reported that the template has been temporarily paused due to recurring negative feedback from customers. Message templates with this status cannot be sent to customers. For the most updated guidelines, please view [WhatsApp's documentation](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines/#template-pausing).\n\n### Possible causes\n\n- Negative customer feedback (i.e. multiple customers reporting messages or blocking number)\n\n### Possible solutions\n\n- Use a different template\n- Edit this template and re-submit for review\n",
    "causes": "* Negative customer feedback (i.e. multiple customers reporting messages or blocking number)",
    "solutions": "* Use a different template\n* Edit this template and re-submit for review",
    "description": "WhatsApp has reported that the template has been temporarily paused due to recurring negative feedback from customers. Message templates with this status cannot be sent to customers. For the most updated guidelines, please view [WhatsApp's documentation](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines/#template-pausing).",
    "date_created": "2022-10-25T20:54:18Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63042,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template disabled",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWhatsApp has reported that the template has been **permanently disabled** due to recurring negative feedback from customers. Message templates with this status cannot be sent to customers. For the most updated guidelines, please view WhatsApp's documentation: https://developers.facebook.com/docs/whatsapp/message-templates/guidelines/#template-pausing.\n\n### Possible causes\n\nNegative customer feedback (i.e. multiple customers reporting messages or blocking number)\n\n### Possible solutions\n\n- Use a different template\n- Create a new template\n",
    "causes": "Negative customer feedback (i.e. multiple customers reporting messages or blocking number)",
    "solutions": "* Use a different template\n* Create a new template",
    "description": "WhatsApp has reported that the template has been **permanently disabled** due to recurring negative feedback from customers. Message templates with this status cannot be sent to customers. For the most updated guidelines, please view WhatsApp's documentation: https://developers.facebook.com/docs/whatsapp/message-templates/guidelines/#template-pausing.",
    "date_created": "2022-11-22T15:11:24Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63043,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Link to a sample media file returns 403 Forbidden",
    "secondary_message": null,
    "product": "Branded Comms, Content",
    "docs": "\n## Description\n\nThis error occurs when the sample media URL returns `403 Forbidden`, which prevents Twilio from retrieving the file.\n\n### Possible causes\n\n- The media server requires authorization, so Twilio cannot access the file without credentials or a valid token.\n\n### Possible solutions\n\n- Host the sample file at a publicly accessible URL that Twilio can fetch without authentication.\n- If you must protect the file, use a URL that includes a valid access token or another authorization mechanism that allows Twilio to retrieve the media.\n\n#### Additional resources\n\n- [twilio/media](/docs/content/twilio-media)\n- [Protect media access with HTTP basic authentication](/docs/usage/security#protect-media-access-with-http-basic-authentication)\n- [Media subresource](/docs/messaging/api/media-resource)\n",
    "causes": "* The media server requires authorization, so Twilio cannot access the file without credentials or a valid token.",
    "solutions": "* Host the sample file at a publicly accessible URL that Twilio can fetch without authentication.\n* If you must protect the file, use a URL that includes a valid access token or another authorization mechanism that allows Twilio to retrieve the media.",
    "description": "This error occurs when the sample media URL returns `403 Forbidden`, which prevents Twilio from retrieving the file.",
    "date_created": "2023-03-24T15:47:37Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63044,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Link to a sample media file returns 404 Not Found",
    "secondary_message": null,
    "product": "Branded Comms, Content",
    "docs": "\n## Description\n\nThis error occurs when the sample media URL returns `404 Not Found`, so Twilio can't retrieve the file. For media and content templates, the sample URL must resolve to a publicly hosted file.\n\n### Possible causes\n\n- The media file does not exist at the URL you provided.\n- The URL path is incorrect, including the file name, directory, or file suffix.\n- If you use a variable in the media URL, the sample path does not resolve to a publicly hosted file.\n\n### Possible solutions\n\n- Update the URL so it points to the correct file path and the file is available.\n- Confirm the link opens in your browser and resolves to a publicly accessible file.\n- If the URL uses variables, provide a valid sample path so the combined URL resolves to a publicly hosted file.\n\n#### Additional resources\n\n- [twilio/card](/docs/content/twiliocard)\n- [twilio/media](/docs/content/twilio-media)\n- [Accepted content types for media](/docs/messaging/guides/accepted-mime-types)\n",
    "causes": "* The media file does not exist at the URL you provided.\n* The URL path is incorrect, including the file name, directory, or file suffix.\n* If you use a variable in the media URL, the sample path does not resolve to a publicly hosted file.",
    "solutions": "* Update the URL so it points to the correct file path and the file is available.\n* Confirm the link opens in your browser and resolves to a publicly accessible file.\n* If the URL uses variables, provide a valid sample path so the combined URL resolves to a publicly hosted file.",
    "description": "This error occurs when the sample media URL returns `404 Not Found`, so Twilio can't retrieve the file. For media and content templates, the sample URL must resolve to a publicly hosted file.",
    "date_created": "2023-03-24T16:33:58Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63045,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Link to a sample media file returned an unexpected error status",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe link returned an unexpected status code, making it impossible to retrieve the file.\n\n### Possible causes\n\n- The server that hosts the sample media file is not able to return the data\n\n### Possible solutions\n\n- Confirm that the link is correct\n- See if the link can be accessed in your browser\n",
    "causes": "* The server that hosts the sample media file is not able to return the data",
    "solutions": "* Confirm that the link is correct\n* See if the link can be accessed in your browser",
    "description": "The link returned an unexpected status code, making it impossible to retrieve the file.",
    "date_created": "2023-03-24T16:35:10Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63046,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Template approved",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWhatsApp template approval status has changed to approved. Approved templates can be sent to customers, and the approval status is visible in the Template Details page in the Content Template Builder.\n\n### Possible causes\n\n- WhatsApp has reported that the template is now approved.\n\n### Possible solutions\n\n- No further action is needed once the template is approved.\n- If you want to monitor approval changes, create a Twilio Alarm for approved templates using This error. Twilio supports approved-template alerts alongside rejected and paused template alerts.\n- Review the template status in the Template Details page in the Content Template Builder to confirm approval before sending.\n\n#### Additional resources\n\n- [Manage your Templates with the Content Template Builder](/docs/content/manage-your-templates-with-the-content-template-builder)\n- [Message template approvals and statuses](/docs/whatsapp/tutorial/message-template-approvals-statuses)\n",
    "causes": "* WhatsApp has reported that the template is now approved.",
    "solutions": "* No further action is needed once the template is approved.\n* If you want to monitor approval changes, create a Twilio Alarm for approved templates using This error. Twilio supports approved-template alerts alongside rejected and paused template alerts.\n* Review the template status in the Template Details page in the Content Template Builder to confirm approval before sending.",
    "description": "WhatsApp template approval status has changed to approved. Approved templates can be sent to customers, and the approval status is visible in the Template Details page in the Content Template Builder.",
    "date_created": "2023-03-24T16:36:49Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 63047,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Link to a sample media file returned an invalid Content-Type",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe link to the media file does not have a `Content-Type` header set to an accepted MIME type. As a result, the template was not created.\n\n### Possible causes\n\n- The web server hosting the media file is not sending `Content-Type` headers\n- The web server hosting the media file is sending an invalid `Content-Type` header\n\n### Possible solutions\n\n- Make sure the web server hosting the sample file returns either `image/jpeg`, `image/png`, `application/pdf`, or `video/mp4` for the `Content-Type` header.\n",
    "causes": "* The web server hosting the media file is not sending `Content-Type` headers\n* The web server hosting the media file is sending an invalid `Content-Type` header",
    "solutions": "* Make sure the web server hosting the sample file returns either `image/jpeg`, `image/png`, `application/pdf`, or `video/mp4` for the `Content-Type` header.",
    "description": "The link to the media file does not have a `Content-Type` header set to an accepted MIME type. As a result, the template was not created.",
    "date_created": "2023-04-03T17:12:35Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63049,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Meta chose not to deliver this WhatsApp marketing message",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nIn the U.S., starting from April 1, 2025, end users cannot receive marketing template messages from businesses on WhatsApp.\n\nOutside the U.S., WhatsApp may limit the number of marketing template messages an end user receives from businesses within different periods of time by delivering fewer marketing template messages to those users who are less likely to engage with them. This is determined based on a number of factors, including a dynamic view of an individual's recent marketing template message read rate and how many messages they currently have in their inbox from friends, family and businesses.\n\nWhatsApp has found that per-user marketing template limits maximize message engagement and improve the user experience, measured through improvements in user read rates and sentiment. This limit helps WhatsApp users find business messaging more valuable and feel less like they receive too many business messages.\n\n### Possible causes\n\n- You have attempted to send a Marketing Template Message to a recipient in the U.S. (+1 number with a U.S. area code)\n- You have attempted to send a Marketing Template Message to a recipient outside the U.S. but that recipient is currently blocked from receiving more Marketing template messages temporarily\n\n### Possible solutions\n\n- If you are sending marketing template messages to end users in the U.S. over WhatsApp after April 1, 2025, you will need to use an alternative channel such as SMS and MMS. See [here](https://www.twilio.com/en-us/solutions/text-marketing) for more information.\n- If you are sending to end users outside of the US, you should avoid immediately resending the marketing template message. Doing so will only result in another error response since the limit may be in effect for differing periods of time. Instead, retry sending the message in increasingly larger time increments until it is delivered.\n",
    "causes": "* You have attempted to send a Marketing Template Message to a recipient in the U.S. (+1 number with a U.S. area code)\n* You have attempted to send a Marketing Template Message to a recipient outside the U.S. but that recipient is currently blocked from receiving more Marketing template messages temporarily",
    "solutions": "* If you are sending marketing template messages to end users in the U.S. over WhatsApp after April 1, 2025, you will need to use an alternative channel such as SMS and MMS. See [here](https://www.twilio.com/en-us/solutions/text-marketing) for more information.\n* If you are sending to end users outside of the US, you should avoid immediately resending the marketing template message. Doing so will only result in another error response since the limit may be in effect for differing periods of time. Instead, retry sending the message in increasingly larger time increments until it is delivered.",
    "description": "In the U.S., starting from April 1, 2025, end users cannot receive marketing template messages from businesses on WhatsApp. Outside the U.S., WhatsApp may limit the number of marketing template messages an end user receives from businesses within different periods of time by delivering fewer marketing template messages to those users who are less likely to engage with them. This is determined based on a number of factors, including a dynamic view of an individual's recent marketing template message read rate and how many messages they currently have in their inbox from friends, family and businesses. WhatsApp has found that per-user marketing template limits maximize message engagement and improve the user experience, measured through improvements in user read rates and sentiment. This limit helps WhatsApp users find business messaging more valuable and feel less like they receive too many business messages.",
    "date_created": "2024-09-23T00:59:19Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63050,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp User Opted Out of Receiving Marketing Messages",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMeta did not deliver this WhatsApp message, because the recipient has opted out of receiving marketing messages from your business. Do not retry sending marketing messages to this user as they will not be delivered.\n\n### Possible causes\n\nThe recipient has opted out of receiving marketing messages on WhatsApp from your business.\n\n### Possible solutions\n\nThe recipient will need to opt in to receiving marketing messages again from your business.\n",
    "causes": "The recipient has opted out of receiving marketing messages on WhatsApp from your business.",
    "solutions": "The recipient will need to opt in to receiving marketing messages again from your business.",
    "description": "Meta did not deliver this WhatsApp message, because the recipient has opted out of receiving marketing messages from your business. Do not retry sending marketing messages to this user as they will not be delivered.",
    "date_created": "2025-06-03T00:12:23.414Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63051,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Business Account is Locked",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWhatsApp has locked the WhatsApp Business Account associated with this Sender due to a suspected policy violation\n\n### Possible causes\n\nViolating either the [WhatsApp Business Terms of Service](https://www.whatsapp.com/legal/business-terms), the [WhatsApp Business Messaging](https://business.whatsapp.com/policy), or the [Meta Commerce Policy](https://www.facebook.com/policies_center/commerce).\n\n### Possible solutions\n\nIf you believe this is in error, please [open a support ticket](https://help.twilio.com) for us to appeal to WhatsApp on your behalf.\n",
    "causes": "Violating either the [WhatsApp Business Terms of Service](https://www.whatsapp.com/legal/business-terms), the [WhatsApp Business Messaging](https://business.whatsapp.com/policy), or the [Meta Commerce Policy](https://www.facebook.com/policies_center/commerce).",
    "solutions": "If you believe this is in error, please [open a support ticket](https://help.twilio.com) for us to appeal to WhatsApp on your behalf.",
    "description": "WhatsApp has locked the WhatsApp Business Account associated with this Sender due to a suspected policy violation",
    "date_created": "2022-11-29T00:57:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63052,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Legacy WhatsApp Template Used",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio detected that this WhatsApp message was sent using the legacy WhatsApp templates system. This system is end-of-life. Send WhatsApp templates with the Content Template Builder or the Content API, and use `ContentSid` and `Content Variables` when you send the message.\n\n### Possible causes\n\n- You sent a WhatsApp template with the legacy WhatsApp Templates product instead of a Content Template.\n- You used the `body` field to match or send a template that now must be sent with `ContentSid` and `Content Variables`.\n\n### Possible solutions\n\n- Create and manage the template in the Content Template Builder or the Content API.\n- Send the template with `ContentSid` and `Content Variables` instead of the legacy `body`-based template flow.\n- If you need to change an existing template, duplicate it in the Content Template Builder, update the copy, and submit it again for WhatsApp approval if required.\n\n#### Additional resources\n\n- [Twilio Content Template Builder](/docs/content)\n- [WhatsApp legacy template migration help article](https://help.twilio.com/articles/19816296822299)\n",
    "causes": "* You sent a WhatsApp template with the legacy WhatsApp Templates product instead of a Content Template.\n* You used the `body` field to match or send a template that now must be sent with `ContentSid` and `Content Variables`.",
    "solutions": "* Create and manage the template in the Content Template Builder or the Content API.\n* Send the template with `ContentSid` and `Content Variables` instead of the legacy `body`-based template flow.\n* If you need to change an existing template, duplicate it in the Content Template Builder, update the copy, and submit it again for WhatsApp approval if required.",
    "description": "Twilio detected that this WhatsApp message was sent using the legacy WhatsApp templates system. This system is end-of-life. Send WhatsApp templates with the Content Template Builder or the Content API, and use `ContentSid` and `Content Variables` when you send the message.",
    "date_created": "2025-01-24T19:50:12Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 63053,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "When you send a message from a template, the template syncing process can take up to 10 minutes to complete. Wait a few minutes, and then try sending your message again",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when you try to send a template message before the template sync has finished. Wait for the sync to complete, then send the message again. Twilio's Content Template Builder and Content API mirror templates across products, so newly created or updated templates may not be ready to use immediately.\n\n### Possible causes\n\n- You sent the message before the template finished syncing in Twilio.\n- You recently created or updated the template, and the mirrored template data has not finished propagating yet.\n\n### Possible solutions\n\n- Wait a few minutes, then retry the message send. Twilio indicates the sync can take up to 10 minutes.\n- Send the message again only after the template is available in your template workflow and ready to use.\n\n#### Additional resources\n\n- [Content Templates overview](/docs/content/overview)\n- [Send templates created with the Content Template Builder](/docs/content/send-templates-created-with-the-content-template-builder)\n",
    "causes": "* You sent the message before the template finished syncing in Twilio.\n* You recently created or updated the template, and the mirrored template data has not finished propagating yet.",
    "solutions": "* Wait a few minutes, then retry the message send. Twilio indicates the sync can take up to 10 minutes.\n* Send the message again only after the template is available in your template workflow and ready to use.",
    "description": "This error appears when you try to send a template message before the template sync has finished. Wait for the sync to complete, then send the message again. Twilio's Content Template Builder and Content API mirror templates across products, so newly created or updated templates may not be ready to use immediately.",
    "date_created": "2025-07-16T14:29:52.28Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 63054,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Template unavailable for use",
    "secondary_message": null,
    "product": "Branded Comms, Whatsapp, Content",
    "docs": "\n## Description\n\nThis error appears when Twilio cannot use the selected template for the current WhatsApp Business account. Confirm that the account is eligible for MM Lite and that onboarding is complete before you try again.\n\n### Possible causes\n\n- The template is currently unavailable for use on the sending account.\n- The WhatsApp Business account is not eligible for MM Lite or has not completed onboarding.\n\n### Possible solutions\n\n- Check the account's MM Lite eligibility and complete onboarding in Meta Business Manager before sending the template again.\n- If the template is still unavailable after onboarding, contact Meta customer support to review access.\n- Review the template status in the Content Template Builder and make sure it is approved and ready to send.\n\n#### Additional resources\n\n- [Message template approvals and statuses](/docs/whatsapp/tutorial/message-template-approvals-statuses)\n- [Send WhatsApp Notification Messages with Templates](/docs/whatsapp/tutorial/send-whatsapp-notification-messages-templates)\n- [Eligibility Badge Legend](/docs/content/eligibility-badge-legend)\n",
    "causes": "* The template is currently unavailable for use on the sending account.\n* The WhatsApp Business account is not eligible for MM Lite or has not completed onboarding.",
    "solutions": "* Check the account's MM Lite eligibility and complete onboarding in Meta Business Manager before sending the template again.\n* If the template is still unavailable after onboarding, contact Meta customer support to review access.\n* Review the template status in the Content Template Builder and make sure it is approved and ready to send.",
    "description": "This error appears when Twilio cannot use the selected template for the current WhatsApp Business account. Confirm that the account is eligible for MM Lite and that onboarding is complete before you try again.",
    "date_created": "2025-07-16T14:34:02.499Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63055,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Only marketing messages supported on MM Lite API",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when you try to send a non-marketing WhatsApp message through MM Lite API. MM Lite API is designed for WhatsApp marketing messages, so route non-marketing messages through Cloud API instead.\n\n### Possible causes\n\n- Your application sent a non-marketing message to MM Lite API.\n- You routed WhatsApp traffic to MM Lite API when that traffic should have used Cloud API.\n\n### Possible solutions\n\n- Send only marketing messages through MM Lite API. If the message is not marketing, use Cloud API instead.\n- Review your message routing so non-marketing WhatsApp messages do not reach MM Lite API.\n\n#### Additional resources\n\n- [WhatsApp Business Platform with Twilio](/docs/whatsapp/api)\n- [Beta products and features](/en-us/products/beta)\n",
    "causes": "* Your application sent a non-marketing message to MM Lite API.\n* You routed WhatsApp traffic to MM Lite API when that traffic should have used Cloud API.",
    "solutions": "* Send only marketing messages through MM Lite API. If the message is not marketing, use Cloud API instead.\n* Review your message routing so non-marketing WhatsApp messages do not reach MM Lite API.",
    "description": "This error occurs when you try to send a non-marketing WhatsApp message through MM Lite API. MM Lite API is designed for WhatsApp marketing messages, so route non-marketing messages through Cloud API instead.",
    "date_created": "2025-07-16T14:17:09.928Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 63056,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Ineligible account type",
    "secondary_message": null,
    "product": "Branded Comms, Whatsapp",
    "docs": "\n## Description\n\nThis error means the WhatsApp Business Account connected to your request is not eligible to send messages through the Marketing Messages Lite API. It can also appear when the WABA uses the On-Behalf-Of model or when direct send messaging is not available for that WABA.\n\n### Possible causes\n\n- The WhatsApp Business Account you are using is not eligible for MM Lite API.\n- The WhatsApp Business Account uses the On-Behalf-Of model.\n- Direct send messaging is not available for this WABA right now.\n\n### Possible solutions\n\n- Onboard MM Lite for your account.\n- Accept the Marketing Messages API Terms of Service in Meta Business Manager. Open the WhatsApp Business Account in Console, go to Alerts, and have an admin approve the terms.\n- If you are using an On-Behalf-Of WABA, use a different WABA or transfer ownership of the WABA to the business customer.\n- If direct send access is not available, appeal the use case and try again after activation is restored.\n\n#### Additional resources\n\n- [Overview of the WhatsApp Business Platform with Twilio](/docs/whatsapp/api)\n- [Register WhatsApp senders using Self Sign-up](/docs/whatsapp/self-sign-up)\n- [The WhatsApp Business Platform with Twilio: Best Practices and FAQs](/docs/whatsapp/best-practices-and-faqs)\n",
    "causes": "* The WhatsApp Business Account you are using is not eligible for MM Lite API.\n* The WhatsApp Business Account uses the On-Behalf-Of model.\n* Direct send messaging is not available for this WABA right now.",
    "solutions": "* Onboard MM Lite for your account.\n* Accept the Marketing Messages API Terms of Service in Meta Business Manager. Open the WhatsApp Business Account in Console, go to Alerts, and have an admin approve the terms.\n* If you are using an On-Behalf-Of WABA, use a different WABA or transfer ownership of the WABA to the business customer.\n* If direct send access is not available, appeal the use case and try again after activation is restored.",
    "description": "This error means the WhatsApp Business Account connected to your request is not eligible to send messages through the Marketing Messages Lite API. It can also appear when the WABA uses the On-Behalf-Of model or when direct send messaging is not available for that WABA.",
    "date_created": "2025-07-16T14:37:10.639Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 63057,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Template Submission Rate Limit Exceeded",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTemplates should only be submitted to WhatsApp 1 time. Multiple submissions within a short period of time can cause the approval to fail.\n\n### Possible causes\n\n- Submitting a single template multiple times\n\n### Possible solutions\n\n- Only submit a template for approval 1 time.\n",
    "causes": "* Submitting a single template multiple times",
    "solutions": "* Only submit a template for approval 1 time.",
    "description": "Templates should only be submitted to WhatsApp 1 time. Multiple submissions within a short period of time can cause the approval to fail.",
    "date_created": "2025-08-11T22:02:18.843Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63058,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Business is restricted from messaging users in this country",
    "secondary_message": null,
    "product": "Branded Comms, Whatsapp",
    "docs": "\n## Description\n\nThis error occurs when you attempt to send a WhatsApp message to a recipient in a country or region where the WhatsApp Business Platform is not supported, or where Twilio blocks delivery due to sanctions or regulatory restrictions.\n\n### Possible causes\n\n- The `To` number is in a country or region where the WhatsApp Business Platform isn't supported (for example, Cuba, Iran, North Korea, Syria, and the Crimea/Donetsk/Luhansk regions).\n- Twilio blocks message delivery to recipients in certain countries and regions for compliance reasons (for WhatsApp and RCS, this includes all `To` numbers beginning with `+98` for Iran. Twilio also stopped delivering voice, messaging, and email traffic to recipients in Iran, Syria and Cuba).\n- Your business or use case falls under WhatsApp restrictions that prohibit usage in specific countries, preventing WhatsApp messaging for those markets.\n\n### Possible solutions\n\n- Confirm that the recipient's `To` country or region is supported by the WhatsApp Business Platform and isn't subject to Twilio delivery blocks. If it's unsupported or blocked, don't send WhatsApp messages to that number.\n- If your business is in a forbidden country or otherwise restricted by WhatsApp policy, evaluate compliant alternatives for that market (for example, select another supported channel where permissible and aligned with local rules).\n\n#### Additional resources\n\n- [Overview of the WhatsApp Business Platform with Twilio](/docs/whatsapp/api)\n- [The WhatsApp Business Platform with Twilio: Best Practices and FAQs](/docs/whatsapp/best-practices-and-faqs)\n- [List of Blocked Countries](https://help.twilio.com/articles/360051177134)\n",
    "causes": "* The `To` number is in a country or region where the WhatsApp Business Platform isn't supported (for example, Cuba, Iran, North Korea, Syria, and the Crimea/Donetsk/Luhansk regions).\n* Twilio blocks message delivery to recipients in certain countries and regions for compliance reasons (for WhatsApp and RCS, this includes all `To` numbers beginning with `+98` for Iran. Twilio also stopped delivering voice, messaging, and email traffic to recipients in Iran, Syria and Cuba).\n* Your business or use case falls under WhatsApp restrictions that prohibit usage in specific countries, preventing WhatsApp messaging for those markets.",
    "solutions": "* Confirm that the recipient's `To` country or region is supported by the WhatsApp Business Platform and isn't subject to Twilio delivery blocks. If it's unsupported or blocked, don't send WhatsApp messages to that number.\n* If your business is in a forbidden country or otherwise restricted by WhatsApp policy, evaluate compliant alternatives for that market (for example, select another supported channel where permissible and aligned with local rules).",
    "description": "This error occurs when you attempt to send a WhatsApp message to a recipient in a country or region where the WhatsApp Business Platform is not supported, or where Twilio blocks delivery due to sanctions or regulatory restrictions.",
    "date_created": "2025-10-06T15:18:36.802Z",
    "last_updated": "2026-03-30T13:33:22+01:00"
  },
  {
    "code": 63059,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Phone number migrated to a different WhatsApp Business Account",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPhone number migrated to a different WhatsApp Business Account (WABA)\n\n### Possible causes\n\n- The phone number is linked to a different WhatsApp Business Account (WABA).\n\n### Possible solutions\n\n- Add the correct WABA ID to every API request that uses this phone number.\n- In your Meta Business Portfolio, locate the phone number and copy its WABA ID. Use this ID in all future requests.\n- If you cannot determine the WABA ID, contact [Twilio Support](https://help.twilio.com).\n",
    "causes": "* The phone number is linked to a different WhatsApp Business Account (WABA).",
    "solutions": "* Add the correct WABA ID to every API request that uses this phone number.\n* In your Meta Business Portfolio, locate the phone number and copy its WABA ID. Use this ID in all future requests.\n* If you cannot determine the WABA ID, contact [Twilio Support](https://help.twilio.com).",
    "description": "Phone number migrated to a different WhatsApp Business Account (WABA)",
    "date_created": "2026-03-09T20:25:20-05:00",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Validation Error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe request body is either empty, not valid JSON, or failed other validation rules. Please refer to the response's message parameter for additional guidance.\n\n### Possible causes\n\n- Request body was empty\n- Request body was not valid JSON\n- Request body failed other validation rules\n\n### Possible solutions\n\n- Review the response's message parameter for additional details\n- Verify the request body contains valid JSON according to the documentation\n",
    "causes": "* Request body was empty\n* Request body was not valid JSON\n* Request body failed other validation rules",
    "solutions": "* Review the response's message parameter for additional details\n* Verify the request body contains valid JSON according to the documentation",
    "description": "The request body is either empty, not valid JSON, or failed other validation rules. Please refer to the response's message parameter for additional guidance.",
    "date_created": "2024-02-09T22:22:49Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WABA ID provided is not valid or unable to be used",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio cannot access the WhatsApp Business Account (WABA) with the ID provided.\n\n### Possible causes\n\n- The WABA has been deleted\n- The WABA has not been shared with Twilio\n- The WABA has already been linked to another Twilio account\n\n### Possible solutions\n\n- Check that the WABA ID provided is correct\n- Check that the SolutionID corresponding to Twilio's Partner Solution is correctly provided in the Embedded Signup implementation\n- Check that this WABA has not been linked to other Twilio accounts you own. For security purposes, Twilio cannot provide you details if the WABA is linked to another Twilio Account that you do not own.\n",
    "causes": "* The WABA has been deleted\n* The WABA has not been shared with Twilio\n* The WABA has already been linked to another Twilio account",
    "solutions": "* Check that the WABA ID provided is correct\n* Check that the SolutionID corresponding to Twilio's Partner Solution is correctly provided in the Embedded Signup implementation\n* Check that this WABA has not been linked to other Twilio accounts you own. For security purposes, Twilio cannot provide you details if the WABA is linked to another Twilio Account that you do not own.",
    "description": "Twilio cannot access the WhatsApp Business Account (WABA) with the ID provided.",
    "date_created": "2024-02-09T22:24:40Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account already linked to another WABA ID",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Twilio Account contains other WhatsApp Senders and is already linked to an existing WhatsApp Business Account (WABA). Twilio Accounts must be linked to only one WABA ID at a time.\n\n### Possible causes\n\n- Attempting to use a different WABA ID than the one linked to the Twilio Account\n\n### Possible solutions\n\n- Use the same WABA ID that is linked to the account\n- Delete other WhatsApp Senders to link the Account to another WABA\n",
    "causes": "* Attempting to use a different WABA ID than the one linked to the Twilio Account",
    "solutions": "* Use the same WABA ID that is linked to the account\n* Delete other WhatsApp Senders to link the Account to another WABA",
    "description": "The Twilio Account contains other WhatsApp Senders and is already linked to an existing WhatsApp Business Account (WABA). Twilio Accounts must be linked to only one WABA ID at a time.",
    "date_created": "2024-02-09T22:25:29Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Cannot assign payment method to WABA provided",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe WhatsApp Business Account (WABA) provided is unable to use Twilio's credit line. Due to technical limitations within Meta's systems, once a payment method is added to a WABA it can only be revoked but never fully removed.\n\n### Possible causes\n\n- Using a WABA currently assigned to another payment method\n- Using a WABA that has been used with another provider\n- Temporary issues with Meta's credit line assignment service\n\n### Possible solutions\n\n- Create a new WABA to use with Twilio\n- Wait a few minutes and retry the request\n- Contact Twilio support if the issue persists\n",
    "causes": "* Using a WABA currently assigned to another payment method\n* Using a WABA that has been used with another provider\n* Temporary issues with Meta's credit line assignment service",
    "solutions": "* Create a new WABA to use with Twilio\n* Wait a few minutes and retry the request\n* Contact Twilio support if the issue persists",
    "description": "The WhatsApp Business Account (WABA) provided is unable to use Twilio's credit line. Due to technical limitations within Meta's systems, once a payment method is added to a WABA it can only be revoked but never fully removed.",
    "date_created": "2024-02-09T22:26:13Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Maximum number of phone numbers reached for your WABA",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe maximum number of phone numbers allowed by Meta has been reached for your WABA and no additional WhatsApp Senders can be onboarded in this account. See [Meta's documentation](https://developers.facebook.com/docs/whatsapp/cloud-api/phone-numbers/#registered-number-limits) for more information.\n\n### Possible causes\n\n- Your Meta Business Portfolio is not yet verified. Meta restricts unverified businesses to 2 phone numbers across all WABAs.\n- You have not sent enough WhatsApp messages with your existing WhatsApp Senders or your existing WhatsApp Senders are not high quality.\n- You have reached the maximum number of phone numbers that Meta allows without a support ticket.\n\n### Possible solutions\n\n- Use Meta's [WhatsApp Manager](https://business.facebook.com/latest/whatsapp_manager) to delete unused phone numbers and their corresponding WhatsApp Senders.\n- If you have created multiple WhatsApp Senders at once, send messages on existing WhatsApp Senders before creating additional ones to allow Meta's systems to automatically increase your phone number limit.\n- Use a different Twilio account or subaccount with a different WABA to create your WhatsApp Sender.\n- If you have access to Meta's [Direct Support](https://business.facebook.com/direct-support) system, open a ticket directly with Meta to increase your phone number limit. Otherwise, [open a ticket](http://help.twilio.com) with Twilio.\n",
    "causes": "* Your Meta Business Portfolio is not yet verified. Meta restricts unverified businesses to 2 phone numbers across all WABAs.\n* You have not sent enough WhatsApp messages with your existing WhatsApp Senders or your existing WhatsApp Senders are not high quality.\n* You have reached the maximum number of phone numbers that Meta allows without a support ticket.",
    "solutions": "* Use Meta's [WhatsApp Manager](https://business.facebook.com/latest/whatsapp_manager) to delete unused phone numbers and their corresponding WhatsApp Senders.\n* If you have created multiple WhatsApp Senders at once, send messages on existing WhatsApp Senders before creating additional ones to allow Meta's systems to automatically increase your phone number limit.\n* Use a different Twilio account or subaccount with a different WABA to create your WhatsApp Sender.\n* If you have access to Meta's [Direct Support](https://business.facebook.com/direct-support) system, open a ticket directly with Meta to increase your phone number limit. Otherwise, [open a ticket](http://help.twilio.com) with Twilio.",
    "description": "The maximum number of phone numbers allowed by Meta has been reached for your WABA and no additional WhatsApp Senders can be onboarded in this account. See [Meta's documentation](https://developers.facebook.com/docs/whatsapp/cloud-api/phone-numbers/#registered-number-limits) for more information.",
    "date_created": "2025-03-01T00:01:00Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63105,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Channel does not support this action",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nChannel does not currently support the requested action\n\n### Possible causes\n\n- API Request for unsupported functionality on the given channel\n\n### Possible solutions\n\n- Open a support ticket to accomplish the desired action\n",
    "causes": "* API Request for unsupported functionality on the given channel",
    "solutions": "* Open a support ticket to accomplish the desired action",
    "description": "Channel does not currently support the requested action",
    "date_created": "2024-07-01T17:34:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63106,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "phone_number is not a RCS capable number",
    "secondary_message": null,
    "product": "Branded Comms, Rcs",
    "docs": "\n## Description\n\nTwilio returns this error when the `phone_number` you supplied is not RCS capable. RCS Business Messaging uses a branded sender profile rather than a traditional phone number, and RCS is compatible with Android devices and iOS devices running iOS 18 or later.\n\n### Possible causes\n\n- The recipient device or carrier does not support RCS, so Twilio cannot use that number for an RCS delivery. Twilio attempts RCS first only when the destination is RCS-capable, and it falls back to SMS when RCS is unavailable.\n- You are trying to use a Twilio number as an RCS test device. Twilio numbers cannot be used as RCS test devices.\n- The RCS sender has not been approved for messaging to that number yet. Before you message phone numbers that are not added as test devices, carrier approval is required.\n\n### Possible solutions\n\n- Send to a number tied to an RCS-capable device. Twilio supports RCS on Android devices and iOS\n  devices running iOS 18 or later.\n- Add the destination as a test device during RCS onboarding, or test with an Android device that you allowlist for onboarding.\n- Configure RCS plus SMS fallback with a Sender Pool when you want Twilio to deliver via RCS first and switch to SMS when RCS is unavailable.\n\n#### Additional resources\n\n- [RCS Business Messaging](/docs/rcs)\n- [Get started with branded RCS messaging](/docs/rcs/onboarding)\n- [Channel Fallback](/docs/comms/channel-fallback)\n",
    "causes": "* The recipient device or carrier does not support RCS, so Twilio cannot use that number for an RCS delivery. Twilio attempts RCS first only when the destination is RCS-capable, and it falls back to SMS when RCS is unavailable.\n* You are trying to use a Twilio number as an RCS test device. Twilio numbers cannot be used as RCS test devices.\n* The RCS sender has not been approved for messaging to that number yet. Before you message phone numbers that are not added as test devices, carrier approval is required.",
    "solutions": "* Send to a number tied to an RCS-capable device. Twilio supports RCS on Android devices and iOS\n  devices running iOS 18 or later.\n* Add the destination as a test device during RCS onboarding, or test with an Android device that you allowlist for onboarding.\n* Configure RCS plus SMS fallback with a Sender Pool when you want Twilio to deliver via RCS first and switch to SMS when RCS is unavailable.",
    "description": "Twilio returns this error when the `phone_number` you supplied is not RCS capable. RCS Business Messaging uses a branded sender profile rather than a traditional phone number, and RCS is compatible with Android devices and iOS devices running iOS 18 or later.",
    "date_created": "2024-07-24T23:57:10Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63107,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "phone_number must be a valid E.164 formatted phone number",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nphone\\_number provided is not a valid E.164 formatted phone number\n\n### Possible causes\n\nphone\\_number provided is not a valid E.164 formatted phone number\n\n### Possible solutions\n\nFormat the phone number that conforms to E.164 format\n",
    "causes": "phone\\_number provided is not a valid E.164 formatted phone number",
    "solutions": "Format the phone number that conforms to E.164 format",
    "description": "phone\\_number provided is not a valid E.164 formatted phone number",
    "date_created": "2024-07-24T23:59:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63108,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "Sender is not ready to add test device",
    "secondary_message": null,
    "product": "Branded Comms, Rcs",
    "docs": "\n## Description\n\nTwilio returns this error when you try to add a test device to an RCS sender before the sender finishes getting ready in the Twilio Console. In the RCS onboarding flow, create the sender first, then use Add device to test this sender to invite a number in `E.164` format.\n\n### Possible causes\n\n- Twilio is still preparing the sender after creation or a recent update. The error tells you to wait briefly and try again, which points to a temporary readiness state.\n- The sender setup is not complete yet. Twilio requires you to finish the RCS sender setup before you can test it.\n\n### Possible solutions\n\n- Wait briefly, then try the action again.\n- Complete the RCS sender setup in the Console before you add a test device.\n- When you add the test device, enter a phone number in `E.164` format and accept the tester invitation on the device. Use a device and carrier that support RCS.\n\n#### Additional resources\n\n- [Get started with branded RCS messaging](/docs/rcs/onboarding)\n- [Send and receive RCS messages](/docs/rcs/send-an-rcs-message)\n- [Use RCS messaging with Studio](/docs/studio/tutorials/use-rcs-with-studio)\n",
    "causes": "* Twilio is still preparing the sender after creation or a recent update. The error tells you to wait briefly and try again, which points to a temporary readiness state.\n* The sender setup is not complete yet. Twilio requires you to finish the RCS sender setup before you can test it.",
    "solutions": "* Wait briefly, then try the action again.\n* Complete the RCS sender setup in the Console before you add a test device.\n* When you add the test device, enter a phone number in `E.164` format and accept the tester invitation on the device. Use a device and carrier that support RCS.",
    "description": "Twilio returns this error when you try to add a test device to an RCS sender before the sender finishes getting ready in the Twilio Console. In the RCS onboarding flow, create the sender first, then use Add device to test this sender to invite a number in `E.164` format.",
    "date_created": "2024-08-16T19:10:17Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63109,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "This Sender has been migrated into a different account",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis Sender has been migrated into a different account.\n\n### Possible causes\n\nThe Sender was onboarded to a different account.\n\n### Possible solutions\n\nIf this was not intentional, visit the [Twilio Support Center](https://help.twilio.com/) to contact support.\n",
    "causes": "The Sender was onboarded to a different account.",
    "solutions": "If this was not intentional, visit the [Twilio Support Center](https://help.twilio.com/) to contact support.",
    "description": "This Sender has been migrated into a different account.",
    "date_created": "2024-11-07T19:26:19Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63110,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The phone number registration error",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when Twilio cannot finish registering a WhatsApp sender because the phone number is already registered with WhatsApp. It can also appear when Meta does not complete the request code step during registration.\n\n### Possible causes\n\n- The phone number is already registered on WhatsApp.\n- Meta request code failed during registration.\n\n### Possible solutions\n\n- Check that the phone number is not already registered for the account or any subaccounts.\n- If the number is registered with WhatsApp or the WhatsApp Business app, delete that WhatsApp account before trying again.\n- If the number is registered with another WhatsApp Business Platform, turn off Two-Factor Authentication in WhatsApp Manager and register the number again.\n- If Meta request code failed, wait 5 minutes before trying again.\n- If the number was registered with WhatsApp separately from Twilio, remove the number from that registration before retrying.\n\n#### Additional resources\n\n- [Register WhatsApp senders using the Senders API](/docs/whatsapp/register-senders-using-api)\n- [Register WhatsApp senders using Self Sign-up](/docs/whatsapp/self-sign-up)\n- [Migrate phone numbers and WhatsApp senders](/docs/whatsapp/migrate-numbers-and-senders)\n",
    "causes": "* The phone number is already registered on WhatsApp.\n* Meta request code failed during registration.",
    "solutions": "* Check that the phone number is not already registered for the account or any subaccounts.\n* If the number is registered with WhatsApp or the WhatsApp Business app, delete that WhatsApp account before trying again.\n* If the number is registered with another WhatsApp Business Platform, turn off Two-Factor Authentication in WhatsApp Manager and register the number again.\n* If Meta request code failed, wait 5 minutes before trying again.\n* If the number was registered with WhatsApp separately from Twilio, remove the number from that registration before retrying.",
    "description": "This error appears when Twilio cannot finish registering a WhatsApp sender because the phone number is already registered with WhatsApp. It can also appear when Meta does not complete the request code step during registration.",
    "date_created": "2025-03-01T00:02:57Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 63111,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sender's phone number or WABA returned \"not found\"",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMeta returned \"not found\" for the Sender's phone number or WABA.\n\n### Possible causes\n\n1. Phone number was deleted from the WABA linked to this account.\n2. WABA linked to this account was deleted.\n3. WABA was unshared with Twilio\n\n### Possible solutions\n\n- Confirm the phone number and WABA still exist within Meta and are shared with Twilio\n- Delete the Sender and reonboard.\n",
    "causes": "1. Phone number was deleted from the WABA linked to this account.\n2. WABA linked to this account was deleted.\n3. WABA was unshared with Twilio",
    "solutions": "* Confirm the phone number and WABA still exist within Meta and are shared with Twilio\n* Delete the Sender and reonboard.",
    "description": "Meta returned \"not found\" for the Sender's phone number or WABA.",
    "date_created": "2024-11-07T19:28:21Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63112,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Meta and/or WhatsApp Business Accounts connected to this Sender were disabled by Meta",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Meta and/or WhatsApp Business Accounts connected to this Sender were disabled by Meta or your business verification request is currently pending. To proceed with using WhatsApp Business API features, you must complete the business verification process. Visit your business settings to initiate or resolve the pending business verification request.\n\n### Possible causes\n\n1. Policy Violations:\n\n   - Details: Your WABA may have violated Meta's [WhatsApp Business Policies](https://www.whatsapp.com/business/api/policies/), such as sending unsolicited messages, using prohibited content, or failing to comply with data privacy regulations.\n2. Spam or Unsolicited Messaging:\n\n   - Details: Sending a high volume of unsolicited messages or spam can lead to account suspension to protect user experience.\n3. Inappropriate Content:\n\n   - Details: Sharing content that violates WhatsApp's guidelines, including offensive, illegal, or harmful material.\n4. User Reports:\n\n   - Details: Receiving multiple reports from users about inappropriate behavior or unwanted messages from your account.\n5. Incomplete Verification Submission:\n\n   - Details: Required documents or information were not fully provided during the verification process.\n6. Two-step verification (2FA) not removed off after WhatsApp sender deletion\n\n   - Details: After you deleted a WhatsApp sender, you didn't remove 2FA for that number before trying to re-register it.\n\n### Possible solutions\n\n1. Review Meta's Notification:\n\n   - Action: Access your Meta (Facebook) account to view the specific reason for the ban.\n   - How:\n\n     - Log in to your [Meta Business](https://business.facebook.com/).\n     - Navigate to the WhatsApp section to find notifications or alerts regarding your WABA status.\n2. Submit an Appeal to Meta:\n\n   - Action: If you believe the ban was a mistake or have rectified the issues, submit an appeal to Meta.\n   - How:\n\n     - Visit the [WhatsApp Business Help Center](https://www.whatsapp.com/business/help).\n     - Follow the instructions to submit an appeal, providing necessary documentation and explanations.\n3. Review and Comply with WhatsApp Policies:\n\n   - Action: Ensure your business practices align with [WhatsApp Business Policies](https://www.whatsapp.com/business/api/policies/).\n   - How:\n\n     - Thoroughly read and understand the policies.\n     - Update your messaging strategies to comply with guidelines.\n4. Complete the Verification Process:\n\n   - Action: Ensure you have initiated the business verification process in your business settings.\n   - How:\n\n     - Log in to your [Meta Business](https://business.facebook.com/).\n     - Navigate to Business Settings > Security Center.\n     - Follow the prompts to start or continue the business verification process.\n5. Remove 2FA for a WhatsApp sender:\n\n   - How:\n\n     - Go to **WhatsApp Manager**.\n     - Click on the sender, or click the Settings icon.\n     - Click the **Two-step verification** tab.\n     - Click **Turn off Two-step verification**.\n\nFor more details, visit [Meta's Business Support Home](https://business.facebook.com/accountquality). If you require assistance from Twilio, please open a support ticket.\n",
    "causes": "1. Policy Violations:\n\n   * Details: Your WABA may have violated Meta's [WhatsApp Business Policies](https://www.whatsapp.com/business/api/policies/), such as sending unsolicited messages, using prohibited content, or failing to comply with data privacy regulations.\n2. Spam or Unsolicited Messaging:\n\n   * Details: Sending a high volume of unsolicited messages or spam can lead to account suspension to protect user experience.\n3. Inappropriate Content:\n\n   * Details: Sharing content that violates WhatsApp's guidelines, including offensive, illegal, or harmful material.\n4. User Reports:\n\n   * Details: Receiving multiple reports from users about inappropriate behavior or unwanted messages from your account.\n5. Incomplete Verification Submission:\n\n   * Details: Required documents or information were not fully provided during the verification process.\n6. Two-step verification (2FA) not removed off after WhatsApp sender deletion\n\n   * Details: After you deleted a WhatsApp sender, you didn't remove 2FA for that number before trying to re-register it.",
    "solutions": "1. Review Meta's Notification:\n\n   * Action: Access your Meta (Facebook) account to view the specific reason for the ban.\n   * How:\n\n     * Log in to your [Meta Business](https://business.facebook.com/).\n     * Navigate to the WhatsApp section to find notifications or alerts regarding your WABA status.\n2. Submit an Appeal to Meta:\n\n   * Action: If you believe the ban was a mistake or have rectified the issues, submit an appeal to Meta.\n   * How:\n\n     * Visit the [WhatsApp Business Help Center](https://www.whatsapp.com/business/help).\n     * Follow the instructions to submit an appeal, providing necessary documentation and explanations.\n3. Review and Comply with WhatsApp Policies:\n\n   * Action: Ensure your business practices align with [WhatsApp Business Policies](https://www.whatsapp.com/business/api/policies/).\n   * How:\n\n     * Thoroughly read and understand the policies.\n     * Update your messaging strategies to comply with guidelines.\n4. Complete the Verification Process:\n\n   * Action: Ensure you have initiated the business verification process in your business settings.\n   * How:\n\n     * Log in to your [Meta Business](https://business.facebook.com/).\n     * Navigate to Business Settings > Security Center.\n     * Follow the prompts to start or continue the business verification process.\n5. Remove 2FA for a WhatsApp sender:\n\n   * How:\n\n     * Go to **WhatsApp Manager**.\n     * Click on the sender, or click the Settings icon.\n     * Click the **Two-step verification** tab.\n     * Click **Turn off Two-step verification**. For more details, visit [Meta's Business Support Home](https://business.facebook.com/accountquality). If you require assistance from Twilio, please open a support ticket.",
    "description": "The Meta and/or WhatsApp Business Accounts connected to this Sender were disabled by Meta or your business verification request is currently pending. To proceed with using WhatsApp Business API features, you must complete the business verification process. Visit your business settings to initiate or resolve the pending business verification request.",
    "date_created": "2024-11-07T19:35:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63113,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sender Cannot Be Verified",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe sender could not be verified. Please request a new verification code.\n\n### Possible causes\n\n- The incorrect code was entered.\n- You guessed the code too fast.\n- The sender was unable to be verified.\n\n### Possible solutions\n\n- Re-check the code and try again.\n- Avoid consecutive, fast guesses.\n",
    "causes": "* The incorrect code was entered.\n* You guessed the code too fast.\n* The sender was unable to be verified.",
    "solutions": "* Re-check the code and try again.\n* Avoid consecutive, fast guesses.",
    "description": "The sender could not be verified. Please request a new verification code.",
    "date_created": "2025-03-01T00:05:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63114,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Too Many Verification Codes",
    "secondary_message": null,
    "product": "Branded Comms, Whatsapp",
    "docs": "\n## Description\n\nTwilio returns this error when a WhatsApp sender verification flow has reached a verification code limit. During WhatsApp sender registration, the verification code can be shown in the Twilio Console or delivered by SMS, voice call, or email, depending on the phone number type and verification method.\n\n### Possible causes\n\n- You requested or entered verification codes too many times during the same WhatsApp sender registration flow.\n- You are trying to complete verification with a code from a previous attempt instead of the current registration flow. This is an inference based on the WhatsApp sender registration flow.\n\n### Possible solutions\n\n- Wait and try again.\n- Restart the WhatsApp sender registration flow and use the current verification code shown in the Twilio Console or delivered to your number by SMS, voice call, or email.\n- If the error continues, check the Sender error log in the Twilio Console and monitor the registration with Alarms or Event Streams.\n\n#### Additional resources\n\n- [Register WhatsApp senders using Self Sign-up](/docs/whatsapp/self-sign-up)\n- [Senders API - WhatsApp](/docs/whatsapp/api/senders)\n",
    "causes": "* You requested or entered verification codes too many times during the same WhatsApp sender registration flow.\n* You are trying to complete verification with a code from a previous attempt instead of the current registration flow. This is an inference based on the WhatsApp sender registration flow.",
    "solutions": "* Wait and try again.\n* Restart the WhatsApp sender registration flow and use the current verification code shown in the Twilio Console or delivered to your number by SMS, voice call, or email.\n* If the error continues, check the Sender error log in the Twilio Console and monitor the registration with Alarms or Event Streams.",
    "description": "Twilio returns this error when a WhatsApp sender verification flow has reached a verification code limit. During WhatsApp sender registration, the verification code can be shown in the Twilio Console or delivered by SMS, voice call, or email, depending on the phone number type and verification method.",
    "date_created": "2025-03-01T00:06:30Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63115,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Could not update Whatsapp business profile on the WhatsApp Sender",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nWhatsApp rejects the business profile update when the sender is not ready for profile changes. You update WhatsApp business profile details from the Messaging section of Twilio Console after the sender is available.\n\n### Possible causes\n\n- The WhatsApp sender is `OFFLINE`, so WhatsApp does not accept the profile update yet.\n\n### Possible solutions\n\n- Verify the phone number status in WhatsApp Manager and make sure the sender is `ONLINE` before you update the business profile.\n- If you just registered the sender, wait a few minutes for the status to change from `OFFLINE` to `ONLINE`.\n- Check the Error logs for sender registration issues and follow the recommended actions. If the sender still shows `OFFLINE`, contact Twilio Support.\n\n#### Additional resources\n\n- [Editing your WhatsApp Business Profile](/docs/whatsapp/editing-your-whatsapp-business-profile)\n- [Senders API - WhatsApp](/docs/whatsapp/api/senders)\n- [Register WhatsApp senders using the Senders API](/docs/whatsapp/register-senders-using-api)\n",
    "causes": "* The WhatsApp sender is `OFFLINE`, so WhatsApp does not accept the profile update yet.",
    "solutions": "* Verify the phone number status in WhatsApp Manager and make sure the sender is `ONLINE` before you update the business profile.\n* If you just registered the sender, wait a few minutes for the status to change from `OFFLINE` to `ONLINE`.\n* Check the Error logs for sender registration issues and follow the recommended actions. If the sender still shows `OFFLINE`, contact Twilio Support.",
    "description": "WhatsApp rejects the business profile update when the sender is not ready for profile changes. You update WhatsApp business profile details from the Messaging section of Twilio Console after the sender is available.",
    "date_created": "2025-07-22T18:01:54.246Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 63116,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "WhatsApp Sender failed to be automatically registered as OTP was not received",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nOTP required to automatically verify and register WhatsApp Sender was not received by Twilio despite a successful request to Meta\n\n### Possible causes\n\n- An internal error at Meta is preventing the OTP from being sent.\n- SMS deliverability issues between Meta and Twilio are causing the code to be lost before reaching Twilio.\n\n### Possible solutions\n\n- Retry your request later.\n- Request the OTP to be sent via a voice call and manually verify it using the [Senders API](/docs/whatsapp/api/senders#verify-a-whatsapp-sender).\n- Submit a support ticket to Twilio for further investigation. Twilio can escalate the issue to Meta if necessary, as they can adjust how the OTP is sent, potentially improving deliverability.\n",
    "causes": "* An internal error at Meta is preventing the OTP from being sent.\n* SMS deliverability issues between Meta and Twilio are causing the code to be lost before reaching Twilio.",
    "solutions": "* Retry your request later.\n* Request the OTP to be sent via a voice call and manually verify it using the [Senders API](/docs/whatsapp/api/senders#verify-a-whatsapp-sender).\n* Submit a support ticket to Twilio for further investigation. Twilio can escalate the issue to Meta if necessary, as they can adjust how the OTP is sent, potentially improving deliverability.",
    "description": "OTP required to automatically verify and register WhatsApp Sender was not received by Twilio despite a successful request to Meta",
    "date_created": "2025-06-30T18:10:27.165Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 63117,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Downstream Service Unavailable at the moment",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means Twilio could not complete the request because one or more downstream services were unavailable and the request returned a 503 response. A 503 response indicates the service is temporarily unavailable.\n\n### Possible causes\n\n- A downstream dependency was down or experiencing a transient issue when Twilio processed the request.\n- A temporary Twilio service unavailability prevented the request from completing.\n\n### Possible solutions\n\n- Retry the request after a short delay. Twilio treats 503 as a temporary service unavailability and recommends trying again later.\n- Check the `Error Logs` in the Twilio Console for the affected request, timestamp, and resource SID so you can confirm where the failure occurred.\n- If this happens during WhatsApp sender creation or registration, set up an `Alarm` or `Event Stream` to track repeat failures and capture the error log details.\n\n#### Additional resources\n\n- [Debugging Tools](/docs/messaging/guides/debugging-tools)\n- [Senders API - WhatsApp](/docs/whatsapp/api/senders)\n",
    "causes": "* A downstream dependency was down or experiencing a transient issue when Twilio processed the request.\n* A temporary Twilio service unavailability prevented the request from completing.",
    "solutions": "* Retry the request after a short delay. Twilio treats 503 as a temporary service unavailability and recommends trying again later.\n* Check the `Error Logs` in the Twilio Console for the affected request, timestamp, and resource SID so you can confirm where the failure occurred.\n* If this happens during WhatsApp sender creation or registration, set up an `Alarm` or `Event Stream` to track repeat failures and capture the error log details.",
    "description": "This error means Twilio could not complete the request because one or more downstream services were unavailable and the request returned a 503 response. A 503 response indicates the service is temporarily unavailable.",
    "date_created": "2025-07-22T17:44:22.995Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 63118,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "PIN not retrieved due to sender configuration not being found",
    "secondary_message": null,
    "product": "Branded Comms, Whatsapp",
    "docs": "\n## Description\n\nTwilio couldn't retrieve the WhatsApp two-step PIN because the sender configuration tied to your Verify WhatsApp request was not found. Verify WhatsApp requires you to provide a WhatsApp Sender, and you must connect that sender through a Messaging Service in the Verify Service configuration.\n\n### Possible causes\n\n- The Verify WhatsApp Sender or its connected Messaging Service was not configured.\n- The WhatsApp Sender was not created or was not associated with a WhatsApp Business Account.\n- The WhatsApp Business Account does not meet Meta's commerce policy, so Twilio Verify cannot use it for WhatsApp OTP delivery.\n\n### Possible solutions\n\n- Create or select a WhatsApp Sender, then add its `Messaging Service SID` in the WhatsApp tab of your Verify Service configuration.\n- Confirm the sender is listed under Messaging > Senders > WhatsApp Senders and is linked to a WhatsApp Business Account.\n- If your WhatsApp Business Account does not meet Meta's commerce policy, use another verification channel such as Verify SMS.\n- If the sender configuration still cannot be found, contact Twilio Support.\n\n#### Additional resources\n\n- [Verify WhatsApp Overview](/docs/verify/whatsapp)\n- [Bring Your Own WhatsApp Sender](/docs/verify/whatsapp/byo)\n- [Senders API - WhatsApp](/docs/whatsapp/api/senders)\n",
    "causes": "* The Verify WhatsApp Sender or its connected Messaging Service was not configured.\n* The WhatsApp Sender was not created or was not associated with a WhatsApp Business Account.\n* The WhatsApp Business Account does not meet Meta's commerce policy, so Twilio Verify cannot use it for WhatsApp OTP delivery.",
    "solutions": "* Create or select a WhatsApp Sender, then add its `Messaging Service SID` in the WhatsApp tab of your Verify Service configuration.\n* Confirm the sender is listed under Messaging > Senders > WhatsApp Senders and is linked to a WhatsApp Business Account.\n* If your WhatsApp Business Account does not meet Meta's commerce policy, use another verification channel such as Verify SMS.\n* If the sender configuration still cannot be found, contact Twilio Support.",
    "description": "Twilio couldn't retrieve the WhatsApp two-step PIN because the sender configuration tied to your Verify WhatsApp request was not found. Verify WhatsApp requires you to provide a WhatsApp Sender, and you must connect that sender through a Messaging Service in the Verify Service configuration.",
    "date_created": "2025-10-14T19:04:27.579Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 63119,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Meta rate limit exceeded",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns this error when Meta rate limits requests for the same WABA.\n\n### Possible causes\n\n- Multiple requests for the same WABA.\n\n### Possible solutions\n\n- Wait a bit and try again.\n\n#### Additional resources\n\n- [Overview of the WhatsApp Business Platform with Twilio](/docs/whatsapp/api)\n- [Register WhatsApp senders using Self Sign-up](/docs/whatsapp/self-sign-up)\n",
    "causes": "* Multiple requests for the same WABA.",
    "solutions": "* Wait a bit and try again.",
    "description": "Twilio returns this error when Meta rate limits requests for the same WABA.",
    "date_created": "2025-12-03T15:27:09.285Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 63120,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Your Meta Business Account has been locked. Please contact Meta Business Support to unlock your account before proceeding",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when you try to register or update a WhatsApp sender and the associated Meta Business Account or WABA has been locked or restricted by Meta. While the restriction is in place, sender registration, updates, and other management operations cannot continue.\n\n### Possible causes\n\n- The Meta Business Account or WABA is locked or restricted by Meta.\n\n### Possible solutions\n\n- Contact Meta Business Support to unlock your account before you continue.\n- Retry the registration or update after Meta removes the restriction.\n\n#### Additional resources\n\n- [Register WhatsApp senders - ISVs](/docs/whatsapp/isv/register-senders)\n- [Register WhatsApp senders using Self Sign-up](/docs/whatsapp/self-sign-up)\n- [Overview of the WhatsApp Business Platform with Twilio](/docs/whatsapp/api)\n",
    "causes": "* The Meta Business Account or WABA is locked or restricted by Meta.",
    "solutions": "* Contact Meta Business Support to unlock your account before you continue.\n* Retry the registration or update after Meta removes the restriction.",
    "description": "This error appears when you try to register or update a WhatsApp sender and the associated Meta Business Account or WABA has been locked or restricted by Meta. While the restriction is in place, sender registration, updates, and other management operations cannot continue.",
    "date_created": "2026-01-20T22:50:41.145Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 64001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Configuration Error",
    "secondary_message": "Failed to retrieve connector configuration.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Pay: Configuration Error\n\nA 64001 Error is an indication there is something wrong with the `<Pay>` connector configuration.\n\n### Possible causes\n\n- Credentials were removed from configuration.\n- Credentials were modified and are not matching the Connector Type.\n- Configuration is missing Credentials.\n- Configuration contains invalid attributes.\n\n### Possible solutions\n\n- Recreate your `<Pay>` connector configuration.\n",
    "causes": "* Credentials were removed from configuration.\n* Credentials were modified and are not matching the Connector Type.\n* Configuration is missing Credentials.\n* Configuration contains invalid attributes.",
    "solutions": "* Recreate your `<Pay>` connector configuration.",
    "description": "",
    "date_created": "2019-02-26T21:51:39Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Pay: Service unavailable.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Pay: Service unavailable.\n\nA 64002 Error is an indication that there is an internal server error and some internal services failed.\n\n### Possible causes\n\n- Some internal services in Twilio were not available.\n- Payment provider not available.\n\n### Possible solutions\n\n- Try to retry the request.\n- If the error persists, please [contact us](/help/contact) and we can help you resolve the issue.\n- Note the time of the error and what you were trying to do when it occurred.\n",
    "causes": "* Some internal services in Twilio were not available.\n* Payment provider not available.",
    "solutions": "* Try to retry the request.\n* If the error persists, please [contact us](/help/contact) and we can help you resolve the issue.\n* Note the time of the error and what you were trying to do when it occurred.",
    "description": "",
    "date_created": "2019-02-26T21:53:28Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Invalid charge amount.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Pay: Invalid charge amount.\n\nA 64003 Error is an indication that the charge amount is invalid.\n\n### Possible causes\n\n- The chargeAmount attribute has a number of decimals that does not conform to the currency type. For example, more than 2 decimals were provided for US Dollars .\n- chargeAmount attribute is negative.\n\n### Possible solutions\n\n- Make sure the charge amount has correct number of decimal values.\n- Make sure the charge amount is a positive value.\n",
    "causes": "* The chargeAmount attribute has a number of decimals that does not conform to the currency type. For example, more than 2 decimals were provided for US Dollars .\n* chargeAmount attribute is negative.",
    "solutions": "* Make sure the charge amount has correct number of decimal values.\n* Make sure the charge amount is a positive value.",
    "description": "",
    "date_created": "2019-02-26T21:54:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Pay: Invalid paymentConnector attribute in TwiML.",
    "secondary_message": "paymentConnector attribute provided does not reference a connector configuration.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64004 Error is an indication that the value provided with paymentConnector attribute of Pay verb does not match to a Pay Connector configuration. See the [Pay Verb](/docs/voice/twiml/pay#paymentconnector) API Reference.\n\n### Possible solutions\n\n- Make sure that the paymentConnector matches a Unique Name in the `<Pay>` Connector. Go to [this page](/console/voice/pay-connectors) for a list of your Connectors.\n",
    "causes": null,
    "solutions": "* Make sure that the paymentConnector matches a Unique Name in the `<Pay>` Connector. Go to [this page](/console/voice/pay-connectors) for a list of your Connectors.",
    "description": "A 64004 Error is an indication that the value provided with paymentConnector attribute of Pay verb does not match to a Pay Connector configuration. See the [Pay Verb](/docs/voice/twiml/pay#paymentconnector) API Reference.",
    "date_created": "2019-02-26T21:55:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Connector does not support tokenization.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Pay: Connector does not support tokenization.\n\nA 64005 Error is an indication that the request to tokenize credit card failed because the connector does not support tokenization.\n\n### Possible causes\n\n- The paymentConnector attribute points to Connector that does not support tokenization.\n- The chargeAmount attribute in the Pay Verb TwiML was 0 (or omitted) and you intended to charge.\n\n### Possible solutions\n\n- Make sure that the paymentConnector matches a `<Pay>` Connector that supports tokenization.\n- If a charge was intended, please change the chargeAmount attribute and provided a positive value. Please see [this API documentation](/docs/voice/twiml/pay#chargeamount) for more details.\n",
    "causes": "* The paymentConnector attribute points to Connector that does not support tokenization.\n* The chargeAmount attribute in the Pay Verb TwiML was 0 (or omitted) and you intended to charge.",
    "solutions": "* Make sure that the paymentConnector matches a `<Pay>` Connector that supports tokenization.\n* If a charge was intended, please change the chargeAmount attribute and provided a positive value. Please see [this API documentation](/docs/voice/twiml/pay#chargeamount) for more details.",
    "description": "",
    "date_created": "2019-02-26T21:56:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Connector does not support token type.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Pay: Connector does not support token type.\n\nError is an indication that the request to tokenize credit card failed because the connector does not support tokenization.\n\nA 64006 Error is an indication that the request to tokenize of a particular type is not supported by the `<Pay>` connector. For instance, tokenType=\"one-time\" was used but only tokenType=\"reusable\" is supported.\n\n### Possible causes\n\n- The paymentConnector attribute points to a Connector that does not support the requested type of tokenization.\n\n### Possible solutions\n\n- Make sure that the paymentConnector matches a `<Pay>` Connector that supports the tokenization type you want.\n- Make sure you specify the tokenType that matches what you want to perform.\n",
    "causes": "* The paymentConnector attribute points to a Connector that does not support the requested type of tokenization.",
    "solutions": "* Make sure that the paymentConnector matches a `<Pay>` Connector that supports the tokenization type you want.\n* Make sure you specify the tokenType that matches what you want to perform.",
    "description": "",
    "date_created": "2019-02-26T21:57:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Connector does not support creating charge.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Pay: Connector does not support creating charge.\n\nError is an indication that the request to tokenize credit card failed because the connector does not support tokenization.\n\nA 64007 Error is an indication that the request to create a charge on the credit card failed because the connector does not support making charges.\n\n### Possible causes\n\n- The paymentConnector attribute points to a Connector that does not support charging.\n\n### Possible solutions\n\n- Make sure that the paymentConnector matches a `<Pay>` Connector that supports charging.\n- If tokenization was intended, please change the chargeAmount attribute. Please see [this API documentation](/docs/voice/twiml/pay#chargeamount) for more details.\n",
    "causes": "* The paymentConnector attribute points to a Connector that does not support charging.",
    "solutions": "* Make sure that the paymentConnector matches a `<Pay>` Connector that supports charging.\n* If tokenization was intended, please change the chargeAmount attribute. Please see [this API documentation](/docs/voice/twiml/pay#chargeamount) for more details.",
    "description": "",
    "date_created": "2019-02-26T21:59:00Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64008,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Pay: Payment Gateway rejected charge creation.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64008 Error is an indication that the request attempted to perform a charge of a credit card but the attempt failed because the connector returned an error.\n\n### Possible causes\n\n- The `<Pay>` Connector returned an error.\n\n### Possible solutions\n\n- Please see the data returned in the with webhook to action url for more details.\n- Reach out to your Payment Gateway support for more assistance.\n",
    "causes": "* The `<Pay>` Connector returned an error.",
    "solutions": "* Please see the data returned in the with webhook to action url for more details.\n* Reach out to your Payment Gateway support for more assistance.",
    "description": "A 64008 Error is an indication that the request attempted to perform a charge of a credit card but the attempt failed because the connector returned an error.",
    "date_created": "2019-02-26T22:02:35Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Twilio is no longer authorized to initiate transactions on your behalf.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Pay: Twilio is no longer authorized to initiate transactions on your behalf.\n\nA 64009 Error is an indication that the credentials provided in connector configuration no longer allow Twilio to perform requests on behalf of your account.\n\n### Possible causes\n\n- The Twilio application had its privileges revoked from your account.\n\n### Possible solutions\n\n- Create a new connector configuration and run through the scenario where you authorize Twilio to make requests on your behalf again.\n",
    "causes": "* The Twilio application had its privileges revoked from your account.",
    "solutions": "* Create a new connector configuration and run through the scenario where you authorize Twilio to make requests on your behalf again.",
    "description": "",
    "date_created": "2019-02-26T22:03:48Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Pay: Payment Gateway rejected token creation.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64010 Error is an indication that the request to create token was rejected by the Payment Gateway.\n\n### Possible solutions\n\n- Please see the data returned in the with webhook to action url for more details.\n- Reach out to your Payment Gateway support for more assistance.\n",
    "causes": null,
    "solutions": "* Please see the data returned in the with webhook to action url for more details.\n* Reach out to your Payment Gateway support for more assistance.",
    "description": "A 64010 Error is an indication that the request to create token was rejected by the Payment Gateway.",
    "date_created": "2019-02-26T22:04:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64011,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Pay: Connector does not support the requested currency.",
    "secondary_message": "The currency attribute had a value that the Connector did not support.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64011 Error is an indication that the value provided in the currency attribute is not supported by this `<Pay>` Connector.\n\n### Possible causes\n\n- currency is an invalid currency code.\n- currency is not supported by the `<Pay>` Connector.\n",
    "causes": "* currency is an invalid currency code.\n* currency is not supported by the `<Pay>` Connector.",
    "solutions": null,
    "description": "A 64011 Error is an indication that the value provided in the currency attribute is not supported by this `<Pay>` Connector.",
    "date_created": "2019-02-26T22:05:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64012,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Payment Gateway rejected the card.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Pay: Payment Gateway rejected the card.\n\nA 64012 Error is an indication that the provided card was rejected by the Payment Gateway.\n\n### Possible causes\n\n- The card used was rejected by the Payment Gateway.\n\n### Possible solutions\n\n- Check the PaymentError in the response for more detailed information from the Payment Gateway.\n- Prompt the user about the card information again.\n",
    "causes": "* The card used was rejected by the Payment Gateway.",
    "solutions": "* Check the PaymentError in the response for more detailed information from the Payment Gateway.\n* Prompt the user about the card information again.",
    "description": "",
    "date_created": "2019-02-26T22:07:25Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64013,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Connector does not support supplied paymentMethod attribute.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64013 Error is an indication that the provided paymentMethod attribute was not supported by the Connector.\n\n### Possible causes\n\nThe targeted Payment Connector did not support the paymentMethod. For instance, a credit card might have been supplied but the Connector did not support Credit Cards.\n\n### Possible solutions\n\nMake sure the Connector supports the defined paymentMethod attribute.\n",
    "causes": "The targeted Payment Connector did not support the paymentMethod. For instance, a credit card might have been supplied but the Connector did not support Credit Cards.",
    "solutions": "Make sure the Connector supports the defined paymentMethod attribute.",
    "description": "A 64013 Error is an indication that the provided paymentMethod attribute was not supported by the Connector.",
    "date_created": "2019-07-26T17:32:32Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64014,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: ECP/ACH requires AVSName Parameter in the <Pay> verb.",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64014 Error is an indication that the provided paymentMethod attribute \"ach-debit\" was used, but the AVSName Parameter was not found inside the `<Pay>` verb.\n\n### Possible causes\n\nElectronic Check Processing requires a name.\n\n### Possible solutions\n\nMake sure a \"AVSName\" Parameter element exists inside the `<Pay>` verb.\n\nExample:\n\n```bash\n<Pay paymentMethod=\"ach-debit\" ...>\r\n  <Parameter name=\"AVSName\" value=\"john smith\" />\r\n</Pay\n```\n",
    "causes": "Electronic Check Processing requires a name.",
    "solutions": "Make sure a \"AVSName\" Parameter element exists inside the `<Pay>` verb. Example: ```bash\n<Pay paymentMethod=\"ach-debit\" ...>\r\n  <Parameter name=\"AVSName\" value=\"john smith\" />\r\n</Pay\n```",
    "description": "A 64014 Error is an indication that the provided paymentMethod attribute \"ach-debit\" was used, but the AVSName Parameter was not found inside the `<Pay>` verb.",
    "date_created": "2019-08-23T03:55:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64015,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: `<Pay>` verb is missing a needed Parameter",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64015 Error is an indication that the configured connector for the payment method is missing one of the Parameter needed in the `<Pay>` verb.\n\n### Possible causes\n\nThe connector needs a specific Parameter in the `<Pay>` verb\n\n### Possible solutions\n\nThe required parameters for the connector are listed in the \"Description\" section of the connector. The parameters should be passed inside the `<Pay>` verb.\n\nExample:\n\n```bash\n<Pay>\r\n  <Parameter name=\"Parameter Name\" value=\"Parameter Value\" />\r\n</Pay\n```\n\n### Connector Specific Reasons for Error\n\n#### Braintree\n\n- `MerchantAccountId` is required to be passed via a `<Parameter>` noun for all Braintree `<Pay>` executions. This value can be found in the Braintree console by navigating to Settings (gear icon) -> Business.\n- If passing a `description` as a parameter in `<Pay>`, you must also pass the following fields via separate `<Parameter>` nouns: `name`, `kind`, `quantity`, `totalAmount`, `unitAmount`. If you received this error you either left one of these fields out, or passed an invalid value for one of them. See [Braintree Documentation](https://developer.paypal.com/braintree/docs/reference/request/transaction/sale#line_items.description) for more information.\n",
    "causes": "The connector needs a specific Parameter in the `<Pay>` verb",
    "solutions": "The required parameters for the connector are listed in the \"Description\" section of the connector. The parameters should be passed inside the `<Pay>` verb. Example: ```bash\n<Pay>\r\n  <Parameter name=\"Parameter Name\" value=\"Parameter Value\" />\r\n</Pay\n```",
    "description": "A 64015 Error is an indication that the configured connector for the payment method is missing one of the Parameter needed in the `<Pay>` verb.",
    "date_created": "2020-01-07T20:48:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64016,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Invalid Action URL",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64016 Error is an indication there is something wrong with the value provided for the action parameter.\n\n### Possible causes\n\n- Action URL does not use https://\n\n### Possible solutions\n\n- Start your action URL with \"https://\"\n",
    "causes": "* Action URL does not use https://",
    "solutions": "* Start your action URL with \"https://\"",
    "description": "A 64016 Error is an indication there is something wrong with the value provided for the action parameter.",
    "date_created": "2020-05-05T22:54:08Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64017,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: BankAccountType Parameter not supported with PaymentMethod = \"credit-card\"",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64017 Error is an indication there is an unexpected value for the BankAccountNumber parameter.\n\n### Possible causes\n\n- PaymentMethod selected is \"credit-card\" and a value is provided for BankAccountNumber Parameter\n\n### Possible solutions\n\n- Have PaymentMethod as \"ach-debit\" when capturing ACH payments which require a BankAccountNumber\n- Do not provide BankAccountNumber when collecting a credit card payment\n",
    "causes": "* PaymentMethod selected is \"credit-card\" and a value is provided for BankAccountNumber Parameter",
    "solutions": "* Have PaymentMethod as \"ach-debit\" when capturing ACH payments which require a BankAccountNumber\n* Do not provide BankAccountNumber when collecting a credit card payment",
    "description": "A 64017 Error is an indication there is an unexpected value for the BankAccountNumber parameter.",
    "date_created": "2020-05-05T22:58:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64018,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Value needed for either Capture or Status parameters",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64018 Error is an indication that it is not clear whether to capture a piece of payment information or to complete/cancel the transaction.\n\n### Possible causes\n\n- Parameter value not provided for both Capture and Status\n- Parameter value provided for both Capture and Status\n\n### Possible solutions\n\n- Ensure either Capture or Status parameters have a value but not both\n",
    "causes": "* Parameter value not provided for both Capture and Status\n* Parameter value provided for both Capture and Status",
    "solutions": "* Ensure either Capture or Status parameters have a value but not both",
    "description": "A 64018 Error is an indication that it is not clear whether to capture a piece of payment information or to complete/cancel the transaction.",
    "date_created": "2020-05-05T23:00:24Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64019,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Required payment information incomplete",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64019 Error is an indication that the pieces of payment information indicated as required were not captured.\n\n### Possible causes\n\n- Postal code and Security code were marked as required but not captured during the payment flow\n- BankAccountNumber and BankRoutingNumber were not captured\n- Credit Card Number and Expiration Date were not captured\n- Status parameter value was set to \"complete\" before all payment information was captured\n\n### Possible solutions\n\n- Set Status parameter to \"complete\" only after all payment information is received via the Capture parameter\n",
    "causes": "* Postal code and Security code were marked as required but not captured during the payment flow\n* BankAccountNumber and BankRoutingNumber were not captured\n* Credit Card Number and Expiration Date were not captured\n* Status parameter value was set to \"complete\" before all payment information was captured",
    "solutions": "* Set Status parameter to \"complete\" only after all payment information is received via the Capture parameter",
    "description": "A 64019 Error is an indication that the pieces of payment information indicated as required were not captured.",
    "date_created": "2020-05-05T23:05:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64020,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Invalid Parameter Value",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64020 Error is an indication that one or more of the values provided for an attribute or parameter are invalid.\n\n### Possible causes\n\n- Misspelled parameter values\n- Incorrect format for parameter values\n- Unexpcted value for one or more parameters\n\n### Possible solutions\n\n- Ensure that values match what is expected by refering to the API and TwiML docs\n",
    "causes": "* Misspelled parameter values\n* Incorrect format for parameter values\n* Unexpcted value for one or more parameters",
    "solutions": "* Ensure that values match what is expected by refering to the API and TwiML docs",
    "description": "A 64020 Error is an indication that one or more of the values provided for an attribute or parameter are invalid.",
    "date_created": "2020-05-05T23:06:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Invalid Operation",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64021 Error is an indication invalid operation was provided.\n\n### Possible causes\n\n- Start operation on already started Pay session\n\n### Possible solutions\n\n- Make sure to use a valid operation\n",
    "causes": "* Start operation on already started Pay session",
    "solutions": "* Make sure to use a valid operation",
    "description": "A 64021 Error is an indication invalid operation was provided.",
    "date_created": "2020-07-02T16:04:08Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64022,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Invalid Test Card Number",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64022 error is an indication that your Pay Connector is in TEST mode, but you did not provide a valid test card number when testing a payment.\n\n### Possible causes\n\n- Your pay connector is in TEST mode and you provided an invalid test card number when testing a payment. For compliance reasons, we can only allow certain test card numbers in TEST mode.\n\n### Possible solutions\n\n- Check the documentation for the pay connector in the Twilio Console or in our Twilio docs for valid test card numbers that can be used when in TEST mode.\n",
    "causes": "* Your pay connector is in TEST mode and you provided an invalid test card number when testing a payment. For compliance reasons, we can only allow certain test card numbers in TEST mode.",
    "solutions": "* Check the documentation for the pay connector in the Twilio Console or in our Twilio docs for valid test card numbers that can be used when in TEST mode.",
    "description": "A 64022 error is an indication that your Pay Connector is in TEST mode, but you did not provide a valid test card number when testing a payment.",
    "date_created": "2023-04-12T16:26:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Invalid Test Bank Account Number",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64023 error is an indication that your Pay Connector is in TEST mode, but you did not provide a valid test bank account number when testing an ACH payment.\n\n### Possible causes\n\n- Your pay connector is in TEST mode and you provided an invalid test bank account number when testing an ACH payment. For compliance reasons, we can only allow certain test bank account numbers in TEST mode.\n\n### Possible solutions\n\n- Check the documentation for the pay connector in the Twilio Console or in our Twilio docs for valid bank account numbers that can be used when in TEST mode.\n",
    "causes": "* Your pay connector is in TEST mode and you provided an invalid test bank account number when testing an ACH payment. For compliance reasons, we can only allow certain test bank account numbers in TEST mode.",
    "solutions": "* Check the documentation for the pay connector in the Twilio Console or in our Twilio docs for valid bank account numbers that can be used when in TEST mode.",
    "description": "A 64023 error is an indication that your Pay Connector is in TEST mode, but you did not provide a valid test bank account number when testing an ACH payment.",
    "date_created": "2023-04-12T16:27:48Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64024,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Pay: Connector Instance Not Approved",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThis connector instance has not been approved by Twilio. Please contact Twilio support to gain approval for LIVE transactions.\n\n### Possible causes\n\nThis is caused by your connector instance not having been approved by Twilio for LIVE transactions. You must go through a PCI review in order to gain approval for LIVE transactions.\n\n### Possible solutions\n\nContact Twilio Support in order to gain approval for LIVE transactions for the specific connector instance.\n",
    "causes": "This is caused by your connector instance not having been approved by Twilio for LIVE transactions. You must go through a PCI review in order to gain approval for LIVE transactions.",
    "solutions": "Contact Twilio Support in order to gain approval for LIVE transactions for the specific connector instance.",
    "description": "This connector instance has not been approved by Twilio. Please contact Twilio support to gain approval for LIVE transactions.",
    "date_created": "2023-04-12T16:28:32Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: Invalid Parameter",
    "secondary_message": "Invalid parameter provided to the TwiML.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64101 Error is an indication there is something wrong with the `<ConversationRelay>` parameters.\n\n### Possible causes\n\n- One of the submitted attributes to the TwiML is invalid.\n\n### Possible solutions\n\n- Validate that parameters provided are corrected.\n",
    "causes": "* One of the submitted attributes to the TwiML is invalid.",
    "solutions": "* Validate that parameters provided are corrected.",
    "description": "A 64101 Error is an indication there is something wrong with the `<ConversationRelay>` parameters.",
    "date_created": "2024-10-30T16:13:05Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: Unable to Connect to Websocket URL",
    "secondary_message": "Failed to connect to websocket URL.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64102 Error is an indication there is something wrong with the `<ConversationRelay>` url parameter when Twilio attempted to connect to it.\n\n### Possible causes\n\n- The url parameter was incorrectly entered\n- There is not a websocket server available at the url\n- The websocket server at the url is not responding correctly\n\n### Possible solutions\n\n- Make sure the url parameter was entered correctly\n- Make sure the websocket server is running at said url\n- Make sure the websocket server is healthy and able to respond properly\n",
    "causes": "* The url parameter was incorrectly entered\n* There is not a websocket server available at the url\n* The websocket server at the url is not responding correctly",
    "solutions": "* Make sure the url parameter was entered correctly\n* Make sure the websocket server is running at said url\n* Make sure the websocket server is healthy and able to respond properly",
    "description": "A 64102 Error is an indication there is something wrong with the `<ConversationRelay>` url parameter when Twilio attempted to connect to it.",
    "date_created": "2024-10-30T16:23:48Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64103,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "ConversationRelay: Internal Server Error",
    "secondary_message": "An Internal Server Error happened when executing ConversationRelay logic.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA 64103 Error is an indication there something happened internal in Twilio that affected your call.\n\n### Possible causes\n\n- Network issues\n- Other unknown issues\n\n### Possible solutions\n\n- Retry\n- Contact Twilio with identifying information about this call\n",
    "causes": "* Network issues\n* Other unknown issues",
    "solutions": "* Retry\n* Contact Twilio with identifying information about this call",
    "description": "A 64103 Error is an indication there something happened internal in Twilio that affected your call.",
    "date_created": "2024-10-30T16:26:27Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: Max call duration reached",
    "secondary_message": "The maximum call duration was reached and the call was terminated",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio Voice has a hard limit to the length of a call, once that is reached the call is terminated.\n\n### Possible causes\n\n- This call reached the maximum duration.\n\n### Possible solutions\n\n- None at this moment.\n",
    "causes": "* This call reached the maximum duration.",
    "solutions": "* None at this moment.",
    "description": "Twilio Voice has a hard limit to the length of a call, once that is reached the call is terminated.",
    "date_created": "2024-10-30T16:28:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64105,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: Websocket ended",
    "secondary_message": "Websocket was disconnected during an ongoing call",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe websocket disconnected from the server side during an ongoing call\n\n### Possible causes\n\n- The websocket server at the url is no longer healthy\n- Possible software problem in the websocket server (not Twilio)\n- Network issues\n\n### Possible solutions\n\n- Make sure the websocket server at the url is healthy\n- Investigate logs on the websocket server to see why the disconnect happened\n",
    "causes": "* The websocket server at the url is no longer healthy\n* Possible software problem in the websocket server (not Twilio)\n* Network issues",
    "solutions": "* Make sure the websocket server at the url is healthy\n* Investigate logs on the websocket server to see why the disconnect happened",
    "description": "The websocket disconnected from the server side during an ongoing call",
    "date_created": "2024-10-30T16:31:19Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64106,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: Invalid argument",
    "secondary_message": "During media setup an error was encountered due to invalid argument",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nDuring media setup an error was encountered due to invalid argument.\n\n### Possible causes\n\n- One of the parameters in to ConversationRelay is not supported by the chosen provider See message for more details\n\n### Possible solutions\n\n- Make sure the language and voice combinations are supported from the chosen provider.\n",
    "causes": "* One of the parameters in to ConversationRelay is not supported by the chosen provider See message for more details",
    "solutions": "* Make sure the language and voice combinations are supported from the chosen provider.",
    "description": "During media setup an error was encountered due to invalid argument.",
    "date_created": "2024-10-30T16:34:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64107,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: Invalid Message Received",
    "secondary_message": "ConversationRelay received a message from websocket server that it could not process",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nA message was received on the websocket that did not match any of the supported messages that ConversationRelay can act upon.\n\n### Possible causes\n\n- The websocket server is sending ConversationRelay a message that is not supported\n- A component in front of the websocket server (API Gateway or Load Balancer) is sending ConversationRelay a message it cannot process\n\n### Possible solutions\n\n- Make sure all messages sent are conforming to the ConversationRelay websocket specification\n- Make sure error handling is not sending back errors over the websocket to ConversationRelay\n- Make sure API Gateways and Load Balancers are configured to not send errors to the ConversationRelay\n\nLooking at the message can give an insight into why this might happen.\n",
    "causes": "* The websocket server is sending ConversationRelay a message that is not supported\n* A component in front of the websocket server (API Gateway or Load Balancer) is sending ConversationRelay a message it cannot process",
    "solutions": "* Make sure all messages sent are conforming to the ConversationRelay websocket specification\n* Make sure error handling is not sending back errors over the websocket to ConversationRelay\n* Make sure API Gateways and Load Balancers are configured to not send errors to the ConversationRelay Looking at the message can give an insight into why this might happen.",
    "description": "A message was received on the websocket that did not match any of the supported messages that ConversationRelay can act upon.",
    "date_created": "2024-10-30T16:36:05Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64108,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "ConversationRelay: RTP Timeout",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nAn RTP timeout is detected, meaning that audio stopped flowing.\n\n### Possible causes\n\n- Phone call finished\n- Carrier stopped sending audio to Twilio\n\n### Possible solutions\n\n- Contact Twilio support\n",
    "causes": "* Phone call finished\n* Carrier stopped sending audio to Twilio",
    "solutions": "* Contact Twilio support",
    "description": "An RTP timeout is detected, meaning that audio stopped flowing.",
    "date_created": "2024-10-30T16:42:43Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64109,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: Concurrency limit reached",
    "secondary_message": "The concurrency limit for ConversationRelay was reached for this account",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe call was rejected because you reached the maximum limit of concurrent calls available for your account.\n\n### Possible causes\n\nThe allowed concurrencylimit on your account was reached.\n\n### Possible solutions\n\nIf needed, reach out to Twilio to see if they can increase your concurrency limit.\n",
    "causes": "The allowed concurrencylimit on your account was reached.",
    "solutions": "If needed, reach out to Twilio to see if they can increase your concurrency limit.",
    "description": "The call was rejected because you reached the maximum limit of concurrent calls available for your account.",
    "date_created": "2024-10-30T16:47:10Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64110,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: Account has been opted out",
    "secondary_message": "The account has been opted out of ConversationRelay.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe call was rejected because your account has been opted out of ConversationRelay.\n\n### Possible causes\n\nAccount opted out of ConversationRelay.\n\n### Possible solutions\n\nReach out to Twilio to enable ConversationRelay for your account.\n",
    "causes": "Account opted out of ConversationRelay.",
    "solutions": "Reach out to Twilio to enable ConversationRelay for your account.",
    "description": "The call was rejected because your account has been opted out of ConversationRelay.",
    "date_created": "2024-11-21T22:12:00Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64111,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: TTS provider service error",
    "secondary_message": "Error encountered while requesting TTS provider to convert tokens to speech",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTokens could not be converted to speech and played because there was an error in the service of the TTS provider.\n\n### Possible causes\n\nOperational abnormality in the service of TTS provider\n\n### Possible solutions\n\nMonitor the situation and/or switch over to use a different TTS provider temporarily\n",
    "causes": "Operational abnormality in the service of TTS provider",
    "solutions": "Monitor the situation and/or switch over to use a different TTS provider temporarily",
    "description": "Tokens could not be converted to speech and played because there was an error in the service of the TTS provider.",
    "date_created": "2025-09-03T18:57:12.911Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 64112,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ConversationRelay: TTS conversion error",
    "secondary_message": "Error encountered while tokens were converted to speech by the TTS provider",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTokens could not be converted to speech and played because there was an error in conversion parameters\n\n### Possible causes\n\nWrong voice, model or other parameters\n\n### Possible solutions\n\nCorrect the choice of voice, model or other parameters\n",
    "causes": "Wrong voice, model or other parameters",
    "solutions": "Correct the choice of voice, model or other parameters",
    "description": "Tokens could not be converted to speech and played because there was an error in conversion parameters",
    "date_created": "2025-09-03T19:00:12.812Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 65000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid phone number",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSender phone number is invalid\n\n### Possible causes\n\nPhone number is not valid e164 formatted number\n\n### Possible solutions\n\nPhone should be valid e164 formatted number\n",
    "causes": "Phone number is not valid e164 formatted number",
    "solutions": "Phone should be valid e164 formatted number",
    "description": "Sender phone number is invalid",
    "date_created": "2019-11-15T00:43:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 65001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sender profile name missing",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSender profile name is missing. In the case of WhatsApp this is the business name on the WABA.\n\n### Possible causes\n\nWhatsapp Sender profile name is missing\n\n### Possible solutions\n\nMake sure sender name is passed correctly\n",
    "causes": "Whatsapp Sender profile name is missing",
    "solutions": "Make sure sender name is passed correctly",
    "description": "Sender profile name is missing. In the case of WhatsApp this is the business name on the WABA.",
    "date_created": "2019-11-15T00:46:02Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 65003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid pin",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nOptional 6-digit PIN — This is only required when two-factor verification is enabled on this account. The two factor pin is only needed if the number has already been registered in the past and has a pin set up.\n\n### Possible causes\n\nPin is not 6-digit\n\n### Possible solutions\n\nMake sure pin is 6 digit\n",
    "causes": "Pin is not 6-digit",
    "solutions": "Make sure pin is 6 digit",
    "description": "Optional 6-digit PIN — This is only required when two-factor verification is enabled on this account. The two factor pin is only needed if the number has already been registered in the past and has a pin set up.",
    "date_created": "2019-11-15T00:50:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 65004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid method",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nMethod of receiving your registration code. Defaults to sms. Options: voice, sms.\n\n### Possible causes\n\nMethod is not voice or sms\n\n### Possible solutions\n\nMethod should be either voice or sms\n",
    "causes": "Method is not voice or sms",
    "solutions": "Method should be either voice or sms",
    "description": "Method of receiving your registration code. Defaults to sms. Options: voice, sms.",
    "date_created": "2019-11-15T00:54:56Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 65005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Code' is invalid. Code should be 6 characters",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nVerification code is invalid. Code should be 6 characters\n\n### Possible causes\n\nCode is not 6 characters\n\n### Possible solutions\n\nMake sure 'Code' is 6 characters long\n",
    "causes": "Code is not 6 characters",
    "solutions": "Make sure 'Code' is 6 characters long",
    "description": "Verification code is invalid. Code should be 6 characters",
    "date_created": "2019-11-15T00:57:30Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 65006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account does not have sender",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nSender account differs from account associated with Sender Sid\n\n### Possible causes\n\nSender account differs from account associated with Sender Sid\n\n### Possible solutions\n\nMake sure Account has this Sender Sid\n",
    "causes": "Sender account differs from account associated with Sender Sid",
    "solutions": "Make sure Account has this Sender Sid",
    "description": "Sender account differs from account associated with Sender Sid",
    "date_created": "2019-11-15T01:00:18Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 65007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid account",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nAccount not found\n\n### Possible causes\n\nAccount not found or Account is in trial or not active\n\n### Possible solutions\n\nMake sure Account is valid, active and not trial account\n",
    "causes": "Account not found or Account is in trial or not active",
    "solutions": "Make sure Account is valid, active and not trial account",
    "description": "Account not found",
    "date_created": "2019-11-15T01:01:44Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 65008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Too many requests",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nToo many calls to Register by same sender phone number. Please wait at least for few min before next call.\n\n### Possible causes\n\nToo many registration calls\n\n### Possible solutions\n\nWait for some time before next attempt\n",
    "causes": "Too many registration calls",
    "solutions": "Wait for some time before next attempt",
    "description": "Too many calls to Register by same sender phone number. Please wait at least for few min before next call.",
    "date_created": "2019-11-15T01:04:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 68001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Network Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while calling the API.\n\n### Possible causes\n\nIt was not possible to communicate properly with the API.\n\n### Possible solutions\n\nCheck parameters and retry\n",
    "causes": "It was not possible to communicate properly with the API.",
    "solutions": "Check parameters and retry",
    "description": "An error occurred while calling the API.",
    "date_created": "2020-09-15T18:11:22Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 68002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Mapper Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while mapping an entity.\n\n### Possible causes\n\nUnexpected entity format.\n\n### Possible solutions\n\nCreate a new factor.\n",
    "causes": "Unexpected entity format.",
    "solutions": "Create a new factor.",
    "description": "An error occurred while mapping an entity.",
    "date_created": "2020-09-15T18:12:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 68003,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Storage Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while storing/loading an entity.\n\n### Possible causes\n\n- Storage may be corrupted.\n- Factor not found.\n\n### Possible solutions\n\nCreate a new factor.\n",
    "causes": "* Storage may be corrupted.\n* Factor not found.",
    "solutions": "Create a new factor.",
    "description": "An error occurred while storing/loading an entity.",
    "date_created": "2020-09-15T18:12:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 68004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Input Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while loading input.\n\n### Possible causes\n\nSome inputs are invalid.\n\n### Possible solutions\n\nCheck parameters and retry.\n",
    "causes": "Some inputs are invalid.",
    "solutions": "Check parameters and retry.",
    "description": "An error occurred while loading input.",
    "date_created": "2020-09-15T18:13:46Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 68005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Key Storage Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while storing/loading keypairs.\n\n### Possible causes\n\n- Keypair not set.\n- Keypair could not be created.\n- Signature failed.\n\n### Possible solutions\n\nCreate a new factor.\n",
    "causes": "* Keypair not set.\n* Keypair could not be created.\n* Signature failed.",
    "solutions": "Create a new factor.",
    "description": "An error occurred while storing/loading keypairs.",
    "date_created": "2020-09-15T18:14:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 68006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Initialization Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while initializing a class.\n\n### Possible causes\n\nMissing arguments to initialize a class.\n\n### Possible solutions\n\nCheck parameters and retry.\n",
    "causes": "Missing arguments to initialize a class.",
    "solutions": "Check parameters and retry.",
    "description": "An error occurred while initializing a class.",
    "date_created": "2020-09-15T18:15:32Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 68007,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Authentication Token Error",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nAn error occurred while generating a token.\n\n### Possible causes\n\nUnsupported factor type.\n\n### Possible solutions\n\nCheck parameters and retry.\n",
    "causes": "Unsupported factor type.",
    "solutions": "Check parameters and retry.",
    "description": "An error occurred while generating a token.",
    "date_created": "2020-09-15T18:16:22Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 68008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Verify WhatsApp channel not configured",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nVerify WhatsApp channel not configured.\n\n### Possible causes\n\n- Your WhatsApp Business Account (WABA) does not meet Meta's [commerce policy](https://business.whatsapp.com/policy).\n- Your verification creation request failed due to a missing Messaging Service / Verify WhatsApp Sender.\n- Missing or misconfigured WhatsApp Authentication templates.\n\n### Possible solutions\n\n- Correctly set up your WABA to [bring your own WhatsApp Sender](/docs/verify/whatsapp/byo).\n- Contact our support team for Authentication template issues.\n- Enable SMS channel as a [fallback](/docs/verify/fallback-scenarios) for Verify.\n",
    "causes": "* Your WhatsApp Business Account (WABA) does not meet Meta's [commerce policy](https://business.whatsapp.com/policy).\n* Your verification creation request failed due to a missing Messaging Service / Verify WhatsApp Sender.\n* Missing or misconfigured WhatsApp Authentication templates.",
    "solutions": "* Correctly set up your WABA to [bring your own WhatsApp Sender](/docs/verify/whatsapp/byo).\n* Contact our support team for Authentication template issues.\n* Enable SMS channel as a [fallback](/docs/verify/fallback-scenarios) for Verify.",
    "description": "Verify WhatsApp channel not configured.",
    "date_created": "2025-03-14T22:16:48Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70001,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Validation Failed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request body is syntactically correct, the body was successfully parsed, but the data in the body violates the constraints.\n\n### Possible causes\n\n- Performing an update to the \"FriendlyName\" with a string longer than the allowed 64 characters.\n- Updating a field that cannot have a null value to a null.\n",
    "causes": "* Performing an update to the \"FriendlyName\" with a string longer than the allowed 64 characters.\n* Updating a field that cannot have a null value to a null.",
    "solutions": null,
    "description": "The Request body is syntactically correct, the body was successfully parsed, but the data in the body violates the constraints.",
    "date_created": "2017-04-14T20:28:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70002,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Bad request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe data in the request is unparsable.\n\n### Possible causes\n\n- When sending a string field \"abc\" when an intValue is expected\n- When sending invalid JSON in the request body\n",
    "causes": "* When sending a string field \"abc\" when an intValue is expected\n* When sending invalid JSON in the request body",
    "solutions": null,
    "description": "The data in the request is unparsable.",
    "date_created": "2017-04-14T20:35:35Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70003,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Outdated Entity",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request tries to update a resource that has been already updated (by someone else). Only applies if the resource uses a version field.\n\n### Possible causes\n\n- When sending an update request that contains field: \"version: 1\" and the server recognizes that the actual version of the resource is already 2.\n\n### Possible Solution:\n\n- Reload the resource with a `GET` request to get the latest version.\n",
    "causes": "* When sending an update request that contains field: \"version: 1\" and the server recognizes that the actual version of the resource is already 2.",
    "solutions": null,
    "description": "The request tries to update a resource that has been already updated (by someone else). Only applies if the resource uses a version field.",
    "date_created": "2017-04-14T20:37:58Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unauthorized",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request does not contain any authorization information (most cases: credentials) or the credentials and the resource have no relation.\n\n### Possible causes\n\n- When omitting the Auth header from HTTP request\n- Passing an Auth header to access a resource that belongs to some other account.\n",
    "causes": "* When omitting the Auth header from HTTP request\n* Passing an Auth header to access a resource that belongs to some other account.",
    "solutions": null,
    "description": "The Request does not contain any authorization information (most cases: credentials) or the credentials and the resource have no relation.",
    "date_created": "2017-04-14T20:39:48Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70005,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failure Threshold Exceeded",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nToo many unsuccessful requests against Twilio API.\n\n### Possible causes\n\n- The requests try to repeatedly access a deleted resource\n- The requests try to repeatedly access an invalid resource\n\n### Possible Solution:\n\n- Slow down the requests\n- Validate whether the given resource exists\n",
    "causes": "* The requests try to repeatedly access a deleted resource\n* The requests try to repeatedly access an invalid resource",
    "solutions": null,
    "description": "Too many unsuccessful requests against Twilio API.",
    "date_created": "2017-05-05T16:16:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70051,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Authorization Failed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio could not authorize the given request.\n\n### Possible causes\n\n- The Account is not found or is suspended\n- The API key is not found or is suspended\n- The Credentials used for authorization do not belong to the given account\n- If using a Restricted API Key - the key may be missing a permission to access the resource\n- If using a Restricted API Key - permission to access the resource may not be supported\n- If using an OAuth app - the Client ID may be missing a scope/permission to access the resource\n- If using an OAuth app - permission to access the resource may not be supported\n\n### Possible solutions\n\n- Make sure the account or the API key are valid and active\n- If using a Restricted API Key - add the missing permission to the key\n- If using a Restricted API Key - use a Main/Standard type API key\n- If using an OAuth app - add the missing scope/permission to the OAuth app.\n- If using an OAuth app - use a Main/Standard type API key\n",
    "causes": "* The Account is not found or is suspended\n* The API key is not found or is suspended\n* The Credentials used for authorization do not belong to the given account\n* If using a Restricted API Key - the key may be missing a permission to access the resource\n* If using a Restricted API Key - permission to access the resource may not be supported\n* If using an OAuth app - the Client ID may be missing a scope/permission to access the resource\n* If using an OAuth app - permission to access the resource may not be supported",
    "solutions": "* Make sure the account or the API key are valid and active\n* If using a Restricted API Key - add the missing permission to the key\n* If using a Restricted API Key - use a Main/Standard type API key\n* If using an OAuth app - add the missing scope/permission to the OAuth app.\n* If using an OAuth app - use a Main/Standard type API key",
    "description": "Twilio could not authorize the given request.",
    "date_created": "2017-05-05T16:17:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70052,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Public Key Client Validation Required For Account",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe account is only allowed to perform Public Key Client Validation requests at Twilio. All other types of authentication are disabled for the account.\n\n### Possible causes\n\n- The Twilio-Client-Validation is not present in the request.\n\n### Possible Solution:\n\n- Ensure the Twilio-Client-Validation header is present in the request and valid.\n- Disable forcing Client Validation feature at the Console if not needed.\n",
    "causes": "* The Twilio-Client-Validation is not present in the request.",
    "solutions": null,
    "description": "The account is only allowed to perform Public Key Client Validation requests at Twilio. All other types of authentication are disabled for the account.",
    "date_created": "2017-05-05T16:19:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70053,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Public Key Client Validation Not Enabled For Account",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request attempted to use the Public Key Client Validation but the functionality is not enabled for this account.\n\n### Possible Solution:\n\n- Ensure your Account is enabled for this feature.\n- Remove the Twilio-Client-Validation header from your request\n",
    "causes": null,
    "solutions": null,
    "description": "The request attempted to use the Public Key Client Validation but the functionality is not enabled for this account.",
    "date_created": "2017-05-05T16:20:36Z",
    "last_updated": "2020-08-04T10:00:18.837Z"
  },
  {
    "code": 70101,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unsupported Public Key Algorithm",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request tries to store a Public Key in Twilio. This public key can be parsed, but the request fails, because the key uses an unsupported algorithm.\n\n### Possible causes\n\n- Wrong public key algorithm. Only supported algorithm is RSA.\n\n### Possible Solution\n\n- Regenerate a new keypair with RSA encryption and retry.\n",
    "causes": "* Wrong public key algorithm. Only supported algorithm is RSA.",
    "solutions": null,
    "description": "The Request tries to store a Public Key in Twilio. This public key can be parsed, but the request fails, because the key uses an unsupported algorithm.",
    "date_created": "2017-04-14T20:43:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70102,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unsupported Public Key Length",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request tries to store a Public Key in Twilio. This public key can be parsed, has a correct encryption algorithm, but the request fails because the key has an invalid length.\n\n### Possible causes\n\n- Public key lenght different than 2048.\n\n### Possible Solution\n\n- Regenerate a new keypair with length 2048 and retry.\n",
    "causes": "* Public key lenght different than 2048.",
    "solutions": null,
    "description": "The Request tries to store a Public Key in Twilio. This public key can be parsed, has a correct encryption algorithm, but the request fails because the key has an invalid length.",
    "date_created": "2017-04-14T20:50:40Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70103,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unsupported Public Key Exponent",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request tries to store a Public Key in Twilio. This public key can be parsed, has a correct encryption algorithm, but the request fails because the key exponent has an invalid length.\n\n### Possible causes\n\n- Public key key exponent different than 65537.\n\n### Possible Solution\n\n- Regenerate a new keypair with exponent 65537 and retry.\n",
    "causes": "* Public key key exponent different than 65537.",
    "solutions": null,
    "description": "The Request tries to store a Public Key in Twilio. This public key can be parsed, has a correct encryption algorithm, but the request fails because the key exponent has an invalid length.",
    "date_created": "2017-04-14T20:53:22Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70104,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Public Key",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request tries to store a Public Key in Twilio. This public key cannot be parsed. Only supported key format is X.509 PEM. The prefix and suffix (-----BEGIN PUBLIC KEY-----) of the key can be present (but not mandatory).\n\n### Possible Solution:\n\nMake sure the public key is correct in the request:\n\n- The key is in X.509 PEM format\n- There are no copy paste errors\n- All the parts of the key are present in the request.\n",
    "causes": null,
    "solutions": null,
    "description": "The Request tries to store a Public Key in Twilio. This public key cannot be parsed. Only supported key format is X.509 PEM. The prefix and suffix (-----BEGIN PUBLIC KEY-----) of the key can be present (but not mandatory).",
    "date_created": "2017-04-14T20:57:56Z",
    "last_updated": "2020-08-04T10:00:19.8Z"
  },
  {
    "code": 70105,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid Type Specified in the Request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nWhen using a Twilio Resource that supports working with different types of Twilio Credentials (Public Key Credentials, Push Credentials) the request must contain type(s) that is recognized by the resource.\n\n### Possible Solution:\n\n- Check the API documents to verify the correct credential type(s) were used in the request.\n",
    "causes": null,
    "solutions": null,
    "description": "When using a Twilio Resource that supports working with different types of Twilio Credentials (Public Key Credentials, Push Credentials) the request must contain type(s) that is recognized by the resource.",
    "date_created": "2017-04-14T20:59:28Z",
    "last_updated": "2020-08-04T10:00:19.782Z"
  },
  {
    "code": 70106,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid AWS credentials",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nWhen uploading AWS credentials to Twilio make sure:\n\n- AWS key matches the regex: (?\\<!\\[A-Z0-9])\\[A-Z0-9]\\{20}(?!\\[A-Z0-9])\n- AWS secret matches the regex: (?\\<!\\[A-Za-z0-9/+=])\\[A-Za-z0-9/+=]\\{40}(?!\\[A-Za-z0-9/+=])\n\n### Possible Solution:\n\n- Validate the credentials and upload them again.\n",
    "causes": null,
    "solutions": null,
    "description": "When uploading AWS credentials to Twilio make sure: - AWS key matches the regex: (?\\<!\\[A-Z0-9])\\[A-Z0-9]{20}(?!\\[A-Z0-9])\n- AWS secret matches the regex: (?\\<!\\[A-Za-z0-9/+=])\\[A-Za-z0-9/+=]{40}(?!\\[A-Za-z0-9/+=])",
    "date_created": "2017-08-03T11:53:37Z",
    "last_updated": "2020-08-04T10:00:17.979Z"
  },
  {
    "code": 70151,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Maximum Number Of API Keys Exceeded",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe account reached the maximum limit of API Keys allowed.\n\n### Possible Solution:\n\n- Delete unused API Keys before creating additional ones.\n",
    "causes": null,
    "solutions": null,
    "description": "The account reached the maximum limit of API Keys allowed.",
    "date_created": "2017-05-05T16:25:00Z",
    "last_updated": "2020-08-04T10:00:18.809Z"
  },
  {
    "code": 70152,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Request Contains Invalid Flags",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nOne or more of the provided flags in the API key request are invalid in the given context.\n\n### Possible causes\n\n- An API key is attempting to create a new key with greater permissions than what it is assigned.\n\n### Possible Solution:\n\n- Remove the invalid flag(s) that would expand permissions.\n",
    "causes": "* An API key is attempting to create a new key with greater permissions than what it is assigned.",
    "solutions": null,
    "description": "One or more of the provided flags in the API key request are invalid in the given context.",
    "date_created": "2017-05-05T16:31:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70153,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Public Key Specified Does Not Exist",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Public Key with the SID provided in the JWT header does exist. This is a Public Key Client Validation Error.\n\n### Possible Solution:\n\n- Update the kid value provided in the JWT header.\n- For the details on JWTs used as part of Public Key Client Validation, see [the documentation](/docs/iam/pkcv/quickstart)\n",
    "causes": null,
    "solutions": null,
    "description": "The Public Key with the SID provided in the JWT header does exist. This is a Public Key Client Validation Error.",
    "date_created": "2017-05-05T16:33:26Z",
    "last_updated": "2020-08-04T10:00:18.742Z"
  },
  {
    "code": 70154,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Public Key Is Invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Public Key provided to Twilio is invalid. This is a Public Key Client Validation Error.\n\n### Possible Solution:\n\n- Upload a new, valid Public Key.\n- For details on the Credentials Endpoint, see [the documentation](/docs/iam/pkcv)\n",
    "causes": null,
    "solutions": null,
    "description": "The Public Key provided to Twilio is invalid. This is a Public Key Client Validation Error.",
    "date_created": "2017-05-05T16:39:08Z",
    "last_updated": "2020-08-04T10:00:18.722Z"
  },
  {
    "code": 70155,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Request Is Missing Required HTTP Headers",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe JWT received by Twilio along with the request has defined a set of HTTP headers that must be validated. The actual request is missing at least one of those headers. This is a Public Key Client Validation Error.\n\n### Possible Solution:\n\n- Make sure you are using the latest Twilio helper library.\n- Make sure the JWT does not declare unnecessary headers.\n- For the details on JWTs used as part of Public Key Client Validation, see [the documentation](/docs/iam/pkcv/quickstart)\n",
    "causes": null,
    "solutions": null,
    "description": "The JWT received by Twilio along with the request has defined a set of HTTP headers that must be validated. The actual request is missing at least one of those headers. This is a Public Key Client Validation Error.",
    "date_created": "2017-05-05T16:40:23Z",
    "last_updated": "2020-08-04T10:00:18.667Z"
  },
  {
    "code": 70156,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Request Hash Is Invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request hash that is declared in the JWT does not match the given request's hash calculated by Twilio. This is a Public Key Client Validation Error.\n\n### Possible Solution:\n\n- Make sure you are using the latest Twilio helper library. If not using the library, make sure the request hash is calculated on the canonicalized HTTP request and the same canonicalization is used.\n- For the details on JWTs used as part of Public Key Client Validation, see [the documentation](/docs/iam/pkcv/quickstart)\n",
    "causes": null,
    "solutions": null,
    "description": "The request hash that is declared in the JWT does not match the given request's hash calculated by Twilio. This is a Public Key Client Validation Error.",
    "date_created": "2017-05-05T16:39:55Z",
    "last_updated": "2020-08-04T10:00:18.701Z"
  },
  {
    "code": 70251,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Bad SSO Settings",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request tries to authenticate through SSO. The request is well-formed, but the configured settings for the SSO is not valid.\n\n### Possible causes\n\n- Malformed urls\n- Missing certificates\n\n### Possible Solution\n\n- Reconfigure the SSO settings and retry.\n",
    "causes": "* Malformed urls\n* Missing certificates",
    "solutions": null,
    "description": "The Request tries to authenticate through SSO. The request is well-formed, but the configured settings for the SSO is not valid.",
    "date_created": "2018-07-26T21:18:48Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70252,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Bad Saml Response",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request tries to authenticate through SSO. The request is well-formed, but the response from the Identity Provider is missing necessary attributes.\n\n### Possible causes\n\n- Misconfigured Identity Provider settings\n\n### Possible Solution\n\n- Reconfigure the Identity Provider settings and retry.\n",
    "causes": "* Misconfigured Identity Provider settings",
    "solutions": null,
    "description": "The Request tries to authenticate through SSO. The request is well-formed, but the response from the Identity Provider is missing necessary attributes.",
    "date_created": "2018-07-26T21:27:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70253,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Invalid User Grants",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Request tries to authenticate through SSO. The request is well-formed, but the user grants stored is not a valid grants form.\n\n### Possible causes\n\n- Invalid User Grants.\n\n### Possible Solution\n\n- Reconfigure the user grants and retry.\n",
    "causes": "* Invalid User Grants.",
    "solutions": null,
    "description": "The Request tries to authenticate through SSO. The request is well-formed, but the user grants stored is not a valid grants form.",
    "date_created": "2018-07-26T21:31:58Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70301,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Organization signup forbidden",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nSignup with the organization domain is forbidden by the organization\n\n### Possible causes\n\nSignup with the organization domain is forbidden by the organization\n\n### Possible solutions\n\nContact the organization's Twilio administrator\n",
    "causes": "Signup with the organization domain is forbidden by the organization",
    "solutions": "Contact the organization's Twilio administrator",
    "description": "Signup with the organization domain is forbidden by the organization",
    "date_created": "2021-06-17T02:27:36Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 70302,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Organization signup limit",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nOrganization has reached its limits\n\n### Possible causes\n\nOrganization has reached its limits\n\n### Possible solutions\n\nContact organization's Twilio administrator\n",
    "causes": "Organization has reached its limits",
    "solutions": "Contact organization's Twilio administrator",
    "description": "Organization has reached its limits",
    "date_created": "2021-06-17T02:29:47Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 77201,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Wireless Commands max body length exceeded",
    "secondary_message": "Wireless Commands inbound and outbound cannot be more that 160 text characters or 140 bytes for binary",
    "product": null,
    "docs": "\n## Description\n\nThe body text of your message should be 160 characters or less. The body of binary message should be 140 bytes or less.\n",
    "causes": null,
    "solutions": null,
    "description": "The body text of your message should be 160 characters or less. The body of binary message should be 140 bytes or less.",
    "date_created": "2016-10-24T20:03:44Z",
    "last_updated": "2020-08-04T02:00:17.932Z"
  },
  {
    "code": 80101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Number Already Added to Another Service",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nA phone number can be added in one service at a time.\n\n### Possible causes\n\nPhone Number has already been added to another Service.\n\n### Possible solutions\n\nAdd a different phone number or remove the number from the relevant Proxy Service.\n",
    "causes": "Phone Number has already been added to another Service.",
    "solutions": "Add a different phone number or remove the number from the relevant Proxy Service.",
    "description": "A phone number can be added in one service at a time.",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80102,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Participant Already In Interaction",
    "secondary_message": "Participant has already been added to Interaction",
    "product": null,
    "docs": "\n## Description\n\n### Participant Already In Interaction\n\nExample Message: Participant has already been added to Interaction\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:16.271Z"
  },
  {
    "code": 80103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant Already In Session",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nThe identifier is already a participant in the Session\n\n### Possible causes\n\nParticipant has already been added to the Session\n\n### Possible solutions\n\nCreate a new Session to add this participant, or add a new participant in the Session.\n",
    "causes": "Participant has already been added to the Session",
    "solutions": "Create a new Session to add this participant, or add a new participant in the Session.",
    "description": "The identifier is already a participant in the Session",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80104,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Phone Number Already In Service",
    "secondary_message": "PhoneNumber has already been added to Service",
    "product": null,
    "docs": "\n## Description\n\n### Phone Number Already In Service\n\nExample Message: PhoneNumber has already been added to Service\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:16.205Z"
  },
  {
    "code": 80105,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Short Code Already In Service",
    "secondary_message": "ShortCode has already been added to Service",
    "product": null,
    "docs": "\n## Description\n\n### Short Code Already In Service\n\nExample Message: ShortCode has already been added to Service\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:16.188Z"
  },
  {
    "code": 80201,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "No Available Voice Proxy",
    "secondary_message": "This Service has no compatible Proxy numbers for this Participant. This Service has no available Proxy numbers having voice capabilities. This can happen if you attempted to create a participant in a session for which you did not specify a Mode in a country that does not support combined voice and sms capabilities.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### No Available Voice Proxy\n\nExample Message: This Service has no compatible Proxy numbers for this Participant. This Service has no available Proxy numbers having voice capabilities. This can happen if you attempted to create a participant in a session for which you did not specify a Mode in a country that does not support combined voice and sms capabilities.\n\n### Possible causes\n\nYou tried to add a Participant to a Session with a mode that includes voice, but your proxy pool does not include any voice-capable numbers.\n\n### Possible solutions\n\nAdd one or more numbers to your pool that have voice capability.\n",
    "causes": "You tried to add a Participant to a Session with a mode that includes voice, but your proxy pool does not include any voice-capable numbers.",
    "solutions": "Add one or more numbers to your pool that have voice capability.",
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80202,
    "log_level": "WARNING",
    "log_type": null,
    "message": "No Available Message Proxy",
    "secondary_message": "This Service has no compatible Proxy numbers for this Participant. This Service has no available Proxy numbers having sms capabilities. This can happen if you attempted to create a participant in a session for which you did not specify a Mode in a country that does not support combined voice and sms capabilities, or if your only available proxy numbers do not have messaging capabilities.",
    "product": null,
    "docs": "\n## Description\n\n### No Available Message Proxy\n\nExample Message: This Service has no compatible Proxy numbers for this Participant. This Service has no available Proxy numbers having sms capabilities. This can happen if you attempted to create a participant in a session for which you did not specify a Mode in a country that does not support combined voice and sms capabilities, or if your only available proxy numbers do not have messaging capabilities.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:16.151Z"
  },
  {
    "code": 80203,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "No Available Proxy For Country",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nThis Service has no compatible Proxy numbers for this Participant.\n\nThis Service has no available Proxy numbers for the participant's number country code `<country>`.\n\n### Possible causes\n\nThere are no numbers in the Service that can be assigned to this participant's identifier.\n\n### Possible solutions\n\nAdd a Twilio number from your account to the Service that matches the participant's country code. Alternatively, pass the proxyIdentifier's optional property when creating the participant. Please note that international tolls may apply.\n",
    "causes": "There are no numbers in the Service that can be assigned to this participant's identifier.",
    "solutions": "Add a Twilio number from your account to the Service that matches the participant's country code. Alternatively, pass the proxyIdentifier's optional property when creating the participant. Please note that international tolls may apply.",
    "description": "This Service has no compatible Proxy numbers for this Participant. This Service has no available Proxy numbers for the participant's number country code `<country>`.",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80205,
    "log_level": "WARNING",
    "log_type": null,
    "message": "No Proxies For Service",
    "secondary_message": "This Service has no compatible Proxy numbers for this Participant. This Service has no Proxy numbers configured.",
    "product": null,
    "docs": "\n## Description\n\n### No Proxies For Service\n\nExample Message: This Service has no compatible Proxy numbers for this Participant. This Service has no Proxy numbers configured.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:16.11Z"
  },
  {
    "code": 80206,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "No Available Proxy",
    "secondary_message": "This Service has no compatible Proxy numbers for this Participant. Failed to find a proxy number for +1415555XXXX. Either you have no numbers meeting your service's GeoMatchLevel for the target number, or the numbers you do have are already in use by the participant in other Sessions.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### No Available Proxy\n\nExample Message: This Service has no compatible Proxy numbers for this Participant. Failed to find a proxy number for +1415555XXXX. Either you have no numbers meeting your service's GeoMatchLevel for the target number, or the numbers you do have are already in use by the participant in other Sessions.\n\n### Possible causes\n\nThis Service has no compatible Proxy numbers for this Participant. Failed to find a proxy number for . Either you have no numbers meeting your service's GeoMatchLevel for the target number, or the numbers you do have are already in use by the participant in other Sessions.\n\n### Possible solutions\n\n1. Add one or more numbers to your pool matching this Participant's area code\n2. If this Participant is in an active Session, close that Session to make the number available to them.\n",
    "causes": "This Service has no compatible Proxy numbers for this Participant. Failed to find a proxy number for . Either you have no numbers meeting your service's GeoMatchLevel for the target number, or the numbers you do have are already in use by the participant in other Sessions.",
    "solutions": "1. Add one or more numbers to your pool matching this Participant's area code\n2. If this Participant is in an active Session, close that Session to make the number available to them.",
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80207,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": " No unreserved numbers in proxy pool.",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nFailed to find a proxy number.\n\n### Possible causes\n\nThe only matching candidate number(s) in your pool are marked as Reserved.\n\n### Possible solutions\n\nVerify there is at least one unreserved number in your proxy pool.\n",
    "causes": "The only matching candidate number(s) in your pool are marked as Reserved.",
    "solutions": "Verify there is at least one unreserved number in your proxy pool.",
    "description": "Failed to find a proxy number.",
    "date_created": "2020-03-10T20:49:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80208,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No Available Unused Proxy",
    "secondary_message": "This Service has no compatible Proxy numbers for this Participant. Failed to find a proxy number for \\{identifier}. All matching proxies for this Participant are already in use in other Sessions.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### No Available Unused Proxy\n\nThis Service has no compatible Proxy numbers for this Participant. Failed to find a proxy number for \\{identifier}. All matching proxies for this Participant are already in use in other Sessions.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-11-22T05:06:25Z",
    "last_updated": "2020-08-04T10:00:11.707Z"
  },
  {
    "code": 80301,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Found Phone Number SID",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nPhone Number SID is not associated with the Account SID.\n\n### Possible causes\n\nThe Account SID doesn't own the Phone Number SID.\n\n### Possible solutions\n\nThe Phone Number SID should be owned by the Account SID.\n",
    "causes": "The Account SID doesn't own the Phone Number SID.",
    "solutions": "The Phone Number SID should be owned by the Account SID.",
    "description": "Phone Number SID is not associated with the Account SID.",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80303,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Not Found Short Code Sid",
    "secondary_message": "Short Code Sid is not associated with your Account.",
    "product": null,
    "docs": "\n## Description\n\n### Not Found Short Code Sid\n\nExample Message: Short Code Sid is not associated with your Account.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:16.055Z"
  },
  {
    "code": 80304,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Not Found Unmanaged Identifier",
    "secondary_message": "Unmanaged Proxy Identifier not found. Unmanaged identifiers include non-phone number identifiers (e.g., a facebook messenger page id). Possibly you tried to add a participant with a proxy identifier for a channel that is not managed by Twilio or by your Proxy Service.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Not Found Unmanaged Identifier\n\nUnmanaged Proxy Identifier not found. Unmanaged identifiers include non-phone number identifiers (e.g., a facebook messenger page id). Possibly you tried to add a participant with a proxy identifier for a channel that is not managed by Twilio or by your Proxy Service.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-09-18T19:55:29Z",
    "last_updated": "2020-08-04T10:00:12.686Z"
  },
  {
    "code": 80305,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Not Found Unmanaged Identifier Sid",
    "secondary_message": "Unmanaged Proxy Identifier not found. Unmanaged identifiers include non-phone number identifiers (e.g., a facebook messenger page id). If you want to include channels such as Facebook Messenger, WhatsApp, etc. as Proxy participants, you must configure the channel integration callback url to point to your proxy service: https://webhooks.twilio.com/v1/Accounts//Proxy//Webhooks/Message",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Not Found Unmanaged Identifier Sid\n\nExample Message: Unmanaged Proxy Identifier not found. Unmanaged identifiers include non-phone number identifiers (e.g., a facebook messenger page id). If you want to include channels such as Facebook Messenger, WhatsApp, etc. as Proxy participants, you must configure the channel integration callback url to point to your proxy service: https://webhooks.twilio.com/v1/Accounts/\\{AccountSid}/Proxy/\\{ServiceSid}/Webhooks/Message\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-09-18T20:08:16Z",
    "last_updated": "2020-08-04T10:00:12.665Z"
  },
  {
    "code": 80306,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Not Found Chat Service",
    "secondary_message": "Found no chat instance associated with service \\{ProxyServiceSid}",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Not Found Chat Service\n\nFound no chat instance associated with service \\{ProxyServiceSid}\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-09-25T20:45:28Z",
    "last_updated": "2020-08-04T10:00:12.59Z"
  },
  {
    "code": 80307,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Record to be updated was not found in database.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRecord to be updated was not found in database.\n\n### Possible causes\n\nRecord to be updated is already deleted.\n\n### Possible solutions\n\nNo action required.\n",
    "causes": "Record to be updated is already deleted.",
    "solutions": "No action required.",
    "description": "Record to be updated was not found in database.",
    "date_created": "2020-03-31T18:20:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80308,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Session with the unique name not found.",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nSession with the given unique name not found in database.\n\n### Possible causes\n\nWrong unique name.\n\n### Possible solutions\n\nRetry operation with the correct unique name.\n",
    "causes": "Wrong unique name.",
    "solutions": "Retry operation with the correct unique name.",
    "description": "Session with the given unique name not found in database.",
    "date_created": "2020-03-10T20:51:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80401,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Account Sid Invalid",
    "secondary_message": "Invalid Account Sid",
    "product": null,
    "docs": "\n## Description\n\n### Account Sid Invalid\n\nExample Message: Invalid Account Sid\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:16.035Z"
  },
  {
    "code": 80402,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Identifier Proxy Pair Invalid",
    "secondary_message": "Invalid Identifier and Proxy Identifier pair",
    "product": null,
    "docs": "\n## Description\n\n### Identifier Proxy Pair Invalid\n\nExample Message: Invalid Identifier and Proxy Identifier pair\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:16.016Z"
  },
  {
    "code": 80403,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Interaction Sid Invalid",
    "secondary_message": "Invalid Interaction Sid",
    "product": null,
    "docs": "\n## Description\n\n### Interaction Sid Invalid\n\nExample Message: Invalid Interaction Sid\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:15.997Z"
  },
  {
    "code": 80404,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Participant Identifier Invalid",
    "secondary_message": "Participant identifier provided does not appear to be a valid, reachable phone number.",
    "product": "Proxy",
    "docs": "\n## Description\n\nParticipant identifier provided does not appear to be a valid, reachable phone number.\n\n### Possible causes\n\nThe participant's number passed in the participant creation is incorrect.\n\n### Possible solutions\n\nPass a valid participant's number in [E.164 format](/docs/glossary/what-e164).\n",
    "causes": "The participant's number passed in the participant creation is incorrect.",
    "solutions": "Pass a valid participant's number in [E.164 format](/docs/glossary/what-e164).",
    "description": "Participant identifier provided does not appear to be a valid, reachable phone number.",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80405,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Participant Sid Invalid",
    "secondary_message": "Invalid Participant Sid",
    "product": null,
    "docs": "\n## Description\n\n### Participant Sid Invalid\n\nExample Message: Invalid Participant Sid\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:15.963Z"
  },
  {
    "code": 80406,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Phone Number Did Invalid",
    "secondary_message": "Invalid Phone Number Did",
    "product": null,
    "docs": "\n## Description\n\n### Phone Number Did Invalid\n\nExample Message: Invalid Phone Number Did\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:03Z",
    "last_updated": "2020-08-04T10:00:15.946Z"
  },
  {
    "code": 80407,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Phone Number Sid Invalid",
    "secondary_message": "Invalid Phone Number Sid",
    "product": null,
    "docs": "\n## Description\n\n### Phone Number Sid Invalid\n\nExample Message: Invalid Phone Number Sid\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.929Z"
  },
  {
    "code": 80408,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Service Sid Invalid",
    "secondary_message": "Invalid Service Sid",
    "product": null,
    "docs": "\n## Description\n\n### Service Sid Invalid\n\nExample Message: Invalid Service Sid\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.909Z"
  },
  {
    "code": 80409,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Session Sid Invalid",
    "secondary_message": "Invalid Session Sid",
    "product": null,
    "docs": "\n## Description\n\n### Session Sid Invalid\n\nExample Message: Invalid Session Sid\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.883Z"
  },
  {
    "code": 80501,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Storage Operation Failed",
    "secondary_message": "An internal server error has occurred during a storage operation",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Storage Operation Failed\n\nAn internal server error has occurred during a storage operation\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-10-03T23:24:30Z",
    "last_updated": "2020-08-04T10:00:12.316Z"
  },
  {
    "code": 80502,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Internal Server Error from Downstream",
    "secondary_message": "A downstream server failed or refused to process a request.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Internal Server Error from Downstream\n\nA downstream server failed or refused to process a request.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-10-05T03:12:52Z",
    "last_updated": "2020-08-04T10:00:12.292Z"
  },
  {
    "code": 80503,
    "log_level": "WARNING",
    "log_type": null,
    "message": "No Records Updated",
    "secondary_message": "Record to be updated was not found. It may have been deleted.",
    "product": null,
    "docs": "\n## Description\n\n### No Records Updated\n\nExample Message: Record to be updated was not found. It may have been deleted.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-06T16:10:48Z",
    "last_updated": "2020-08-04T10:00:15.497Z"
  },
  {
    "code": 80504,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "An internal server error has occurred.",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nAn internal server error has occurred.\n\n### Possible causes\n\nAn internal server error has occurred.\n\n### Possible solutions\n\nNo action required.\n",
    "causes": "An internal server error has occurred.",
    "solutions": "No action required.",
    "description": "An internal server error has occurred.",
    "date_created": "2020-03-10T20:53:56Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80505,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Flex Configuration Error",
    "secondary_message": "A Flex component was not configured correctly",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Flex Configuration Error\n\nA Flex component was not configured correctly. Please reach out to Flex support.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2019-01-25T23:48:54Z",
    "last_updated": "2020-08-04T10:00:11.011Z"
  },
  {
    "code": 80506,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Service Creation is restricted for new customers",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nBlocking Proxy Service Creation API for new accounts/sub-accounts/projects as Proxy is in EOS.\n\n### Possible causes\n\nProxy is in EOS and hence, we are blocking the service creation request for new accounts/sub-accounts/projects.\n\n### Possible solutions\n\nIf required, ask for an exempt for your account\n",
    "causes": "Proxy is in EOS and hence, we are blocking the service creation request for new accounts/sub-accounts/projects.",
    "solutions": "If required, ask for an exempt for your account",
    "description": "Blocking Proxy Service Creation API for new accounts/sub-accounts/projects as Proxy is in EOS.",
    "date_created": "2022-11-15T15:54:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80601,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Phone Number Not Available",
    "secondary_message": "PhoneNumber is not available. It may be bound to a number pool.",
    "product": null,
    "docs": "\n## Description\n\n### Phone Number Not Available\n\nExample Message: PhoneNumber is not available. It may be bound to a number pool.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.866Z"
  },
  {
    "code": 80602,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Non Unique Service Name",
    "secondary_message": "Service UniqueName must be unique.",
    "product": null,
    "docs": "\n## Description\n\n### Non Unique Service Name\n\nExample Message: Service UniqueName must be unique.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.847Z"
  },
  {
    "code": 80603,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Non Unique Session Name",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nSession UniqueName must be unique.\n\n### Possible causes\n\nA Session exists with the proposed UniqueName.\n\n### Possible solutions\n\nRetry with a UniqueName that is not currently in use by any other Sessions for this Service.\n",
    "causes": "A Session exists with the proposed UniqueName.",
    "solutions": "Retry with a UniqueName that is not currently in use by any other Sessions for this Service.",
    "description": "Session UniqueName must be unique.",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80604,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Proxy Identifier In Use",
    "secondary_message": "Proxy identifier already in use with requested identifier.",
    "product": null,
    "docs": "\n## Description\n\n### Proxy Identifier In Use\n\nExample Message: Proxy identifier already in use with requested identifier.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.808Z"
  },
  {
    "code": 80605,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Proxy Identifier Not In Service",
    "secondary_message": "Proxy identifier not associated with service.",
    "product": null,
    "docs": "\n## Description\n\n### Proxy Identifier Not In Service\n\nExample Message: Proxy identifier not associated with service.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.788Z"
  },
  {
    "code": 80606,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Proxy Identifier Not Owned By Account",
    "secondary_message": "Proxy identifier not owned by account.",
    "product": null,
    "docs": "\n## Description\n\n### Proxy Identifier Not Owned By Account\n\nExample Message: Proxy identifier not owned by account.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.77Z"
  },
  {
    "code": 80607,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Session Closed",
    "secondary_message": "Session is closed and cannot be updated",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Session Closed\n\nExample Message: Session is closed and cannot be updated\n\n### Possible causes\n\nYou tried to update a Session that is closed.\n\n### Possible solutions\n\nNone\n",
    "causes": "You tried to update a Session that is closed.",
    "solutions": "None",
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80608,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Session Status Invalid",
    "secondary_message": "Session status change not supported",
    "product": "Proxy",
    "docs": "\n## Description\n\nSession Status Invalid\n\n### Possible causes\n\nSession status change not supported.\n\n### Possible solutions\n\nTo re-open a session the valid status update is from `closed` to `in-progress`. To close a session, update from `open` to `closed` or from `in-progress` to `closed`.\n",
    "causes": "Session status change not supported.",
    "solutions": "To re-open a session the valid status update is from `closed` to `in-progress`. To close a session, update from `open` to `closed` or from `in-progress` to `closed`.",
    "description": "Session Status Invalid",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80609,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Too Many Added Participants",
    "secondary_message": "A Session may have at most 2 participants",
    "product": null,
    "docs": "\n## Description\n\n### Too Many Added Participants\n\nExample Message: A Session may have at most 2 participants\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.715Z"
  },
  {
    "code": 80610,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Unauthorized Operation",
    "secondary_message": "Unauthorized. You may be trying to use an invalid combination of sids.",
    "product": null,
    "docs": "\n## Description\n\n### Unauthorized Operation\n\nExample Message: Unauthorized. You may be trying to use an invalid combination of sids.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.698Z"
  },
  {
    "code": 80611,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Proxy Number In Active Sessions",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nThe Proxy Number cannot be removed from Service.\n\n### Possible causes\n\nIt is in use by one or more Sessions.\n\n### Possible solutions\n\nThe number can be removed from the Service once it's not in use.\n",
    "causes": "It is in use by one or more Sessions.",
    "solutions": "The number can be removed from the Service once it's not in use.",
    "description": "The Proxy Number cannot be removed from Service.",
    "date_created": "2018-01-12T17:09:14Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80612,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Duplicate Entry",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\n### Possible causes\n\nYou tried to add a participant with an identifier that already exists, or existed for a participant that was deleted.\n\n### Possible solutions\n\nYou may not add a participant with the same identifier as a previously removed participant.\n",
    "causes": "You tried to add a participant with an identifier that already exists, or existed for a participant that was deleted.",
    "solutions": "You may not add a participant with the same identifier as a previously removed participant.",
    "description": "",
    "date_created": "2018-04-10T03:31:44Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80613,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Downstream Request Rejected",
    "secondary_message": "A downstream service rejected a request from Proxy on your behalf.",
    "product": "Proxy",
    "docs": "\n## Description\n\nA downstream service rejected a request from Proxy while processing a request for your service.\n\n### Possible causes\n\nUnknown. You may be able to find more information if the downstream emitted any debugger notifications for the request.\n\n### Possible solutions\n\nUnknown. You may be able to find more information if the downstream emitted any debugger notifications for the request.\n",
    "causes": "Unknown. You may be able to find more information if the downstream emitted any debugger notifications for the request.",
    "solutions": "Unknown. You may be able to find more information if the downstream emitted any debugger notifications for the request.",
    "description": "A downstream service rejected a request from Proxy while processing a request for your service.",
    "date_created": "2018-04-10T03:31:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80614,
    "log_level": "WARNING",
    "log_type": null,
    "message": " No Partner Participant Found",
    "secondary_message": "Example Message: Incoming message or call found no target participant in session KCac74da33088913e84bfafb5b821ab0b0 for participant KP2ece38f658cdabc372ef3f149ed5977a",
    "product": "Proxy",
    "docs": "\n## Description\n\n### No Partner Participant Found\n\nExample Message: Incoming message or call found no target participant in session `<SessionSid>` for participant `<ParticipantSid>`\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-04-18T21:11:05Z",
    "last_updated": "2020-08-04T10:00:13.832Z"
  },
  {
    "code": 80615,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Account Sid on Legal Hold",
    "secondary_message": "Account `<AccountSid>` is on legal hold. Cannot delete record `<Sid>`.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Account Sid on Legal Hold\n\nAccount `<AccountSid>` is on legal hold. Cannot delete record `<Sid>`.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-08-28T02:36:57Z",
    "last_updated": "2020-08-04T10:00:12.763Z"
  },
  {
    "code": 80616,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Unsupported Identifier Type For Session Mode",
    "secondary_message": "Cannot add `<Identifier>` to session `<SessionSid>`. The identifier is not compatible with the session mode.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Unsupported Identifier Type For Session Mode\n\nCannot add `<Identifier>` to session `<SessionSid>`. The identifier is not compatible with the session mode.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-08-28T02:35:15Z",
    "last_updated": "2020-08-04T10:00:12.784Z"
  },
  {
    "code": 80617,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Flex Configuration Error",
    "secondary_message": "A Flex component was not configured correctly",
    "product": "Proxy",
    "docs": "\n## Description\n\nA Flex component was not configured correctly.\n\n### Possible causes\n\n- You made changes to one of your Flex phone numbers\n- You are trying to use a phone number with Flex but have not created a Flex Flow for that number\n- You manually deleted a Chat Channel or Proxy Session\n- You removed or changed the Chat Channel Sid setting in your Proxy Service\n",
    "causes": "* You made changes to one of your Flex phone numbers\n* You are trying to use a phone number with Flex but have not created a Flex Flow for that number\n* You manually deleted a Chat Channel or Proxy Session\n* You removed or changed the Chat Channel Sid setting in your Proxy Service",
    "solutions": null,
    "description": "A Flex component was not configured correctly.",
    "date_created": "2019-02-12T23:50:50Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80618,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Chat Integration Error",
    "secondary_message": "A Chat element was not configured correctly for Proxy",
    "product": "Proxy",
    "docs": "\n## Description\n\nA Chat component was not configured correctly for integration with Proxy Service\n\n### Possible causes\n\n- You manually deleted a Chat Channel or Proxy Session\n- You removed or changed the Chat Channel Sid setting in your Proxy Service\n",
    "causes": "* You manually deleted a Chat Channel or Proxy Session\n* You removed or changed the Chat Channel Sid setting in your Proxy Service",
    "solutions": null,
    "description": "A Chat component was not configured correctly for integration with Proxy Service",
    "date_created": "2019-02-12T23:53:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80619,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Chat Channel Attribute Error",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nChat Channel was not found or did not have expected attributes (twilioNumber, serviceNumber, status, proxySession) required for Proxy integration. If you are using the same Chat service for both Flex and non-Flex use-cases, this is expected for non-flex messages and you can probably ignore this event.\n",
    "causes": null,
    "solutions": null,
    "description": "Chat Channel was not found or did not have expected attributes (twilioNumber, serviceNumber, status, proxySession) required for Proxy integration. If you are using the same Chat service for both Flex and non-Flex use-cases, this is expected for non-flex messages and you can probably ignore this event.",
    "date_created": "2019-02-12T23:56:58Z",
    "last_updated": "2020-08-04T10:00:10.597Z"
  },
  {
    "code": 80620,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Chat Configured Proxy Identifier Not Found",
    "secondary_message": "Received a chat message for a proxy identifier that does not exist in your Proxy pool",
    "product": "Proxy",
    "docs": "\n## Description\n\nReceived a chat message for a proxy identifier that does not exist in your Proxy pool\n\n### Possible causes\n\n- You removed a Flex number from your Proxy pool\n",
    "causes": "* You removed a Flex number from your Proxy pool",
    "solutions": null,
    "description": "Received a chat message for a proxy identifier that does not exist in your Proxy pool",
    "date_created": "2019-02-12T23:59:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80621,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Requests Rate Limited on Endpoint",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nYou have reached the limit on the number of requests for this endpoint\n\n### Possible causes\n\nThere is high increase of number of requests for this endpoint within a short span of time.\n\n### Possible solutions\n\nYou can retry the requests with a random exponential backoff or can follow any of the other techniques to avoid rate limiting.\n",
    "causes": "There is high increase of number of requests for this endpoint within a short span of time.",
    "solutions": "You can retry the requests with a random exponential backoff or can follow any of the other techniques to avoid rate limiting.",
    "description": "You have reached the limit on the number of requests for this endpoint",
    "date_created": "2023-11-30T08:39:55Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80622,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Maximum Pool Size Error",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nYou attempted to add a number to a Proxy Number Pool that has reached its maximum allowed size. A Proxy Service pool can have up to 500 unreserved numbers and 5000 reserved numbers.\n\n### Possible causes\n\nYou attempted to add a number to a Proxy Number Pool that has reached its maximum allowed size. A Proxy Service pool can have up to 500 unreserved numbers and 5000 reserved numbers.\n\n### Possible solutions\n\nRemove unused numbers, or create a new Proxy Service with additional numbers.\n",
    "causes": "You attempted to add a number to a Proxy Number Pool that has reached its maximum allowed size. A Proxy Service pool can have up to 500 unreserved numbers and 5000 reserved numbers.",
    "solutions": "Remove unused numbers, or create a new Proxy Service with additional numbers.",
    "description": "You attempted to add a number to a Proxy Number Pool that has reached its maximum allowed size. A Proxy Service pool can have up to 500 unreserved numbers and 5000 reserved numbers.",
    "date_created": "2020-05-27T21:01:08Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80623,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Duplicate Participant Request",
    "secondary_message": "Possible duplicate Participant created in multiple Sessions.",
    "product": "Proxy",
    "docs": "\n## Description\n\nPossible duplicate Participant created in multiple Sessions.\n\n### Possible causes\n\nA request to create a Participant for an Identifier was made while another ongoing request was in progress for the same Identifier in a different Session. This can result in the same proxy identifier being assigned in multiple sessions for the same Identifier, causing incorrect behavior.\n\n### Possible solutions\n\nIf you need to add the same person to multiple Sessions, ensure that the Participant Create requests are made one at a time. To allow Proxy to enforce this, please pass the ReturnErrorOnDuplicateRequest=true parameter in your Participant Create requests and/or Session Create requests (if participant parameters are included). This will be the default behavior for all requests in the future, and will enable us to use more efficient logic to find ProxyIdentifiers for your participants, thus reducing Participant Create latency.\n",
    "causes": "A request to create a Participant for an Identifier was made while another ongoing request was in progress for the same Identifier in a different Session. This can result in the same proxy identifier being assigned in multiple sessions for the same Identifier, causing incorrect behavior.",
    "solutions": "If you need to add the same person to multiple Sessions, ensure that the Participant Create requests are made one at a time. To allow Proxy to enforce this, please pass the ReturnErrorOnDuplicateRequest=true parameter in your Participant Create requests and/or Session Create requests (if participant parameters are included). This will be the default behavior for all requests in the future, and will enable us to use more efficient logic to find ProxyIdentifiers for your participants, thus reducing Participant Create latency.",
    "description": "Possible duplicate Participant created in multiple Sessions.",
    "date_created": "2020-08-03T22:41:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80624,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Approaching Maximium Number Pool Size",
    "secondary_message": "Your Proxy number pool has reached 85% of the maximum limit.",
    "product": "Proxy",
    "docs": "\n## Description\n\nProxy number pools can include a maximum of 5000 Reserved numbers and 500 un-reserved numbers. We have detected that are getting close to one of those limits. Once you reach the limit, you will not be able to add more numbers to your pool.\n\n### Possible causes\n\nYou are nearing one of the limits in your Proxy number pool.\n\n### Possible solutions\n\nWe strongly suggest that you shard numbers across multiple Proxy services. If you need more numbers than are specified by these limits, consider creating another Proxy Service for the additional numbers.\n",
    "causes": "You are nearing one of the limits in your Proxy number pool.",
    "solutions": "We strongly suggest that you shard numbers across multiple Proxy services. If you need more numbers than are specified by these limits, consider creating another Proxy Service for the additional numbers.",
    "description": "Proxy number pools can include a maximum of 5000 Reserved numbers and 500 un-reserved numbers. We have detected that are getting close to one of those limits. Once you reach the limit, you will not be able to add more numbers to your pool.",
    "date_created": "2021-09-20T22:01:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80625,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unauthorized Request. Signature is missing or is invalid",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nA valid signature header needs to be provided for the request to be authenticated.\n\n### Possible causes\n\nHeader - 'X-Twilio-Signature' is missing or is invalid\n\n### Possible solutions\n\nProvide a valid signature value in header 'X-Twilio-Signature'\n",
    "causes": "Header - 'X-Twilio-Signature' is missing or is invalid",
    "solutions": "Provide a valid signature value in header 'X-Twilio-Signature'",
    "description": "A valid signature header needs to be provided for the request to be authenticated.",
    "date_created": "2024-03-22T03:04:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80701,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Parameter Validation Failed",
    "secondary_message": "`<parameter name>` is invalid. `<parameter is invalid>`",
    "product": null,
    "docs": "\n## Description\n\n### Parameter Validation Failed\n\nExample Message: `<parameter name>` is invalid. `<parameter is invalid>`\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.678Z"
  },
  {
    "code": 80801,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid attempt to Re-Open a Session",
    "secondary_message": "Participant is active in another Session",
    "product": "Proxy",
    "docs": "\n## Description\n\nA request was made to re-open a Session that would result in one or both of the Participants being active in multiple Sessions. This could result in calls or messages from the affected Participant being routed to an unintended recipient.\n\n### Possible causes\n\nMultiple Sessions in your service have a Participant with the same identifier/proxy-identifier pair, and one of those was active at the time a request was made to re-open one of the closed sessions.\n\n### Possible solutions\n\n1. Avoid re-opening sessions unless you can be certain that the Participants have not been assigned the same ProxyIdentifier in other sessions.\n2. Ask that the ProxyAllowParticipantConflict flag be removed from your account. By default, Proxy now rejects requests such as this one that would result in having two participants in active sessions with the same proxy identifier. However, this new behavior requires removing the ProxyAllowParticipantConflict flag from your account. When you are prepared to handle 400 on Session update requests (as well as 409 from Session create and Participant create endpoints), you can request to have this flag removed.\n3. Include the experimental form parameter FailOnParticipantConflict=true in your Session create/update and Participant create requests to allow Proxy to reject the individual request if it would result in this condition. This will allow you to test your code before choosing to remove the ProxyAllowParticipantConflict flag described above.\n",
    "causes": "Multiple Sessions in your service have a Participant with the same identifier/proxy-identifier pair, and one of those was active at the time a request was made to re-open one of the closed sessions.",
    "solutions": "1. Avoid re-opening sessions unless you can be certain that the Participants have not been assigned the same ProxyIdentifier in other sessions.\n2. Ask that the ProxyAllowParticipantConflict flag be removed from your account. By default, Proxy now rejects requests such as this one that would result in having two participants in active sessions with the same proxy identifier. However, this new behavior requires removing the ProxyAllowParticipantConflict flag from your account. When you are prepared to handle 400 on Session update requests (as well as 409 from Session create and Participant create endpoints), you can request to have this flag removed.\n3. Include the experimental form parameter FailOnParticipantConflict=true in your Session create/update and Participant create requests to allow Proxy to reject the individual request if it would result in this condition. This will allow you to test your code before choosing to remove the ProxyAllowParticipantConflict flag described above.",
    "description": "A request was made to re-open a Session that would result in one or both of the Participants being active in multiple Sessions. This could result in calls or messages from the affected Participant being routed to an unintended recipient.",
    "date_created": "2020-07-29T23:24:50Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80802,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Simultaneous requests to create the same Identifier in one or more Sessions",
    "secondary_message": "Possible duplicate Participant created in multiple Sessions.",
    "product": "Proxy",
    "docs": "\n## Description\n\nMultiple requests to the create-participant endpoint with the same identifier were made simultaneously or very close in time. This can result in the same proxy-identifier being assigned, causing Participants with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions. This can result in calls and messages from affected Participants being routed to unintended recipients.\n\n### Possible causes\n\nMultiple requests to the create-participant endpoint with the same identifier were made simultaneously or very close in time.\n\n### Possible solutions\n\n1. If you are trying to add the same person to multiple Sessions, make the requests sequentially.\n2. Request that the ProxyAllowParticipantConflict flag be removed from your account. Proxy will reject requests that could result in having multiple Participants in active sessions with the same Identifier/ProxyIdentifier pair. In this case, Session create or Participant create, Proxy will return a 409 status code. You can retry the failed request after the previous (conflicting) request has completed. However, in order to opt-in to this behavior, the ProxyAllowParticipantConflict flag on your account must be removed\\*. See option 3 for details on how to opt-in to this behavior on a per-request basis if you wish to do some testing first.\n3. Include the form parameter FailOnParticipantConflict=True in your requests to Participant create (and/or Session create, if you include participant parameters) to allow Proxy to reject the request if it would result in this condition. Proxy will return a 409 (error code 80623) in this case.\n\n\\*Note that this flag also impacts the behavior of the Session update endpoint, on attempting to re-open closed sessions, when those requests would result in the condition described. This endpoint would return 400 (error code 80604).\n",
    "causes": "Multiple requests to the create-participant endpoint with the same identifier were made simultaneously or very close in time.",
    "solutions": "1. If you are trying to add the same person to multiple Sessions, make the requests sequentially.\n2. Request that the ProxyAllowParticipantConflict flag be removed from your account. Proxy will reject requests that could result in having multiple Participants in active sessions with the same Identifier/ProxyIdentifier pair. In this case, Session create or Participant create, Proxy will return a 409 status code. You can retry the failed request after the previous (conflicting) request has completed. However, in order to opt-in to this behavior, the ProxyAllowParticipantConflict flag on your account must be removed\\*. See option 3 for details on how to opt-in to this behavior on a per-request basis if you wish to do some testing first.\n3. Include the form parameter FailOnParticipantConflict=True in your requests to Participant create (and/or Session create, if you include participant parameters) to allow Proxy to reject the request if it would result in this condition. Proxy will return a 409 (error code 80623) in this case. \\*Note that this flag also impacts the behavior of the Session update endpoint, on attempting to re-open closed sessions, when those requests would result in the condition described. This endpoint would return 400 (error code 80604).",
    "description": "Multiple requests to the create-participant endpoint with the same identifier were made simultaneously or very close in time. This can result in the same proxy-identifier being assigned, causing Participants with the same Identifier/ProxyIdentifier pair to be active in multiple Sessions. This can result in calls and messages from affected Participants being routed to unintended recipients.",
    "date_created": "2020-07-29T23:42:46Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80901,
    "log_level": "WARNING",
    "log_type": "CARRIER",
    "message": "Message Matched Stop Word",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nMessage matched a stop word.\n\n### Possible causes\n\nMessage matched a STOP or START word, not proxying. See our [help](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) pages for more information.\n\n### Possible solutions\n\nSend a message with START, to resubscribe and continue the interactions.\n",
    "causes": "Message matched a STOP or START word, not proxying. See our [help](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-) pages for more information.",
    "solutions": "Send a message with START, to resubscribe and continue the interactions.",
    "description": "Message matched a stop word.",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80902,
    "log_level": "ERROR",
    "log_type": null,
    "message": "No Active Session",
    "secondary_message": "You received a call to your Proxy Number from a caller who is not a participant in an active session.",
    "product": null,
    "docs": "\n## Description\n\n### No Active Session\n\nYou received a call to your Proxy Number from a caller who is not a participant in an active session.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.643Z"
  },
  {
    "code": 80903,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Unknown Participant",
    "secondary_message": "Unknown Participant",
    "product": null,
    "docs": "\n## Description\n\n### Unknown Participant\n\nExample Message: Unknown Participant\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.626Z"
  },
  {
    "code": 80904,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Expired Proxy Session",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nProxy session has expired.\n\n### Possible causes\n\n- Session has expired due to **\"Ttl\"** or **\"DateExpiry\"** has been reached.\n\n  - If Session has DateExpiry property set, it overrides the Ttl value and session will expire as soon as DateExpiry is reached.\n  - If Both the properties are not set, default Ttl is set to 90 days and session expires when Ttl is reached.\n\n### Possible solutions\n\nCreate a new session or re-open a closed session within the service. Refer: [docs](/docs/proxy/api/session)\n",
    "causes": "* Session has expired due to **\"Ttl\"** or **\"DateExpiry\"** has been reached.\n\n  * If Session has DateExpiry property set, it overrides the Ttl value and session will expire as soon as DateExpiry is reached.\n  * If Both the properties are not set, default Ttl is set to 90 days and session expires when Ttl is reached.",
    "solutions": "Create a new session or re-open a closed session within the service. Refer: [docs](/docs/proxy/api/session)",
    "description": "Proxy session has expired.",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80905,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Unknown Scenario",
    "secondary_message": "No valid proxy scenario for handling inbound call or message",
    "product": null,
    "docs": "\n## Description\n\n### Unknown Scenario\n\nExample Message: No valid proxy scenario for handling inbound call or message\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.589Z"
  },
  {
    "code": 80906,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Interaction Not Open",
    "secondary_message": "Received interaction completion event for an Interaction that is already complete",
    "product": null,
    "docs": "\n## Description\n\n### Interaction Not Open\n\nExample Message: Received interaction completion event for an Interaction that is already complete\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.571Z"
  },
  {
    "code": 80907,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Open Interaction Not Found",
    "secondary_message": "Received a call with no open interaction",
    "product": null,
    "docs": "\n## Description\n\n### Open Interaction Not Found\n\nExample Message: Received a call with no open interaction\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.55Z"
  },
  {
    "code": 80908,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Callback Error",
    "secondary_message": "Error on Callback for http://www.yourdomain.com/callback",
    "product": null,
    "docs": "\n## Description\n\n### Callback Error\n\nExample Message: Error on Callback for http://www.yourdomain.com/callback\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2020-08-04T10:00:15.531Z"
  },
  {
    "code": 80909,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Inbound Contact Rejected",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nInteraction not completed due to InterceptCallbackUrl.\n\n### Possible causes\n\nA request to InterceptCallbackUrl received 403 and the interaction was aborted/blocked.\n\n### Possible solutions\n\nIf this was unintended, the logic in the InterceptCallbackUrl could be revised. See behavior in the webhooks [documentation](/docs/proxy/api/webhooks).\n",
    "causes": "A request to InterceptCallbackUrl received 403 and the interaction was aborted/blocked.",
    "solutions": "If this was unintended, the logic in the InterceptCallbackUrl could be revised. See behavior in the webhooks [documentation](/docs/proxy/api/webhooks).",
    "description": "Interaction not completed due to InterceptCallbackUrl.",
    "date_created": "2017-12-05T22:32:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 80910,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Message To Voice Only Session Rejected",
    "secondary_message": "Example Message: Inbound message to voice-only session rejected.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Message To Voice Only Session Rejected\n\nExample Message: Inbound message to voice-only session rejected.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-03-12T15:28:21Z",
    "last_updated": "2020-08-04T10:00:14.588Z"
  },
  {
    "code": 80911,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Call To Message Only Session Rejected",
    "secondary_message": "Example Message: Inbound call to message-only session rejected.",
    "product": "Proxy",
    "docs": "\n## Description\n\n### Call To Message Only Session Rejected\n\nExample Message: Inbound call to message-only session rejected.\n",
    "causes": null,
    "solutions": null,
    "description": "",
    "date_created": "2018-03-12T15:29:05Z",
    "last_updated": "2020-08-04T10:00:14.569Z"
  },
  {
    "code": 80913,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Out-Of-Session Callback Error",
    "secondary_message": null,
    "product": "Proxy",
    "docs": "\n## Description\n\nCallback to Out-of-Session handler returned a non-success status code.\n\n### Possible causes\n\n- Your Out-of-Session callback URL is invalid.\n\n### Possible solutions\n\n- Verify that your Out-of-Session callback URL is valid and that your server is correctly processing Out-of-Session callbacks from Proxy.\n- Please read over the \\[Out-Of-Session Callback guide] (https://www.twilio.com/docs/proxy/out-session-callback-response-guide) for more detailed information.\n",
    "causes": "* Your Out-of-Session callback URL is invalid.",
    "solutions": "* Verify that your Out-of-Session callback URL is valid and that your server is correctly processing Out-of-Session callbacks from Proxy.\n* Please read over the \\[Out-Of-Session Callback guide] (https://www.twilio.com/docs/proxy/out-session-callback-response-guide) for more detailed information.",
    "description": "Callback to Out-of-Session handler returned a non-success status code.",
    "date_created": "2019-06-17T17:49:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81000,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "The Execution has exceeded max steps allowed for a flow",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThis limitation is enforced to prevent infinite loops. Please try to design your flows such that they terminate.\n\n### Possible causes\n\n- You have too many steps in your flow.\n\n### Possible solutions\n\n- Reduce the number of steps in your flow.\n",
    "causes": "* You have too many steps in your flow.",
    "solutions": "* Reduce the number of steps in your flow.",
    "description": "This limitation is enforced to prevent infinite loops. Please try to design your flows such that they terminate.",
    "date_created": "2018-06-26T23:13:46Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81001,
    "log_level": "WARNING",
    "log_type": null,
    "message": "The Widget has exceeded max steps in a loop",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThis limitation is enforced to prevent infinite loops. Please try to design your flows such that they terminate.\n\n### Possible causes\n\n- You have a single widget looping back on itself too many times.\n\n### Possible solutions\n\n- Remove the single widget loop.\n",
    "causes": "* You have a single widget looping back on itself too many times.",
    "solutions": "* Remove the single widget loop.",
    "description": "This limitation is enforced to prevent infinite loops. Please try to design your flows such that they terminate.",
    "date_created": "2018-06-26T23:14:02Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81002,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Unexpected event while processing Widget",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nAn unexpected event was received while processing a widget. Studio ignored this event and did not transition to another widget because there was no matching transition available to handle the event.\n\n*Note:* If the Execution ended correctly, this warning can be ignored.\n\n### Possible causes\n\n- A new call, message, or REST API Execution was initiated for a contact address (e.g. phone number) that already has an active Execution.\n- An event came in while processing a widget that cannot handle that event (e.g. incoming message received during Run Function widget).\n- A hangup for a phone call was detected while processing a widget that does not have a \"Hangup\" transition (e.g. HTTP Request or Send Message).\n- There was no transition that matched the received event.\n\n### Possible solutions\n\n- Incoming Calls only: Enable [Concurrent Calls](/docs/studio/user-guide#handling-concurrent-calls-from-the-same-number-in-studio) in the Flow's Trigger widget.\n- REST API-triggered Executions: Use [Studio REST API v2](/docs/studio/rest-api/v2/execution#create-a-new-execution) to create Executions and end any that are still active for the same contact.\n- Return results for Function calls and HTTP requests quickly.\n- End any [stuck Executions](https://support.twilio.com/hc/en-us/articles/360019383714-Understanding-and-Avoiding-Stuck-Executions-in-Twilio-Studio) via Twilio Console.\n",
    "causes": "* A new call, message, or REST API Execution was initiated for a contact address (e.g. phone number) that already has an active Execution.\n* An event came in while processing a widget that cannot handle that event (e.g. incoming message received during Run Function widget).\n* A hangup for a phone call was detected while processing a widget that does not have a \"Hangup\" transition (e.g. HTTP Request or Send Message).\n* There was no transition that matched the received event.",
    "solutions": "* Incoming Calls only: Enable [Concurrent Calls](/docs/studio/user-guide#handling-concurrent-calls-from-the-same-number-in-studio) in the Flow's Trigger widget.\n* REST API-triggered Executions: Use [Studio REST API v2](/docs/studio/rest-api/v2/execution#create-a-new-execution) to create Executions and end any that are still active for the same contact.\n* Return results for Function calls and HTTP requests quickly.\n* End any [stuck Executions](https://support.twilio.com/hc/en-us/articles/360019383714-Understanding-and-Avoiding-Stuck-Executions-in-Twilio-Studio) via Twilio Console.",
    "description": "An unexpected event was received while processing a widget. Studio ignored this event and did not transition to another widget because there was no matching transition available to handle the event. *Note:* If the Execution ended correctly, this warning can be ignored.",
    "date_created": "2018-06-26T23:14:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81003,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Timer has expired",
    "secondary_message": null,
    "product": "Studio",
    "docs": "",
    "causes": null,
    "solutions": null,
    "description": null,
    "date_created": "2018-06-26T17:52:13Z",
    "last_updated": "2020-08-04T03:00:15.102Z"
  },
  {
    "code": 81004,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to add member to Chat Channel",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio was unable to add a member to the Chat Channel while executing the Flow\n\n### Possible causes\n\n- The request to the Chat API failed.\n- Invalid values were passed to the Chat API.\n\n### Possible solutions\n\n- Check the Widget configuration. Are all fields filled out correctly?\n",
    "causes": "* The request to the Chat API failed.\n* Invalid values were passed to the Chat API.",
    "solutions": "* Check the Widget configuration. Are all fields filled out correctly?",
    "description": "Studio was unable to add a member to the Chat Channel while executing the Flow",
    "date_created": "2018-06-26T23:14:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81005,
    "log_level": "WARNING",
    "log_type": null,
    "message": "Failed to transition because no match was found",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio was unable to transition to the next widget because no matching transition was found in the Split widget.\n\n### Possible causes\n\n- Missing values in the match field.\n- Match field is in the wrong format.\n- Regular expression is too restrictive.\n\n### Possible solutions\n\n- Check the values that you're matching against in the Split widget.\n",
    "causes": "* Missing values in the match field.\n* Match field is in the wrong format.\n* Regular expression is too restrictive.",
    "solutions": "* Check the values that you're matching against in the Split widget.",
    "description": "Studio was unable to transition to the next widget because no matching transition was found in the Split widget.",
    "date_created": "2018-06-26T23:14:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81006,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to create Chat Channel",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio was unable to create the Chat Channel while executing the Flow\n\n### Possible causes\n\n- The request to the Chat API failed.\n- Invalid values were passed to the Chat API.\n\n### Possible solutions\n\n- Check the Widget configuration. Are all fields filled out correctly?\n",
    "causes": "* The request to the Chat API failed.\n* Invalid values were passed to the Chat API.",
    "solutions": "* Check the Widget configuration. Are all fields filled out correctly?",
    "description": "Studio was unable to create the Chat Channel while executing the Flow",
    "date_created": "2018-06-26T23:15:14Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81007,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Connecting to a Call timed out",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio timed out while executing the Connect Caller widget in the Flow.\n\n### Possible causes\n\n- The call could not be completed before the end of the timeout period.\n\n### Possible solutions\n\n- Check the Widget configuration. Are all fields filled out correctly?\n",
    "causes": "* The call could not be completed before the end of the timeout period.",
    "solutions": "* Check the Widget configuration. Are all fields filled out correctly?",
    "description": "Studio timed out while executing the Connect Caller widget in the Flow.",
    "date_created": "2018-06-26T23:15:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81008,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to connect to outgoing Call",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio was unable to connect a call while processing the Outgoing Call widget.\n\n### Possible causes\n\n- The request to the Voice API failed.\n- Invalid values were passed to the Voice API.\n\n### Possible solutions\n\n- Check the Widget configuration. Are all fields filled out correctly?\n",
    "causes": "* The request to the Voice API failed.\n* Invalid values were passed to the Voice API.",
    "solutions": "* Check the Widget configuration. Are all fields filled out correctly?",
    "description": "Studio was unable to connect a call while processing the Outgoing Call widget.",
    "date_created": "2018-06-26T23:15:49Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81009,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Timed out enqueueing Call",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio timed out while executing the Enqueue Call widget in the Flow.\n\n### Possible causes\n\n- The request to the Taskrouter API failed.\n- Invalid values were passed to the Taskrouter API.\n\n### Possible solutions\n\n- Check the Widget configuration. Are all fields filled out correctly?\n",
    "causes": "* The request to the Taskrouter API failed.\n* Invalid values were passed to the Taskrouter API.",
    "solutions": "* Check the Widget configuration. Are all fields filled out correctly?",
    "description": "Studio timed out while executing the Enqueue Call widget in the Flow.",
    "date_created": "2018-06-26T23:16:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "There was an internal error while processing a Function",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio could not invoke the Function service.\n\n### Possible causes\n\n- The Function returned a 4xx or 5xx status code\n- The Function timed out or did not include `callback()`\n- There may be an issue with Twilio Function Service\n\n### Possible solutions\n\n- Verify your Function calls `callback()` to avoid timeouts\n- Check your Function logs for runtime errors\n- Ensure you're returning the correct status code\n",
    "causes": "* The Function returned a 4xx or 5xx status code\n* The Function timed out or did not include `callback()`\n* There may be an issue with Twilio Function Service",
    "solutions": "* Verify your Function calls `callback()` to avoid timeouts\n* Check your Function logs for runtime errors\n* Ensure you're returning the correct status code",
    "description": "Studio could not invoke the Function service.",
    "date_created": "2018-06-26T23:16:30Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81011,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to send Message",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio was unable to send a Message. This is usually due to incorrect setup of a Message Widget.\n\n### Possible causes\n\n- You have an invalid number.\n- You are missing a message body.\n- You are missing a Media URL\n\n### Possible solutions\n\n- Ensure the message number is valid.\n- Ensure you have set a correct message body in the Widget.\n- Ensure you have setup a Media URL.\n",
    "causes": "* You have an invalid number.\n* You are missing a message body.\n* You are missing a Media URL",
    "solutions": "* Ensure the message number is valid.\n* Ensure you have set a correct message body in the Widget.\n* Ensure you have setup a Media URL.",
    "description": "Studio was unable to send a Message. This is usually due to incorrect setup of a Message Widget.",
    "date_created": "2018-06-26T23:16:46Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81012,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to update Sync service",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio was unable to update the Sync Service while executing the Flow\n\n### Possible causes\n\n- The request to the Sync API failed.\n- Invalid values were passed to the Sync API.\n\n### Possible solutions\n\n- Check the Widget configuration. Are all fields filled out correctly?\n",
    "causes": "* The request to the Sync API failed.\n* Invalid values were passed to the Sync API.",
    "solutions": "* Check the Widget configuration. Are all fields filled out correctly?",
    "description": "Studio was unable to update the Sync Service while executing the Flow",
    "date_created": "2018-06-26T23:17:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81013,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to invoke Understand API",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nStudio was unable to invoke the Understand API while executing the Flow\n\n### Possible causes\n\n- The request to the Understand API failed.\n- Invalid values were passed to the Understand API.\n\n### Possible solutions\n\n- Check the Widget configuration. Are all fields filled out correctly?\n",
    "causes": "* The request to the Understand API failed.\n* Invalid values were passed to the Understand API.",
    "solutions": "* Check the Widget configuration. Are all fields filled out correctly?",
    "description": "Studio was unable to invoke the Understand API while executing the Flow",
    "date_created": "2018-06-26T23:17:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81014,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "There was an internal error while processing an HTTP request",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nAn internal error occurred while Studio was executing an HTTP Request widget.\n\n### Possible causes\n\n- Parameter name uses a reserved word, e.g. \"method\"\n- URL was set to a Liquid variable that did not evaluate to a valid URL at runtime\n- A transient internal error occurred\n\n### Possible solutions\n\n- Remove reserved words from the parameter names, e.g. \"method\"\n- Check Flow logs to ensure a valid URL is being used in Liquid variables\n- Retry the request\n- Check [Twilio Status](https://status.twilio.com/)\n- Contact [Twilio Support](https://www.twilio.com/help/contact)\n",
    "causes": "* Parameter name uses a reserved word, e.g. \"method\"\n* URL was set to a Liquid variable that did not evaluate to a valid URL at runtime\n* A transient internal error occurred",
    "solutions": "* Remove reserved words from the parameter names, e.g. \"method\"\n* Check Flow logs to ensure a valid URL is being used in Liquid variables\n* Retry the request\n* Check [Twilio Status](https://status.twilio.com/)\n* Contact [Twilio Support](https://www.twilio.com/help/contact)",
    "description": "An internal error occurred while Studio was executing an HTTP Request widget.",
    "date_created": "2018-06-26T23:17:30Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81015,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Failed to Create Task",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nAn error occurred when Studio attempted to create task.\n\n### Possible causes\n\n- Required values are missing from the widget.\n- Values are not correctly formatted (e.g. Attributes)\n\n### Possible solutions\n\n- Check the Widget configuration. Are all fields filled out correctly?\n",
    "causes": "* Required values are missing from the widget.\n* Values are not correctly formatted (e.g. Attributes)",
    "solutions": "* Check the Widget configuration. Are all fields filled out correctly?",
    "description": "An error occurred when Studio attempted to create task.",
    "date_created": "2018-08-20T23:43:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81016,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Outbound HTTP Request Failed",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThe outgoing HTTP request from a Studio widget failed.\n\n### Possible causes\n\n- The URL you are requesting is incorrect\n- The response is badly formed\n- The URL returned a 4xx or 5xx error code\n\n### Possible solutions\n\n- Make sure the request results in a response code 2xx or 3xx\n",
    "causes": "* The URL you are requesting is incorrect\n* The response is badly formed\n* The URL returned a 4xx or 5xx error code",
    "solutions": "* Make sure the request results in a response code 2xx or 3xx",
    "description": "The outgoing HTTP request from a Studio widget failed.",
    "date_created": "2018-09-19T18:47:42Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81017,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Error in Twilio Function Response",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThere was an error in the response back from a Twilio Function attached to the Studio flow.\n\n### Possible causes\n\n- Your Function timed out before responding\n- Your Function returned an error response\n\n### Possible solutions\n\n- Your Function must contain a callback.\n- Make sure you place the Function callback `callback(err, response)` is placed correctly in your Function code.\n- If you are using a JavaScript promise, make sure the callback is called in both success and catch blocks.\n- Your Function responded with an error.\n",
    "causes": "* Your Function timed out before responding\n* Your Function returned an error response",
    "solutions": "* Your Function must contain a callback.\n* Make sure you place the Function callback `callback(err, response)` is placed correctly in your Function code.\n* If you are using a JavaScript promise, make sure the callback is called in both success and catch blocks.\n* Your Function responded with an error.",
    "description": "There was an error in the response back from a Twilio Function attached to the Studio flow.",
    "date_created": "2018-09-19T18:48:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81018,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Template evaluation error in Studio widget",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nAn error occurred when Studio tried to evaluate your template syntax.\n\n### Possible causes\n\n- The syntax used in your widget caused an error\n- An array index referenced in your widget didn't exist at execution time\n- Your Liquid curly braces are mismatched\n- You used a `+` character in your template\n- You have improperly assigned a variable\n- You used a non-ASCII character in a variable name\n- A tag or filter used in your template does not exist\n\n### Possible solutions\n\n- Check the syntax used in your widget (See Liquid docs [here](/docs/studio/user-guide/liquid-template-language))\n- Verify the runtime data of your flow execution by checking the Flow Data and inspecting any variables you may have referenced\n- Verify that your Liquid curly braces are matched\n- Verify that all tags and filters used in your template are correct (The list of available filters is [here](/docs/studio/user-guide/liquid-template-language#standard-filters))\n- Use only ASCII characters in variable names\n",
    "causes": "* The syntax used in your widget caused an error\n* An array index referenced in your widget didn't exist at execution time\n* Your Liquid curly braces are mismatched\n* You used a `+` character in your template\n* You have improperly assigned a variable\n* You used a non-ASCII character in a variable name\n* A tag or filter used in your template does not exist",
    "solutions": "* Check the syntax used in your widget (See Liquid docs [here](/docs/studio/user-guide/liquid-template-language))\n* Verify the runtime data of your flow execution by checking the Flow Data and inspecting any variables you may have referenced\n* Verify that your Liquid curly braces are matched\n* Verify that all tags and filters used in your template are correct (The list of available filters is [here](/docs/studio/user-guide/liquid-template-language#standard-filters))\n* Use only ASCII characters in variable names",
    "description": "An error occurred when Studio tried to evaluate your template syntax.",
    "date_created": "2018-10-03T17:41:08Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81019,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Twilio phone number using deprecated API version",
    "secondary_message": "Studio does not support 2008-08-01 API",
    "product": "Studio",
    "docs": "\n## Description\n\nThe Twilio phone number connected to your Studio Flow is configured for the deprecated 2008-08-01 API, which is not compatible. Update the phone number API version to 2010-04-01.\n\n### Possible causes\n\nThe Twilio phone number is configured for the 2008-08-01 API\n\n### Possible solutions\n\nUpdate the phone number API version to 2010-04-01\n",
    "causes": "The Twilio phone number is configured for the 2008-08-01 API",
    "solutions": "Update the phone number API version to 2010-04-01",
    "description": "The Twilio phone number connected to your Studio Flow is configured for the deprecated 2008-08-01 API, which is not compatible. Update the phone number API version to 2010-04-01.",
    "date_created": "2019-06-17T17:28:02Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81020,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Unsupported Trigger Type",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nAn error occurred when Studio tried to run a widget that is not supported for the trigger type.\n\n### Possible causes\n\n- Flow was triggered by an incoming event that isn't supported for this widget\n\n### Possible solutions\n\n- Flow should be updated to use only the supported trigger types for this widget\n- For Send To Flex widget, only incoming call and incoming chat are supported\n",
    "causes": "* Flow was triggered by an incoming event that isn't supported for this widget",
    "solutions": "* Flow should be updated to use only the supported trigger types for this widget\n* For Send To Flex widget, only incoming call and incoming chat are supported",
    "description": "An error occurred when Studio tried to run a widget that is not supported for the trigger type.",
    "date_created": "2019-11-05T18:40:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Flow revision must be an integer or enum(LatestPublished, LatestRevision)",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThe Revision was invalid. Revision must be an integer or enum(LatestPublished, LatestRevision).\n\n### Possible causes\n\n- Revision did not match a valid option\n\n### Possible solutions\n\n- Check the value and ensure it is either an integer or one of the magic identifiers: LatestPublished or LatestRevision\n",
    "causes": "* Revision did not match a valid option",
    "solutions": "* Check the value and ensure it is either an integer or one of the magic identifiers: LatestPublished or LatestRevision",
    "description": "The Revision was invalid. Revision must be an integer or enum(LatestPublished, LatestRevision).",
    "date_created": "2020-02-21T17:50:10Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81022,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Flow definition validation failed",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThe Flow Definition is invalid. Check the error response details for an array of validation failures.\n\n### Possible causes\n\n- Definition contains properties that do not match the schema\n- Widget names are not unique\n- Transition references a widget that doesn't exist\n\n### Possible solutions\n\n- Verify the definition adheres to the JSON schema\n- Ensure widget names are all unique\n- Remove transitions that reference widgets that don't exist\n",
    "causes": "* Definition contains properties that do not match the schema\n* Widget names are not unique\n* Transition references a widget that doesn't exist",
    "solutions": "* Verify the definition adheres to the JSON schema\n* Ensure widget names are all unique\n* Remove transitions that reference widgets that don't exist",
    "description": "The Flow Definition is invalid. Check the error response details for an array of validation failures.",
    "date_created": "2020-02-21T17:44:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Creating an Execution via REST API failed due to malformed contact parameters",
    "secondary_message": "When creating a flow execution via the REST API, the To and From parameters may not collectively exceed 300 bytes.",
    "product": "Studio",
    "docs": "\n## Description\n\nThe Create Execution endpoint was called with To and/or From parameters that could not be processed.\n\n### Possible causes\n\n- Collectively, the To and From parameters exceeded 300 bytes.\n\n### Possible solutions\n\nDouble-check the provided To and From parameters for syntax errors.\n",
    "causes": "* Collectively, the To and From parameters exceeded 300 bytes.",
    "solutions": "Double-check the provided To and From parameters for syntax errors.",
    "description": "The Create Execution endpoint was called with To and/or From parameters that could not be processed.",
    "date_created": "2020-05-08T22:34:21Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81024,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Subflow Error",
    "secondary_message": "Subflow could not be executed",
    "product": "Studio",
    "docs": "\n## Description\n\nSubflow could not be executed\n\n### Possible causes\n\n- Subflow definition does not exist\n- Subflow is trying to invoke another Subflow\n\n### Possible solutions\n\n- Ensure Subflow exists\n- Remove Subflow widget from Subflow definition\n",
    "causes": "* Subflow definition does not exist\n* Subflow is trying to invoke another Subflow",
    "solutions": "* Ensure Subflow exists\n* Remove Subflow widget from Subflow definition",
    "description": "Subflow could not be executed",
    "date_created": "2020-05-21T18:54:28Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81025,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Studio Flow exceeds maximum allowed widgets",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThe cumulative number of widgets in your Studio Flow and all its linked Subflows exceeds the maximum allowed widget count of 2,000. You must reduce the number of widgets to 2,000 or fewer to prevent future Executions from failing.\n\n### Possible causes\n\n- Too many widgets in your Subflows\n- Subflows reused too many times in a parent Flow\n\n### Possible solutions\n\n- Reduce the number of widgets in your Subflows\n",
    "causes": "* Too many widgets in your Subflows\n* Subflows reused too many times in a parent Flow",
    "solutions": "* Reduce the number of widgets in your Subflows",
    "description": "The cumulative number of widgets in your Studio Flow and all its linked Subflows exceeds the maximum allowed widget count of 2,000. You must reduce the number of widgets to 2,000 or fewer to prevent future Executions from failing.",
    "date_created": "2021-08-19T22:20:18Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81026,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Studio Execution failed because Flow exceeds maximum allowed widgets",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThe Execution failed because the cumulative number of widgets in your Studio Flow and all its linked Subflows exceeds the maximum allowed widget count of 2,000. All Executions for this Flow will fail until you reduce the number of widgets to 2,000 or fewer.\n\n### Possible causes\n\n- Too many widgets in your Subflows\n- Subflows reused too many times in a parent Flow\n\n### Possible solutions\n\n- Reduce the number of widgets in your Subflows\n",
    "causes": "* Too many widgets in your Subflows\n* Subflows reused too many times in a parent Flow",
    "solutions": "* Reduce the number of widgets in your Subflows",
    "description": "The Execution failed because the cumulative number of widgets in your Studio Flow and all its linked Subflows exceeds the maximum allowed widget count of 2,000. All Executions for this Flow will fail until you reduce the number of widgets to 2,000 or fewer.",
    "date_created": "2021-08-19T22:22:22Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81027,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Error parsing type in Studio widget",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nAn error occurred when Studio attempted to parse a type in a widget\n\n### Possible causes\n\n- Tried to convert a variable to an incompatible type (e.g. \"foo\" to JSON Object type)\n- The provided JSON string is not valid\n\n### Possible solutions\n\n- Verify the runtime data of your flow execution by checking the Flow Data and inspecting any variables you may have referenced\n- Ensure that the configured type matches the variable data.\n",
    "causes": "* Tried to convert a variable to an incompatible type (e.g. \"foo\" to JSON Object type)\n* The provided JSON string is not valid",
    "solutions": "* Verify the runtime data of your flow execution by checking the Flow Data and inspecting any variables you may have referenced\n* Ensure that the configured type matches the variable data.",
    "description": "An error occurred when Studio attempted to parse a type in a widget",
    "date_created": "2024-05-28T18:58:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 81028,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Invalid wait URL in Studio widget",
    "secondary_message": null,
    "product": "Studio",
    "docs": "\n## Description\n\nThe wait URL configured in an Enqueue Call or Send To Flex widget wasn't a valid absolute URL after Liquid template interpolation. The wait URL has been omitted from the Enqueue TwiML, and the call will proceed with the default hold music.\n\n### Possible causes\n\n- The wait URL contains Liquid template variables that resolved to an invalid absolute URL at execution time.\n- The wait URL is a relative path (for example, `hold-music.mp3` or `/hold-music.mp3`) instead of a fully qualified URL.\n- The wait URL contains invalid characters such as spaces or unencoded special characters.\n\n### Possible solutions\n\n- Ensure the wait URL is a fully qualified absolute URL including the protocol (for example, `https://example.com/hold-music.mp3`).\n- Verify the runtime data of your flow execution by checking the Flow Data and inspecting any variables referenced in the wait URL.\n- Check the [Liquid template syntax](/docs/studio/user-guide/liquid-template-language) used in the wait URL field.\n- Ensure that all query parameters in the wait URL are properly URL-encoded. If you are using Liquid to construct the URL, you can use the `url_encode` filter to encode any dynamic values. For example: `https://example.com/hold-music.mp3?caller={{contact.channel.address | url_encode}}`.\n",
    "causes": "* The wait URL contains Liquid template variables that resolved to an invalid absolute URL at execution time.\n* The wait URL is a relative path (for example, `hold-music.mp3` or `/hold-music.mp3`) instead of a fully qualified URL.\n* The wait URL contains invalid characters such as spaces or unencoded special characters.",
    "solutions": "* Ensure the wait URL is a fully qualified absolute URL including the protocol (for example, `https://example.com/hold-music.mp3`).\n* Verify the runtime data of your flow execution by checking the Flow Data and inspecting any variables referenced in the wait URL.\n* Check the [Liquid template syntax](/docs/studio/user-guide/liquid-template-language) used in the wait URL field.\n* Ensure that all query parameters in the wait URL are properly URL-encoded. If you are using Liquid to construct the URL, you can use the `url_encode` filter to encode any dynamic values. For example: `https://example.com/hold-music.mp3?caller={{contact.channel.address | url_encode}}`.",
    "description": "The wait URL configured in an Enqueue Call or Send To Flex widget wasn't a valid absolute URL after Liquid template interpolation. The wait URL has been omitted from the Enqueue TwiML, and the call will proceed with the default hold music.",
    "date_created": "2026-03-05T08:52:00-06:00",
    "last_updated": "2026-03-13T18:33:32-04:00"
  },
  {
    "code": 82001,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Function invocation resulted in StatusCode 4xx",
    "secondary_message": null,
    "product": "Functions",
    "docs": "\n## Description\n\nYour Function invocation returned a 4xx StatusCode.\n\n### Possible causes\n\n- Function route does not exist.\n- Function is set to Private and invocation request is not signed.\n\n### Possible solutions\n\n- Check the Function route you are invoking exists.\n- Check whether the Function's *Access Control* is set to Private and whether you intended to have it set as so. If it is Private, then your request must be properly signed.\n",
    "causes": "* Function route does not exist.\n* Function is set to Private and invocation request is not signed.",
    "solutions": "* Check the Function route you are invoking exists.\n* Check whether the Function's *Access Control* is set to Private and whether you intended to have it set as so. If it is Private, then your request must be properly signed.",
    "description": "Your Function invocation returned a 4xx StatusCode.",
    "date_created": "2018-09-12T03:00:55Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 82002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Error on Twilio Function response",
    "secondary_message": null,
    "product": "Functions",
    "docs": "\n## Description\n\nYour Function invocation resulted in StatusCode 5xx.\n\n### Possible causes\n\n- Your Function timed out before responding.\n- Your Function returned an error response.\n\n### Possible solutions\n\n- Your Function must contain a callback.\n- Make sure you place the Function callback `callback(err, response)` is placed correctly in your Function code.\n- If you are using a JavaScript promise, make sure the callback is called in both success and catch blocks.\n- Your Function responded with an error.\n",
    "causes": "* Your Function timed out before responding.\n* Your Function returned an error response.",
    "solutions": "* Your Function must contain a callback.\n* Make sure you place the Function callback `callback(err, response)` is placed correctly in your Function code.\n* If you are using a JavaScript promise, make sure the callback is called in both success and catch blocks.\n* Your Function responded with an error.",
    "description": "Your Function invocation resulted in StatusCode 5xx.",
    "date_created": "2018-09-12T03:00:29Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 82003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Deployment Installation Failure",
    "secondary_message": null,
    "product": "Functions",
    "docs": "\n## Description\n\nYour latest Functions and Private Assets failed to be deployed.\n\n### Possible causes\n\n- NPM registry is degraded.\n- Your Service instance is trying to install a package that requires a gcc compiler.\n- Your Service instance resulted in out of space error due to large packages.\n\n### Possible solutions\n\n- Retry deployment after sometime.\n",
    "causes": "* NPM registry is degraded.\n* Your Service instance is trying to install a package that requires a gcc compiler.\n* Your Service instance resulted in out of space error due to large packages.",
    "solutions": "* Retry deployment after sometime.",
    "description": "Your latest Functions and Private Assets failed to be deployed.",
    "date_created": "2018-09-21T17:11:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 82004,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Function execution resulted in a warning log",
    "secondary_message": null,
    "product": "Functions",
    "docs": "\n## Description\n\nYour Function execution resulted in logging a warning message\n\n### Possible causes\n\nFunction execution code path lead to console.warn(...)\n\n### Possible solutions\n\nCheck the highlighted message above for further debugging\n",
    "causes": "Function execution code path lead to console.warn(...)",
    "solutions": "Check the highlighted message above for further debugging",
    "description": "Your Function execution resulted in logging a warning message",
    "date_created": "2020-02-12T02:43:54Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 82005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Function execution resulted in an error log",
    "secondary_message": null,
    "product": "Functions",
    "docs": "\n## Description\n\nYour Function execution resulted in logging an error message\n\n### Possible causes\n\nFunction execution code path lead to console.error(...)\n\n### Possible solutions\n\nCheck the highlighted message above for further debugging\n",
    "causes": "Function execution code path lead to console.error(...)",
    "solutions": "Check the highlighted message above for further debugging",
    "description": "Your Function execution resulted in logging an error message",
    "date_created": "2020-02-12T02:50:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 82006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Environment Context too large",
    "secondary_message": null,
    "product": "Functions",
    "docs": "\n## Description\n\nContext of the function has exceeded maximum limit. Reduce the context size and try again.\n\n### Possible causes\n\nContext size consists of account metadata, domain name, path and Environment variables stored as a JSON string. If this string exceeds 3KB, invocations may fail.\n\n### Possible solutions\n\nTry reducing number of Environment Variables or size of the Environment Variables stored.\n",
    "causes": "Context size consists of account metadata, domain name, path and Environment variables stored as a JSON string. If this string exceeds 3KB, invocations may fail.",
    "solutions": "Try reducing number of Environment Variables or size of the Environment Variables stored.",
    "description": "Context of the function has exceeded maximum limit. Reduce the context size and try again.",
    "date_created": "2020-09-11T14:48:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 82007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported Runtime",
    "secondary_message": null,
    "product": "Functions",
    "docs": "\n## Description\n\nThe runtime used in the Serverless Build request is not supported on the platform. A runtime defines the environment your Functions will be executed in (e.g. which Node.js version to use for your Functions).\n\n### Possible causes\n\n- A Serverless Build request was made without providing the runtime and the runtime used for the last successful build in the service (e.g. a Node.js version that is no longer supported on the platform).\n- A Serverless Build request was made with a specified runtime (e.g. node10) that is currently not supported on the platform.\n\n### Possible solutions\n\n- Determine what [runtime versions are currently available](/docs/serverless/functions-assets/faq#which-runtimes-are-available-for-twilio-functions).\n- Migrate to a new valid Node.js version by following our migration guide: [https://www.twilio.com/docs/serverless/functions-assets/node-upgrade](/docs/serverless/functions-assets/node-upgrade)\n- When using the Serverless API pass a dedicated valid runtime version when creating a new Build: [https://www.twilio.com/docs/serverless/api/resource/build](/docs/serverless/api/resource/build)\n",
    "causes": "* A Serverless Build request was made without providing the runtime and the runtime used for the last successful build in the service (e.g. a Node.js version that is no longer supported on the platform).\n* A Serverless Build request was made with a specified runtime (e.g. node10) that is currently not supported on the platform.",
    "solutions": "* Determine what [runtime versions are currently available](/docs/serverless/functions-assets/faq#which-runtimes-are-available-for-twilio-functions).\n* Migrate to a new valid Node.js version by following our migration guide: [https://www.twilio.com/docs/serverless/functions-assets/node-upgrade](/docs/serverless/functions-assets/node-upgrade)\n* When using the Serverless API pass a dedicated valid runtime version when creating a new Build: [https://www.twilio.com/docs/serverless/api/resource/build](/docs/serverless/api/resource/build)",
    "description": "The runtime used in the Serverless Build request is not supported on the platform. A runtime defines the environment your Functions will be executed in (e.g. which Node.js version to use for your Functions).",
    "date_created": "2021-05-06T23:15:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 82008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Headers or cookies too large",
    "secondary_message": "Request or response headers/cookies size is greater than the limits",
    "product": "Functions",
    "docs": "\n## Description\n\nThis error is thrown when request or response headers are greater than the enforced limits.\n\n### Possible causes\n\n1. The user has passed request/response headers larger than 4kb.\n2. Request/response has more than 75 headers+cookies.\n\n### Possible solutions\n\n1. Pass cookies and headers less than 4kb. Set cookies less than 4kb in the response.\n2. Send less than 75 headers. Set less than 75 headers/cookies in the response.\n",
    "causes": "1. The user has passed request/response headers larger than 4kb.\n2. Request/response has more than 75 headers+cookies.",
    "solutions": "1. Pass cookies and headers less than 4kb. Set cookies less than 4kb in the response.\n2. Send less than 75 headers. Set less than 75 headers/cookies in the response.",
    "description": "This error is thrown when request or response headers are greater than the enforced limits.",
    "date_created": "2021-08-11T17:44:58Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 82009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Multi-valued headers not supported",
    "secondary_message": null,
    "product": "Functions",
    "docs": "\n## Description\n\nTwilio was unable to process the correct response to your Function invocation because your version of Functions is incompatible with multi-valued HTTP response headers.\n\n### Possible causes\n\nA Function invocation has resulted in a Twilio Response with multi-valued headers (i.e. the header value is an array). Multi-valued headers are not supported in Classic Functions, or in @twilio/runtime-handler dependency versions below 1.2.0.\n\n### Possible solutions\n\nUse the new Functions/Assets UI or Serverless API, and upgrade your @twilio/runtime-handler dependency version to 1.2.0 or higher. Please refer to [this](/docs/serverless/functions-assets/handler) for more information about the Runtime Handler, how to upgrade the version, and the currently available versions. For Classic Functions, or incompatible Runtime Handler versions, only String-valued headers are permitted.\n",
    "causes": "A Function invocation has resulted in a Twilio Response with multi-valued headers (i.e. the header value is an array). Multi-valued headers are not supported in Classic Functions, or in @twilio/runtime-handler dependency versions below 1.2.0.",
    "solutions": "Use the new Functions/Assets UI or Serverless API, and upgrade your @twilio/runtime-handler dependency version to 1.2.0 or higher. Please refer to [this](/docs/serverless/functions-assets/handler) for more information about the Runtime Handler, how to upgrade the version, and the currently available versions. For Classic Functions, or incompatible Runtime Handler versions, only String-valued headers are permitted.",
    "description": "Twilio was unable to process the correct response to your Function invocation because your version of Functions is incompatible with multi-valued HTTP response headers.",
    "date_created": "2022-01-27T00:50:47Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83000,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Super SIM registration failed due to Internal Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Super SIM registration request has caused an internal error that is not further specified.\n\n### Possible causes\n\nAn unspecified error occurred while registering your Super SIM.\n\n### Possible solutions\n\n- Retry to register your Super SIM.\n- If this is a continuous experience, please contact Twilio Support.\n",
    "causes": "An unspecified error occurred while registering your Super SIM.",
    "solutions": "* Retry to register your Super SIM.\n* If this is a continuous experience, please contact Twilio Support.",
    "description": "Your Super SIM registration request has caused an internal error that is not further specified.",
    "date_created": "2021-03-21T23:58:07Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Parameter missing while registering a Super SIM",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRaised whenever a required parameter was not passed with the request while registering a Super SIM. The error object's detail field will indicate which parameter was not provided.\n\n### Possible causes\n\nEither you did not provide the Super SIM's ICCID or Registration Code in the request.\n\n### Possible solutions\n\nEnsure both the ICCID and Registration Code are provided in the request while registering a Super SIM.\n",
    "causes": "Either you did not provide the Super SIM's ICCID or Registration Code in the request.",
    "solutions": "Ensure both the ICCID and Registration Code are provided in the request while registering a Super SIM.",
    "description": "Raised whenever a required parameter was not passed with the request while registering a Super SIM. The error object's detail field will indicate which parameter was not provided.",
    "date_created": "2021-03-21T23:59:53Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Super SIM cannot be registered",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe ICCID and Registration Code do not belong to a registrable Super SIM.\n\n### Possible causes\n\nYou tried to register a Super SIM that cannot be registered to your Account.\n\n### Possible solutions\n\nEnsure the ICCID and Registration Code you used in the request belong to a registrable Super SIM. If you are unable to register a new Super SIM, please contact Twilio Support.\n",
    "causes": "You tried to register a Super SIM that cannot be registered to your Account.",
    "solutions": "Ensure the ICCID and Registration Code you used in the request belong to a registrable Super SIM. If you are unable to register a new Super SIM, please contact Twilio Support.",
    "description": "The ICCID and Registration Code do not belong to a registrable Super SIM.",
    "date_created": "2021-03-22T00:01:05Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Super SIM already belongs to the requesting Account.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRaised whenever you try to register a Super SIM that is already registered to your Account.\n\n### Possible causes\n\nYou tried to register a Super SIM that already belongs to your Account.\n\n### Possible solutions\n\nYou do not need to register the Super SIM as it is already associated to your Account. The error message contains the Super SIM SID that you can use to look it up.\n",
    "causes": "You tried to register a Super SIM that already belongs to your Account.",
    "solutions": "You do not need to register the Super SIM as it is already associated to your Account. The error message contains the Super SIM SID that you can use to look it up.",
    "description": "Raised whenever you try to register a Super SIM that is already registered to your Account.",
    "date_created": "2021-03-22T00:02:20Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Super SIM update operation failed due to Internal Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Super SIM update request has caused an internal error that is not further specified.\n\n### Possible causes\n\n- An unspecified error occurred while updating your Super SIM.\n\n### Possible solutions\n\n- Retry updating your Super SIM.\n- If you continue to experience this issue, please contact Twilio Support.\n",
    "causes": "* An unspecified error occurred while updating your Super SIM.",
    "solutions": "* Retry updating your Super SIM.\n* If you continue to experience this issue, please contact Twilio Support.",
    "description": "Your Super SIM update request has caused an internal error that is not further specified.",
    "date_created": "2021-08-23T11:21:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Super SIM not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Super SIM could not be found.\n\n### Possible causes\n\n- The Super SIM could not be found. It may have been deleted or transferred to another account.\n\n### Possible solutions\n\n- Ensure that the defined Super SIM SID or Unique Name is present in your Account.\n",
    "causes": "* The Super SIM could not be found. It may have been deleted or transferred to another account.",
    "solutions": "* Ensure that the defined Super SIM SID or Unique Name is present in your Account.",
    "description": "Your Super SIM could not be found.",
    "date_created": "2021-08-23T11:22:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Super SIM’s Target Fleet not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Super SIM cannot be assigned to the target Fleet because the Fleet could not be found.\n\n### Possible causes\n\n- The defined Fleet's SID or Unique Name does not exist.\n\n### Possible solutions\n\n- Ensure that the defined Fleet SID or Unique Name is present in your Account.\n",
    "causes": "* The defined Fleet's SID or Unique Name does not exist.",
    "solutions": "* Ensure that the defined Fleet SID or Unique Name is present in your Account.",
    "description": "Your Super SIM cannot be assigned to the target Fleet because the Fleet could not be found.",
    "date_created": "2021-08-23T11:23:24Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to activate your Super SIM as it does not belong to a Fleet",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Super SIM cannot be activated without being assigned to a Fleet.\n\n### Possible causes\n\n- The Super SIM is not assigned to a Fleet and the activation request did not include a Fleet.\n\n### Possible solutions\n\n- Provide a Fleet in the activation request or first assign your Super SIM to a Fleet and then try activating it again.\n",
    "causes": "* The Super SIM is not assigned to a Fleet and the activation request did not include a Fleet.",
    "solutions": "* Provide a Fleet in the activation request or first assign your Super SIM to a Fleet and then try activating it again.",
    "description": "Your Super SIM cannot be activated without being assigned to a Fleet.",
    "date_created": "2021-08-23T11:24:06Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to remove your Super SIM from its Fleet",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Super SIM must be assigned to a Fleet while it is in status 'ready' or 'active'.\n\n### Possible causes\n\n- The Super SIM is in status ready or active, and must belong to a Fleet.\n\n### Possible solutions\n\n- If you want to change your Super SIM's Fleet while it is in status ready or active, you need to provide an alternative Fleet in the request.\n- Update the Super SIM's status to inactive. This can be done either as a separate update request or in the same request as removing the Fleet.\n",
    "causes": "* The Super SIM is in status ready or active, and must belong to a Fleet.",
    "solutions": "* If you want to change your Super SIM's Fleet while it is in status ready or active, you need to provide an alternative Fleet in the request.\n* Update the Super SIM's status to inactive. This can be done either as a separate update request or in the same request as removing the Fleet.",
    "description": "Your Super SIM must be assigned to a Fleet while it is in status 'ready' or 'active'.",
    "date_created": "2021-08-23T11:24:43Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to update your Super SIM’s Fleet while it is in status scheduled",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Fleet update request cannot be performed on your Super SIM as it is in status scheduled.\n\n### Possible causes\n\n- Another operation on your Super SIM is in progress.\n\n### Possible solutions\n\n- Wait for the current Super SIM operation to be complete and try again.\n",
    "causes": "* Another operation on your Super SIM is in progress.",
    "solutions": "* Wait for the current Super SIM operation to be complete and try again.",
    "description": "Your Fleet update request cannot be performed on your Super SIM as it is in status scheduled.",
    "date_created": "2021-08-23T11:25:40Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to update your Super SIM to the desired status",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Super SIM cannot be updated from its current status to the desired status.\n\n### Possible causes\n\n- The Super SIM's current status cannot be updated to the desired status.\n\n### Possible solutions\n\n- Check the public documentation for valid operations.\n",
    "causes": "* The Super SIM's current status cannot be updated to the desired status.",
    "solutions": "* Check the public documentation for valid operations.",
    "description": "Your Super SIM cannot be updated from its current status to the desired status.",
    "date_created": "2021-08-23T11:26:13Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83011,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "A Super SIM with the specified Unique Name exists already",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Super SIM cannot be updated with the provided Unique Name because another Super SIM on your Account is already using it.\n\n### Possible causes\n\n- A Unique Name must be unique across all Super SIMs that belong to your Account. Two Super SIMs cannot have the same Unique Name.\n\n### Possible solutions\n\n- Specify an alternative Unique Name in your request.\n- Change the Unique Name of the Super SIM already using the desired Unique Name to something else and then retry your request.\n",
    "causes": "* A Unique Name must be unique across all Super SIMs that belong to your Account. Two Super SIMs cannot have the same Unique Name.",
    "solutions": "* Specify an alternative Unique Name in your request.\n* Change the Unique Name of the Super SIM already using the desired Unique Name to something else and then retry your request.",
    "description": "Your Super SIM cannot be updated with the provided Unique Name because another Super SIM on your Account is already using it.",
    "date_created": "2021-08-23T11:26:55Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83400,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "IP Commands error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRaised whenever delivering an IP Command fails with an error that is not covered by a more specific error code.\n\n### Possible causes\n\nAn unspecified error occurred while delivering your IP Command.\n\n### Possible solutions\n\n- Try to send the IP Command again.\n- If this is a continuous experience, please contact Twilio Support.\n",
    "causes": "An unspecified error occurred while delivering your IP Command.",
    "solutions": "* Try to send the IP Command again.\n* If this is a continuous experience, please contact Twilio Support.",
    "description": "Raised whenever delivering an IP Command fails with an error that is not covered by a more specific error code.",
    "date_created": "2021-04-15T21:08:47Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83401,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The device was not attached to a cellular network",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe device was not attached to a cellular network when Twilio attempted to send the IP Command. The IP Command was not sent to the device.\n\n### Possible causes\n\nYour device was not attached to a cellular network when Twilio attempted to send the IP Command.\n\n### Possible solutions\n\nEnsure your device is attached to a cellular network and try to send the IP Command again.\n",
    "causes": "Your device was not attached to a cellular network when Twilio attempted to send the IP Command.",
    "solutions": "Ensure your device is attached to a cellular network and try to send the IP Command again.",
    "description": "The device was not attached to a cellular network when Twilio attempted to send the IP Command. The IP Command was not sent to the device.",
    "date_created": "2021-04-15T21:10:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83402,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Received error response to IP Command callback request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio received an error response when attempting to send an IP Command event to the provided callback URL.\n\n### Possible causes\n\nTwilio did not receive a 2xx response from the callback URL when attempting to send an IP Command event.\n\n### Possible solutions\n\nEnsure that your callback server can handle the callback and responds with a 2xx HTTP status code. See the [Debugger](https://www.twilio.com/console/debugger) in Console for further information on the callback response.\n",
    "causes": "Twilio did not receive a 2xx response from the callback URL when attempting to send an IP Command event.",
    "solutions": "Ensure that your callback server can handle the callback and responds with a 2xx HTTP status code. See the [Debugger](https://www.twilio.com/console/debugger) in Console for further information on the callback response.",
    "description": "Twilio received an error response when attempting to send an IP Command event to the provided callback URL.",
    "date_created": "2021-04-29T14:18:12Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83500,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "No eSIM Profiles are available",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio currently does not have eSIM Profiles available for ordering.\n\n### Possible causes\n\n- There are no eSIM Profiles currently available for ordering.\n\n### Possible solutions\n\n- Twilio tries to restock eSIM Profiles as soon as possible. If you would like to be notified when eSIM Profiles are available again, please open a ticket with customer support.\n",
    "causes": "* There are no eSIM Profiles currently available for ordering.",
    "solutions": "* Twilio tries to restock eSIM Profiles as soon as possible. If you would like to be notified when eSIM Profiles are available again, please open a ticket with customer support.",
    "description": "Twilio currently does not have eSIM Profiles available for ordering.",
    "date_created": "2021-11-02T12:45:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83600,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": " An invalid parameter value was passed to the API",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA parameter was passed to the Usage Records API which failed validation. This usually means the value format was invalid, or multiple parameters in the request conflict with each other.\n\n### Possible causes\n\n- Check the response message for details on which parameter was invalid and the specific reason.\n\n### Possible solutions\n\n- Refer to the API documentation and adjust your parameter value to a supported value.\n",
    "causes": "* Check the response message for details on which parameter was invalid and the specific reason.",
    "solutions": "* Refer to the API documentation and adjust your parameter value to a supported value.",
    "description": "A parameter was passed to the Usage Records API which failed validation. This usually means the value format was invalid, or multiple parameters in the request conflict with each other.",
    "date_created": "2021-08-19T13:12:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83601,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Request StartTime and/or EndTime must be aligned to UTC day boundaries",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nCertain requests for Usage Records can only be made with StartTime and EndTime parameters that align to midnight UTC (e.g. \"2021-07-15T00:00:00Z\").\n\n### Possible causes\n\n- This happens if you request Usage Records with StartTime or EndTime parameters that do not fall on a day cutoff (i.e. midnight UTC) for certain UsageRecord requests.\n\n### Possible solutions\n\n- Adjust your StartTime or EndTime parameters so that they are at midnight UTC (e.g. \"2021-07-15T00:00:00Z\").\n",
    "causes": "* This happens if you request Usage Records with StartTime or EndTime parameters that do not fall on a day cutoff (i.e. midnight UTC) for certain UsageRecord requests.",
    "solutions": "* Adjust your StartTime or EndTime parameters so that they are at midnight UTC (e.g. \"2021-07-15T00:00:00Z\").",
    "description": "Certain requests for Usage Records can only be made with StartTime and EndTime parameters that align to midnight UTC (e.g. \"2021-07-15T00:00:00Z\").",
    "date_created": "2021-08-19T13:13:35Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83602,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Request StartTime and/or EndTime must be aligned to UTC hour boundaries.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nCertain requests for Usage Records can only be made with StartTime and EndTime parameters that align to a UTC hour cutoff (e.g. \"2021-07-15T04:00:00Z\").\n\n### Possible causes\n\n- This happens if you request Usage Records with StartTime or EndTime parameters that do not fall on an hour cutoff for certain UsageRecord requests.\n\n### Possible solutions\n\n- Adjust your StartTime or EndTime parameters so that they are on a UTC hour cutoff (e.g. \"2021-07-15T04:00:00Z\").\n",
    "causes": "* This happens if you request Usage Records with StartTime or EndTime parameters that do not fall on an hour cutoff for certain UsageRecord requests.",
    "solutions": "* Adjust your StartTime or EndTime parameters so that they are on a UTC hour cutoff (e.g. \"2021-07-15T04:00:00Z\").",
    "description": "Certain requests for Usage Records can only be made with StartTime and EndTime parameters that align to a UTC hour cutoff (e.g. \"2021-07-15T04:00:00Z\").",
    "date_created": "2021-08-19T13:14:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83603,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The maximum allowed query period is 31 days for group by sim queries",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequests for Usage Records grouping by \"sim\" can query a maximum time period of 31 days.\n\n### Possible causes\n\n- This happens if you request Usage Records grouped by SIM with StartTime or EndTime parameters that span more than 31 days.\n\n### Possible solutions\n\n- Adjust your StartTime or EndTime parameters so that the time range is less than or equal to 31 days.\n",
    "causes": "* This happens if you request Usage Records grouped by SIM with StartTime or EndTime parameters that span more than 31 days.",
    "solutions": "* Adjust your StartTime or EndTime parameters so that the time range is less than or equal to 31 days.",
    "description": "Requests for Usage Records grouping by \"sim\" can query a maximum time period of 31 days.",
    "date_created": "2021-08-19T13:15:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83604,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The requested query period exceeds the maximum allowed period for the requested Granularity",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequests for Usage Records with granularity \"all\" may only query up to 18 months of data, granularity \"day\" may query up to 3 months of data, and granularity \"hour\" may query up to 31 days of data.\n\n### Possible causes\n\n- This happens if you request Usage Records with StartTime or EndTime parameters defining a time range exceeding the maximum allowed threshold for a given Granularity.\n\n### Possible solutions\n\n- Adjust your StartTime or EndTime parameters so that the time range is less than or equal to the threshold allowed for the desired Granularity.\n",
    "causes": "* This happens if you request Usage Records with StartTime or EndTime parameters defining a time range exceeding the maximum allowed threshold for a given Granularity.",
    "solutions": "* Adjust your StartTime or EndTime parameters so that the time range is less than or equal to the threshold allowed for the desired Granularity.",
    "description": "Requests for Usage Records with granularity \"all\" may only query up to 18 months of data, granularity \"day\" may query up to 3 months of data, and granularity \"hour\" may query up to 31 days of data.",
    "date_created": "2021-08-19T13:16:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83605,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "StartTime parameter is too far in the past. It must be within the last 18 months.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYou can query usage data up to 18 months in the past. The oldest allowed StartTime is 18 months prior to the start of the current UTC day. For example, if the current time is 2021-12-13T5:00:00Z, then you can query usage as far back as 2020-06-13T:00:00:00Z.\n\n### Possible causes\n\nThis happens if you request Usage Records with a StartTime parameter more than 18 months in the past.\n\n### Possible solutions\n\nAdjust your StartTime parameter to be at most 18 months in the past.\n",
    "causes": "This happens if you request Usage Records with a StartTime parameter more than 18 months in the past.",
    "solutions": "Adjust your StartTime parameter to be at most 18 months in the past.",
    "description": "You can query usage data up to 18 months in the past. The oldest allowed StartTime is 18 months prior to the start of the current UTC day. For example, if the current time is 2021-12-13T5:00:00Z, then you can query usage as far back as 2020-06-13T:00:00:00Z.",
    "date_created": "2022-01-04T00:09:10Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83700,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Attachment Failed Due To Internal Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAn unexpected error occurred while attempting to process your SIM's attachment request to the Network. This is usually a transient error and should resolve itself in time.\n\n### Possible causes\n\n- An unexpected error occurred in processing your SIM's attachment to the Network\n\n### Possible solutions\n\n- Retry connecting to the Network from your device.\n- If this issue persists for your SIM, please contact Twilio Support.\n",
    "causes": "* An unexpected error occurred in processing your SIM's attachment to the Network",
    "solutions": "* Retry connecting to the Network from your device.\n* If this issue persists for your SIM, please contact Twilio Support.",
    "description": "An unexpected error occurred while attempting to process your SIM's attachment request to the Network. This is usually a transient error and should resolve itself in time.",
    "date_created": "2022-07-21T14:18:43Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83701,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Data Session Establishment Failed Due To Internal Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAn unexpected error occurred while establishing a Data Session for your SIM. This is usually a transient error and should resolve itself in time.\n\n### Possible causes\n\n- An unexpected error occurred in setting up a Data Session for your SIM.\n\n### Possible solutions\n\n- Retry connecting to the Network from your device.\n- If this issue persists for your SIM, please contact Twilio Support.\n",
    "causes": "* An unexpected error occurred in setting up a Data Session for your SIM.",
    "solutions": "* Retry connecting to the Network from your device.\n* If this issue persists for your SIM, please contact Twilio Support.",
    "description": "An unexpected error occurred while establishing a Data Session for your SIM. This is usually a transient error and should resolve itself in time.",
    "date_created": "2022-07-21T14:21:00Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83702,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attachment Rejected Due To Network Not Allowed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe SIM could not to attach to the specified Network, either because its Fleet's Network Access Profile did not allow the Network or because Twilio has blocked the IMSI currently being used from attaching to the Network.\n\n### Possible causes\n\n- The Network Access Profile associated with this SIM's Fleet has blocked access to this Network.\n- Twilio has disabled this Network for all SIMs.\n\n### Possible solutions\n\n- Check the Network Access Profile associated with the SIM and enable the Network if you would like to use it.\n",
    "causes": "* The Network Access Profile associated with this SIM's Fleet has blocked access to this Network.\n* Twilio has disabled this Network for all SIMs.",
    "solutions": "* Check the Network Access Profile associated with the SIM and enable the Network if you would like to use it.",
    "description": "The SIM could not to attach to the specified Network, either because its Fleet's Network Access Profile did not allow the Network or because Twilio has blocked the IMSI currently being used from attaching to the Network.",
    "date_created": "2022-07-21T14:23:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83703,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attachment Rejected Due To Rate Limiting",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe SIM was not able to attach to the specified Network because your device has repeatedly attempted to connect too frequently and is rate limited. Rate limiting is enforced to protect the network infrastracture and prevent one device from impacting the experience of other users on the Network.\n\n### Possible causes\n\n- Your device may be stuck in a loop and is repeatedly and rapidly attempting to reattach to the network.\n\n### Possible solutions\n\n- Implement backoffs in connection attempts on your device to not overwhelm the network infrastructure.\n",
    "causes": "* Your device may be stuck in a loop and is repeatedly and rapidly attempting to reattach to the network.",
    "solutions": "* Implement backoffs in connection attempts on your device to not overwhelm the network infrastructure.",
    "description": "The SIM was not able to attach to the specified Network because your device has repeatedly attempted to connect too frequently and is rate limited. Rate limiting is enforced to protect the network infrastracture and prevent one device from impacting the experience of other users on the Network.",
    "date_created": "2022-07-21T14:25:26Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83704,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attachment Rejected Due To SIM In New State",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe SIM was not able to attach to the specified network because your SIM has not been activated yet and is in the `new` state. This is the state that SIMs arrive in when they are shipped and they must be activated first via Console or REST API before they can be used.\n\n### Possible causes\n\n- Your SIM is in the `new` state and is not active.\n\n### Possible solutions\n\n- Use the Twilio Console or REST API to activate your SIM by setting its `status` to `ready` or `active`.\n",
    "causes": "* Your SIM is in the `new` state and is not active.",
    "solutions": "* Use the Twilio Console or REST API to activate your SIM by setting its `status` to `ready` or `active`.",
    "description": "The SIM was not able to attach to the specified network because your SIM has not been activated yet and is in the `new` state. This is the state that SIMs arrive in when they are shipped and they must be activated first via Console or REST API before they can be used.",
    "date_created": "2022-07-21T14:28:53Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 83705,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Attachment Rejected Due To SIM In Inactive State",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe SIM was not able to attach to the specified Network because your SIM is `inactive`. A SIM must be in the `ready` or `active` states to access the Network.\n\n### Possible causes\n\n- Your SIM is in the `inactive` state.\n\n### Possible solutions\n\n- Use the Twilio Console or REST API to activate your SIM by setting its `status` to `active`.\n",
    "causes": "* Your SIM is in the `inactive` state.",
    "solutions": "* Use the Twilio Console or REST API to activate your SIM by setting its `status` to `active`.",
    "description": "The SIM was not able to attach to the specified Network because your SIM is `inactive`. A SIM must be in the `ready` or `active` states to access the Network.",
    "date_created": "2022-07-21T14:31:51Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 84000,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Execution has exceeded max steps allowed for a flow.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThis limitation is enforced to prevent infinite loops. Please try to design your flows such that they terminate.\n\n### Possible causes\n\nThere are too many steps in the flow\n\n### Possible solutions\n\nReduce the number of steps in your flow.\n",
    "causes": "There are too many steps in the flow",
    "solutions": "Reduce the number of steps in your flow.",
    "description": "This limitation is enforced to prevent infinite loops. Please try to design your flows such that they terminate.",
    "date_created": "2024-01-10T18:07:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 84001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Workflow execution timed out.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nExecution timed out before completing the execution of all the blocks.\n\n### Possible causes\n\n- Long await on any async await events.\n\n### Possible solutions\n\n- Define a timeout for async await events.\n",
    "causes": "* Long await on any async await events.",
    "solutions": "* Define a timeout for async await events.",
    "description": "Execution timed out before completing the execution of all the blocks.",
    "date_created": "2024-01-10T18:08:36Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 84002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Workflow execution failed. ",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nWorkflow execution failed.\n\n### Possible causes\n\n- Possible downstream exceptions.\n\n### Possible solutions\n\n- Check error payload for the error message.\n",
    "causes": "* Possible downstream exceptions.",
    "solutions": "* Check error payload for the error message.",
    "description": "Workflow execution failed.",
    "date_created": "2024-01-10T18:10:07Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 84003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to render block.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA block could not be rendered.\n\n### Possible causes\n\n- Liquid values used in the block might not be correct.\n\n### Possible solutions\n\n- Check the liquid expressions in the block evaluate to a proper value.\n",
    "causes": "* Liquid values used in the block might not be correct.",
    "solutions": "* Check the liquid expressions in the block evaluate to a proper value.",
    "description": "A block could not be rendered.",
    "date_created": "2024-01-10T18:10:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 84004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Error while creating execution via REST API.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequired values to create execution might not have been provided.\n\n### Possible causes\n\n- The Create Execution endpoint was called with parameters that could not be processed.\n\n### Possible solutions\n\n- Double-check the provided parameters for syntax errors.\n",
    "causes": "* The Create Execution endpoint was called with parameters that could not be processed.",
    "solutions": "* Double-check the provided parameters for syntax errors.",
    "description": "Required values to create execution might not have been provided.",
    "date_created": "2024-01-10T18:11:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85000,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nYour Microvisor API request failed due to an internal error in Twilio systems.\n\n### Possible causes\n\nAn internal error in Twilio systems.\n\n### Possible solutions\n\n- Retry your Microvisor API request\n- If the error persists, please contact Twilio Support.\n",
    "causes": "An internal error in Twilio systems.",
    "solutions": "* Retry your Microvisor API request\n* If the error persists, please contact Twilio Support.",
    "description": "Your Microvisor API request failed due to an internal error in Twilio systems.",
    "date_created": "2022-07-20T15:46:10Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Microvisor resource was not found\n\n### Possible causes\n\n- An invalid SID was specified\n- The resource with the specified SID exists on a different account\n- A non-existent Unique Name was specified\n\n### Possible solutions\n\nModify the request and specify the right SID or Unique Name\n",
    "causes": "* An invalid SID was specified\n* The resource with the specified SID exists on a different account\n* A non-existent Unique Name was specified",
    "solutions": "Modify the request and specify the right SID or Unique Name",
    "description": "The Microvisor resource was not found",
    "date_created": "2022-08-01T13:34:08Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Already Exists",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA Microvisor resource already exists with this Unique Name or identifier\n\n### Possible causes\n\n- A resource has been created with the same Unique Name or identifier before\n\n### Possible solutions\n\n- Specify a new Unique Name or identifier and try again\n",
    "causes": "* A resource has been created with the same Unique Name or identifier before",
    "solutions": "* Specify a new Unique Name or identifier and try again",
    "description": "A Microvisor resource already exists with this Unique Name or identifier",
    "date_created": "2022-08-01T13:39:51Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85003,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Cannot Delete",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Microvisor resource cannot be deleted\n\n### Possible causes\n\n- You attempted to delete a Microvisor App when there are Devices still actively targeting it\n\n### Possible solutions\n\n- Untarget the App and try again\n",
    "causes": "* You attempted to delete a Microvisor App when there are Devices still actively targeting it",
    "solutions": "* Untarget the App and try again",
    "description": "The Microvisor resource cannot be deleted",
    "date_created": "2022-08-01T13:54:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Parameter",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe parameter specified in the Microvisor API request is invalid\n\n### Possible causes\n\n- An invalid SID was specified\n- A non-existent Unique Name was specified\n- A non-boolean value was specified for a boolean parameter\n\n### Possible solutions\n\n- Specify a valid parameter and try again\n",
    "causes": "* An invalid SID was specified\n* A non-existent Unique Name was specified\n* A non-boolean value was specified for a boolean parameter",
    "solutions": "* Specify a valid parameter and try again",
    "description": "The parameter specified in the Microvisor API request is invalid",
    "date_created": "2022-08-01T14:03:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Forbidden",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThis account does not have permission to access the Microvisor resource\n\n### Possible causes\n\n- You specified an incorrect resource identifier in the request\n- You do not have permission to access the resource (it was possibly created under a different account or got moved)\n\n### Possible solutions\n\n- Fix the resource identifier and try again\n",
    "causes": "* You specified an incorrect resource identifier in the request\n* You do not have permission to access the resource (it was possibly created under a different account or got moved)",
    "solutions": "* Fix the resource identifier and try again",
    "description": "This account does not have permission to access the Microvisor resource",
    "date_created": "2022-08-01T14:10:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "App Bundle is not a valid ZIP file",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nApp Bundle is not a valid ZIP file\n\n### Possible causes\n\n- An incorrect file was uploaded\n- A different compression format was used\n\n### Possible solutions\n\n- Use the Application Bundler tool to create the Bundle and try again\n",
    "causes": "* An incorrect file was uploaded\n* A different compression format was used",
    "solutions": "* Use the Application Bundler tool to create the Bundle and try again",
    "description": "App Bundle is not a valid ZIP file",
    "date_created": "2022-08-02T14:54:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "App Bundle is password-protected",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nApp Bundle is password-protected\n\n### Possible causes\n\n- The wrong file was uploaded\n- The file was created using a different tool\n\n### Possible solutions\n\n- Use the Application Bundler tool to create the Bundle and try again\n",
    "causes": "* The wrong file was uploaded\n* The file was created using a different tool",
    "solutions": "* Use the Application Bundler tool to create the Bundle and try again",
    "description": "App Bundle is password-protected",
    "date_created": "2022-08-02T14:56:39Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 85102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "App Bundle contents are too large",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nApp Bundle contents are larger than 4MB\n\n### Possible causes\n\n- An incorrect file was uploaded\n\n### Possible solutions\n\n- Check the total size of the Application Bundle layers and manifest, use the bundler tool to create the bundle and try again\n",
    "causes": "* An incorrect file was uploaded",
    "solutions": "* Check the total size of the Application Bundle layers and manifest, use the bundler tool to create the bundle and try again",
    "description": "App Bundle contents are larger than 4MB",
    "date_created": "2022-08-02T15:16:21Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 86001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid credential",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\nThe API Key you have provided in your credential is invalid.\n\n### Possible solutions\n\nEnsure you are using the correct API key.\n",
    "causes": "The API Key you have provided in your credential is invalid.",
    "solutions": "Ensure you are using the correct API key.",
    "description": "",
    "date_created": "2025-08-04T17:57:49.205Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 86002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Session with provider terminated due to insufficient credits or funds associated with the credential",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\nYou have run out of credits or hit your maximum monthly spend with the provider.\n\n### Possible solutions\n\nBuy more credits or increase your limits with the provider.\n",
    "causes": "You have run out of credits or hit your maximum monthly spend with the provider.",
    "solutions": "Buy more credits or increase your limits with the provider.",
    "description": "",
    "date_created": "2025-08-04T18:00:27.977Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 86003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Session with provider terminated due to provider issue",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\nThere was an issue with the provider's servers.\n\n### Possible solutions\n\nRetry your request after a brief wait and contact the provider if the issue persists. Check the status page of the provider for more information.\n",
    "causes": "There was an issue with the provider's servers.",
    "solutions": "Retry your request after a brief wait and contact the provider if the issue persists. Check the status page of the provider for more information.",
    "description": "",
    "date_created": "2025-08-04T18:04:08.975Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 86004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid attribute",
    "secondary_message": "Invalid attribute provided within the TwiML.",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nInvalid attribute provided within the TwiML.\n\n### Possible causes\n\nOne of the submitted attributes to the TwiML is invalid.\n\n### Possible solutions\n\nValidate that attributes provided are corrected.\n",
    "causes": "One of the submitted attributes to the TwiML is invalid.",
    "solutions": "Validate that attributes provided are corrected.",
    "description": "Invalid attribute provided within the TwiML.",
    "date_created": "2025-08-04T18:27:20.387Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 86005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Server Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\n### Possible causes\n\nThere is an issue on our servers.\n\n### Possible solutions\n\nRetry your request and reach out if the issue persists.\n",
    "causes": "There is an issue on our servers.",
    "solutions": "Retry your request and reach out if the issue persists.",
    "description": "",
    "date_created": "2025-08-04T18:24:32.197Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 86006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Max call duration reached",
    "secondary_message": "The maximum call duration was reached and the call was terminated",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTwilio Voice has a limit on the length of a call, once that is reached the call is terminated.\n\n### Possible causes\n\nThis call reached the maximum duration.\n\n### Possible solutions\n\nNone at this moment.\n",
    "causes": "This call reached the maximum duration.",
    "solutions": "None at this moment.",
    "description": "Twilio Voice has a limit on the length of a call, once that is reached the call is terminated.",
    "date_created": "2025-08-04T18:29:11.668Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 86007,
    "log_level": "ERROR",
    "log_type": "CARRIER",
    "message": "RTP Timeout",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nAn RTP timeout is detected, meaning that audio stopped flowing.\n\n### Possible causes\n\n- Phone call finished\n- Carrier stopped sending audio to Twilio\n\n### Possible solutions\n\n- Contact Twilio support\n",
    "causes": "* Phone call finished\n* Carrier stopped sending audio to Twilio",
    "solutions": "* Contact Twilio support",
    "description": "An RTP timeout is detected, meaning that audio stopped flowing.",
    "date_created": "2025-08-04T18:31:06.388Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 86008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Concurrency limit reached",
    "secondary_message": "The concurrency limit was reached for this account",
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe call was rejected because you reached the maximum limit of concurrent calls available for your account.\n\n### Possible causes\n\nThe allowed concurrency limit on your account was reached.\n\n### Possible solutions\n\nIf needed, reach out to Twilio to see if they can increase your concurrency limit.\n",
    "causes": "The allowed concurrency limit on your account was reached.",
    "solutions": "If needed, reach out to Twilio to see if they can increase your concurrency limit.",
    "description": "The call was rejected because you reached the maximum limit of concurrent calls available for your account.",
    "date_created": "2025-08-04T18:32:27.223Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90000,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Uncaught Flex JavaScript Exception",
    "secondary_message": "A client-side JavaScript exception occurred within the Flex UI",
    "product": "Flex",
    "docs": "\n## Description\n\nA JavaScript error has occurred within Flex UI.\n\n### Possible causes\n\n- There may have been an issue initializing Flex\n- There may be an uncaught exception within a Flex plugin\n",
    "causes": "* There may have been an issue initializing Flex\n* There may be an uncaught exception within a Flex plugin",
    "solutions": null,
    "description": "A JavaScript error has occurred within Flex UI.",
    "date_created": "2019-04-09T17:32:00Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message SID is invalid",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nAn invalid message SID has been sent in the request\n\n### Possible causes\n\nMessage SID sent in the request has either wrong prefix or incorrect format\n\n### Possible solutions\n\nProvide correct message SID in the request\n",
    "causes": "Message SID sent in the request has either wrong prefix or incorrect format",
    "solutions": "Provide correct message SID in the request",
    "description": "An invalid message SID has been sent in the request",
    "date_created": "2021-03-05T11:30:15Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Too Many Errors",
    "secondary_message": "Your Flex application has exceeded the publish rate limit of errors per second. Only a partial set of errors have been published instead.",
    "product": "Flex",
    "docs": "\n## Description\n\nYour Flex application has exceeded the publish rate limit of errors per second. Only a partial set of errors have been published instead.\n\n### Possible causes\n\n- Your Flex Application is sending too many errors to the Twilio Debugger\n- Your Flex Plugin is misconfigured causing a lot of errors to be published\n\n### Possible solutions\n\n- Ensure that you have put log messages appropriately in your plugin to reduce the number errors being published\n- There could be errors outside of your plugins, within Twilio that are causing it to throw errors\n- Use `try/catch` around methods and handle exceptions gracefully\n- Use `.catch` for all HTTP requests to handle exceptions gracefully\n",
    "causes": "* Your Flex Application is sending too many errors to the Twilio Debugger\n* Your Flex Plugin is misconfigured causing a lot of errors to be published",
    "solutions": "* Ensure that you have put log messages appropriately in your plugin to reduce the number errors being published\n* There could be errors outside of your plugins, within Twilio that are causing it to throw errors\n* Use `try/catch` around methods and handle exceptions gracefully\n* Use `.catch` for all HTTP requests to handle exceptions gracefully",
    "description": "Your Flex application has exceeded the publish rate limit of errors per second. Only a partial set of errors have been published instead.",
    "date_created": "2019-08-20T19:14:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to fetch plugins from the Custom Plugins URL",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nTwilio could not fetch your Flex plugins from your provided plugins URL\n\n### Possible causes\n\n- An invalid content type or no content being returned when Twilio tries to retrieve your plugins using the custom plugins URL.\n\n### Possible solutions\n\n- Check if the custom plugins URL has been set correctly\n- The custom plugin URL must return a valid JSON object\n\nSee the [Deploying Flex Plugins](/docs/flex/developer/plugins/cli#deploying-to-your-own-cdn) docs for more information.\n",
    "causes": "* An invalid content type or no content being returned when Twilio tries to retrieve your plugins using the custom plugins URL.",
    "solutions": "* Check if the custom plugins URL has been set correctly\n* The custom plugin URL must return a valid JSON object See the [Deploying Flex Plugins](/docs/flex/developer/plugins/cli#deploying-to-your-own-cdn) docs for more information.",
    "description": "Twilio could not fetch your Flex plugins from your provided plugins URL",
    "date_created": "2019-09-09T23:18:54Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Message Truncated",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nA debug-event was too large to be published to Twilio Debugger.\n\n### Possible causes\n\n- You have logged a message field that exceeds a total of 5000 allowed bytes\n\n### Possible solutions\n\n- Try to separate out your logs into individual messages\n",
    "causes": "* You have logged a message field that exceeds a total of 5000 allowed bytes",
    "solutions": "* Try to separate out your logs into individual messages",
    "description": "A debug-event was too large to be published to Twilio Debugger.",
    "date_created": "2019-10-08T18:54:28Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90006,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid direction",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means the request included an invalid `direction` value for a message. Valid Message resource directions are `inbound`, `outbound-api`, `outbound-call`, and `outbound-reply`.\n\n### Possible causes\n\n- The request sent a `direction` value that is not one of the supported Message resource directions.\n- The application or integration mapped the wrong value into the message direction field.\n\n### Possible solutions\n\n- Update the request or integration to use one of the supported values: `inbound`, `outbound-api`, `outbound-call`, or `outbound-reply`.\n- Review the code that creates or updates the message and remove any unexpected `direction` value.\n- If the request is already using a valid value and the error continues, contact Twilio Support.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Messaging API Overview](/docs/messaging/api)\n",
    "causes": "* The request sent a `direction` value that is not one of the supported Message resource directions.\n* The application or integration mapped the wrong value into the message direction field.",
    "solutions": "* Update the request or integration to use one of the supported values: `inbound`, `outbound-api`, `outbound-call`, or `outbound-reply`.\n* Review the code that creates or updates the message and remove any unexpected `direction` value.\n* If the request is already using a valid value and the error continues, contact Twilio Support.",
    "description": "This error means the request included an invalid `direction` value for a message. Valid Message resource directions are `inbound`, `outbound-api`, `outbound-call`, and `outbound-reply`.",
    "date_created": "2022-01-19T11:52:47Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 90007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid validity period value",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe `validity_period` value for a Message or Messaging Service is outside the supported range. Set the value in whole seconds between 1 and 36,000, which is a maximum of 10 hours. If the message stays in Twilio's queue longer than the configured validity period, Twilio does not send it.\n\n### Possible causes\n\n- `validity_period` was set to a value lower than 1 second.\n- `validity_period` was set to a value higher than 36,000 seconds.\n- The value was configured on the Message request or on the associated Messaging Service with an invalid number.\n\n### Possible solutions\n\n- Set `validity_period` to an integer between 1 and 36,000.\n- Review the Message request payload and remove any invalid `validity_period` value.\n- If you use a Messaging Service, update the Validity period setting in the service configuration.\n- Use the default value of 36,000 seconds if you do not need a shorter queue time.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [Messaging Services](/docs/messaging/services)\n",
    "causes": "* `validity_period` was set to a value lower than 1 second.\n* `validity_period` was set to a value higher than 36,000 seconds.\n* The value was configured on the Message request or on the associated Messaging Service with an invalid number.",
    "solutions": "* Set `validity_period` to an integer between 1 and 36,000.\n* Review the Message request payload and remove any invalid `validity_period` value.\n* If you use a Messaging Service, update the Validity period setting in the service configuration.\n* Use the default value of 36,000 seconds if you do not need a shorter queue time.",
    "description": "The `validity_period` value for a Message or Messaging Service is outside the supported range. Set the value in whole seconds between 1 and 36,000, which is a maximum of 10 hours. If the message stays in Twilio's queue longer than the configured validity period, Twilio does not send it.",
    "date_created": "2020-06-08T13:02:29Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 90009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The message SID already exists.",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error means the request to create a Message resource conflicts with an existing message SID. Twilio identifies each resource with a unique SID, and this error page lists a duplicate message SID as the cause when creating a new message.\n\n### Possible causes\n\n- A message with the same SID already exists, so the new message request conflicts with an existing resource.\n- Your integration reused a message identifier instead of creating a unique value for the new message. Twilio uses unique SIDs to identify resources.\n\n### Possible solutions\n\n- Generate a new, unique message SID before you retry the request.\n- Make sure your application does not reuse the same identifier when creating messages.\n- If you need to inspect an existing message, fetch it with the Messages resource using its SID.\n\n#### Additional resources\n\n- [Messages resource](/docs/messaging/api/message-resource)\n- [What is a String Identifier (SID)?](/docs/glossary/what-is-a-sid)\n",
    "causes": "* A message with the same SID already exists, so the new message request conflicts with an existing resource.\n* Your integration reused a message identifier instead of creating a unique value for the new message. Twilio uses unique SIDs to identify resources.",
    "solutions": "* Generate a new, unique message SID before you retry the request.\n* Make sure your application does not reuse the same identifier when creating messages.\n* If you need to inspect an existing message, fetch it with the Messages resource using its SID.",
    "description": "This error means the request to create a Message resource conflicts with an existing message SID. Twilio identifies each resource with a unique SID, and this error page lists a duplicate message SID as the cause when creating a new message.",
    "date_created": "2020-07-14T06:41:07Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 90010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Account is not active",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThis account is currently not in an active state\n\n### Possible causes\n\n- Account is suspended\n",
    "causes": "* Account is suspended",
    "solutions": null,
    "description": "This account is currently not in an active state",
    "date_created": "2016-04-01T20:24:55Z",
    "last_updated": "2020-08-04T10:00:22.612Z"
  },
  {
    "code": 90011,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "MessageSid is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nMessageSid is invalid\n\n### Possible causes\n\nMessageSid has incorrect sid format or prefix (SM and MM allowed)\n\n### Possible solutions\n\nUse correct MessageSid. Example `SMec8e12b0a5eb4fc68e173f1c5db95b2a`\n",
    "causes": "MessageSid has incorrect sid format or prefix (SM and MM allowed)",
    "solutions": "Use correct MessageSid. Example `SMec8e12b0a5eb4fc68e173f1c5db95b2a`",
    "description": "MessageSid is invalid",
    "date_created": "2020-12-11T08:31:49Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90012,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Recipients' list has too many items [deprecated] ",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n'Recipients' list has too many items\n\n### Possible causes\n\nToo many recipients are provided for a single Broadcast\n\n### Possible solutions\n\nSplit the broadcast to several parts where each part has smaller number of recipients than allowed\n",
    "causes": "Too many recipients are provided for a single Broadcast",
    "solutions": "Split the broadcast to several parts where each part has smaller number of recipients than allowed",
    "description": "'Recipients' list has too many items",
    "date_created": "2020-12-11T09:40:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90013,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Template' or 'TemplateSid'&'TemplateLanguage' or 'MediaUrls' is required",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n'Template' or 'TemplateSid'&'TemplateLanguage' or 'MediaUrls' is required to send Broadcast\n\n### Possible causes\n\nAll next attributes are missing: 'Template', 'TemplateSid', 'TemplateLanguage', 'MediaUrls'\n\n### Possible solutions\n\nUse one of the attributes 'Template', 'TemplateSid', 'TemplateLanguage', 'MediaUrls' to specify Broadcast content\n",
    "causes": "All next attributes are missing: 'Template', 'TemplateSid', 'TemplateLanguage', 'MediaUrls'",
    "solutions": "Use one of the attributes 'Template', 'TemplateSid', 'TemplateLanguage', 'MediaUrls' to specify Broadcast content",
    "description": "'Template' or 'TemplateSid'&'TemplateLanguage' or 'MediaUrls' is required to send Broadcast",
    "date_created": "2020-12-11T09:46:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90014,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Validity Period should be positive integer",
    "secondary_message": "Validity Period should be positive integer",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when `validity_period` is not a positive integer. For Messaging Service messages and Message resources, Twilio accepts integer values from `1` to `36000` seconds.\n\n### Possible causes\n\n- You set `validity_period` to `0`, a negative number, or a non-integer value. Twilio requires a positive integer.\n- You configured a Messaging Service with a validity period outside the supported range of `1` to `36000` seconds.\n\n### Possible solutions\n\n- Set `validity_period` to a whole number between `1` and `36000`.\n- If you are using a Messaging Service, enter the queue time in seconds in the Validity period setting.\n- Update the message request or Messaging Service configuration, then send the message again.\n\n#### Additional resources\n\n- [Message resource](/docs/messaging/api/message-resource)\n- [Messaging Services](/docs/messaging/services)\n",
    "causes": "* You set `validity_period` to `0`, a negative number, or a non-integer value. Twilio requires a positive integer.\n* You configured a Messaging Service with a validity period outside the supported range of `1` to `36000` seconds.",
    "solutions": "* Set `validity_period` to a whole number between `1` and `36000`.\n* If you are using a Messaging Service, enter the queue time in seconds in the Validity period setting.\n* Update the message request or Messaging Service configuration, then send the message again.",
    "description": "This error occurs when `validity_period` is not a positive integer. For Messaging Service messages and Message resources, Twilio accepts integer values from `1` to `36000` seconds.",
    "date_created": "2020-05-16T15:24:44Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 90015,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Body and Template (Body, Sid, Language, Args) are provided",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBody and Template (Body, Sid, Language, Args) are provided together.\n\n### Possible causes\n\nSingle create message request has Body and one of Template's field: Template or TemplateSid or TemplateLanguage or TemplateArgs\n\n### Possible solutions\n\nChoose which type of message would you like to use: templated message or plain message.\n",
    "causes": "Single create message request has Body and one of Template's field: Template or TemplateSid or TemplateLanguage or TemplateArgs",
    "solutions": "Choose which type of message would you like to use: templated message or plain message.",
    "description": "Body and Template (Body, Sid, Language, Args) are provided together.",
    "date_created": "2020-12-11T08:36:54Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90016,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Template' or 'TemplateSid'/'TemplateLanguage' is required to send a Template Message",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n'Template' or 'TemplateSid'/'TemplateLanguage' is required to send a Template Message\n\n### Possible causes\n\nSome template parameters are provided but Template (or TemplateSid) itself is not provide.\n\n### Possible solutions\n\nProvide Template or TemplateSid\\&TemplateLanguage in the create message request\n",
    "causes": "Some template parameters are provided but Template (or TemplateSid) itself is not provide.",
    "solutions": "Provide Template or TemplateSid\\&TemplateLanguage in the create message request",
    "description": "'Template' or 'TemplateSid'/'TemplateLanguage' is required to send a Template Message",
    "date_created": "2020-12-11T08:40:29Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90017,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Template' and 'TemplateSid'/'TemplateLanguage' must not be specified together",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n'Template' and 'TemplateSid'/'TemplateLanguage' must not be specified together for template message\n\n### Possible causes\n\n'Template' and 'TemplateSid'/'TemplateLanguage' are specified together for template message\n\n### Possible solutions\n\nChoose which template message to use Direcy('Template') or Indirect('TemplateSid')\n",
    "causes": "'Template' and 'TemplateSid'/'TemplateLanguage' are specified together for template message",
    "solutions": "Choose which template message to use Direcy('Template') or Indirect('TemplateSid')",
    "description": "'Template' and 'TemplateSid'/'TemplateLanguage' must not be specified together for template message",
    "date_created": "2020-12-11T08:42:19Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90018,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Template' field is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n'Template' field is too long\n\n### Possible causes\n\n'Template' field is too long\n\n### Possible solutions\n\nUse shorter 'Template'\n",
    "causes": "'Template' field is too long",
    "solutions": "Use shorter 'Template'",
    "description": "'Template' field is too long",
    "date_created": "2020-12-11T08:43:54Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90019,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'TemplateArgs' dictionary size is too large",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n'TemplateArgs' dictionary size is too large\n\n### Possible causes\n\nToo many items in 'TemplateArgs' dictionary\n\n### Possible solutions\n\nUse shorter 'TemplateArgs' dictionary\n",
    "causes": "Too many items in 'TemplateArgs' dictionary",
    "solutions": "Use shorter 'TemplateArgs' dictionary",
    "description": "'TemplateArgs' dictionary size is too large",
    "date_created": "2020-12-11T08:45:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90020,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "One of 'TemplateArgs' dictionary key is blank",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nOne of 'TemplateArgs' dictionary key is blank\n\n### Possible causes\n\nOne of 'TemplateArgs' dictionary key is blank\n\n### Possible solutions\n\nDo not use empty or blank keys in 'TemplateArgs' dictionary\n",
    "causes": "One of 'TemplateArgs' dictionary key is blank",
    "solutions": "Do not use empty or blank keys in 'TemplateArgs' dictionary",
    "description": "One of 'TemplateArgs' dictionary key is blank",
    "date_created": "2020-12-11T08:46:19Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90021,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "One of 'TemplateArgs' dictionary key is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nOne of 'TemplateArgs' dictionary key is too long\n\n### Possible causes\n\nOne of 'TemplateArgs' dictionary key is too long\n\n### Possible solutions\n\nUse shorter 'TemplateArgs' dictionary keys\n",
    "causes": "One of 'TemplateArgs' dictionary key is too long",
    "solutions": "Use shorter 'TemplateArgs' dictionary keys",
    "description": "One of 'TemplateArgs' dictionary key is too long",
    "date_created": "2020-12-11T08:47:19Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90022,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "One of 'TemplateArgs' dictionary value is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nOne of 'TemplateArgs' dictionary value is too long\n\n### Possible causes\n\nOne of 'TemplateArgs' dictionary value is too long\n\n### Possible solutions\n\nUse shorter 'TemplateArgs' dictionary values\n",
    "causes": "One of 'TemplateArgs' dictionary value is too long",
    "solutions": "Use shorter 'TemplateArgs' dictionary values",
    "description": "One of 'TemplateArgs' dictionary value is too long",
    "date_created": "2020-12-11T08:48:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90023,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "One of 'TemplateArgs' dictionary value is null",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nOne of 'TemplateArgs' dictionary value is null\n\n### Possible causes\n\nOne of 'TemplateArgs' dictionary value is null\n\n### Possible solutions\n\nDo not use null 'TemplateArgs' dictionary values\n",
    "causes": "One of 'TemplateArgs' dictionary value is null",
    "solutions": "Do not use null 'TemplateArgs' dictionary values",
    "description": "One of 'TemplateArgs' dictionary value is null",
    "date_created": "2020-12-11T08:48:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90024,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template body has tag which is not provided in 'TemplateArgs'",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTemplate body has tag which is not provided in 'TemplateArgs'\n\n### Possible causes\n\nTemplate body has wider tag's set than specified in 'TemplateArgs' dictionary\n\n### Possible solutions\n\nCheck all tags from template body are specified in 'TemplateArgs' dictionary as keys\n",
    "causes": "Template body has wider tag's set than specified in 'TemplateArgs' dictionary",
    "solutions": "Check all tags from template body are specified in 'TemplateArgs' dictionary as keys",
    "description": "Template body has tag which is not provided in 'TemplateArgs'",
    "date_created": "2020-12-11T08:51:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90025,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template body has unsupported tag type",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTemplate body has unsupported Mustache tag type\n\n### Possible causes\n\nCurrently, Twilio supports only data tags (\"\\{\\{}}\"). All other Mustache tags/commands are disabled.\n\n### Possible solutions\n\nCheck your template body has only data tags (placeholders)\n",
    "causes": "Currently, Twilio supports only data tags (\"{{}}\"). All other Mustache tags/commands are disabled.",
    "solutions": "Check your template body has only data tags (placeholders)",
    "description": "Template body has unsupported Mustache tag type",
    "date_created": "2020-12-11T08:53:44Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90026,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Template body could not be parsed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTemplate body could not be parsed by Mustache compiler\n\n### Possible causes\n\nTemplate body uses incorrect grammar (we support Mustache grammar). For instance empty Mustache placeholder (\"\\{\\{}}\") is not allowed by the grammar.\n\n### Possible solutions\n\nCheck your template body is correct Mustache grammar.\n",
    "causes": "Template body uses incorrect grammar (we support Mustache grammar). For instance empty Mustache placeholder (\"{{}}\") is not allowed by the grammar.",
    "solutions": "Check your template body is correct Mustache grammar.",
    "description": "Template body could not be parsed by Mustache compiler",
    "date_created": "2020-12-11T08:56:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90027,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast 'FriendlyName' is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast 'FriendlyName' is too long\n\n### Possible causes\n\n'FriendlyName' field has too long length\n\n### Possible solutions\n\nUse shorter string as Broadcast 'FriendlyName'\n",
    "causes": "'FriendlyName' field has too long length",
    "solutions": "Use shorter string as Broadcast 'FriendlyName'",
    "description": "Broadcast 'FriendlyName' is too long",
    "date_created": "2020-12-11T13:13:55Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90028,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast 'IdempotencyToken' is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast 'IdempotencyToken' is too long\n\n### Possible causes\n\n'IdempotencyToken' field value has too long length\n\n### Possible solutions\n\nUse shorter string lenght for 'IdempotencyToken' field\n",
    "causes": "'IdempotencyToken' field value has too long length",
    "solutions": "Use shorter string lenght for 'IdempotencyToken' field",
    "description": "Broadcast 'IdempotencyToken' is too long",
    "date_created": "2020-12-11T13:17:16Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90029,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast 'CorrelationId' is empty",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast 'CorrelationId' is empty\n\n### Possible causes\n\nEmpty string value is used in 'CorrelationId' field\n\n### Possible solutions\n\nUse not empty string as 'CorrelationId' field\n",
    "causes": "Empty string value is used in 'CorrelationId' field",
    "solutions": "Use not empty string as 'CorrelationId' field",
    "description": "Broadcast 'CorrelationId' is empty",
    "date_created": "2020-12-11T13:19:12Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90030,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast 'CorrelationId' is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast 'CorrelationId' is too long\n\n### Possible causes\n\n'CorrelationId' field has too long length\n\n### Possible solutions\n\nUse shorter 'CorrelationId' valuer\n",
    "causes": "'CorrelationId' field has too long length",
    "solutions": "Use shorter 'CorrelationId' valuer",
    "description": "Broadcast 'CorrelationId' is too long",
    "date_created": "2020-12-11T13:20:18Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90031,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast Recipients list is empty [deprecated] ",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis deprecated error appears when the Broadcast `Recipients` list is empty.\n\n### Possible causes\n\n- You sent a Broadcast request without any recipients.\n- The `Recipients` list in the request payload was empty.\n\n### Possible solutions\n\n- Add at least one recipient to the Broadcast request before you send it.\n- Verify that the `Recipients` list is populated and is not being cleared by your application logic.\n\n#### Additional resources\n\n- [Programmable Messaging](/docs/messaging)\n",
    "causes": "* You sent a Broadcast request without any recipients.\n* The `Recipients` list in the request payload was empty.",
    "solutions": "* Add at least one recipient to the Broadcast request before you send it.\n* Verify that the `Recipients` list is populated and is not being cleared by your application logic.",
    "description": "This deprecated error appears when the Broadcast `Recipients` list is empty.",
    "date_created": "2020-12-11T13:22:29Z",
    "last_updated": "2026-03-25T13:34:46Z"
  },
  {
    "code": 90032,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast recipient's 'to' is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast recipient's 'to' is invalid\n\n### Possible causes\n\nBroadcast recipient's 'to' has invalid format. For instance, colon is missing.\n\n### Possible solutions\n\nUse correct 'to' (\"channel:address\") for recipient object\n",
    "causes": "Broadcast recipient's 'to' has invalid format. For instance, colon is missing.",
    "solutions": "Use correct 'to' (\"channel:address\") for recipient object",
    "description": "Broadcast recipient's 'to' is invalid",
    "date_created": "2020-12-11T13:26:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90033,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast recipient's 'to' is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast recipient's 'to' is too long\n\n### Possible causes\n\nToo long address and channel are used in Recipient's 'to'\n\n### Possible solutions\n\nUse correct channel type (sms|mms|etc) and appropriate address\n",
    "causes": "Too long address and channel are used in Recipient's 'to'",
    "solutions": "Use correct channel type (sms|mms|etc) and appropriate address",
    "description": "Broadcast recipient's 'to' is too long",
    "date_created": "2020-12-11T13:28:46Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90034,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'BroadcastStatusCallbackUrl' is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n'BroadcastStatusCallbackUrl' is too long\n\n### Possible causes\n\n'BroadcastStatusCallbackUrl' is too long\n\n### Possible solutions\n\nUse shorter url in 'BroadcastStatusCallbackUrl' field\n",
    "causes": "'BroadcastStatusCallbackUrl' is too long",
    "solutions": "Use shorter url in 'BroadcastStatusCallbackUrl' field",
    "description": "'BroadcastStatusCallbackUrl' is too long",
    "date_created": "2020-12-11T15:42:17Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90035,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast 'MessageStatusCallbackUrl' is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast 'MessageStatusCallbackUrl' is too long\n\n### Possible causes\n\n'MessageStatusCallbackUrl' is too long\n\n### Possible solutions\n\nUse shorter url in 'MessageStatusCallbackUrl' field\n",
    "causes": "'MessageStatusCallbackUrl' is too long",
    "solutions": "Use shorter url in 'MessageStatusCallbackUrl' field",
    "description": "Broadcast 'MessageStatusCallbackUrl' is too long",
    "date_created": "2020-12-11T15:43:20Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90036,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast recipient's 'body' is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast Recipient's 'body' is too long\n\n### Possible causes\n\nRecipient's 'body' is too long\n\n### Possible solutions\n\nUse shorter 'body' value for recipient object\n",
    "causes": "Recipient's 'body' is too long",
    "solutions": "Use shorter 'body' value for recipient object",
    "description": "Broadcast Recipient's 'body' is too long",
    "date_created": "2020-12-11T15:46:28Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90037,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast has too many 'CorrelationId' items",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast has too many 'CorrelationId' items\n\n### Possible causes\n\nTo many 'CorrelationId' items in the request\n\n### Possible solutions\n\nUse no more than allowed number of 'CorrelationId' fields\n",
    "causes": "To many 'CorrelationId' items in the request",
    "solutions": "Use no more than allowed number of 'CorrelationId' fields",
    "description": "Broadcast has too many 'CorrelationId' items",
    "date_created": "2020-12-11T15:49:06Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90038,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'BroadcastStatusCallbackUrl' is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n'BroadcastStatusCallbackUrl' is invalid\n\n### Possible causes\n\n'BroadcastStatusCallbackUrl' has no Url format or schema is incorrect. Broadcast allows only http and https schemas\n\n### Possible solutions\n\nUse valid http or https url\n",
    "causes": "'BroadcastStatusCallbackUrl' has no Url format or schema is incorrect. Broadcast allows only http and https schemas",
    "solutions": "Use valid http or https url",
    "description": "'BroadcastStatusCallbackUrl' is invalid",
    "date_created": "2020-12-11T15:51:11Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90039,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast 'MessageStatusCallbackUrl' is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast 'MessageStatusCallbackUrl' is invalid\n\n### Possible causes\n\n'MessageStatusCallbackUrl' has invalid URL format or schema. Messaging allows only HTTP or HTTPS schemas\n\n### Possible solutions\n\nUse correct http or https URL\n",
    "causes": "'MessageStatusCallbackUrl' has invalid URL format or schema. Messaging allows only HTTP or HTTPS schemas",
    "solutions": "Use correct http or https URL",
    "description": "Broadcast 'MessageStatusCallbackUrl' is invalid",
    "date_created": "2020-12-11T15:53:24Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90040,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast 'MediaUrls' list has too many items",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast 'MediaUrls' list has too many items\n\n### Possible causes\n\nBroadcast request has too many 'MediaUrl' fields\n\n### Possible solutions\n\nUse fewer 'MediaUrl' fields in Broadcast request\n",
    "causes": "Broadcast request has too many 'MediaUrl' fields",
    "solutions": "Use fewer 'MediaUrl' fields in Broadcast request",
    "description": "Broadcast 'MediaUrls' list has too many items",
    "date_created": "2020-12-11T15:56:24Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90041,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Broadcast 'MediaUrl' field is too long",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBroadcast 'MediaUrl' field is too long\n\n### Possible causes\n\nOne of 'MediaUrl' fields is too long\n\n### Possible solutions\n\nUse shorter 'MediaUrl' value\n",
    "causes": "One of 'MediaUrl' fields is too long",
    "solutions": "Use shorter 'MediaUrl' value",
    "description": "Broadcast 'MediaUrl' field is too long",
    "date_created": "2020-12-11T15:58:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Autopilot Actions JSON",
    "secondary_message": null,
    "product": "Understand",
    "docs": "\n## Description\n\nAutopilot Actions Configured on the Task are Invalid\n\n### Possible causes\n\nActions JSON does not comply with the Actions Schema (https://carnelian-neanderthal-8008.twil.io/assets/ActionsSchema.json)\n\n### Possible solutions\n\nTest your JSON response against the Actions Schema (https://carnelian-neanderthal-8008.twil.io/assets/ActionsSchema.json)\n",
    "causes": "Actions JSON does not comply with the Actions Schema (https://carnelian-neanderthal-8008.twil.io/assets/ActionsSchema.json)",
    "solutions": "Test your JSON response against the Actions Schema (https://carnelian-neanderthal-8008.twil.io/assets/ActionsSchema.json)",
    "description": "Autopilot Actions Configured on the Task are Invalid",
    "date_created": "2019-08-07T00:57:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unique Name Already Exists",
    "secondary_message": null,
    "product": "Understand",
    "docs": "\n## Description\n\nUnique name user created already exists\n\n### Possible causes\n\nA same unique name has been created before\n\n### Possible solutions\n\nChange to a new unique name\n",
    "causes": "A same unique name has been created before",
    "solutions": "Change to a new unique name",
    "description": "Unique name user created already exists",
    "date_created": "2020-05-29T00:14:46Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90102,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Assistant failure to start collection",
    "secondary_message": null,
    "product": "Understand",
    "docs": "\n## Description\n\nAutopilot was unable to start the collection\n\n### Possible causes\n\nAn internal error rendered us unable to start the collection. Apologies!\n\n### Possible solutions\n\nIf the error persists, [contact us](/help/contact) to figure out what has happened and how to fix it. Note the time of the error and what you were trying to do when it occurred. Thank you!\n",
    "causes": "An internal error rendered us unable to start the collection. Apologies!",
    "solutions": "If the error persists, [contact us](/help/contact) to figure out what has happened and how to fix it. Note the time of the error and what you were trying to do when it occurred. Thank you!",
    "description": "Autopilot was unable to start the collection",
    "date_created": "2020-07-02T23:29:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90103,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Error processing answer during collection",
    "secondary_message": null,
    "product": "Understand",
    "docs": "\n## Description\n\nError processing answer during collection\n\n### Possible causes\n\nAn internal error rendered us unable to process the answer. Apologies!\n\n### Possible solutions\n\nIf the error persists, [contact us](/help/contact) to figure out what has happened and how to fix it. Note the time of the error and what you were trying to do when it occurred. Thank you!\n",
    "causes": "An internal error rendered us unable to process the answer. Apologies!",
    "solutions": "If the error persists, [contact us](/help/contact) to figure out what has happened and how to fix it. Note the time of the error and what you were trying to do when it occurred. Thank you!",
    "description": "Error processing answer during collection",
    "date_created": "2020-07-02T23:29:36Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Collect Field Type",
    "secondary_message": null,
    "product": "Understand",
    "docs": "\n## Description\n\nThe Field Type in Collect JSON is Invalid\n\n### Possible causes\n\nCollect Question has an Invalid Field Type\n\n### Possible solutions\n\nPlease ensure the type in the Collect Question is valid.\n",
    "causes": "Collect Question has an Invalid Field Type",
    "solutions": "Please ensure the type in the Collect Question is valid.",
    "description": "The Field Type in Collect JSON is Invalid",
    "date_created": "2020-07-14T19:19:55Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 90403,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "[Autopilot] Signature validation failed",
    "secondary_message": null,
    "product": "Understand",
    "docs": "\n## Description\n\nSignature validation is failed.\n\n### Possible causes\n\nThe account owns the messaging/voice service does not have any parent/sub-account relationship with the account owns the Autopilot assistant.\n\n### Possible solutions\n\nMoving the assistant (export and import) into the service account or service account's one of the sub-accounts would solve the problem.\n",
    "causes": "The account owns the messaging/voice service does not have any parent/sub-account relationship with the account owns the Autopilot assistant.",
    "solutions": "Moving the assistant (export and import) into the service account or service account's one of the sub-accounts would solve the problem.",
    "description": "Signature validation is failed.",
    "date_created": "2021-12-13T21:35:13Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sink could not be created",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nCreating sink failed due to bad configuration\n\n### Possible causes\n\n- Sink type is not Kinesis or Webhook\n- Sink Configuration is empty\n- Sink Configuration role-arn is empty\n- Sink Configuration arn is empty\n- Sink Configuration external\\_id is empty\n- Sink Configuration destination is empty\n- Sink Configuration method is empty\n- Sink Configuration batch\\_events is empty\n\n### Possible solutions\n\n- Description cannot be empty\n- Sink configuration values cannot be empty\n- Sink type must be Kinesis or Webhook\n",
    "causes": "* Sink type is not Kinesis or Webhook\n* Sink Configuration is empty\n* Sink Configuration role-arn is empty\n* Sink Configuration arn is empty\n* Sink Configuration external\\_id is empty\n* Sink Configuration destination is empty\n* Sink Configuration method is empty\n* Sink Configuration batch\\_events is empty",
    "solutions": "* Description cannot be empty\n* Sink configuration values cannot be empty\n* Sink type must be Kinesis or Webhook",
    "description": "Creating sink failed due to bad configuration",
    "date_created": "2020-09-16T15:33:10Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sink could not be found",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nSink could not be found\n\n### Possible causes\n\n- Sink doesn't exist\n- Invalid Sid\n\n### Possible solutions\n\n- Ensure Sink exists\n- Valid Sink ID\n",
    "causes": "* Sink doesn't exist\n* Invalid Sid",
    "solutions": "* Ensure Sink exists\n* Valid Sink ID",
    "description": "Sink could not be found",
    "date_created": "2020-09-16T15:37:38Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Incorrect values for pagination",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nPagination failed due to bad paging values\n\n### Possible causes\n\nPage and PageSize are invalid values\n\n### Possible solutions\n\nPage and PageSize must be integers greater than or equal than zero\n",
    "causes": "Page and PageSize are invalid values",
    "solutions": "Page and PageSize must be integers greater than or equal than zero",
    "description": "Pagination failed due to bad paging values",
    "date_created": "2020-09-16T15:45:21Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account reached the max sink limit",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nAccount reached the max sink limit\n\n### Possible causes\n\n- Have 100 sinks created\n\n### Possible solutions\n\n- Cannot have more than 100 sinks. Make sure to delete at least one sinks before creating another.\n",
    "causes": "* Have 100 sinks created",
    "solutions": "* Cannot have more than 100 sinks. Make sure to delete at least one sinks before creating another.",
    "description": "Account reached the max sink limit",
    "date_created": "2020-09-16T15:47:48Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Test event cannot be found",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nTest event cannot be found\n\n### Possible causes\n\n- Test event does not exist\n\n### Possible solutions\n\n- Make sure you send the test event before validating.\n",
    "causes": "* Test event does not exist",
    "solutions": "* Make sure you send the test event before validating.",
    "description": "Test event cannot be found",
    "date_created": "2020-09-16T15:51:47Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Test ID is invalid",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nTest ID is invalid\n\n### Possible causes\n\n- The provided test id is not the one that was sent to the configured stream\n\n### Possible solutions\n\n- Ensure test id is valid and exists in your stream\n",
    "causes": "* The provided test id is not the one that was sent to the configured stream",
    "solutions": "* Ensure test id is valid and exists in your stream",
    "description": "Test ID is invalid",
    "date_created": "2020-09-16T15:56:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The sink sid is in an invalid format",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nThe sink sid provided does not match the expected format (dg\\[0-9a-f]\\{32})\n\n### Possible causes\n\nThe id for the sink has to start with a DG, followed by a 32 character UUID\n\n### Possible solutions\n\nMake sure the sink sid is in the expected format\n",
    "causes": "The id for the sink has to start with a DG, followed by a 32 character UUID",
    "solutions": "Make sure the sink sid is in the expected format",
    "description": "The sink sid provided does not match the expected format (dg\\[0-9a-f]{32})",
    "date_created": "2020-09-16T16:06:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Sink still in use",
    "secondary_message": "There are subscriptions using this sink",
    "product": "Events",
    "docs": "\n## Description\n\nSink cannot be deleted because it is sill in use\n\n### Possible causes\n\n- There are subscriptions using this sink\n\n### Possible solutions\n\n- Delete all the subscriptions that use this sink. You can use the Event Streams - Subscriptions API endpoint to list all your subscriptions filtered by SinkSid and then delete them.\n",
    "causes": "* There are subscriptions using this sink",
    "solutions": "* Delete all the subscriptions that use this sink. You can use the Event Streams - Subscriptions API endpoint to list all your subscriptions filtered by SinkSid and then delete them.",
    "description": "Sink cannot be deleted because it is sill in use",
    "date_created": "2021-01-18T15:01:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91100,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Subscription could not be created",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nCreating subscription for sink failed\n\n### Possible causes\n\n- Sink is not in an active state\n\n### Possible solutions\n\n- Ensure sink is in an active state before creating subscription\n",
    "causes": "* Sink is not in an active state",
    "solutions": "* Ensure sink is in an active state before creating subscription",
    "description": "Creating subscription for sink failed",
    "date_created": "2020-09-16T14:20:49Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Subscription could not be created",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nSubscription creation failed\n\n### Possible causes\n\n- Event types are duplicated\n- Description is empty\n\n### Possible solutions\n\n- Ensure event types are not duplicated\n- Description is not empty\n",
    "causes": "* Event types are duplicated\n* Description is empty",
    "solutions": "* Ensure event types are not duplicated\n* Description is not empty",
    "description": "Subscription creation failed",
    "date_created": "2020-09-16T14:38:18Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Subscription could not be found",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nSubscription could not be found\n\n### Possible causes\n\n- Subscription does not exist\n- Invalid sid\n\n### Possible solutions\n\n- Make sure subscription exists\n- Pass an valid sid for the subscription\n",
    "causes": "* Subscription does not exist\n* Invalid sid",
    "solutions": "* Make sure subscription exists\n* Pass an valid sid for the subscription",
    "description": "Subscription could not be found",
    "date_created": "2020-09-16T14:42:34Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Event type list is empty",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nEvent type list is empty\n\n### Possible causes\n\n- Event types cannot be empty\n\n### Possible solutions\n\n- Ensure event types are not empty\n",
    "causes": "* Event types cannot be empty",
    "solutions": "* Ensure event types are not empty",
    "description": "Event type list is empty",
    "date_created": "2020-09-16T14:43:41Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Event type not found",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nEvent type not found\n\n### Possible causes\n\n- Event type is not supported by our system\n\n### Possible solutions\n\n- Use a supported Event\n",
    "causes": "* Event type is not supported by our system",
    "solutions": "* Use a supported Event",
    "description": "Event type not found",
    "date_created": "2020-09-16T14:49:30Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Bad Request",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nIncorrect information provided in the request\n\n### Possible causes\n\n- The transform template is not a valid template\n- The JSON Schema is incorrect\n- The value of one of the entry params is not correct\n\n### Possible solutions\n\n- Recheck the input information and validate against examples\n",
    "causes": "* The transform template is not a valid template\n* The JSON Schema is incorrect\n* The value of one of the entry params is not correct",
    "solutions": "* Recheck the input information and validate against examples",
    "description": "Incorrect information provided in the request",
    "date_created": "2020-09-21T21:13:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91202,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Not Found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nResource is not found\n\n### Possible causes\n\n- Schema not found\n- Event Type Not found\n\n### Possible solutions\n\n- Recheck to see if the correct information is provided else\n- Recheck to verify is the resource actually exists\n",
    "causes": "* Schema not found\n* Event Type Not found",
    "solutions": "* Recheck to see if the correct information is provided else\n* Recheck to verify is the resource actually exists",
    "description": "Resource is not found",
    "date_created": "2020-09-21T21:16:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 91203,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Method Not Allowed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThis operation is not allowed against the resource\n\n### Possible causes\n\n- Deleting a schema is not allowed\n\n### Possible solutions\n\n- Avoid executing a `DELETE` action against the Schema resource\n",
    "causes": "* Deleting a schema is not allowed",
    "solutions": "* Avoid executing a `DELETE` action against the Schema resource",
    "description": "This operation is not allowed against the resource",
    "date_created": "2020-09-21T21:18:47Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 92001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'Types' Parameter Required",
    "secondary_message": "You attempted to create content, but you forgot to include at least one type within the 'types' property the 'types' parameter requires at least one type in order to create content.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### 'types' Parameter Required\n\nYou attempted to create content, but you forgot to include at least one type within the 'types' property the 'types' parameter requires at least one type in order to create content.\n\n### Possible causes\n\nYou attempted to create content, but you forgot to include at least one type within the 'types' property, the 'types' parameter requires at least one type in order to create content.\n\n### Possible solutions\n\nPlease include at least one type within the 'types' property\n",
    "causes": "You attempted to create content, but you forgot to include at least one type within the 'types' property, the 'types' parameter requires at least one type in order to create content.",
    "solutions": "Please include at least one type within the 'types' property",
    "description": "",
    "date_created": "2021-11-03T07:51:51Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 92002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The 'variables' parameter exceeds the allowed limit",
    "secondary_message": "Invalid variables. The max amount of variables allowed is 100",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nInvalid variables. The max amount of variables allowed is 100\n\n### Possible causes\n\nYou attempted to create content, but you send more than '100' variables\n\n### Possible solutions\n\nPlease review the amount of variables defined in the 'variables' property\n",
    "causes": "You attempted to create content, but you send more than '100' variables",
    "solutions": "Please review the amount of variables defined in the 'variables' property",
    "description": "Invalid variables. The max amount of variables allowed is 100",
    "date_created": "2021-11-03T07:54:38Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 92003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "'language' Parameter Required",
    "secondary_message": "Invalid language. Language is required",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nTwilio returns 92003 when you create content without the required `language` parameter. Include a supported language value when you create the template.\n\n### Possible causes\n\n- You omitted the `language` field when creating the content template.\n\n### Possible solutions\n\n- Add the required `language` field to your content create request.\n- Set `language` to a supported two-letter language code before you submit the template.\n\n#### Additional resources\n\n- [Content API public endpoints](/docs/content/content-api-resources)\n- [Get Started with Content API](/en-us/blog/get-started-with-content-api)\n",
    "causes": "* You omitted the `language` field when creating the content template.",
    "solutions": "* Add the required `language` field to your content create request.\n* Set `language` to a supported two-letter language code before you submit the template.",
    "description": "Twilio returns 92003 when you create content without the required `language` parameter. Include a supported language value when you create the template.",
    "date_created": "2021-11-08T19:49:50Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 92004,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid language code",
    "secondary_message": "Invalid language code",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error appears when you create Content with a `language` value that is not valid for the resource. The Content API uses a two-letter ISO 639-1 language code, and Content Templates are limited to one language per template.\n\n### Possible causes\n\n- You sent a `language` value that is not a valid two-letter ISO 639-1 code.\n- The language you chose is not supported for the Content template you are creating or updating.\n\n### Possible solutions\n\n- Set `language` to a supported two-letter ISO 639-1 code, such as `en`.\n- If you need to send content in more than one language, create a separate Content template for each language.\n\n#### Additional resources\n\n- [Content API public endpoints](/docs/content/content-api-resources)\n- [FAQs and Troubleshooting](/docs/content/faqs-and-troubleshooting)\n",
    "causes": "* You sent a `language` value that is not a valid two-letter ISO 639-1 code.\n* The language you chose is not supported for the Content template you are creating or updating.",
    "solutions": "* Set `language` to a supported two-letter ISO 639-1 code, such as `en`.\n* If you need to send content in more than one language, create a separate Content template for each language.",
    "description": "This error appears when you create Content with a `language` value that is not valid for the resource. The Content API uses a two-letter ISO 639-1 language code, and Content Templates are limited to one language per template.",
    "date_created": "2021-11-03T07:41:11Z",
    "last_updated": "2026-03-25T13:47:45Z"
  },
  {
    "code": 92005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "ContentSid Required",
    "secondary_message": "A ContentSid must be specified if content variables are provided in the request.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nA ContentSid must be specified if content variables are provided in the request.\n\n### Possible causes\n\nYou attempted to send a message with the ContentVariables parameter but without ContentSid\n\n### Possible solutions\n\nPlease provide a ContentSid when the request includes the ContentVariables parameter\n",
    "causes": "You attempted to send a message with the ContentVariables parameter but without ContentSid",
    "solutions": "Please provide a ContentSid when the request includes the ContentVariables parameter",
    "description": "A ContentSid must be specified if content variables are provided in the request.",
    "date_created": "2021-11-08T19:59:40Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 92006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Content Sid is Invalid",
    "secondary_message": "The Content Sid you are using is not valid",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Content Sid you are using is not valid\n\n### Possible causes\n\nThe Content Sid you are using is not valid\n\n### Possible solutions\n\nDouble check the Content Sid parameter that you are using. Make sure it has the proper formatting and starts with an HX prefix.\n",
    "causes": "The Content Sid you are using is not valid",
    "solutions": "Double check the Content Sid parameter that you are using. Make sure it has the proper formatting and starts with an HX prefix.",
    "description": "The Content Sid you are using is not valid",
    "date_created": "2021-11-08T20:01:08Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 92007,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The Content Variables Parameter is invalid",
    "secondary_message": "The Content Variables Parameter is invalid",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe Content Variables Parameter is invalid\n\n### Possible causes\n\nThe Content Variables Parameter is not a JSON String\n\n### Possible solutions\n\nValidate the Content Variables Parameter, it must be a JSON String\n",
    "causes": "The Content Variables Parameter is not a JSON String",
    "solutions": "Validate the Content Variables Parameter, it must be a JSON String",
    "description": "The Content Variables Parameter is invalid",
    "date_created": "2021-11-08T20:02:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 92008,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unsupported Content Type",
    "secondary_message": "Creating new twilio/button templates is no longer supported.",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nCreating new twilio/button templates is no longer supported.\n\n### Possible causes\n\nYou attempted to create template of type twilio/button which is no longer supported.\n\n### Possible solutions\n\nTo create button templates, please use the twilio/call-to-action or twilio/quick-reply template types.\n",
    "causes": "You attempted to create template of type twilio/button which is no longer supported.",
    "solutions": "To create button templates, please use the twilio/call-to-action or twilio/quick-reply template types.",
    "description": "Creating new twilio/button templates is no longer supported.",
    "date_created": "2022-08-04T17:10:56Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 92009,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "The template associated with this SID has already been submitted for approval.",
    "secondary_message": "The template associated with this SID has already been submitted for approval.",
    "product": "Branded Comms, Content",
    "docs": "\n## Description\n\nThis error occurs when you submit a content template for WhatsApp approval and the same template SID has already been submitted. Twilio expects you to create a new template copy before making changes, because editing an existing template from the details page is not supported.\n\n### Possible causes\n\n- You tried to submit the same `ContentSid` for WhatsApp approval more than once.\n- You made changes to an existing template instead of duplicating it first. Twilio only supports making changes by duplicating a template.\n\n### Possible solutions\n\n- Duplicate the template, make your changes in the new copy, and submit the duplicate for approval.\n- Create a new template with a new `HX` SID before resubmitting for approval.\n- If you are using the Console, choose `Save and submit for WhatsApp approval` only when the template is ready to be reviewed.\n\n#### Additional resources\n\n- [Manage your Templates with the Content Template Builder](/docs/content/manage-your-templates-with-the-content-template-builder)\n- [Create templates with the Content Template Builder in Console](/docs/content/create-templates-with-the-content-template-builder)\n- [Content API public endpoints](/docs/content/content-api-resources)\n",
    "causes": "* You tried to submit the same `ContentSid` for WhatsApp approval more than once.\n* You made changes to an existing template instead of duplicating it first. Twilio only supports making changes by duplicating a template.",
    "solutions": "* Duplicate the template, make your changes in the new copy, and submit the duplicate for approval.\n* Create a new template with a new `HX` SID before resubmitting for approval.\n* If you are using the Console, choose `Save and submit for WhatsApp approval` only when the template is ready to be reviewed.",
    "description": "This error occurs when you submit a content template for WhatsApp approval and the same template SID has already been submitted. Twilio expects you to create a new template copy before making changes, because editing an existing template from the details page is not supported.",
    "date_created": "2023-07-07T21:40:15Z",
    "last_updated": "2026-03-26T11:40:11Z"
  },
  {
    "code": 92010,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid Content update",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThis error occurs when you try to update a Content template after it has already been submitted for WhatsApp approval, or when you try to change its `language` after creation. If you need a different language, create a new template by duplicating the existing one and edit the copy.\n\n### Possible causes\n\n- You attempted to update the `language` field after the template was created.\n- The template has already been submitted for approval, and further updates are not allowed.\n\n### Possible solutions\n\n- Do not update the `language` field on the existing template.\n- Make changes before you submit the template for WhatsApp approval.\n- If you need a different language, duplicate the template and edit the new copy.\n\n#### Additional resources\n\n- [Content API endpoints](/docs/content/content-api-resources)\n- [Manage your Templates with the Content Template Builder](/docs/content/manage-your-templates-with-the-content-template-builder)\n- [Create templates with the Content Template Builder in Console](/docs/content/create-templates-with-the-content-template-builder)\n",
    "causes": "* You attempted to update the `language` field after the template was created.\n* The template has already been submitted for approval, and further updates are not allowed.",
    "solutions": "* Do not update the `language` field on the existing template.\n* Make changes before you submit the template for WhatsApp approval.\n* If you need a different language, duplicate the template and edit the new copy.",
    "description": "This error occurs when you try to update a Content template after it has already been submitted for WhatsApp approval, or when you try to change its `language` after creation. If you need a different language, create a new template by duplicating the existing one and edit the copy.",
    "date_created": "2025-10-31T22:26:32.413Z",
    "last_updated": "2026-03-26T06:28:41Z"
  },
  {
    "code": 93100,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Replay failed",
    "secondary_message": "Replay could not be completed due to an internal error",
    "product": "Events",
    "docs": "\n## Description\n\nAn internal error occurred when trying to replay the events and the replay was aborted.\n\n### Possible causes\n\n- A temporary error failed the replay.\n- An incident impacting Event Streams prevented the replay from completing.\n- The replay ran for too long.\n\n### Possible solutions\n\n- If there is an incident in the [status page](https://status.twilio.com/), wait for it to be mitigated and retry the replay.\n- Otherwise, wait a few minutes and retry the replay.\n",
    "causes": "* A temporary error failed the replay.\n* An incident impacting Event Streams prevented the replay from completing.\n* The replay ran for too long.",
    "solutions": "* If there is an incident in the [status page](https://status.twilio.com/), wait for it to be mitigated and retry the replay.\n* Otherwise, wait a few minutes and retry the replay.",
    "description": "An internal error occurred when trying to replay the events and the replay was aborted.",
    "date_created": "2025-02-14T09:14:39Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 93101,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to deliver events to sink",
    "secondary_message": "The sink you are using for your Event Streams subscription is having issues",
    "product": "Events",
    "docs": "\n## Description\n\nThere is an issue with sending event to your sink\n\n### Possible causes\n\nSee the error message for more details\n\n### Possible solutions\n\nVerify that your sink destination is up and has not changed\n",
    "causes": "See the error message for more details",
    "solutions": "Verify that your sink destination is up and has not changed",
    "description": "There is an issue with sending event to your sink",
    "date_created": "2021-01-13T18:25:56Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 93102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "There was an error with your AWS role",
    "secondary_message": "The role associated with your AWS Sink is not allowing Event Streams to send events",
    "product": "Events",
    "docs": "\n## Description\n\nThere is an issue with your role\n\n### Possible causes\n\nMost likely something has changed with your Role, or this is you first time using this Sink. See Error Message for more details\n\n### Possible solutions\n\nIf this Role was working check to see if it was changed. If you need those changes you will need to create a new sink and subscription to receive your events. If this is the first time using this Sink, verify the config is correct for this sink.\n",
    "causes": "Most likely something has changed with your Role, or this is you first time using this Sink. See Error Message for more details",
    "solutions": "If this Role was working check to see if it was changed. If you need those changes you will need to create a new sink and subscription to receive your events. If this is the first time using this Sink, verify the config is correct for this sink.",
    "description": "There is an issue with your role",
    "date_created": "2021-01-13T18:26:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 93103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "There was an error with your Kinesis stream",
    "secondary_message": "The Kinesis Stream associated with this Sink is having issues.",
    "product": "Events",
    "docs": "\n## Description\n\nEvent Streams is unable to write to the Kinesis Stream\n\n### Possible causes\n\nSee Error Message for more details\n\n### Possible solutions\n\nCheck your Kinesis Stream and ensure it is configured correctly for the load of events you are subscribed too, Check to see if there is an AWS outage with Kinesis streams.\n",
    "causes": "See Error Message for more details",
    "solutions": "Check your Kinesis Stream and ensure it is configured correctly for the load of events you are subscribed too, Check to see if there is an AWS outage with Kinesis streams.",
    "description": "Event Streams is unable to write to the Kinesis Stream",
    "date_created": "2021-01-13T18:27:03Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 93104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "There is an issue with the Kinesis Stream Name or Region",
    "secondary_message": "The ARN provided for your Kinesis Stream is invalid",
    "product": "Events",
    "docs": "\n## Description\n\nThe ARN for your Kinesis Stream is invalid\n\n### Possible causes\n\nBad ARN was provided when creating the sink\n\n### Possible solutions\n\nCreate a new sink and put in a valid ARN\n",
    "causes": "Bad ARN was provided when creating the sink",
    "solutions": "Create a new sink and put in a valid ARN",
    "description": "The ARN for your Kinesis Stream is invalid",
    "date_created": "2021-01-13T18:27:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 93105,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Consent has already been provided for this account and vendor",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nError surfaces when consent data has been provided\n\n### Possible causes\n\nThe consent submission happens more than once\n\n### Possible solutions\n\nDo not submit consent data more than once\n",
    "causes": "The consent submission happens more than once",
    "solutions": "Do not submit consent data more than once",
    "description": "Error surfaces when consent data has been provided",
    "date_created": "2021-04-20T09:12:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94000,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Transcriptions: request to transcribe audio error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to process the request to transcribe audio due to an internal issue. No transcription resource has been created\n\n### Possible causes\n\n### Possible solutions\n",
    "causes": "",
    "solutions": "",
    "description": "Twilio failed to process the request to transcribe audio due to an internal issue. No transcription resource has been created",
    "date_created": "2021-09-13T14:03:16Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions: Invalid transcribe value",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid \"transcribe\" value. It should be either true or false. No transcription resource has been created\n\n### Possible causes\n\n### Possible solutions\n\n- Ensure that the transcribe value is set to \"true\" to request a transcription via REST API or TwiML\n",
    "causes": "",
    "solutions": "* Ensure that the transcribe value is set to \"true\" to request a transcription via REST API or TwiML",
    "description": "Invalid \"transcribe\" value. It should be either true or false. No transcription resource has been created",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Transcriptions: configuration not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to process the request to transcribe audio because configuration was not found. No transcription resource has been created\n\n### Possible causes\n\n- Transcription Configuration was not specified\n- Transcription Configuration was specified but not found in account\n\n### Possible solutions\n\n- Specify unique name or Sid of an existent Transcription Configuration associated to your account\n",
    "causes": "* Transcription Configuration was not specified\n* Transcription Configuration was specified but not found in account",
    "solutions": "* Specify unique name or Sid of an existent Transcription Configuration associated to your account",
    "description": "Twilio failed to process the request to transcribe audio because configuration was not found. No transcription resource has been created",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94100,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Transcriptions: status callback response error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio attempted to send a transcription event to the callback URL specified and your application returned a 4xx or 5xx or other HTTP response error\n\n### Possible causes\n\n- The callback URL specified is incorrect\n- Your application has an issue while handling callback requests or suffering and outage\n\n### Possible solutions\n\n- Ensure that the callback URL specified is correct\n- Ensure that your callback server can handle the request and responds with a 2xx HTTP status code\n",
    "causes": "* The callback URL specified is incorrect\n* Your application has an issue while handling callback requests or suffering and outage",
    "solutions": "* Ensure that the callback URL specified is correct\n* Ensure that your callback server can handle the request and responds with a 2xx HTTP status code",
    "description": "Twilio attempted to send a transcription event to the callback URL specified and your application returned a 4xx or 5xx or other HTTP response error",
    "date_created": "2021-08-31T11:16:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94101,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Transcriptions: status callback response timed out",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio attempted to send a transcription event to the callback URL specified and your application didn't respond before time out\n\n### Possible causes\n\n- The server receiving status callbacks sent by Twilio takes too long to respond\n\n### Possible solutions\n\n- Ensure that your callback server can handle the request and responds within a reasonable time\n",
    "causes": "* The server receiving status callbacks sent by Twilio takes too long to respond",
    "solutions": "* Ensure that your callback server can handle the request and responds within a reasonable time",
    "description": "Twilio attempted to send a transcription event to the callback URL specified and your application didn't respond before time out",
    "date_created": "2021-08-31T11:17:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94200,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions Settings: Invalid encryptionEnabled value",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid \"encryptionEnabled\" value. It should be either true or false\n\n### Possible causes\n\n- \"encryptionEnabled\" value is invalid\n\n### Possible solutions\n\n- Set \"encryptionEnabled\" value to true to enable encryption for transcriptions\n- Set \"encryptionEnabled\" value to false to disable encryption for transcriptions\n",
    "causes": "* \"encryptionEnabled\" value is invalid",
    "solutions": "* Set \"encryptionEnabled\" value to true to enable encryption for transcriptions\n* Set \"encryptionEnabled\" value to false to disable encryption for transcriptions",
    "description": "Invalid \"encryptionEnabled\" value. It should be either true or false",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94201,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions Settings: encryptionKeySid invalid or not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nRequest to enable encryption for transcriptions failed because encryptionKeySid is invalid or not defined\n\n### Possible causes\n\n- \"encryptionKeySid\" value is invalid\n- \"encryptionKeySid\" not found in Transcription Settings\n- \"encryptionKeySid\" not found in Credentials Storage\n- \"encryptionKeySid\" is not a credential resource of type Public Key\n\n### Possible solutions\n\n- Specify a encryptionKeySid of a valid credential resource of type Public Key that can be used to encrypt transcription results or disable encryption\n",
    "causes": "* \"encryptionKeySid\" value is invalid\n* \"encryptionKeySid\" not found in Transcription Settings\n* \"encryptionKeySid\" not found in Credentials Storage\n* \"encryptionKeySid\" is not a credential resource of type Public Key",
    "solutions": "* Specify a encryptionKeySid of a valid credential resource of type Public Key that can be used to encrypt transcription results or disable encryption",
    "description": "Request to enable encryption for transcriptions failed because encryptionKeySid is invalid or not defined",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94300,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions Configurations: Invalid callback configuration",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid callback configuration, either to create a new configuration or update existing one. A valid Url and Method must be specified to enable callbacks via HTTP request (webhook) and receive transcriptions status updates.\n\n### Possible causes\n\n- Invalid Callback \"Url\" value\n- Invalid Callback \"Method\" value\n\n### Possible solutions\n\n- Callback \"Url\" value should be valid Http(s) url format\n- Callback \"Method\" value should be either `POST` or `GET`\n- Disable callback by setting \"Url\" to '' value (empty string)\n",
    "causes": "* Invalid Callback \"Url\" value\n* Invalid Callback \"Method\" value",
    "solutions": "* Callback \"Url\" value should be valid Http(s) url format\n* Callback \"Method\" value should be either `POST` or `GET`\n* Disable callback by setting \"Url\" to '' value (empty string)",
    "description": "Invalid callback configuration, either to create a new configuration or update existing one. A valid Url and Method must be specified to enable callbacks via HTTP request (webhook) and receive transcriptions status updates.",
    "date_created": "2021-09-02T10:44:42Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94301,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions Configurations: UniqueName is required",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA UniqueName is required to create a new configuration\n\n### Possible causes\n\n- \"UniqueName\" is blank\n- \"UniqueName\" is null\n\n### Possible solutions\n\n- Specify a valid \"UniqueName\" for transcription configuration\n",
    "causes": "* \"UniqueName\" is blank\n* \"UniqueName\" is null",
    "solutions": "* Specify a valid \"UniqueName\" for transcription configuration",
    "description": "A UniqueName is required to create a new configuration",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94302,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Transcriptions Configurations: UniqueName is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid UniqueName value, either to create a new configuration or update existing one\n\n### Possible causes\n\n- \"UniqueName\" already associated to another configuration\n- \"UniqueName\" is blank or null\n- Invalid \"UniqueName\" value: Length should be between 1 and 50 characters, can't contain blank spaces or special characters and can't be a Transcription Configuration Sid\n\n### Possible solutions\n\n- Specify a valid \"UniqueName\" for transcription configuration\n",
    "causes": "* \"UniqueName\" already associated to another configuration\n* \"UniqueName\" is blank or null\n* Invalid \"UniqueName\" value: Length should be between 1 and 50 characters, can't contain blank spaces or special characters and can't be a Transcription Configuration Sid",
    "solutions": "* Specify a valid \"UniqueName\" for transcription configuration",
    "description": "Invalid UniqueName value, either to create a new configuration or update existing one",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94303,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions Configurations: Language is required",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nA language is required to create a new configuration\n\n### Possible causes\n\n- \"Language\" value is blank\n- \"Language\" value is null\n\n### Possible solutions\n\n- Specify a valid \"language\" as a BCP-47 code\n",
    "causes": "* \"Language\" value is blank\n* \"Language\" value is null",
    "solutions": "* Specify a valid \"language\" as a BCP-47 code",
    "description": "A language is required to create a new configuration",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94304,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions Configurations: Language is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid language value, either to create a new configuration or update existing one. Language should be a BCP-47 code\n\n### Possible causes\n\n- \"Language\" value is not a BCP-47 code\n\n### Possible solutions\n\n- Specify a valid \"language\" as a BCP-47 code\n",
    "causes": "* \"Language\" value is not a BCP-47 code",
    "solutions": "* Specify a valid \"language\" as a BCP-47 code",
    "description": "Invalid language value, either to create a new configuration or update existing one. Language should be a BCP-47 code",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94400,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Transcriptions: transcription internal error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to transcribe audio due to an internal issue. The transcription files have been deleted and the resource has been marked as \"failed\"\n\n### Possible causes\n\n- Twilio failed to process transcription request and all retries attempts were exhausted\n- Twilio failed to normalize and/or store transcription results and all retries attempts were exhausted\n\n### Possible solutions\n",
    "causes": "* Twilio failed to process transcription request and all retries attempts were exhausted\n* Twilio failed to normalize and/or store transcription results and all retries attempts were exhausted",
    "solutions": "",
    "description": "Twilio failed to transcribe audio due to an internal issue. The transcription files have been deleted and the resource has been marked as \"failed\"",
    "date_created": "2021-07-21T09:10:20Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94401,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Transcriptions: audio processing error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to transcribe audio due to an issue with the transcription provider. The transcription files have been deleted and the resource has been marked as \"failed\"\n\n### Possible causes\n\n- The speech-to-text provider failed to transcribe audio\n\n### Possible solutions\n",
    "causes": "* The speech-to-text provider failed to transcribe audio",
    "solutions": "",
    "description": "Twilio failed to transcribe audio due to an issue with the transcription provider. The transcription files have been deleted and the resource has been marked as \"failed\"",
    "date_created": "2021-07-21T09:11:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94402,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions: Encryption failed and transcription result files deleted",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to encrypt and securely store transcription results. The transcription files have been deleted and the resource has been marked as \"failed\"\n\n### Possible causes\n\n- Twilio failed to encrypt transcription results and all retries attempts were exhausted\n\n### Possible solutions\n\n- Set a public key that can be used to encrypt transcription results or disable encryption so future transcriptions can be successfully processed and stored\n",
    "causes": "* Twilio failed to encrypt transcription results and all retries attempts were exhausted",
    "solutions": "* Set a public key that can be used to encrypt transcription results or disable encryption so future transcriptions can be successfully processed and stored",
    "description": "Twilio failed to encrypt and securely store transcription results. The transcription files have been deleted and the resource has been marked as \"failed\"",
    "date_created": "2021-07-27T09:48:49Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94403,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Transcriptions: Invalid encryption credentials",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nPublic key credentials to encrypt transcription results are invalid. Twilio will attempt operation again shortly.\n\n### Possible causes\n\n- Public key specified in Transcription Settings is not found in Twilio Credentials Storage\n- Public key defined in credentials resource is invalid and can't be used to encrypt transcription files\n- Public key defined in credentials resource is expired and can't be used to encrypt transcription files\n\n### Possible solutions\n\n- Ensure public key is correct in credentials resource\n- Set a different public key that can be used to encrypt transcription results or disable encryption\n",
    "causes": "* Public key specified in Transcription Settings is not found in Twilio Credentials Storage\n* Public key defined in credentials resource is invalid and can't be used to encrypt transcription files\n* Public key defined in credentials resource is expired and can't be used to encrypt transcription files",
    "solutions": "* Ensure public key is correct in credentials resource\n* Set a different public key that can be used to encrypt transcription results or disable encryption",
    "description": "Public key credentials to encrypt transcription results are invalid. Twilio will attempt operation again shortly.",
    "date_created": "2021-07-27T09:49:57Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94500,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions: sourceSid invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe action could not be performed because the sourceSid provided is not valid\n\n### Possible causes\n\n- sourceSid value is invalid\n- sourceSid is not a call recording sid\n\n### Possible solutions\n\n- Specify a sourceSid of a valid call recording\n",
    "causes": "* sourceSid value is invalid\n* sourceSid is not a call recording sid",
    "solutions": "* Specify a sourceSid of a valid call recording",
    "description": "The action could not be performed because the sourceSid provided is not valid",
    "date_created": "2022-03-01T14:16:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94501,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcriptions: Status invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe action could not be performed because the Status provided is not valid.\n\n### Possible causes\n\n- Status value is invalid.\n\n### Possible solutions\n\n- Value must be enqueued, processing, completed, failed or deleted.\n",
    "causes": "* Status value is invalid.",
    "solutions": "* Value must be enqueued, processing, completed, failed or deleted.",
    "description": "The action could not be performed because the Status provided is not valid.",
    "date_created": "2022-05-09T16:04:22Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94600,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Filter limit exceeded",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe action could not be performed because the filter limit was exceeded.\n\n### Possible causes\n\n- There were too many filters applied.\n\n### Possible solutions\n\n- Use date filtering freely plus at most one other filter.\n",
    "causes": "* There were too many filters applied.",
    "solutions": "* Use date filtering freely plus at most one other filter.",
    "description": "The action could not be performed because the filter limit was exceeded.",
    "date_created": "2022-05-09T16:05:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94601,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Date range is not valid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe action could not be performed because the date range provided is not valid.\n\n### Possible causes\n\n- UntilDate is equal or more recent than FromDate.\n\n### Possible solutions\n\n- FromDate should be a recent date than UntilDate.\n",
    "causes": "* UntilDate is equal or more recent than FromDate.",
    "solutions": "* FromDate should be a recent date than UntilDate.",
    "description": "The action could not be performed because the date range provided is not valid.",
    "date_created": "2022-05-09T16:05:49Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94602,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid FromDate",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe action could not be performed because the FromDate is invalid.\n\n### Possible causes\n\n- FromDate is a future date.\n\n### Possible solutions\n\n- FromDate should be earlier than the present date.\n",
    "causes": "* FromDate is a future date.",
    "solutions": "* FromDate should be earlier than the present date.",
    "description": "The action could not be performed because the FromDate is invalid.",
    "date_created": "2022-05-09T16:06:59Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94603,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Ttl is out of range",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe action could not be performed because the TTL provided is out of range.\n\n### Possible causes\n\n- Ttl is smaller than 1 seconds\n- Ttl is bigger than 3600 seconds\n\n### Possible solutions\n\n- Ttl value must be between 1 and 3600 seconds\n",
    "causes": "* Ttl is smaller than 1 seconds\n* Ttl is bigger than 3600 seconds",
    "solutions": "* Ttl value must be between 1 and 3600 seconds",
    "description": "The action could not be performed because the TTL provided is out of range.",
    "date_created": "2022-05-10T10:23:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 94604,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Account Sid on Legal Hold.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Account is on Legal Hold, the operation could not be performed.\n\n### Possible causes\n\n- The account has a Legal Hold\n\n### Possible solutions\n",
    "causes": "* The account has a Legal Hold",
    "solutions": "",
    "description": "The Account is on Legal Hold, the operation could not be performed.",
    "date_created": "2022-05-09T15:40:38Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid media url",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to create a new transcript due to an invalid media url\n\n### Possible causes\n\nProvided media url is not valid\n\n### Possible solutions\n\nChange the request to use a valid URL format\n",
    "causes": "Provided media url is not valid",
    "solutions": "Change the request to use a valid URL format",
    "description": "Twilio failed to create a new transcript due to an invalid media url",
    "date_created": "2024-04-16T17:27:12Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media url is empty",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to create a new transcript due to an empty media url\n\n### Possible causes\n\nCreate transcript requests cannot have an empty media url if no recording is specified.\n\n### Possible solutions\n\nProvide a valid media url.\n",
    "causes": "Create transcript requests cannot have an empty media url if no recording is specified.",
    "solutions": "Provide a valid media url.",
    "description": "Twilio failed to create a new transcript due to an empty media url",
    "date_created": "2024-04-16T17:28:33Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95100,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to transcribe",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to transcribe audio due to an internal issue.The resource has been marked as \"failed\"\n\n### Possible causes\n\nThis is an internal issue.\n\n### Possible solutions\n\nContact support\n",
    "causes": "This is an internal issue.",
    "solutions": "Contact support",
    "description": "Twilio failed to transcribe audio due to an internal issue.The resource has been marked as \"failed\"",
    "date_created": "2024-04-16T17:29:40Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95102,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Transcript media processing error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to transcribe audio due to an issue with the transcript recording. The transcript files have been deleted and the resource has been marked as \"failed\"\n\n### Possible causes\n\nThe recording was deleted. The recording is not authorized to the given account.\n\n### Possible solutions\n\nEnsure the recording status is completed before starting to transcribe. Ensure the recording was not deleted. Ensure the recording is part of the given account.\n",
    "causes": "The recording was deleted. The recording is not authorized to the given account.",
    "solutions": "Ensure the recording status is completed before starting to transcribe. Ensure the recording was not deleted. Ensure the recording is part of the given account.",
    "description": "Twilio failed to transcribe audio due to an issue with the transcript recording. The transcript files have been deleted and the resource has been marked as \"failed\"",
    "date_created": "2024-06-12T17:37:47Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95103,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media file reached maximum size",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to transcribe audio due to an issue with the audio file size. The transcription files have been deleted and the resource has been marked as \"failed\"\n\n### Possible causes\n\nThe audio file size is larger than 3 GiB.\n\n### Possible solutions\n\nUse a different format that allows the file to be compressed, like mp3. Split the file into shorter audio files and process them separately.\n",
    "causes": "The audio file size is larger than 3 GiB.",
    "solutions": "Use a different format that allows the file to be compressed, like mp3. Split the file into shorter audio files and process them separately.",
    "description": "Twilio failed to transcribe audio due to an issue with the audio file size. The transcription files have been deleted and the resource has been marked as \"failed\"",
    "date_created": "2024-04-16T17:31:27Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95104,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid media type",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to transcribe audio due to an invalid media type. The transcription resource has been marked as \"failed\"\n\n### Possible causes\n\nMedia type is not supported.\n\n### Possible solutions\n\nConvert the file into one of the supported media types: wav, mp3 or FLAC.\n",
    "causes": "Media type is not supported.",
    "solutions": "Convert the file into one of the supported media types: wav, mp3 or FLAC.",
    "description": "Twilio failed to transcribe audio due to an invalid media type. The transcription resource has been marked as \"failed\"",
    "date_created": "2024-04-16T17:32:18Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95105,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to download audio file",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to transcribe audio due to download failure. The transcription resource has been marked as \"failed\"\n\n### Possible causes\n\nTimeout trying to download the file. Connection problem.\n\n### Possible solutions\n\nEnsure the file exist and accessible in the provided url\n",
    "causes": "Timeout trying to download the file. Connection problem.",
    "solutions": "Ensure the file exist and accessible in the provided url",
    "description": "Twilio failed to transcribe audio due to download failure. The transcription resource has been marked as \"failed\"",
    "date_created": "2024-04-16T17:33:20Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95106,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Speech-to-Text engine error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to transcribe audio due to a third party speech-to-text engine failure. The transcription resource has been marked as \"failed\".\n\n### Possible causes\n\nTranscript language is not the one specified in the service.\n\n### Possible solutions\n\nEnsure the transcript language matches the specified language of the service.\n",
    "causes": "Transcript language is not the one specified in the service.",
    "solutions": "Ensure the transcript language matches the specified language of the service.",
    "description": "Twilio failed to transcribe audio due to a third party speech-to-text engine failure. The transcription resource has been marked as \"failed\".",
    "date_created": "2024-05-27T08:34:05Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95108,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to delete resource",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio failed to delete resource\n\n### Possible causes\n\nResource was already deleted\n\n### Possible solutions\n\nResource was already deleted. Failed to access S3\n",
    "causes": "Resource was already deleted",
    "solutions": "Resource was already deleted. Failed to access S3",
    "description": "Twilio failed to delete resource",
    "date_created": "2024-05-03T18:46:27Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95109,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media content is empty",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nFailed to download, media content is empty.\n\n### Possible causes\n\nMedia content is empty. Media duration is less than 2 seconds.\n\n### Possible solutions\n\nVerify the media is not empty\n",
    "causes": "Media content is empty. Media duration is less than 2 seconds.",
    "solutions": "Verify the media is not empty",
    "description": "Failed to download, media content is empty.",
    "date_created": "2024-04-16T17:34:27Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95110,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to download media: file was not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nFailed to download media file was not found\n\n### Possible causes\n\nMedia file was deleted. Misspelled URL.\n\n### Possible solutions\n\nVerify the media file was not deleted and the URL is correct.\n",
    "causes": "Media file was deleted. Misspelled URL.",
    "solutions": "Verify the media file was not deleted and the URL is correct.",
    "description": "Failed to download media file was not found",
    "date_created": "2024-04-16T17:35:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95111,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Failed to download media file: unauthorized",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe media file is not accessible. The URL returned \"Unauthorized\" when trying to download.\n\n### Possible causes\n\nProtected resource. Expired pre-signed URL.\n\n### Possible solutions\n\nVerify that the media url is not an expired pre-signed URL or ensure open access to the media.\n",
    "causes": "Protected resource. Expired pre-signed URL.",
    "solutions": "Verify that the media url is not an expired pre-signed URL or ensure open access to the media.",
    "description": "The media file is not accessible. The URL returned \"Unauthorized\" when trying to download.",
    "date_created": "2024-04-16T17:36:14Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95112,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid sample rate found on media",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe media sample rate is less than the minimum required to transcribe.\n\n### Possible causes\n\nThe media file sample rate is less than 8KHz.\n\n### Possible solutions\n\nUse media with a higher sample rate.\n",
    "causes": "The media file sample rate is less than 8KHz.",
    "solutions": "Use media with a higher sample rate.",
    "description": "The media sample rate is less than the minimum required to transcribe.",
    "date_created": "2024-04-16T17:37:25Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95113,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Corrupted media provided",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe media file is corrupted and could not be opened.\n\n### Possible causes\n\nCorruption of data. Error recording media.\n\n### Possible solutions\n\nVerify the media is not corrupted or use another media.\n",
    "causes": "Corruption of data. Error recording media.",
    "solutions": "Verify the media is not corrupted or use another media.",
    "description": "The media file is corrupted and could not be opened.",
    "date_created": "2024-04-16T17:38:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95114,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media duration is too long.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nValidation of audio failed as it is longer than the allowed maximum duration (8h). Some STT providers have this limit in place.\n\n### Possible causes\n\nMedia duration is longer than 8h.\n\n### Possible solutions\n\nSplit audio into smaller pieces.\n",
    "causes": "Media duration is longer than 8h.",
    "solutions": "Split audio into smaller pieces.",
    "description": "Validation of audio failed as it is longer than the allowed maximum duration (8h). Some STT providers have this limit in place.",
    "date_created": "2024-04-16T17:38:48Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95115,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Media has too many channels",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nValidation of audio failed because it contains more than two channels.\n\n### Possible causes\n\nMulti channel audio containing more than 2 channels. It could come from a recording of a conference.\n\n### Possible solutions\n\nRemove unnecessary channels. Downmix extra channels into one.\n",
    "causes": "Multi channel audio containing more than 2 channels. It could come from a recording of a conference.",
    "solutions": "Remove unnecessary channels. Downmix extra channels into one.",
    "description": "Validation of audio failed because it contains more than two channels.",
    "date_created": "2024-04-16T17:39:53Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95116,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "PCI Recordings are not supported",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nVoice Intelligence does not support PCI Recordings\n\n### Possible causes\n\nThe account is marked as PCI compliant.\n\n### Possible solutions\n\nUse the MediaUrl parameter instead of the SourceSid when creating a Transcription\n",
    "causes": "The account is marked as PCI compliant.",
    "solutions": "Use the MediaUrl parameter instead of the SourceSid when creating a Transcription",
    "description": "Voice Intelligence does not support PCI Recordings",
    "date_created": "2024-05-30T16:55:20Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95118,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Twilio Recordings with external storage are not supported",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nConversational Intelligence does not support Twilio Recordings with external storage\n\n### Possible causes\n\nTwilio Recordings use external storage\n\n### Possible solutions\n\nUse the MediaUrl parameter instead of the SourceSid when creating a Transcription\n",
    "causes": "Twilio Recordings use external storage",
    "solutions": "Use the MediaUrl parameter instead of the SourceSid when creating a Transcription",
    "description": "Conversational Intelligence does not support Twilio Recordings with external storage",
    "date_created": "2024-05-30T16:57:02Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95119,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Conversational Intelligence does not support encrypted recordings",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nConversational Intelligence does not support encrypted recordings\n\n### Possible causes\n\nThe account uses Voice Recording Encryption\n\n### Possible solutions\n\nUse decrypted recordings when creating a Transcription\n",
    "causes": "The account uses Voice Recording Encryption",
    "solutions": "Use decrypted recordings when creating a Transcription",
    "description": "Conversational Intelligence does not support encrypted recordings",
    "date_created": "2024-05-30T16:58:05Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95120,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Twilio Recording is not in a valid status to be transcribed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio Recording is not in a valid status to be transcribed\n\n### Possible causes\n\nThe recording is in-progress, absent or deleted\n\n### Possible solutions\n\nSend recording in completed status\n",
    "causes": "The recording is in-progress, absent or deleted",
    "solutions": "Send recording in completed status",
    "description": "Twilio Recording is not in a valid status to be transcribed",
    "date_created": "2025-05-12T11:58:38Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95121,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Public Key Encryption is disabled for this account",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nPublic Key Encryption is not enabled for this account.\n\n### Possible causes\n\nYour account does not have a Twilio Security or Enterprise Edition.\n\n### Possible solutions\n\nPlease reach out to Support for assistance.\n",
    "causes": "Your account does not have a Twilio Security or Enterprise Edition.",
    "solutions": "Please reach out to Support for assistance.",
    "description": "Public Key Encryption is not enabled for this account.",
    "date_created": "2025-05-22T15:44:23.343Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95122,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Twilio Recording is not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio Recording is not found\n\n### Possible causes\n\nThe recording sid is incorrect or it might be deleted.\n\n### Possible solutions\n\nSend an existing or not-deleted recording\n",
    "causes": "The recording sid is incorrect or it might be deleted.",
    "solutions": "Send an existing or not-deleted recording",
    "description": "Twilio Recording is not found",
    "date_created": "2025-05-23T09:03:09.67Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95123,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Public Key Encryption credential is invalid",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe encryptionCredentialSid specified in the Service parameter is invalid.\n\n### Possible causes\n\n- The Credential Sid does not exist, is expired or has been deleted.\n- The credential Sid you attempted to use does not belong to this account.\n\n### Possible solutions\n\n- Check Credentials of your account to ensure that your public key has been created and has not been deleted.\n- If you use subaccounts, ensure that your public key has also been created in the subaccount.\n",
    "causes": "* The Credential Sid does not exist, is expired or has been deleted.\n* The credential Sid you attempted to use does not belong to this account.",
    "solutions": "* Check Credentials of your account to ensure that your public key has been created and has not been deleted.\n* If you use subaccounts, ensure that your public key has also been created in the subaccount.",
    "description": "The encryptionCredentialSid specified in the Service parameter is invalid.",
    "date_created": "2025-08-19T09:32:33.261Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95124,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Public Key Encryption does not support media redaction",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nMedia redaction does not work with Encryption.\n\n### Possible causes\n\nYou attempted to create or update a Service with Media redaction and encryption.\n\n### Possible solutions\n\nCreate or Update your Service with encryption or media redaction.\n",
    "causes": "You attempted to create or update a Service with Media redaction and encryption.",
    "solutions": "Create or Update your Service with encryption or media redaction.",
    "description": "Media redaction does not work with Encryption.",
    "date_created": "2025-08-19T15:11:16.326Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95200,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Status callback response error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio attempted to send a transcript event to the callback URL specified and your application returned a 4xx or 5xx or other HTTP response error\n\n### Possible causes\n\nThe callback URL specified is incorrect. Your application has an issue while handling callback requests or suffering and outage\n\n### Possible solutions\n\nEnsure that the callback URL specified is correct. Ensure that your callback server can handle the request and responds with a 2xx HTTP status code.\n",
    "causes": "The callback URL specified is incorrect. Your application has an issue while handling callback requests or suffering and outage",
    "solutions": "Ensure that the callback URL specified is correct. Ensure that your callback server can handle the request and responds with a 2xx HTTP status code.",
    "description": "Twilio attempted to send a transcript event to the callback URL specified and your application returned a 4xx or 5xx or other HTTP response error",
    "date_created": "2024-04-18T16:38:39Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95201,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Status callback response timed out",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTwilio attempted to send a transcript event to the callback URL specified and your application didn't respond before time out\n\n### Possible causes\n\nThe server receiving status callbacks sent by Twilio takes too long to respond\n\n### Possible solutions\n\nEnsure that your callback server can handle the request and responds within a reasonable time\n",
    "causes": "The server receiving status callbacks sent by Twilio takes too long to respond",
    "solutions": "Ensure that your callback server can handle the request and responds within a reasonable time",
    "description": "Twilio attempted to send a transcript event to the callback URL specified and your application didn't respond before time out",
    "date_created": "2024-04-18T16:36:09Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95250,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "AI/ML Features Addendum has not been accepted",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n[The Predictive and Generative AI/ML Features Addendum](https://www.twilio.com/en-us/legal/ai-terms/predictive-generative-ai-features) has to be accepted.\n\n### Possible causes\n\nThe Predictive and Generative AI/ML Features Addendum has not been accepted yet.\n\n### Possible solutions\n\nAccept the Predictive and Generative AI/ML Features Addendum on the [Voice Settings](https://console.twilio.com/us1/develop/voice/settings/general?frameUrl=%2Fconsole%2Fvoice%2Fsettings%3Fx-target-region%3Dus1) on Twilio Console.\n",
    "causes": "The Predictive and Generative AI/ML Features Addendum has not been accepted yet.",
    "solutions": "Accept the Predictive and Generative AI/ML Features Addendum on the [Voice Settings](https://console.twilio.com/us1/develop/voice/settings/general?frameUrl=%2Fconsole%2Fvoice%2Fsettings%3Fx-target-region%3Dus1) on Twilio Console.",
    "description": "[The Predictive and Generative AI/ML Features Addendum](https://www.twilio.com/en-us/legal/ai-terms/predictive-generative-ai-features) has to be accepted.",
    "date_created": "2024-06-17T08:08:00Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95300,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Conversational Intelligence Service was not found",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe Conversational Intelligence Service specified was not found.\n\n### Possible causes\n\nThe service specified in the \"intelligenceService\" property does not exist or has not been created under the account.\n\n### Possible solutions\n\nVerify that the service exists for the account in the Conversational Intelligence product.\n",
    "causes": "The service specified in the \"intelligenceService\" property does not exist or has not been created under the account.",
    "solutions": "Verify that the service exists for the account in the Conversational Intelligence product.",
    "description": "The Conversational Intelligence Service specified was not found.",
    "date_created": "2024-12-16T11:00:35Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95301,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Language code on the Transcription request does not match the Conversational Intelligence Service language",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe language code specified in the \"languageCode\" property does not match the Voice Intelligence Service language of the service specified in the \"intelligenceService\" property.\n\n### Possible causes\n\nThe language defined in the Conversational Intelligence Service is different from the one specified in the \"languageCode\" property.\n\n### Possible solutions\n\nEither:\n\n- Change the \"languageCode\" property on the Transcription request to match the language defined in the specified Conversational Intelligence service.\n- Create a new Conversational Intelligence service that matches the desired language and update the intelligenceService property on the Transcription request\n",
    "causes": "The language defined in the Conversational Intelligence Service is different from the one specified in the \"languageCode\" property.",
    "solutions": "Either: - Change the \"languageCode\" property on the Transcription request to match the language defined in the specified Conversational Intelligence service.\n- Create a new Conversational Intelligence service that matches the desired language and update the intelligenceService property on the Transcription request",
    "description": "The language code specified in the \"languageCode\" property does not match the Voice Intelligence Service language of the service specified in the \"intelligenceService\" property.",
    "date_created": "2024-12-16T11:02:07Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95302,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Conversational Intelligence Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nConversational Intelligence experienced an internal error.\n\n### Possible causes\n\nAn issue with the Conversational Intelligence Product caused an error.\n\n### Possible solutions\n\nCheck the Twilio status page. Report the error to Customer Service.\n",
    "causes": "An issue with the Conversational Intelligence Product caused an error.",
    "solutions": "Check the Twilio status page. Report the error to Customer Service.",
    "description": "Conversational Intelligence experienced an internal error.",
    "date_created": "2024-12-16T11:03:52Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95303,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Service requires redaction but request language is not available for redaction",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request language is not available for redaction yet the service in use requires redaction\n\n### Possible causes\n\nMisconfigured service or use of the wrong service for the request in question\n\n### Possible solutions\n\nDisable auto-redaction on the service or use another service\n",
    "causes": "Misconfigured service or use of the wrong service for the request in question",
    "solutions": "Disable auto-redaction on the service or use another service",
    "description": "The request language is not available for redaction yet the service in use requires redaction",
    "date_created": "2025-06-16T10:06:15.215Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 95304,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Service requires media redaction but request language is not available for media redaction",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe request language is not available for media redaction yet the service in use requires media redaction\n\n### Possible causes\n\nMisconfigured service or use of the wrong service for the request in question\n\n### Possible solutions\n\nDisable media redaction on the service or use another service\n",
    "causes": "Misconfigured service or use of the wrong service for the request in question",
    "solutions": "Disable media redaction on the service or use another service",
    "description": "The request language is not available for media redaction yet the service in use requires media redaction",
    "date_created": "2025-06-16T10:22:27.072Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 96905,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid MDR in the message send request",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\n### Possible causes\n\nThe upstream service that uses the 2010V1 api for creating the message using the CFTO flow has provided an invalid MDR\n\n### Possible solutions\n\nCheck with the upstream service to see why the MDR sent was invalid\n",
    "causes": "The upstream service that uses the 2010V1 api for creating the message using the CFTO flow has provided an invalid MDR",
    "solutions": "Check with the upstream service to see why the MDR sent was invalid",
    "description": "",
    "date_created": "2023-06-29T00:46:46Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 96906,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid MDR To Field not found",
    "secondary_message": "Please check the MDr sent to msg-send. The to field is not set correctly or was empty",
    "product": "Branded Comms",
    "docs": "\n## Description\n\nPlease check the MDr sent to msg-send. The to field is not set correctly or was empty\n\n### Possible causes\n\nCheck the MDR passed to msg-send endpoint /v1/mdr\n\n### Possible solutions\n\nAdd the correct to field value in the MDR\n",
    "causes": "Check the MDR passed to msg-send endpoint /v1/mdr",
    "solutions": "Add the correct to field value in the MDR",
    "description": "Please check the MDr sent to msg-send. The to field is not set correctly or was empty",
    "date_created": "2023-10-05T21:12:23Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 97001,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Unable to retrieve OAuth access token",
    "secondary_message": "Unable to exchange OAuth client credentials for an access token in the authorization server.",
    "product": "Account",
    "docs": "\n## Description\n\nTwilio will start dropping webhooks until the authorization server provides a valid token.\n\n### Possible causes\n\n- The authorization service is unavailable.\n- The authorization service is unreachable.\n- The client credentials you configured have been rotated or removed.\n- The authorization server has started issuing a token which is not of type `Bearer`.\n\n### Possible solutions\n\n- Verify your authorization server is running and healthy.\n- Verify your authorization server is not protected by a firewall which blocks the requests.\n- Update the webhook settings with valid client credentials.\n- Update the webhook settings to disable OAuth.\n- Verify the authorization server issues tokens of type `Bearer`.\n",
    "causes": "* The authorization service is unavailable.\n* The authorization service is unreachable.\n* The client credentials you configured have been rotated or removed.\n* The authorization server has started issuing a token which is not of type `Bearer`.",
    "solutions": "* Verify your authorization server is running and healthy.\n* Verify your authorization server is not protected by a firewall which blocks the requests.\n* Update the webhook settings with valid client credentials.\n* Update the webhook settings to disable OAuth.\n* Verify the authorization server issues tokens of type `Bearer`.",
    "description": "Twilio will start dropping webhooks until the authorization server provides a valid token.",
    "date_created": "2024-09-23T12:02:00Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99000,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Test",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nhjh\n\n### Possible causes\n\nkjjwidq\n\n### Possible solutions\n\nmnkjsbafksub\n",
    "causes": "kjjwidq",
    "solutions": "mnkjsbafksub",
    "description": "hjh",
    "date_created": "2024-06-28T10:56:04Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "General Service Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\n### Possible causes\n\nAI Assistants encountered a general service error.\n\n### Possible solutions\n\nNo further information available.\n",
    "causes": "AI Assistants encountered a general service error.",
    "solutions": "No further information available.",
    "description": "",
    "date_created": "2024-10-28T17:50:40Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99002,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Tool Execution Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nTool execution responded with non 2xx status code.\n\n### Possible causes\n\nTool execution could not be completed due to non 2xx response.\n\n### Possible solutions\n\nCheck the status code and error logs in your Tool.\n\n- If you are using Twilio Functions, try adding more `console.logs`, setting Live Logs on the Function, and executing your Assistants again.\n- If you are getting 401/403, verify you are handling the X-Twilio-Signature correctly.\n- If you are getting 5xx, check your server logs.\n",
    "causes": "Tool execution could not be completed due to non 2xx response.",
    "solutions": "Check the status code and error logs in your Tool. - If you are using Twilio Functions, try adding more `console.logs`, setting Live Logs on the Function, and executing your Assistants again.\n- If you are getting 401/403, verify you are handling the X-Twilio-Signature correctly.\n- If you are getting 5xx, check your server logs.",
    "description": "Tool execution responded with non 2xx status code.",
    "date_created": "2024-10-28T17:52:01Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99003,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Guardrails input check failed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAI Assistants has flagged the input prompt and therefore will not process the request.\n\n### Possible causes\n\nThe provided prompt has failed guardrail checks.\n\n### Possible solutions\n\nAI Assistants ensure safe, ethical and compliant interactions. Check the provided prompt for any of the following categories:\n\n- Harmful or dangerous content\n- Illegal activities\n- Medical advice\n- Bias, discrimination and hate speech\n- Prompt injection\n- Sexual and inappropriate content\n",
    "causes": "The provided prompt has failed guardrail checks.",
    "solutions": "AI Assistants ensure safe, ethical and compliant interactions. Check the provided prompt for any of the following categories: - Harmful or dangerous content\n- Illegal activities\n- Medical advice\n- Bias, discrimination and hate speech\n- Prompt injection\n- Sexual and inappropriate content",
    "description": "AI Assistants has flagged the input prompt and therefore will not process the request.",
    "date_created": "2024-10-28T19:56:53Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Guardrails response check failed",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe response generated by AI Assistants failed the guardrail checks. Our team has been notified and will investigate further.\n\n### Possible causes\n\nNo further action is required by you.\n\n### Possible solutions\n\nNo further action is required by you.\n",
    "causes": "No further action is required by you.",
    "solutions": "No further action is required by you.",
    "description": "The response generated by AI Assistants failed the guardrail checks. Our team has been notified and will investigate further.",
    "date_created": "2024-10-29T19:20:19Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid or Unresolved External Tool Endpoint",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAI Assistants cannot access to provided URL.\n\n### Possible causes\n\nProvided URL is invalid or restricted.\n\n### Possible solutions\n\n- Verify the provided URL is accessible to the public web.\n",
    "causes": "Provided URL is invalid or restricted.",
    "solutions": "* Verify the provided URL is accessible to the public web.",
    "description": "AI Assistants cannot access to provided URL.",
    "date_created": "2024-11-18T21:13:31Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99006,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Tool input schema is invalid.",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe provided input schema for AI Assistants Tool is invalid.\n\n### Possible causes\n\nYou have provided an invalid input schema. Check the Tool setting to verify the schema.\n\n### Possible solutions\n\n- Make sure you have `export type Data = `as your entry point for the input schema\n- Verify the provided schema is a valid TypeScript definition\n",
    "causes": "You have provided an invalid input schema. Check the Tool setting to verify the schema.",
    "solutions": "* Make sure you have `export type Data = `as your entry point for the input schema\n* Verify the provided schema is a valid TypeScript definition",
    "description": "The provided input schema for AI Assistants Tool is invalid.",
    "date_created": "2024-12-16T20:39:53Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99011,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge Crawler Error Page",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThe response generated by AI Assistant failed crawling a page.\n\n### Possible causes\n\nThe page is not valid or not accessible for some reasons.\n\n### Possible solutions\n\nCheck if the page is accessible by crawler.\n",
    "causes": "The page is not valid or not accessible for some reasons.",
    "solutions": "Check if the page is accessible by crawler.",
    "description": "The response generated by AI Assistant failed crawling a page.",
    "date_created": "2024-11-01T21:48:37Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 99999,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "hel",
    "secondary_message": null,
    "product": "Authy",
    "docs": "\n## Description\n\nhel\n\n### Possible causes\n\nhel\n\n### Possible solutions\n\nhel\n",
    "causes": "hel",
    "solutions": "hel",
    "description": "hel",
    "date_created": "2024-04-06T02:07:45.469318Z",
    "last_updated": "2026-03-11T17:03:37-05:00"
  },
  {
    "code": 121333,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test for voice",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nTest for voice\n\n### Possible causes\n\ntest for voice\n\n### Possible solutions\n\ntest\n",
    "causes": "test for voice",
    "solutions": "test",
    "description": "Test for voice",
    "date_created": "2025-10-30T11:52:29.483Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 180017,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Require domestic emergency address",
    "secondary_message": null,
    "product": "Phone Numbers",
    "docs": "\n## Description\n\nThis phone number type requires a valid domestic emergency address.\n\n### Possible causes\n\n- You may have submitted an international address.\n- Your address is not a valid address.\n\n### Possible solutions\n\nPlease resubmit with a valid domestic address or create a new bundle selecting the appropriate phone number type.\n",
    "causes": "* You may have submitted an international address.\n* Your address is not a valid address.",
    "solutions": "Please resubmit with a valid domestic address or create a new bundle selecting the appropriate phone number type.",
    "description": "This phone number type requires a valid domestic emergency address.",
    "date_created": "2024-07-04T10:07:31Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 181000,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Phone number provisioning failed - Unexpected Error",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nPhone number provisioning failed - Unexpected Error\n\n### Possible causes\n\nThe phone number provisioning failed due to an unexpected error, which may be related to issues originating from other parties within the ecosystem.\n\n### Possible solutions\n\nOur Support team has the means to obtain more detailed information about this specific error. Please contact Twilio Customer Support for assistance in understanding the underlying problem and finding a resolution.\n",
    "causes": "The phone number provisioning failed due to an unexpected error, which may be related to issues originating from other parties within the ecosystem.",
    "solutions": "Our Support team has the means to obtain more detailed information about this specific error. Please contact Twilio Customer Support for assistance in understanding the underlying problem and finding a resolution.",
    "description": "Phone number provisioning failed - Unexpected Error",
    "date_created": "2025-12-16T05:50:04.74Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 216602,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Content Type is not supported on this channel",
    "secondary_message": null,
    "product": "Branded Comms",
    "docs": "\n## Description\n\nThe content types in the template cannot be used on the channel specified\n\n### Possible causes\n\nThe content type you are using is not available for the channel you are using\n\n### Possible solutions\n\nTry to change the content type you are using with a one that it's supported on the channel. Please see this page of our docs to determine what content types are supported on what channels: https://www.twilio.com/docs/content/content-types-overview#channel-support\n",
    "causes": "The content type you are using is not available for the channel you are using",
    "solutions": "Try to change the content type you are using with a one that it's supported on the channel. Please see this page of our docs to determine what content types are supported on what channels: https://www.twilio.com/docs/content/content-types-overview#channel-support",
    "description": "The content types in the template cannot be used on the channel specified",
    "date_created": "2025-01-23T19:25:58Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 216603,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid component",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThere is a component in the message that is not supported on this channel\n\n### Possible causes\n\nYou have a template with a component that is not supported on the channel you are trying to send\n\n### Possible solutions\n\nCheck if the component you are using is supported on the channel you are trying to send, if not try to create a new template without that component\n",
    "causes": "You have a template with a component that is not supported on the channel you are trying to send",
    "solutions": "Check if the component you are using is supported on the channel you are trying to send, if not try to create a new template without that component",
    "description": "There is a component in the message that is not supported on this channel",
    "date_created": "2025-01-21T16:16:30Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  },
  {
    "code": 317005,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "WhatsApp Voice: Could not change calling status on the WhatsApp Sender",
    "secondary_message": null,
    "product": "Programmable Voice",
    "docs": "\n## Description\n\nThe update business number calling status failed because WhatsApp rejected it.\n\n### Possible causes\n\nThe Sender is offline\n\n### Possible solutions\n\nVerify the phone number status in the WhatsApp Manager.\n",
    "causes": "The Sender is offline",
    "solutions": "Verify the phone number status in the WhatsApp Manager.",
    "description": "The update business number calling status failed because WhatsApp rejected it.",
    "date_created": "2025-06-10T22:28:05.713Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 321401,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid credentials",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid credentials\n\n### Possible causes\n\nPlease verify client\\_id and client\\_secret provided in request and try again.\n\n### Possible solutions\n\nEnter correct client\\_id and client\\_secret combination.\n",
    "causes": "Please verify client\\_id and client\\_secret provided in request and try again.",
    "solutions": "Enter correct client\\_id and client\\_secret combination.",
    "description": "Invalid credentials",
    "date_created": "2025-10-06T07:05:51.859Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 321402,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Empty client_id",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nEmpty client\\_id\n\n### Possible causes\n\nRequired parameter client\\_id is missing.\n\n### Possible solutions\n\nPass the client\\_id in the Token API request.\n",
    "causes": "Required parameter client\\_id is missing.",
    "solutions": "Pass the client\\_id in the Token API request.",
    "description": "Empty client\\_id",
    "date_created": "2025-10-06T06:50:03.741Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 321403,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid grant_type",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid grant\\_type\n\n### Possible causes\n\nEither grant\\_type is missing or is incorrect.\n\n### Possible solutions\n\nSet grant\\_type to client\\_credentials.\n",
    "causes": "Either grant\\_type is missing or is incorrect.",
    "solutions": "Set grant\\_type to client\\_credentials.",
    "description": "Invalid grant\\_type",
    "date_created": "2025-10-06T07:00:26.64Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 321405,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Empty client_secret",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nEmpty client\\_secret\n\n### Possible causes\n\nRequired parameter client\\_secret is missing.\n\n### Possible solutions\n\nPass the client\\_secret in the Token API request.\n",
    "causes": "Required parameter client\\_secret is missing.",
    "solutions": "Pass the client\\_secret in the Token API request.",
    "description": "Empty client\\_secret",
    "date_created": "2025-10-06T07:08:07.856Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 321406,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Too Many Requests",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThis error is received when you've reached max requests allowed for an inbuilt time window (HTTP 429 Too Many Requests).\n\n### Possible causes\n\nMultiple requests for token generation for same oauth application, triggering safeguard (HTTP 429).\n\n### Possible solutions\n\nRequests that receive 429 responses aren't processed and are safe to retry after backing off.\n",
    "causes": "Multiple requests for token generation for same oauth application, triggering safeguard (HTTP 429).",
    "solutions": "Requests that receive 429 responses aren't processed and are safe to retry after backing off.",
    "description": "This error is received when you've reached max requests allowed for an inbuilt time window (HTTP 429 Too Many Requests).",
    "date_created": "2025-10-06T06:31:19.434Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 322401,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Too Many Requests",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nThis error is received when you've reached max requests allowed for an inbuilt time window (HTTP 429 Too Many Requests).\n\n### Possible causes\n\nMultiple requests for token generation for same oauth application, triggering safeguard (HTTP 429).\n\n### Possible solutions\n\nRequests that receive 429 responses aren't processed and are safe to retry after backing off.\n",
    "causes": "Multiple requests for token generation for same oauth application, triggering safeguard (HTTP 429).",
    "solutions": "Requests that receive 429 responses aren't processed and are safe to retry after backing off.",
    "description": "This error is received when you've reached max requests allowed for an inbuilt time window (HTTP 429 Too Many Requests).",
    "date_created": "2025-10-06T06:31:21.916Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 322402,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Invalid credentials",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nInvalid credentials\n\n### Possible causes\n\nProvided credentials in request are not valid.\n\n### Possible solutions\n\nPlease verify credentials provided in request and try again.\n",
    "causes": "Provided credentials in request are not valid.",
    "solutions": "Please verify credentials provided in request and try again.",
    "description": "Invalid credentials",
    "date_created": "2025-10-06T06:19:38.222Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 322403,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Bad Request",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nBad token generation request.\n\n### Possible causes\n\nInvalid payload.\n\n### Possible solutions\n\nPlease validate request payload and try again.\n",
    "causes": "Invalid payload.",
    "solutions": "Please validate request payload and try again.",
    "description": "Bad token generation request.",
    "date_created": "2025-10-06T06:15:06.644Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 322501,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Internal Server Error",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\nAn internal server error has occurred.\n\n### Possible causes\n\nAn internal server error has occurred.\n\n### Possible solutions\n\nPlease contact support to raise a ticket regarding issue with oauth apps token API endpoint.\n",
    "causes": "An internal server error has occurred.",
    "solutions": "Please contact support to raise a ticket regarding issue with oauth apps token API endpoint.",
    "description": "An internal server error has occurred.",
    "date_created": "2025-10-06T06:03:58.604Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 420001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge could not be created",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nKnowledge creation did not complete.\n\n### Possible causes\n\n- The data formatting is unrecognized\n- The knowledge size may have been out of bounds\n- The backend experienced a transient interruption\n\n### Possible solutions\n\n- Ensure knowledge is provided in supported format\n- Validate payload adheres to knowledge limits guidelines\n- Try again with restored network connectivity\n",
    "causes": "* The data formatting is unrecognized\n* The knowledge size may have been out of bounds\n* The backend experienced a transient interruption",
    "solutions": "* Ensure knowledge is provided in supported format\n* Validate payload adheres to knowledge limits guidelines\n* Try again with restored network connectivity",
    "description": "Knowledge creation did not complete.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420002,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Partial knowledge refresh",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nCertain knowledge sources failed to synchronize completely during a refresh.\n\n### Possible causes\n\n- Knowledge sources were temporarily unreachable during refresh cycle\n- Specific external knowledge sources were offline or actively syncing\n\n### Possible solutions\n\n- Wait for background synchronization processes to conclude before retrying\n- Note that some knowledge data could temporarily reflect an older state\n",
    "causes": "* Knowledge sources were temporarily unreachable during refresh cycle\n* Specific external knowledge sources were offline or actively syncing",
    "solutions": "* Wait for background synchronization processes to conclude before retrying\n* Note that some knowledge data could temporarily reflect an older state",
    "description": "Certain knowledge sources failed to synchronize completely during a refresh.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420003,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Search query failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nKnowledge Search query encountered an execution interruption and could not complete.\n\n### Possible causes\n\n- The query structure is unsupported or malformed\n\n### Possible solutions\n\n- Simplify the query syntax\n- Ensure query follows policy guideline on types of content\n",
    "causes": "* The query structure is unsupported or malformed",
    "solutions": "* Simplify the query syntax\n* Ensure query follows policy guideline on types of content",
    "description": "Knowledge Search query encountered an execution interruption and could not complete.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Content exceeds knowledge size limits",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nSubmitted content exceeds platform size limitations and was rejected.\n\n### Possible causes\n\n- Content payload size is larger than the maximum allowed by knowledge limits (210KB)\n\n### Possible solutions\n\n- Shorten the input text or divide the payload into smaller, paginated segments\n- Summarize the content before uploading\n- Use file upload instead of direct text content for larger documents\n",
    "causes": "* Content payload size is larger than the maximum allowed by knowledge limits (210KB)",
    "solutions": "* Shorten the input text or divide the payload into smaller, paginated segments\n* Summarize the content before uploading\n* Use file upload instead of direct text content for larger documents",
    "description": "Submitted content exceeds platform size limitations and was rejected.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-04-01T13:30:49-04:00"
  },
  {
    "code": 420005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Text resource ingest failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe submitted text payload did not pass content validation or was too large.\n\n### Possible causes\n\n- Text upload contains unexpected characters or unsupported formatting\n- The payload exceeds the hard limits for a single ingestion request\n\n### Possible solutions\n\n- Sanitize text inputs to remove unrecognized formatting\n- Split large text blobs into smaller entries prior to submission\n",
    "causes": "* Text upload contains unexpected characters or unsupported formatting\n* The payload exceeds the hard limits for a single ingestion request",
    "solutions": "* Sanitize text inputs to remove unrecognized formatting\n* Split large text blobs into smaller entries prior to submission",
    "description": "The submitted text payload did not pass content validation or was too large.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420006,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Failed to crawl or fetch the URL",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe ingestion crawler was unable to access the target URL.\n\n### Possible causes\n\n- URL is unreachable or exceeds standard timeout thresholds\n- The target site is restricted by robots.txt policy or firewall\n\n### Possible solutions\n\n- Ensure the target URL is publicly accessible, whitelisted, and responds promptly\n- Test connectivity using external tools like curl before initiating ingestion\n",
    "causes": "* URL is unreachable or exceeds standard timeout thresholds\n* The target site is restricted by robots.txt policy or firewall",
    "solutions": "* Ensure the target URL is publicly accessible, whitelisted, and responds promptly\n* Test connectivity using external tools like curl before initiating ingestion",
    "description": "The ingestion crawler was unable to access the target URL.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420007,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "URL crawl partially timed out",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe crawler reached its execution timeout limit prior to completing the full ingestion.\n\n### Possible causes\n\n- Slow-responding source URL\n- The target document is exceptionally large and deeply nested\n\n### Possible solutions\n\n- Increase the request timeout parameters\n- Divide large requests or fetch data from a more optimized endpoint\n",
    "causes": "* Slow-responding source URL\n* The target document is exceptionally large and deeply nested",
    "solutions": "* Increase the request timeout parameters\n* Divide large requests or fetch data from a more optimized endpoint",
    "description": "The crawler reached its execution timeout limit prior to completing the full ingestion.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420008,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "File input failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nFile did not pass content validation or was too large to process.\n\n### Possible causes\n\n- File upload contains unsupported formatting\n- The payload exceeds the hard limits for a single ingestion request\n\n### Possible solutions\n\n- Re-upload file based on supported formats\n- Split large files into smaller entries prior to submission\n",
    "causes": "* File upload contains unsupported formatting\n* The payload exceeds the hard limits for a single ingestion request",
    "solutions": "* Re-upload file based on supported formats\n* Split large files into smaller entries prior to submission",
    "description": "File did not pass content validation or was too large to process.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420009,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Partial update, content skipped",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nSpecific fields in the update request did not get applied due to validation constraints.\n\n### Possible causes\n\n- The update payload contained unsupported content or mismatched info\n- Partial update applied, remaining update gracefully skipped\n\n### Possible solutions\n\n- Validate all updated content, ensure update follows format and content sanity checks\n- Retry the skipped items\n",
    "causes": "* The update payload contained unsupported content or mismatched info\n* Partial update applied, remaining update gracefully skipped",
    "solutions": "* Validate all updated content, ensure update follows format and content sanity checks\n* Retry the skipped items",
    "description": "Specific fields in the update request did not get applied due to validation constraints.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420010,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge resource update failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe resource update was rejected by the backend.\n\n### Possible causes\n\n- Resource is currently locked by another process\n- The resource cannot be located\n- The payload did not pass data validation\n\n### Possible solutions\n\n- Retry the update request after the resource lock naturally expires\n- Check the edit history for potential version conflicts\n",
    "causes": "* Resource is currently locked by another process\n* The resource cannot be located\n* The payload did not pass data validation",
    "solutions": "* Retry the update request after the resource lock naturally expires\n* Check the edit history for potential version conflicts",
    "description": "The resource update was rejected by the backend.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420011,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge resource deletion failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe deletion request was rejected by the backend.\n\n### Possible causes\n\n- The requesting user lacks sufficient permissions\n- The resource has active downstream dependencies\n- A system interruption occurred\n\n### Possible solutions\n\n- Confirm RBAC permissions\n- Ensure the resource is not actively referenced by dependent systems before retrying the `DELETE` request\n",
    "causes": "* The requesting user lacks sufficient permissions\n* The resource has active downstream dependencies\n* A system interruption occurred",
    "solutions": "* Confirm RBAC permissions\n* Ensure the resource is not actively referenced by dependent systems before retrying the `DELETE` request",
    "description": "The deletion request was rejected by the backend.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420012,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge update validation failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe update request for a knowledge item contains invalid or missing required fields.\n\n### Possible causes\n\n- Missing required fields (name or source)\n- Name exceeds maximum length (30 characters)\n- Description exceeds maximum length (1024 characters)\n- Invalid source configuration\n\n### Possible solutions\n\n- Ensure all required fields are provided (name and source)\n- Verify field lengths are within allowed limits\n- Check that the source type and configuration are valid\n- Review the API error details for specific validation failures\n",
    "causes": "* Missing required fields (name or source)\n* Name exceeds maximum length (30 characters)\n* Description exceeds maximum length (1024 characters)\n* Invalid source configuration",
    "solutions": "* Ensure all required fields are provided (name and source)\n* Verify field lengths are within allowed limits\n* Check that the source type and configuration are valid\n* Review the API error details for specific validation failures",
    "description": "The update request for a knowledge item contains invalid or missing required fields.",
    "date_created": "2026-04-01T13:30:49-04:00",
    "last_updated": "2026-04-01T13:30:49-04:00"
  },
  {
    "code": 420013,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge base update failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nPayload for updating the knowledge base was rejected.\n\n### Possible causes\n\n- Specified knowledge base could not be located\n- The update included unsupported field modifications\n\n### Possible solutions\n\n- Verify the Knowledge Base ID is correct\n- Review the API error details for specific invalid fields\n",
    "causes": "* Specified knowledge base could not be located\n* The update included unsupported field modifications",
    "solutions": "* Verify the Knowledge Base ID is correct\n* Review the API error details for specific invalid fields",
    "description": "Payload for updating the knowledge base was rejected.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420014,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge base deletion failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nRequest to delete a knowledge base was declined.\n\n### Possible causes\n\n- Active AI agents or services are currently connected to the knowledge base\n- The active session lacks sufficient deletion privileges\n\n### Possible solutions\n\n- Unlink the knowledge base from all active agents before issuing the `DELETE` request\n- Confirm your access permissions\n",
    "causes": "* Active AI agents or services are currently connected to the knowledge base\n* The active session lacks sufficient deletion privileges",
    "solutions": "* Unlink the knowledge base from all active agents before issuing the `DELETE` request\n* Confirm your access permissions",
    "description": "Request to delete a knowledge base was declined.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 420015,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge search validation failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe search request contains invalid or malformed data and was rejected.\n\n### Possible causes\n\n- Invalid JSON format in request body\n- Invalid knowledge ID format in search filters\n- Malformed query parameters\n\n### Possible solutions\n\n- Verify the request body is valid JSON\n- Check that knowledge IDs follow the correct format (know_knowledge_*)\n- Review the API error details for specific validation failures\n",
    "causes": "* Invalid JSON format in request body\n* Invalid knowledge ID format in search filters\n* Malformed query parameters",
    "solutions": "* Verify the request body is valid JSON\n* Check that knowledge IDs follow the correct format (know\\_knowledge\\_\\*)\n* Review the API error details for specific validation failures",
    "description": "The search request contains invalid or malformed data and was rejected.",
    "date_created": "2026-04-01T13:30:49-04:00",
    "last_updated": "2026-04-01T13:30:49-04:00"
  },
  {
    "code": 420016,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge create validation failed",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe request to create a knowledge item contains invalid or malformed data and was rejected.\n\n### Possible causes\n\n- Invalid JSON format in request body\n- Missing required fields\n- Invalid field values that don't match specific validation rules (e.g., name length, description length)\n\n### Possible solutions\n\n- Verify the request body is valid JSON\n- Ensure all required fields are provided\n- Check field lengths and formats meet API requirements\n- Review the API error details for specific validation failures\n",
    "causes": "* Invalid JSON format in request body\n* Missing required fields\n* Invalid field values that don't match specific validation rules (e.g., name length, description length)",
    "solutions": "* Verify the request body is valid JSON\n* Ensure all required fields are provided\n* Check field lengths and formats meet API requirements\n* Review the API error details for specific validation failures",
    "description": "The request to create a knowledge item contains invalid or malformed data and was rejected.",
    "date_created": "2026-04-01T13:30:49-04:00",
    "last_updated": "2026-04-01T13:30:49-04:00"
  },
  {
    "code": 420017,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Knowledge not found",
    "secondary_message": null,
    "product": "Enterprise-Knowledge",
    "docs": "\n## Description\n\nThe requested knowledge item could not be found or the knowledge ID is invalid.\n\n### Possible causes\n\n- Knowledge ID does not exist\n- Invalid knowledge ID format\n- Knowledge was deleted\n- Knowledge ID cannot be parsed\n\n### Possible solutions\n\n- Verify the knowledge ID is correct and follows the format (know_knowledge_*)\n- Check that the knowledge item has not been deleted\n- Use the List Knowledge endpoint to retrieve valid knowledge IDs\n- Review the API error details for specific validation failures\n",
    "causes": "* Knowledge ID does not exist\n* Invalid knowledge ID format\n* Knowledge was deleted\n* Knowledge ID cannot be parsed",
    "solutions": "* Verify the knowledge ID is correct and follows the format (know\\_knowledge\\_\\*)\n* Check that the knowledge item has not been deleted\n* Use the List Knowledge endpoint to retrieve valid knowledge IDs\n* Review the API error details for specific validation failures",
    "description": "The requested knowledge item could not be found or the knowledge ID is invalid.",
    "date_created": "2026-04-01T13:30:49-04:00",
    "last_updated": "2026-04-01T13:30:49-04:00"
  },
  {
    "code": 456001,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Approaching Flex Plugin creation limit",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nYou are approaching the limit of how many Flex Plugins you can have on your account. Once you reach the limit, you may need to archive old Plugins to create any new one.\n\n### Possible causes\n\nYou are approaching 25 Flex Plugins on your account.\n\n### Possible solutions\n\nArchive older Plugins if they are no longer used.\n",
    "causes": "You are approaching 25 Flex Plugins on your account.",
    "solutions": "Archive older Plugins if they are no longer used.",
    "description": "You are approaching the limit of how many Flex Plugins you can have on your account. Once you reach the limit, you may need to archive old Plugins to create any new one.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 456002,
    "log_level": "WARNING",
    "log_type": "APPLICATION",
    "message": "Approaching Flex Plugin Version creation limit",
    "secondary_message": null,
    "product": "Flex",
    "docs": "\n## Description\n\nYou are approaching the limit of how many Flex Plugin Versions you can have. Once you reach the limit, you may need to archive old Versions to create any new one.\n\n### Possible causes\n\nYou are approaching 500 Flex Plugin Versions on your account.\n\n### Possible solutions\n\nArchive older Plugin Versions if they are no longer used.\n",
    "causes": "You are approaching 500 Flex Plugin Versions on your account.",
    "solutions": "Archive older Plugin Versions if they are no longer used.",
    "description": "You are approaching the limit of how many Flex Plugin Versions you can have. Once you reach the limit, you may need to archive old Versions to create any new one.",
    "date_created": "2020-12-14T21:32:45Z",
    "last_updated": "2026-03-11T15:01:16-05:00"
  },
  {
    "code": 512010,
    "log_level": "ERROR",
    "log_type": null,
    "message": "Twilsock: Registrations failed",
    "secondary_message": "There is at least one registration request failed",
    "product": null,
    "docs": "\n## Description\n\nThere is at least one registration request failed\n",
    "causes": null,
    "solutions": null,
    "description": "There is at least one registration request failed",
    "date_created": "2019-05-03T11:14:30Z",
    "last_updated": "2020-08-04T03:00:11.139Z"
  },
  {
    "code": 520001,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Observation creation failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nSystem experienced an interruption while attempting to store an observation.\n\n### Possible causes\n\n- Temporary interruption of observation creation\n\n### Possible solutions\n\n- Observation Creation delayed. Note that some observations could temporarily reflect an older state.\n",
    "causes": "* Temporary interruption of observation creation",
    "solutions": "* Observation Creation delayed. Note that some observations could temporarily reflect an older state.",
    "description": "System experienced an interruption while attempting to store an observation.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520002,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Observation update failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nSystem experienced an interruption while attempting to update an existing observation.\n\n### Possible causes\n\n- Invalid observation ID\n\n### Possible solutions\n\n- Validate the observation ID and then carefully re-attempt the update request\n",
    "causes": "* Invalid observation ID",
    "solutions": "* Validate the observation ID and then carefully re-attempt the update request",
    "description": "System experienced an interruption while attempting to update an existing observation.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520003,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Observation not found",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nObservation could not be located in the system.\n\n### Possible causes\n\n- Observation does not exist or has been removed or reconciled\n\n### Possible solutions\n\n- Verify the Profile ID and Observation ID\n- Review observation reconciliation logs for details\n",
    "causes": "* Observation does not exist or has been removed or reconciled",
    "solutions": "* Verify the Profile ID and Observation ID\n* Review observation reconciliation logs for details",
    "description": "Observation could not be located in the system.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Profile already exists",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nUnique constraint violation occurred during creation.\n\n### Possible causes\n\n- The client application submitted a `POST` request containing a profile identifier that is already mapped to an active user profile\n\n### Possible solutions\n\n- Execute a `GET` request to verify the availability of the identifier before attempting profile creation\n- Utilize globally unique identifiers like UUIDs\n",
    "causes": "* The client application submitted a `POST` request containing a profile identifier that is already mapped to an active user profile",
    "solutions": "* Execute a `GET` request to verify the availability of the identifier before attempting profile creation\n* Utilize globally unique identifiers like UUIDs",
    "description": "Unique constraint violation occurred during creation.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520005,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Profile schema validation failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nProfile creation failed due to an invalid schema or unexpected structure.\n\n### Possible causes\n\n- The provided JSON payload does not match the required profile schema\n- Parallel requests caused a race condition\n\n### Possible solutions\n\n- Validate the JSON payload against the designated profile schema\n- Implement idempotency keys to prevent race conditions\n",
    "causes": "* The provided JSON payload does not match the required profile schema\n* Parallel requests caused a race condition",
    "solutions": "* Validate the JSON payload against the designated profile schema\n* Implement idempotency keys to prevent race conditions",
    "description": "Profile creation failed due to an invalid schema or unexpected structure.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520006,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Profile created with defaults",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nProfile was created utilizing default values for missing fields.\n\n### Possible causes\n\n- The payload included only mandatory fields, which prompted the system to apply standard default values to the omitted optional columns\n\n### Possible solutions\n\n- This message is informational\n- To enforce specific values, include all relevant optional fields in your initial `POST` request\n",
    "causes": "* The payload included only mandatory fields, which prompted the system to apply standard default values to the omitted optional columns",
    "solutions": "* This message is informational\n* To enforce specific values, include all relevant optional fields in your initial `POST` request",
    "description": "Profile was created utilizing default values for missing fields.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520007,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Invalid CSV format",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nCSV file did not conform to the expected schema.\n\n### Possible causes\n\n- Missing columns, unrecognized delimiters, or unsupported file encoding\n- Misordered headers\n\n### Possible solutions\n\n- Download and adhere to the standard CSV template\n- Ensure all required columns are present and encoded in UTF-8 before re-attempting the upload\n",
    "causes": "* Missing columns, unrecognized delimiters, or unsupported file encoding\n* Misordered headers",
    "solutions": "* Download and adhere to the standard CSV template\n* Ensure all required columns are present and encoded in UTF-8 before re-attempting the upload",
    "description": "CSV file did not conform to the expected schema.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520008,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Profile access denied",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nSystem cannot retrieve the targeted profile.\n\n### Possible causes\n\n- The Profile ID does not exist\n- The operator's active session lacks the necessary RBAC permissions\n\n### Possible solutions\n\n- Ensure the target Profile ID exists\n- Validate that the operator possesses the proper scopes for cross-domain data access\n",
    "causes": "* The Profile ID does not exist\n* The operator's active session lacks the necessary RBAC permissions",
    "solutions": "* Ensure the target Profile ID exists\n* Validate that the operator possesses the proper scopes for cross-domain data access",
    "description": "System cannot retrieve the targeted profile.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520009,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Profile not found",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nProfile targeted for deletion or retrieval could not be located.\n\n### Possible causes\n\n- The requested Profile ID does not exist in the active workspace\n- The profile has already been purged\n\n### Possible solutions\n\n- Fetch the profile record first to confirm its existence before invoking deletion protocols\n",
    "causes": "* The requested Profile ID does not exist in the active workspace\n* The profile has already been purged",
    "solutions": "* Fetch the profile record first to confirm its existence before invoking deletion protocols",
    "description": "Profile targeted for deletion or retrieval could not be located.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520010,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Bulk trait upsert failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nBulk trait upsert encountered validation discrepancies.\n\n### Possible causes\n\n- Missing fields, unmatched data types, or duplicate mapping keys within the batch payload\n- Malformed JSON structure\n- No valid traits\n- No Identifiers\n\n### Possible solutions\n\n- Validate the batch locally prior to submission\n- Implement granular error handling to process valid records while gracefully managing exceptions\n- Register trait in trait settings\n",
    "causes": "* Missing fields, unmatched data types, or duplicate mapping keys within the batch payload\n* Malformed JSON structure\n* No valid traits\n* No Identifiers",
    "solutions": "* Validate the batch locally prior to submission\n* Implement granular error handling to process valid records while gracefully managing exceptions\n* Register trait in trait settings",
    "description": "Bulk trait upsert encountered validation discrepancies.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520011,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Trait not found",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nTrait listing or retrieval operation did not return any traits.\n\n### Possible causes\n\n- Profile was generated without traits\n- All existing traits have been previously removed\n\n### Possible solutions\n\n- Ensure traits are configured and mapped during profile imports and upserts\n",
    "causes": "* Profile was generated without traits\n* All existing traits have been previously removed",
    "solutions": "* Ensure traits are configured and mapped during profile imports and upserts",
    "description": "Trait listing or retrieval operation did not return any traits.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520012,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Identifier merge conflict",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nIdentifier assignment failed due to an identity conflict, violating uniqueness constraints.\n\n### Possible causes\n\n- Identifier is currently exclusively linked to another profile within the workspace\n\n### Possible solutions\n\n- Query existing identifier ownership records\n- Manually resolve the conflict or execute a profile merge operation before attempting to re-assign the identifier\n",
    "causes": "* Identifier is currently exclusively linked to another profile within the workspace",
    "solutions": "* Query existing identifier ownership records\n* Manually resolve the conflict or execute a profile merge operation before attempting to re-assign the identifier",
    "description": "Identifier assignment failed due to an identity conflict, violating uniqueness constraints.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520013,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Identifier formatting error",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nIdentifier was added but does not strictly align with the expected schema pattern.\n\n### Possible causes\n\n- Identifier value does not follow the recognized pattern (e.g., missing an @ symbol in an email address)\n\n### Possible solutions\n\n- Validate the identifier string against backend or local regular expressions prior to submission to ensure formatting consistency\n",
    "causes": "* Identifier value does not follow the recognized pattern (e.g., missing an @ symbol in an email address)",
    "solutions": "* Validate the identifier string against backend or local regular expressions prior to submission to ensure formatting consistency",
    "description": "Identifier was added but does not strictly align with the expected schema pattern.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520014,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Identifier not found",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nIdentifier targeted for the update could not be located.\n\n### Possible causes\n\n- Identifier is not currently associated with the target profile\n\n### Possible solutions\n\n- Fetch the current identifier list for the profile to verify the identifier's existence before issuing `PATCH` or `PUT` update requests\n",
    "causes": "* Identifier is not currently associated with the target profile",
    "solutions": "* Fetch the current identifier list for the profile to verify the identifier's existence before issuing `PATCH` or `PUT` update requests",
    "description": "Identifier targeted for the update could not be located.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520015,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Bulk identifier add failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nBulk identifier assignment failed because the file contained unprocessable data.\n\n### Possible causes\n\n- Batch payload contained duplicated or incorrectly formatted identifiers\n\n### Possible solutions\n\n- Execute a strict data validation and refinement step to ensure data cleanliness before uploading the batch payload\n",
    "causes": "* Batch payload contained duplicated or incorrectly formatted identifiers",
    "solutions": "* Execute a strict data validation and refinement step to ensure data cleanliness before uploading the batch payload",
    "description": "Bulk identifier assignment failed because the file contained unprocessable data.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520016,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Identifiers skipped during bulk add",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nSome identifiers were skipped during bulk processing to preserve data integrity.\n\n### Possible causes\n\n- Batch file included some duplicate or improperly formatted identifier values\n\n### Possible solutions\n\n- Deduplicate the source data\n- Execute a format validation check on the batch to ensure all entries meet schema requirements before transmission\n",
    "causes": "* Batch file included some duplicate or improperly formatted identifier values",
    "solutions": "* Deduplicate the source data\n* Execute a format validation check on the batch to ensure all entries meet schema requirements before transmission",
    "description": "Some identifiers were skipped during bulk processing to preserve data integrity.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520017,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Identifier not found for deletion",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nIdentifier could not be found for deletion.\n\n### Possible causes\n\n- It may be invalid, previously removed, or never associated with the target profile\n\n### Possible solutions\n\n- Fetch the most recent identifier list for the target profile to confirm its presence before issuing a `DELETE` request\n",
    "causes": "* It may be invalid, previously removed, or never associated with the target profile",
    "solutions": "* Fetch the most recent identifier list for the target profile to confirm its presence before issuing a `DELETE` request",
    "description": "Identifier could not be found for deletion.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520018,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Identifier partially deleted",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nIdentifier was successfully removed from the profile, but downstream dependencies may remain.\n\n### Possible causes\n\n- Downstream or upstream systems may still be referencing this identifier\n\n### Possible solutions\n\n- Audit interconnected systems to ensure that deletion requests are fully propagated across all active environments\n",
    "causes": "* Downstream or upstream systems may still be referencing this identifier",
    "solutions": "* Audit interconnected systems to ensure that deletion requests are fully propagated across all active environments",
    "description": "Identifier was successfully removed from the profile, but downstream dependencies may remain.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520019,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Trait group name already exists",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nTrait group name violates uniqueness constraints.\n\n### Possible causes\n\n- The provided trait group name is already active within the workspace\n\n### Possible solutions\n\n- Query the API for existing trait group names prior to creation\n- If necessary, consider appending a unique suffix to the desired group name\n",
    "causes": "* The provided trait group name is already active within the workspace",
    "solutions": "* Query the API for existing trait group names prior to creation\n* If necessary, consider appending a unique suffix to the desired group name",
    "description": "Trait group name violates uniqueness constraints.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520020,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Trait group not found",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nTrait group could not be located during the update process.\n\n### Possible causes\n\n- An incorrect Group ID was provided or the group was previously deleted\n\n### Possible solutions\n\n- List and select existing trait groups by their verified IDs before attempting update operations\n",
    "causes": "* An incorrect Group ID was provided or the group was previously deleted",
    "solutions": "* List and select existing trait groups by their verified IDs before attempting update operations",
    "description": "Trait group could not be located during the update process.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520021,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Trait group deletion failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nTrait group could not be successfully deleted.\n\n### Possible causes\n\n- The trait group no longer exists\n\n### Possible solutions\n\n- Verify the existence of the trait group and ensure the requesting user account is granted the necessary deletion privileges\n",
    "causes": "* The trait group no longer exists",
    "solutions": "* Verify the existence of the trait group and ensure the requesting user account is granted the necessary deletion privileges",
    "description": "Trait group could not be successfully deleted.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520022,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Memory store did not get created",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nMemory store creation failed due to config or network error.\n\n### Possible causes\n\n- The orchestration workflow or operator supplied an incomplete or incorrectly structured configuration payload\n\n### Possible solutions\n\n- Suggest retrying with required parameters within the configuration object and confirm that integration mappings are accurate\n",
    "causes": "* The orchestration workflow or operator supplied an incomplete or incorrectly structured configuration payload",
    "solutions": "* Suggest retrying with required parameters within the configuration object and confirm that integration mappings are accurate",
    "description": "Memory store creation failed due to config or network error.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520023,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Memory store created with exceptions",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nMissing config fields led to system defaults.\n\n### Possible causes\n\n- Configuration object was accepted, skipped optional fields\n\n### Possible solutions\n\n- To maintain strict operational behavior, provide a comprehensive configuration object with all optional parameters explicitly defined\n",
    "causes": "* Configuration object was accepted, skipped optional fields",
    "solutions": "* To maintain strict operational behavior, provide a comprehensive configuration object with all optional parameters explicitly defined",
    "description": "Missing config fields led to system defaults.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520024,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Identity resolution config error",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nIdentity resolution configuration payload did not meet schema requirements.\n\n### Possible causes\n\n- Contains structural discrepancies, schema violations, or omits mandatory fields\n\n### Possible solutions\n\n- Validate the configuration payload against the strict JSON schema prior to transmission to ensure seamless acceptance\n",
    "causes": "* Contains structural discrepancies, schema violations, or omits mandatory fields",
    "solutions": "* Validate the configuration payload against the strict JSON schema prior to transmission to ensure seamless acceptance",
    "description": "Identity resolution configuration payload did not meet schema requirements.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520025,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Identity resolution settings defaulted",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nMissing configuration fields were populated with standardized system defaults.\n\n### Possible causes\n\n- Settings configuration skipped optional fields\n\n### Possible solutions\n\n- Review the applied defaults\n- If specific resolution settings are desired, apply all relevant optional configuration fields in your request\n",
    "causes": "* Settings configuration skipped optional fields",
    "solutions": "* Review the applied defaults\n* If specific resolution settings are desired, apply all relevant optional configuration fields in your request",
    "description": "Missing configuration fields were populated with standardized system defaults.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520026,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Profile merge failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nMerge operation was respectfully halted due to merge conflicts.\n\n### Possible causes\n\n- The profile data contains conflicting mandatory fields\n- The operation exceeds standard guidance on profile merge limits\n\n### Possible solutions\n\n- Review the conflicting profile data points to align the information before respectfully re-attempting the merge operation\n- Resend data in batches based on suggested profile limits in documentation\n",
    "causes": "* The profile data contains conflicting mandatory fields\n* The operation exceeds standard guidance on profile merge limits",
    "solutions": "* Review the conflicting profile data points to align the information before respectfully re-attempting the merge operation\n* Resend data in batches based on suggested profile limits in documentation",
    "description": "Merge operation was respectfully halted due to merge conflicts.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520027,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Profile merge completed with conflicts",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nConflict resolved when merging the profiles based on timestamp.\n\n### Possible causes\n\n- The system resolved these conflicts by defaulting to the most recently updated timestamp\n\n### Possible solutions\n\n- Review the merged profile object to ensure the automated resolutions align with your data expectations\n",
    "causes": "* The system resolved these conflicts by defaulting to the most recently updated timestamp",
    "solutions": "* Review the merged profile object to ensure the automated resolutions align with your data expectations",
    "description": "Conflict resolved when merging the profiles based on timestamp.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520032,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Profile skipped, bulk creation errors",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nRow level validation or duplication issues occurred during bulk profile creation.\n\n### Possible causes\n\n- Some entries in the file were duplicates or contained bad data\n\n### Possible solutions\n\n- Pre-validate the whole import\n- Log/fix errors and retry only the failed lines\n",
    "causes": "* Some entries in the file were duplicates or contained bad data",
    "solutions": "* Pre-validate the whole import\n* Log/fix errors and retry only the failed lines",
    "description": "Row level validation or duplication issues occurred during bulk profile creation.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520033,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Unmapped columns skipped",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nThe CSV contains extraneous or unmapped columns. Unmapped columns skipped as Traits.\n\n### Possible causes\n\n- The file includes unknown or unused headers due to schema change\n\n### Possible solutions\n\n- Remove extraneous headers before upload\n- Refresh mapping definitions with the backend schema\n",
    "causes": "* The file includes unknown or unused headers due to schema change",
    "solutions": "* Remove extraneous headers before upload\n* Refresh mapping definitions with the backend schema",
    "description": "The CSV contains extraneous or unmapped columns. Unmapped columns skipped as Traits.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520034,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Identifiers skipped during bulk add",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nSome batch items failed validation during a bulk upsert.\n\n### Possible causes\n\n- Identifiers clash with existing profiles\n\n### Possible solutions\n\n- Investigate failed records; fix conflicts and re-upload only those\n",
    "causes": "* Identifiers clash with existing profiles",
    "solutions": "* Investigate failed records; fix conflicts and re-upload only those",
    "description": "Some batch items failed validation during a bulk upsert.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520035,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Trait not deleted",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nTrait was not found on this profile.\n\n### Possible causes\n\n- Trait was never set, or was already deleted\n\n### Possible solutions\n\n- List available traits on the profile before sending `DELETE` requests\n",
    "causes": "* Trait was never set, or was already deleted",
    "solutions": "* List available traits on the profile before sending `DELETE` requests",
    "description": "Trait was not found on this profile.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520036,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "CSV import / upload error",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nMalformed CSV file, unsupported encoding, or missing headers.\n\n### Possible causes\n\n- Corrupt file, missing expected identifiers and format, or unsupported CSV delimiter\n\n### Possible solutions\n\n- Open the file in a text editor to compare the format to the import spec\n",
    "causes": "* Corrupt file, missing expected identifiers and format, or unsupported CSV delimiter",
    "solutions": "* Open the file in a text editor to compare the format to the import spec",
    "description": "Malformed CSV file, unsupported encoding, or missing headers.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520037,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Summary retrieval failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nConversation summary for the profile could not be found or accessed.\n\n### Possible causes\n\n- The summary does not exist or has been removed\n- The session does not have access to the target profile\n\n### Possible solutions\n\n- Double-check the Profile ID and Summary ID to ensure they are correct\n- Verify your RBAC permissions\n",
    "causes": "* The summary does not exist or has been removed\n* The session does not have access to the target profile",
    "solutions": "* Double-check the Profile ID and Summary ID to ensure they are correct\n* Verify your RBAC permissions",
    "description": "Conversation summary for the profile could not be found or accessed.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520038,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Summary update failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nThe target conversation summary could not be updated.\n\n### Possible causes\n\n- Invalid summary content or formatting\n- The Summary ID does not exist\n\n### Possible solutions\n\n- Validate the summary payload structure\n- Verify the Summary ID exists before attempting update\n",
    "causes": "* Invalid summary content or formatting\n* The Summary ID does not exist",
    "solutions": "* Validate the summary payload structure\n* Verify the Summary ID exists before attempting update",
    "description": "The target conversation summary could not be updated.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520039,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Summary deletion failed",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nThe target conversation summary could not be deleted from the profile.\n\n### Possible causes\n\n- The Summary ID is incorrect or has already been removed\n- The active session lacks sufficient deletion privileges\n\n### Possible solutions\n\n- Verify the Summary ID exists on the profile before issuing the `DELETE` request\n- Confirm your account privileges\n",
    "causes": "* The Summary ID is incorrect or has already been removed\n* The active session lacks sufficient deletion privileges",
    "solutions": "* Verify the Summary ID exists on the profile before issuing the `DELETE` request\n* Confirm your account privileges",
    "description": "The target conversation summary could not be deleted from the profile.",
    "date_created": "2026-03-26T09:31:25-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 520040,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Trait not registered",
    "secondary_message": null,
    "product": "Conversation-Memory",
    "docs": "\n## Description\n\nTrait name for the trait group is not registered.\n\n### Possible causes\n\n- Trait Group or trait name isn't registered\n\n### Possible solutions\n\n- Register the trait group and trait name\n",
    "causes": "* Trait Group or trait name isn't registered",
    "solutions": "* Register the trait group and trait name",
    "description": "Trait name for the trait group is not registered.",
    "date_created": "2026-03-31T23:32:01-04:00",
    "last_updated": "2026-03-31T23:32:01-04:00"
  },
  {
    "code": 530001,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Profile resolution skipped",
    "secondary_message": null,
    "product": "Conversation-Orchestrator",
    "docs": "\n## Description\n\nProfile resolution was not attempted for this participant. This occurs when the participant type does not support profile resolution or when the participant's address cannot be mapped to a valid identifier.\n\n### Possible causes\n\n- The participant isn't a `CUSTOMER` type (e.g., `HUMAN_AGENT` or `AI_AGENT` participants don't undergo profile resolution).\n- The participant's address type doesn't map to a supported identifier (e.g., chat addresses like `client:alice` have no phone or email identifier).\n\n### Possible solutions\n\n- This warning is informational and doesn't indicate a failure.\n- If profile resolution is expected, verify the participant type is `CUSTOMER` and the address is a phone number, email, or WhatsApp identifier.\n",
    "causes": "* The participant isn't a `CUSTOMER` type (e.g., `HUMAN_AGENT` or `AI_AGENT` participants don't undergo profile resolution).\n* The participant's address type doesn't map to a supported identifier (e.g., chat addresses like `client:alice` have no phone or email identifier).",
    "solutions": "* This warning is informational and doesn't indicate a failure.\n* If profile resolution is expected, verify the participant type is `CUSTOMER` and the address is a phone number, email, or WhatsApp identifier.",
    "description": "Profile resolution was not attempted for this participant. This occurs when the participant type does not support profile resolution or when the participant's address cannot be mapped to a valid identifier.",
    "date_created": "2026-03-30T10:45:54+03:00",
    "last_updated": "2026-03-30T10:45:54+03:00"
  },
  {
    "code": 530002,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Profile lookup returned no matching profiles",
    "secondary_message": null,
    "product": "Conversation-Orchestrator",
    "docs": "\n## Description\n\nA profile lookup was performed for the participant's identifier but no existing profile was found. The system will attempt to create a new profile.\n\n### Possible causes\n\n- This is the first interaction from this identifier and no profile has been created yet.\n- The memory store does not contain a profile matching the participant's phone number, email, or WhatsApp address.\n\n### Possible solutions\n\n- This warning is informational and indicates the system is proceeding to create a new profile.\n- No action is required unless profile creation also fails. For more information, see error [530004](/docs/api/errors/530004).\n",
    "causes": "* This is the first interaction from this identifier and no profile has been created yet.\n* The memory store does not contain a profile matching the participant's phone number, email, or WhatsApp address.",
    "solutions": "* This warning is informational and indicates the system is proceeding to create a new profile.\n* No action is required unless profile creation also fails. For more information, see error [530004](/docs/api/errors/530004).",
    "description": "A profile lookup was performed for the participant's identifier but no existing profile was found. The system will attempt to create a new profile.",
    "date_created": "2026-03-30T10:45:54+03:00",
    "last_updated": "2026-03-30T10:45:54+03:00"
  },
  {
    "code": 530003,
    "log_level": "WARNING",
    "log_type": "TWILIO",
    "message": "Profile lookup failed",
    "secondary_message": null,
    "product": "Conversation-Orchestrator",
    "docs": "\n## Description\n\nThe system attempted to look up an existing profile for the participant but the request to the profile service failed. The system will attempt to create a new profile as a fallback.\n\n### Possible causes\n\n- The profile service experienced a temporary outage or timeout.\n- The memory store ID configured on the conversation is invalid or not accessible.\n- A client error occurred due to malformed request data.\n\n### Possible solutions\n\n- Check the `errorReason` field in the diagnostic event for the specific HTTP status and error message.\n- Verify the memory store ID in the conversation configuration is correct and accessible.\n- If the error is transient (5xx), the system will attempt profile creation as a fallback.\n",
    "causes": "* The profile service experienced a temporary outage or timeout.\n* The memory store ID configured on the conversation is invalid or not accessible.\n* A client error occurred due to malformed request data.",
    "solutions": "* Check the `errorReason` field in the diagnostic event for the specific HTTP status and error message.\n* Verify the memory store ID in the conversation configuration is correct and accessible.\n* If the error is transient (5xx), the system will attempt profile creation as a fallback.",
    "description": "The system attempted to look up an existing profile for the participant but the request to the profile service failed. The system will attempt to create a new profile as a fallback.",
    "date_created": "2026-03-30T10:45:54+03:00",
    "last_updated": "2026-03-30T10:45:54+03:00"
  },
  {
    "code": 530004,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "Profile creation failed",
    "secondary_message": null,
    "product": "Conversation-Orchestrator",
    "docs": "\n## Description\n\nThe system failed to create a new profile for the participant. The participant was still added to the conversation (fail-open behavior) but without a profile ID.\n\n### Possible causes\n\n- The profile service experienced a temporary outage or timeout.\n- The memory store ID configured on the conversation is invalid or not accessible.\n- A client error occurred due to malformed profile data or trait mapping.\n\n### Possible solutions\n\n- Check the `errorReason` field in the diagnostic event for the specific HTTP status and error message.\n- Verify the memory store ID in the conversation configuration is correct and accessible.\n- The participant was created without a profile ID and will function normally, but memory features that depend on profile resolution will not be available for this participant.\n",
    "causes": "* The profile service experienced a temporary outage or timeout.\n* The memory store ID configured on the conversation is invalid or not accessible.\n* A client error occurred due to malformed profile data or trait mapping.",
    "solutions": "* Check the `errorReason` field in the diagnostic event for the specific HTTP status and error message.\n* Verify the memory store ID in the conversation configuration is correct and accessible.\n* The participant was created without a profile ID and will function normally, but memory features that depend on profile resolution will not be available for this participant.",
    "description": "The system failed to create a new profile for the participant. The participant was still added to the conversation (fail-open behavior) but without a profile ID.",
    "date_created": "2026-03-30T10:45:54+03:00",
    "last_updated": "2026-03-30T10:45:54+03:00"
  },
  {
    "code": 600303,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Entities batch deletion request body is not valid",
    "secondary_message": null,
    "product": "Verify",
    "docs": "\n## Description\n\nYou are trying to delete entities in batch mode, but the body sent is invalid\n\n### Possible causes\n\n- Your body payload does not follow the right structure\n- You are exceeding the maximum amount of records to be processed (Currently: 10)\n- You are sending incorrect entities information. Eg: Malformed SIDs or missing identities\n\n### Possible solutions\n\n- Make sure you are sending the information following the right structure\n- Please do not exceed the maximum amount of records to process per request\n- Make review the SID's and identities you are sending\n",
    "causes": "* Your body payload does not follow the right structure\n* You are exceeding the maximum amount of records to be processed (Currently: 10)\n* You are sending incorrect entities information. Eg: Malformed SIDs or missing identities",
    "solutions": "* Make sure you are sending the information following the right structure\n* Please do not exceed the maximum amount of records to process per request\n* Make review the SID's and identities you are sending",
    "description": "You are trying to delete entities in batch mode, but the body sent is invalid",
    "date_created": "2020-06-16T13:48:19Z",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 600404,
    "log_level": "ERROR",
    "log_type": "APPLICATION",
    "message": "Test Error Code for Twilio Watch Events ",
    "secondary_message": null,
    "product": "Events",
    "docs": "\n## Description\n\nTest Error Code for Twilio Watch Events\n\n### Possible causes\n\nTest Error Code for Twilio Watch Events\n\n### Possible solutions\n\nTest Error Code for Twilio Watch Events\n",
    "causes": "Test Error Code for Twilio Watch Events",
    "solutions": "Test Error Code for Twilio Watch Events",
    "description": "Test Error Code for Twilio Watch Events",
    "date_created": "2026-02-06T18:29:52+05:30",
    "last_updated": "2026-03-11T15:43:38-05:00"
  },
  {
    "code": 123456789,
    "log_level": "ERROR",
    "log_type": "TWILIO",
    "message": "test",
    "secondary_message": null,
    "product": null,
    "docs": "\n## Description\n\ntest\n\n### Possible causes\n\ntest\n\n### Possible solutions\n\ntest\n",
    "causes": "test",
    "solutions": "test",
    "description": "test",
    "date_created": "2024-03-20T16:42:05Z",
    "last_updated": "2026-03-11T13:38:39-05:00"
  }
]