Remote Authentication API.
Created Mar 27, 2024 at 07:13 PM

Overview

Resources

Remote authentication: List all authentication sequences

Returns a list of all supported authentication sequences of primary and fallback authentication methods.

GET https://{device}/api/mgmt.remote_authentication/1.0/all_auth_sequences
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "authentication_sequence": string
  }
]

Example:
[
  {
    "id": 1, 
    "authentication_sequence": "Local, RADIUS, TACACS+"
  }, 
  {
    "id": 2, 
    "authentication_sequence": "Local, TACACS+, RADIUS"
  }, 
  {
    "id": 3, 
    "authentication_sequence": "Local, RADIUS"
  }, 
  {
    "id": 4, 
    "authentication_sequence": "Local, TACACS+"
  }, 
  {
    "id": 5, 
    "authentication_sequence": "Local only"
  }
]
Property Name Type Description Notes
GetAllAuthSequences <array of <object>> List of all supported authentication sequences along with their unique IDs of primary and fallback authentication methods
GetAllAuthSequences[item] <object>
GetAllAuthSequences[item].id <number> Unique ID denoting each authentication sequence
GetAllAuthSequences[item].
authentication_sequence
<string> authentication sequence in string format

Remote authentication: Get current authentication sequence

Returns currently set authentication sequence of primary and fallback authentication methods.

GET https://{device}/api/mgmt.remote_authentication/1.0/current_auth_sequence
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "authentication_sequence": string
}

Example:
{
  "id": 1, 
  "authentication_sequence": "Local, RADIUS, TACACS+"
}
Property Name Type Description Notes
response <object> Dictionary showing ID and authentication sequenceof
response.id <number> Unique ID denoting each authentication sequence
response.authentication_sequence <string> authentication sequence in string format

Remote authentication: Set current authentication sequence

Sets current authentication sequence.

POST https://{device}/api/mgmt.remote_authentication/1.0/current_auth_sequence
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "id": number
}

Example:
{
  "id": 1
}
Property Name Type Description Notes
SetCurrentAuthentication <object> ID of the authentication sequence
SetCurrentAuthentication.id <number>
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Add radius server

Adds new radius server.

POST https://{device}/api/mgmt.remote_authentication/1.0/radius/server
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "address": string,
  "port": number,
  "secret": string,
  "protocol": string,
  "enabled": boolean
}

Example:
{
  "address": "10.70.45.14", 
  "port": 1812, 
  "secret": "secretKey", 
  "protocol": "PAP", 
  "enabled": true
}
Property Name Type Description Notes
AddRadiusServer <object> Required fields to add a new radius server
AddRadiusServer.address <string> Server IP
AddRadiusServer.port <number> Server Port
AddRadiusServer.secret <string> Secret key
AddRadiusServer.protocol <string> Protocol
AddRadiusServer.enabled <boolean>
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: List all radius servers

Returns a list of all radius servers.

GET https://{device}/api/mgmt.remote_authentication/1.0/radius/server
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "server_id": number,
    "port": number,
    "order": number,
    "address": string,
    "protocol": string,
    "secret": string,
    "enabled": number
  }
]

Example:
[
  {
    "server_id": 1, 
    "port": 1812, 
    "order": 0, 
    "address": "10.70.45.13", 
    "protocol": "PAP", 
    "secret": "****************", 
    "enabled": 1
  }, 
  {
    "server_id": 2, 
    "port": 1812, 
    "order": 1, 
    "address": "10.70.45.14", 
    "protocol": "PAP", 
    "secret": "****************", 
    "enabled": 1
  }
]
Property Name Type Description Notes
GetAllRadiusServer <array of <object>> List of all radius servers
GetAllRadiusServer[item] <object>
GetAllRadiusServer[item].server_id <number> Unique ID denoting each radius server
GetAllRadiusServer[item].port <number> Server Port
GetAllRadiusServer[item].order <number> Index of radius servers in all radius server's order list
GetAllRadiusServer[item].address <string> Server IP
GetAllRadiusServer[item].protocol <string> Server protocol
GetAllRadiusServer[item].secret <string> Secret key passed while adding server, it will be cloaked(instead of text "*" will be shown) to reveal it pass "uncloak" argument in API's URL
GetAllRadiusServer[item].enabled <number> 1 denoting to true and 0 to false

Remote authentication: Update an existing radius server

Updates a radius server having server ID passed in request URL.

PUT https://{device}/api/mgmt.remote_authentication/1.0/radius/server/<id>
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "address": string,
  "port": number,
  "secret": string,
  "protocol": string,
  "enabled": boolean
}

Example:
{
  "address": "10.70.45.14", 
  "port": 1812, 
  "secret": "secretKey", 
  "protocol": "PAP", 
  "enabled": true
}
Property Name Type Description Notes
UpdateRadiusServer <object> Required fields to updatea a radius server
UpdateRadiusServer.address <string> Server IP
UpdateRadiusServer.port <number> Server Port
UpdateRadiusServer.secret <string> Secret key
UpdateRadiusServer.protocol <string> Protocol
UpdateRadiusServer.enabled <boolean>
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Delete a radius server by ID

Deletes a radius server having server ID passed in request URL.

DELETE https://{device}/api/mgmt.remote_authentication/1.0/radius/server/<id>
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Delete all radius servers

Deletes all radius servers.

DELETE https://{device}/api/mgmt.remote_authentication/1.0/radius/server
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Reorder radius server

This method can be used or multiple scenarios, mainly if user wants to change the order of existing servers, in-order to change the order first use GET API to list all radius servers (pass "uncloak" argument to reveal secret else it cloaked keys won't work)then change the server in that returned at which ever order you want to have and then pass the same list of servers as body to this request, internally this API will be deleting all existing radius servers and inserting one by one passed in the body .

POST https://{device}/api/mgmt.remote_authentication/1.0/radius/reorder
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "port": number,
    "address": string,
    "protocol": string,
    "secret": string,
    "enabled": number
  }
]

Example:
[
  {
    "server_id": 1, 
    "port": 1812, 
    "order": 0, 
    "address": "10.70.45.13", 
    "protocol": "PAP", 
    "secret": "check", 
    "enabled": 1
  }, 
  {
    "server_id": 2, 
    "port": 1812, 
    "order": 1, 
    "address": "10.70.45.14", 
    "protocol": "PAP", 
    "secret": "test", 
    "enabled": 1
  }
]
Property Name Type Description Notes
ReorderRadiusServers <array of <object>> List of radius servers
ReorderRadiusServers[item] <object>
ReorderRadiusServers[item].port <number> Server Port
ReorderRadiusServers[item].address <string> Server IP
ReorderRadiusServers[item].protocol <string> Server protocol
ReorderRadiusServers[item].secret <string> Secret key
ReorderRadiusServers[item].enabled <number> 1 denoting to true and 0 to false
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Get global radius settings

Returns radius settings like NAS settings, connection timeout and max number of tries.

GET https://{device}/api/mgmt.remote_authentication/1.0/radius/settings
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "authentication": {
    "use_nas_id": boolean,
    "nas_id_type": string,
    "nas_id_value": string,
    "use_nas_ip": boolean
  },
  "connection_timeout": number,
  "max_number_of_tries": number
}

Example:
{
  "authentication": {
    "use_nas_id": true, 
    "nas_id_type": "custom", 
    "nas_id_value": "customValue", 
    "use_nas_ip": false
  }, 
  "connection_timeout": 5, 
  "max_number_of_tries": 3
}
Property Name Type Description Notes
GetRadiusSettings <object> Dictionary showing NAS settings, connection timeout and max number of tries.
GetRadiusSettings.authentication <object> NAS-Identifier and/or NAS-IP-Address to be sent to RADIUS Servers.
GetRadiusSettings.authentication.
use_nas_id
<boolean> Send NAS-Identifier as part of Authentication Request
GetRadiusSettings.authentication.
nas_id_type
<string> "custom" if want to use custom NAS-Identifier or set "dyanmic" if want to use the hostname of the SteelCentral Flow Gateway as a NAS-Identifier
GetRadiusSettings.authentication.
nas_id_value
<string> Nas-identifier value
GetRadiusSettings.authentication.
use_nas_ip
<boolean> Send NAS-IP-Address as part of Authentication Request
GetRadiusSettings.connection_timeout <number> connection timeout time in seconds
GetRadiusSettings.max_number_of_tries <number> max number of tries

Remote authentication: Set global radius settings

Sets global radius settings

POST https://{device}/api/mgmt.remote_authentication/1.0/radius/settings
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "authentication": {
    "use_nas_id": boolean,
    "nas_id_type": string,
    "nas_id_value": string,
    "use_nas_ip": boolean
  },
  "connection_timeout": number,
  "max_number_of_tries": number
}

Example:
{
  "connection_timeout": 5, 
  "max_number_of_tries": 3
}
Property Name Type Description Notes
SetRadiusSettings <object>
SetRadiusSettings.authentication <object> Set NAS-Identifier and/or NAS-IP-Address to be sent to RADIUS Servers, "use_nas_id" and "use_nas_ip" both can't be empty
SetRadiusSettings.authentication.
use_nas_id
<boolean> Send NAS-Identifier as part of Authentication Request
SetRadiusSettings.authentication.
nas_id_type
<string> set "custom" if want to use custom NAS-Identifier or set "dyanmic" if want to use the hostname of the SteelCentral Flow Gateway as a NAS-Identifier
SetRadiusSettings.authentication.
nas_id_value
<string> If "nas_id_type" is set to "custom" then it is mandatory to pass Nas-identifier value
SetRadiusSettings.authentication.
use_nas_ip
<boolean> Send NAS-IP-Address as part of Authentication Request
SetRadiusSettings.connection_timeout <number> connection timeout time in seconds
SetRadiusSettings.max_number_of_tries <number> max number of tries
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Get radius roles and s attribute mapping

Returns all roles and permissions along with their attribut's ID and attributes value for radius servers.

GET https://{device}/api/mgmt.remote_authentication/1.0/radius/role_mapping
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "role": string,
    "attribute": number,
    "attribute_value": string
  }
]

Example:
[
  {
    "role": "Developer", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Administrator", 
    "attribute": 17164, 
    "attribute_value": "2"
  }, 
  {
    "role": "Operator", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Monitor", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Event Viewer", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Dashboard Viewer", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Restricted", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Allow to view active directory user information", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Allow to edit Dashboards", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Allow to view packet details", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Limit Data Resolution to only \"automatic\"", 
    "attribute": null, 
    "attribute_value": null
  }
]
Property Name Type Description Notes
GetRadiusRoleMapping <array of <object>> List of all roles and permissions along with their attribut's ID and attributes value
GetRadiusRoleMapping[item] <object>
GetRadiusRoleMapping[item].role <string> Name of role or permission
GetRadiusRoleMapping[item].attribute <number> Attribute ID
GetRadiusRoleMapping[item].
attribute_value
<string> Attribute value

Remote authentication: Set radius roles and s attribute mapping

Sets the roles and permissions with attribut's ID and attributes value.

POST https://{device}/api/mgmt.remote_authentication/1.0/radius/role_mapping
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "role": string,
    "attribute": number,
    "attribute_value": string
  }
]

Example:
[
  {
    "role": "Administrator", 
    "attribute": 17164, 
    "attribute_value": "2"
  }, 
  {
    "role": "Limit Data Resolution to only \"automatic\"", 
    "attribute": 17164, 
    "attribute_value": "7"
  }
]
Property Name Type Description Notes
SetRadiusRoleMapping <array of <object>> Required fields to set the roles and permissions with attribut's ID and attributes value
SetRadiusRoleMapping[item] <object>
SetRadiusRoleMapping[item].role <string> Name of role or permission
SetRadiusRoleMapping[item].attribute <number> Attribute ID
SetRadiusRoleMapping[item].
attribute_value
<string> Attribute value
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Add tacacs server

Adds new tacacs server.

POST https://{device}/api/mgmt.remote_authentication/1.0/tacacs/server
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "address": string,
  "port": number,
  "secret": string,
  "protocol": string,
  "client_port": number,
  "enabled": boolean
}

Example:
{
  "address": "10.70.45.14", 
  "port": 1812, 
  "secret": "secretKey", 
  "protocol": "PAP", 
  "client_port": "70", 
  "enabled": true
}
Property Name Type Description Notes
AddTacacsServer <object> Required fields to add a new tacacs server
AddTacacsServer.address <string> Server IP
AddTacacsServer.port <number> Server Port
AddTacacsServer.secret <string> Secret key
AddTacacsServer.protocol <string> Protocol
AddTacacsServer.client_port <number> client port
AddTacacsServer.enabled <boolean>
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: List all tacacs servers

Returns a list of all tacacs servers.

GET https://{device}/api/mgmt.remote_authentication/1.0/tacacs/server
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "server_id": number,
    "port": number,
    "order": number,
    "address": string,
    "protocol": string,
    "client_port": string,
    "secret": string,
    "enabled": number
  }
]

Example:
[
  {
    "server_id": 1, 
    "port": 1812, 
    "order": 0, 
    "address": "10.70.45.13", 
    "protocol": "PAP", 
    "client_port": "8080", 
    "secret": "****************", 
    "enabled": 1
  }, 
  {
    "server_id": 2, 
    "port": 1812, 
    "order": 1, 
    "address": "10.70.45.14", 
    "protocol": "PAP", 
    "client_port": "7000", 
    "secret": "****************", 
    "enabled": 1
  }
]
Property Name Type Description Notes
GetAllTacacsServer <array of <object>> List of all tacacs servers
GetAllTacacsServer[item] <object>
GetAllTacacsServer[item].server_id <number> Unique ID denoting each tacacs server
GetAllTacacsServer[item].port <number> Server Port
GetAllTacacsServer[item].order <number> Index of tacacs servers in all radius server's order list
GetAllTacacsServer[item].address <string> Server IP
GetAllTacacsServer[item].protocol <string> Server protocol
GetAllTacacsServer[item].client_port <string> client port
GetAllTacacsServer[item].secret <string> Secret key passed while adding server, it will be cloaked(instead of text "*" will be shown) to reveal it pass "uncloak" argument in API's URL
GetAllTacacsServer[item].enabled <number> 1 denoting to true and 0 to false

Remote authentication: Update an existing tacacs server

Updates a tacacs server having server ID passed in request URL.

PUT https://{device}/api/mgmt.remote_authentication/1.0/tacacs/server/<id>
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "address": string,
  "port": number,
  "secret": string,
  "client_port": number,
  "protocol": string,
  "enabled": boolean
}

Example:
{
  "address": "10.70.45.14", 
  "port": 1812, 
  "secret": "secretKey", 
  "client_port": 7000, 
  "protocol": "PAP", 
  "enabled": true
}
Property Name Type Description Notes
UpdateTacacsServer <object> Required fields to updatea a tacacs server
UpdateTacacsServer.address <string> Server IP
UpdateTacacsServer.port <number> Server Port
UpdateTacacsServer.secret <string> Secret key
UpdateTacacsServer.client_port <number> client port
UpdateTacacsServer.protocol <string> Protocol
UpdateTacacsServer.enabled <boolean>
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Delete a tacacs server by ID

Deletes a tacacs server having server ID passed in request URL.

DELETE https://{device}/api/mgmt.remote_authentication/1.0/tacacs/server/<id>
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Delete all tacacs servers

Deletes all radius servers.

DELETE https://{device}/api/mgmt.remote_authentication/1.0/tacacs/server
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Reorder tacacs server

This method can be used or multiple scenarios, mainly if user wants to change the order of existing servers, in-order to change the order first use GET API to list all tacacs servers (pass "uncloak" argument to reveal secret else it cloaked keys won't work)then change the server in that returned at which ever order you want to have and then pass the same list of servers as body to this request, internally this API will be deleting all existing tacacs servers and inserting one by one passed in the body .

POST https://{device}/api/mgmt.remote_authentication/1.0/tacacs/reorder
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "port": number,
    "address": string,
    "protocol": string,
    "client_port": number,
    "secret": string,
    "enabled": number
  }
]

Example:
[
  {
    "server_id": 1, 
    "port": 1812, 
    "order": 0, 
    "address": "10.70.45.13", 
    "protocol": "PAP", 
    "client_port": 710, 
    "secret": "check", 
    "enabled": 1
  }, 
  {
    "server_id": 2, 
    "port": 1812, 
    "order": 1, 
    "address": "10.70.45.14", 
    "protocol": "PAP", 
    "client_port": 700, 
    "secret": "test", 
    "enabled": 1
  }
]
Property Name Type Description Notes
ReorderTacacsServers <array of <object>> List of tacacs servers
ReorderTacacsServers[item] <object>
ReorderTacacsServers[item].port <number> Server Port
ReorderTacacsServers[item].address <string> Server IP
ReorderTacacsServers[item].protocol <string> Server protocol
ReorderTacacsServers[item].client_port <number> client port
ReorderTacacsServers[item].secret <string> Secret key
ReorderTacacsServers[item].enabled <number> 1 denoting to true and 0 to false
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Get tacacs server's settings

Returns connection timeout time in seconds along with authorization service for any tacacs server.

GET https://{device}/api/mgmt.remote_authentication/1.0/tacacs/settings
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "connection_timeout": number,
  "auth_service": string
}

Example:
{
  "connection_timeout": 5, 
  "auth_service": "serviceName"
}
Property Name Type Description Notes
GetTacacsSettings <object> Dictionary showing connection timeout and auth_service
GetTacacsSettings.connection_timeout <number> connection timeout time in seconds
GetTacacsSettings.auth_service <string> authorization service name

Remote authentication: Set tacacs server's settings

Sets connection timeout time in seconds and authorization service for any tacacs server. User needs to pass only the one which needs to be set no need to pass both unless trying to set both

POST https://{device}/api/mgmt.remote_authentication/1.0/tacacs/connection
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "connection_timeout": number,
  "auth_service": string
}

Example:
{
  "connection_timeout": 5, 
  "auth_service": "serviceName"
}
Property Name Type Description Notes
SetTacacsSettings <object> connection timeout and authorization service name
SetTacacsSettings.connection_timeout <number> connection timeout time in seconds
SetTacacsSettings.auth_service <string> authorization service name
Response Body

On success, the server does not provide any body in the responses.

Remote authentication: Get tacacs roles and s attribute mapping

Returns all roles and permissions along with their attribut's name and attributes value for tacacs servers.

GET https://{device}/api/mgmt.remote_authentication/1.0/tacacs/role_mapping
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "role": string,
    "attribute": string,
    "attribute_value": string
  }
]

Example:
[
  {
    "role": "Developer", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Administrator", 
    "attribute": 17164, 
    "attribute_value": "2"
  }, 
  {
    "role": "Operator", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Monitor", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Event Viewer", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Dashboard Viewer", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Restricted", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Allow to view active directory user information", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Allow to edit Dashboards", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Allow to view packet details", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Limit Data Resolution to only \"automatic\"", 
    "attribute": null, 
    "attribute_value": null
  }, 
  {
    "role": "Traffic Filter", 
    "attribute": null, 
    "attribute_value": null
  }
]
Property Name Type Description Notes
GetTacacsRoleMapping <array of <object>> List of all roles and permissions along with their attribut's name and attributes value
GetTacacsRoleMapping[item] <object>
GetTacacsRoleMapping[item].role <string> Name of role or permission
GetTacacsRoleMapping[item].attribute <string> Attribute name
GetTacacsRoleMapping[item].
attribute_value
<string> Attribute value

Remote authentication: Set tacacs roles and s attribute mapping

Sets the roles and permissions with attribut's ID and attributes value.

POST https://{device}/api/mgmt.remote_authentication/1.0/tacacs/role_mapping
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "role": string,
    "attribute": string,
    "attribute_value": string
  }
]

Example:
[
  {
    "role": "Administrator", 
    "attribute": "cascade", 
    "attribute_value": "2"
  }, 
  {
    "role": "Limit Data Resolution to only \"automatic\"", 
    "attribute": "class", 
    "attribute_value": "7"
  }
]
Property Name Type Description Notes
SetTacacsRoleMapping <array of <object>> Required fields to set the roles and permissions with attribut's name and attributes value
SetTacacsRoleMapping[item] <object>
SetTacacsRoleMapping[item].role <string> Name of role or permission
SetTacacsRoleMapping[item].attribute <string> Attribute name
SetTacacsRoleMapping[item].
attribute_value
<string> Attribute value
Response Body

On success, the server does not provide any body in the responses.

Error Codes

In the event that an error occurs while processing a request, the server will respond with appropriate HTTP status code and additional information in the response body:

{
     "error_id":   "{error identifier}",
     "error_text": "{error description}",
     "error_info": {error specific data structure, optional}
}

The table below lists the possible errors and the associated HTTP status codes that may returned.

Error ID HTTP Status Comments
BAD_REQUEST 400 Invalid argument.
AUTH_REQUIRED 401 Authentication required.
AUTH_INVALID_CREDENTIALS 401 Make sure the user name is correct and type your password again. Be sure to use the correct case for the user name and password.
INTERNAL_ERROR 500 Internal error.