{
  "code": 20,
  "class": "Twilio Authorization",
  "subclasses": [
    {
      "code": 1,
      "class": "Authorization",
      "errors": [
        {
          "code": 1,
          "name": "AccessTokenInvalid",
          "description": "Invalid access token",
          "explanation": "Twilio was unable to validate your Access Token"
        },
        {
          "code": 2,
          "name": "AccessTokenHeaderInvalid",
          "description": "Invalid access token header",
          "explanation": "The header of the Access Token provided to the Twilio API was invalid"
        },
        {
          "code": 3,
          "name": "AccessTokenIssuerInvalid",
          "description": "Invalid access token issuer/subject",
          "explanation": "The issuer or subject of the Access Token provided to the Twilio API was invalid"
        },
        {
          "code": 4,
          "name": "AccessTokenExpired",
          "description": "Access token expired or expiration date invalid",
          "explanation": "The Access Token provided to the Twilio API has expired, the expiration time specified in the token was invalid, or the expiration time specified was too far in the future"
        },
        {
          "code": 5,
          "name": "AccessTokenNotYetValid",
          "description": "Access token not yet valid",
          "explanation": "The Access Token provided to the Twilio API is not yet valid"
        },
        {
          "code": 6,
          "name": "AccessTokenGrantsInvalid",
          "description": "Invalid access token grants",
          "explanation": "The Access Token signature and issuer were valid, but the grants specified in the token were invalid, unparseable, or did not authorize the action being requested"
        },
        {
          "code": 7,
          "name": "AccessTokenSignatureInvalid",
          "description": "Invalid access token signature",
          "explanation": "The signature for the Access Token provided was invalid."
        },
        {
          "code": 51,
          "name": "AuthenticationFailed",
          "description": "Authentication Failed",
          "explanation": "The Authentication with the provided JWT failed"
        },
        {
          "code": 57,
          "name": "ExpirationTimeExceedsMaxTimeAllowed",
          "description": "Expiration Time Exceeds Maximum Time Allowed",
          "explanation": "The expiration time provided when creating the JWT exceeds the maximum duration allowed"
        }
      ]
    },
    {
      "code": 4,
      "class": "Forbidden",
      "errors": [
        {
          "code": 3,
          "name": "Forbidden",
          "description": "403 Forbidden",
          "explanation": "The account lacks permission to access the Twilio API. Typically this means the account has been suspended or closed. For assistance, please contact support"
        }
      ]
    }
  ]
}
