Global SNMP API.
Created Nov 12, 2024 at 10:02 PM

Overview

Overview

The documentation pages in this section describe the RESTful APIs included with Riverbed SteelCentral Product. It is assumed that the reader has practical knowledge of RESTful APIs, so the documentation does not go into detail about what REST is and how to use it. Instead the documentation focuses on what data can be accessed, how to configure and clear it.

The following operations can be performed via the API:

  • Display Global SNMP settings
  • Configure Global SNMP settings
  • Display Polling settings
  • Configure Polling settings
  • Display Default Credentials settings
  • Configure Default Credentials settings
  • Display Default Credentials by ID
  • Configure Default Credentials by ID
  • Delete Default Credentials by ID

Details about REST resources can be found in the Resources section. This overview continues with how to run these API's.

Authentication

All REST requests must be authenticated. The Authentication section of the Common API describes which authentication methods are presently supported.

Resources

Settings: Display Settings

Displays all Global SNMP settings.

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

This request requires authorization.

Response Body

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

  • JSON
{
  "polling_settings": {
    "polling_freq": number,
    "refresh_freq": number
  },
  "default_credentials": [
    {
      "id": number,
      "version": string,
      "sec_level": string,
      "username": string,
      "auth_proto": string,
      "auth_psswd": string,
      "auth_psswd_key": string,
      "auth_psswd_key_local": string,
      "priv_proto": string,
      "priv_psswd": string,
      "priv_psswd_key": string,
      "priv_psswd_key_local": string,
      "user_label": string,
      "community": string
    }
  ]
}

Example:
{
  "polling_settings": {
    "polling_freq": "0", 
    "refresh_freq": "0"
  }, 
  "default_credentials": [
    {
      "id": 1, 
      "version": "v1", 
      "community": "********", 
      "user_label": "first"
    }, 
    {
      "id": 2, 
      "version": "v2c", 
      "community": "********", 
      "user_label": "second"
    }
  ]
}
Property Name Type Description Notes
Settings <object> Object with Polling Settings and Default Credentials.
Settings.polling_settings <object> Polling settings
Settings.polling_settings.polling_freq <number>
Settings.polling_settings.refresh_freq <number>
Settings.default_credentials <array of <object>> List of default credentials
Settings.default_credentials[item] <object>
Settings.default_credentials[item].id <number>
Settings.default_credentials[item].
version
<string> SNMP version, allowed ('v1','v2c','v3')
Settings.default_credentials[item].
sec_level
<string> Security level for SNMP V3, allowed values('no_auth/no_priv','auth/no_priv','auth/priv')
Settings.default_credentials[item].
username
<string> username, required for SNMP V3 only
Settings.default_credentials[item].
auth_proto
<string> Authentication Protocol, only applicable for SNMP V3
Settings.default_credentials[item].
auth_psswd
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
auth_psswd_key
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
auth_psswd_key_local
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
priv_proto
<string> Privacy Protocol, only applicable for SNMP V3
Settings.default_credentials[item].
priv_psswd
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
priv_psswd_key
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
priv_psswd_key_local
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
user_label
<string> User label for credential
Settings.default_credentials[item].
community
<string> Community string, ignore if SNMP version 3

Settings: Configure Settings

Configure all Global SNMP settings.

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

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "polling_settings": {
    "polling_freq": number,
    "refresh_freq": number
  },
  "default_credentials": [
    {
      "id": number,
      "version": string,
      "sec_level": string,
      "username": string,
      "auth_proto": string,
      "auth_psswd": string,
      "auth_psswd_key": string,
      "auth_psswd_key_local": string,
      "priv_proto": string,
      "priv_psswd": string,
      "priv_psswd_key": string,
      "priv_psswd_key_local": string,
      "user_label": string,
      "community": string
    }
  ]
}

Example:
{
  "polling_settings": {
    "polling_freq": "0", 
    "refresh_freq": "0"
  }, 
  "default_credentials": [
    {
      "id": 1, 
      "version": "v1", 
      "community": "********", 
      "user_label": "first"
    }, 
    {
      "id": 2, 
      "version": "v2c", 
      "community": "********", 
      "user_label": "second"
    }
  ]
}
Property Name Type Description Notes
Settings <object> Object with Polling Settings and Default Credentials.
Settings.polling_settings <object> Polling settings
Settings.polling_settings.polling_freq <number>
Settings.polling_settings.refresh_freq <number>
Settings.default_credentials <array of <object>> List of default credentials
Settings.default_credentials[item] <object>
Settings.default_credentials[item].id <number>
Settings.default_credentials[item].
version
<string> SNMP version, allowed ('v1','v2c','v3')
Settings.default_credentials[item].
sec_level
<string> Security level for SNMP V3, allowed values('no_auth/no_priv','auth/no_priv','auth/priv')
Settings.default_credentials[item].
username
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
auth_proto
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
auth_psswd
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
auth_psswd_key
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
auth_psswd_key_local
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
priv_proto
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
priv_psswd
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
priv_psswd_key
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
priv_psswd_key_local
<string> Only applicable for SNMP V3
Settings.default_credentials[item].
user_label
<string> User label for credential
Settings.default_credentials[item].
community
<string> Community string, ignore if SNMP version 3
Response Body

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

Settings: Display Polling Settings

Displays Polling settings.

GET https://{device}/api/mgmt.global_snmp/1.0/global_snmp/polling
Authorization

This request requires authorization.

Response Body

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

  • JSON
{
  "polling_freq": number,
  "refresh_freq": number
}
Property Name Type Description Notes
PollingSettings <object> Object with Polling Settings
PollingSettings.polling_freq <number>
PollingSettings.refresh_freq <number>

Settings: Configure Polling Settings

Condigure Polling settings.

POST https://{device}/api/mgmt.global_snmp/1.0/global_snmp/polling
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

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

  • JSON
{
  "polling_freq": number,
  "refresh_freq": number
}
Property Name Type Description Notes
PollingSettings <object> Object with Polling Settings
PollingSettings.polling_freq <number>
PollingSettings.refresh_freq <number>

Settings: Display Default Credentials

Displays Default Credentials.

GET https://{device}/api/mgmt.global_snmp/1.0/global_snmp/default_credentials
Authorization

This request requires authorization.

Response Body

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

  • JSON
[
  {
    "id": number,
    "version": string,
    "sec_level": string,
    "username": string,
    "auth_proto": string,
    "auth_psswd": string,
    "auth_psswd_key": string,
    "auth_psswd_key_local": string,
    "priv_proto": string,
    "priv_psswd": string,
    "priv_psswd_key": string,
    "priv_psswd_key_local": string,
    "user_label": string
  }
]
Property Name Type Description Notes
DefaultCredentials <array of <object>> List of default credentials
DefaultCredentials[item] <object>
DefaultCredentials[item].id <number>
DefaultCredentials[item].version <string> SNMP version, allowed ('v1','v2c','v3')
DefaultCredentials[item].sec_level <string> Security level for SNMP V3, allowed values('no_auth/no_priv','auth/no_priv','auth/priv')
DefaultCredentials[item].username <string> Only applicable for SNMP V3
DefaultCredentials[item].auth_proto <string> Only applicable for SNMP V3
DefaultCredentials[item].auth_psswd <string> Only applicable for SNMP V3
DefaultCredentials[item].auth_psswd_key <string> Only applicable for SNMP V3
DefaultCredentials[item].
auth_psswd_key_local
<string> Only applicable for SNMP V3
DefaultCredentials[item].priv_proto <string> Only applicable for SNMP V3
DefaultCredentials[item].priv_psswd <string> Only applicable for SNMP V3
DefaultCredentials[item].priv_psswd_key <string> Only applicable for SNMP V3
DefaultCredentials[item].
priv_psswd_key_local
<string> Only applicable for SNMP V3
DefaultCredentials[item].user_label <string>

Settings: Configure Default Credentials

Configure Default Credentials.

POST https://{device}/api/mgmt.global_snmp/1.0/global_snmp/default_credentials
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

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

  • JSON
[
  {
    "id": number,
    "version": string,
    "sec_level": string,
    "username": string,
    "auth_proto": string,
    "auth_psswd": string,
    "auth_psswd_key": string,
    "auth_psswd_key_local": string,
    "priv_proto": string,
    "priv_psswd": string,
    "priv_psswd_key": string,
    "priv_psswd_key_local": string,
    "user_label": string
  }
]
Property Name Type Description Notes
DefaultCredentials <array of <object>> List of default credentials
DefaultCredentials[item] <object> Credential details
DefaultCredentials[item].id <number>
DefaultCredentials[item].version <string> SNMP version, allowed ('v1','v2c','v3')
DefaultCredentials[item].sec_level <string> Security level for SNMP V3, allowed values('no_auth/no_priv','auth/no_priv','auth/priv')
DefaultCredentials[item].username <string> Only applicable for SNMP V3
DefaultCredentials[item].auth_proto <string> Only applicable for SNMP V3
DefaultCredentials[item].auth_psswd <string> Only applicable for SNMP V3
DefaultCredentials[item].auth_psswd_key <string> Only applicable for SNMP V3
DefaultCredentials[item].
auth_psswd_key_local
<string> Only applicable for SNMP V3
DefaultCredentials[item].priv_proto <string> Only applicable for SNMP V3
DefaultCredentials[item].priv_psswd <string> Only applicable for SNMP V3
DefaultCredentials[item].priv_psswd_key <string> Only applicable for SNMP V3
DefaultCredentials[item].
priv_psswd_key_local
<string> Only applicable for SNMP V3
DefaultCredentials[item].user_label <string>

Settings: Display Default Credentials by ID

Displays Default Credential by Id.

GET https://{device}/api/mgmt.global_snmp/1.0/global_snmp/default_credentials/<id>
Authorization

This request requires authorization.

Response Body

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

  • JSON
{
  "id": number,
  "version": string,
  "sec_level": string,
  "username": string,
  "auth_proto": string,
  "auth_psswd": string,
  "auth_psswd_key": string,
  "auth_psswd_key_local": string,
  "priv_proto": string,
  "priv_psswd": string,
  "priv_psswd_key": string,
  "priv_psswd_key_local": string,
  "user_label": string
}
Property Name Type Description Notes
response <object> Object of Default Credential
response.id <number>
response.version <string> SNMP version, allowed ('v1','v2c','v3')
response.sec_level <string> Security level for SNMP V3, allowed values('no_auth/no_priv','auth/no_priv','auth/priv')
response.username <string> Only applicable for SNMP V3
response.auth_proto <string> Only applicable for SNMP V3
response.auth_psswd <string> Only applicable for SNMP V3
response.auth_psswd_key <string> Only applicable for SNMP V3
response.auth_psswd_key_local <string> Only applicable for SNMP V3
response.priv_proto <string> Only applicable for SNMP V3
response.priv_psswd <string> Only applicable for SNMP V3
response.priv_psswd_key <string> Only applicable for SNMP V3
response.priv_psswd_key_local <string> Only applicable for SNMP V3
response.user_label <string>

Settings: Configure Default Credentials by ID

Configure Default Credentials.

POST https://{device}/api/mgmt.global_snmp/1.0/global_snmp/default_credentials/<id>
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

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

  • JSON
{
  "id": number,
  "version": string,
  "sec_level": string,
  "username": string,
  "auth_proto": string,
  "auth_psswd": string,
  "auth_psswd_key": string,
  "auth_psswd_key_local": string,
  "priv_proto": string,
  "priv_psswd": string,
  "priv_psswd_key": string,
  "priv_psswd_key_local": string,
  "user_label": string
}
Property Name Type Description Notes
response <object> Object of Default Credential
response.id <number>
response.version <string> SNMP version, allowed ('v1','v2c','v3')
response.sec_level <string> Security level for SNMP V3, allowed values('no_auth/no_priv','auth/no_priv','auth/priv')
response.username <string> Only applicable for SNMP V3
response.auth_proto <string> Only applicable for SNMP V3
response.auth_psswd <string> Only applicable for SNMP V3
response.auth_psswd_key <string> Only applicable for SNMP V3
response.auth_psswd_key_local <string> Only applicable for SNMP V3
response.priv_proto <string> Only applicable for SNMP V3
response.priv_psswd <string> Only applicable for SNMP V3
response.priv_psswd_key <string> Only applicable for SNMP V3
response.priv_psswd_key_local <string> Only applicable for SNMP V3
response.user_label <string>

Settings: Delete Default Credentials by ID

Configure Default Credentials.

DELETE https://{device}/api/mgmt.global_snmp/1.0/global_snmp/default_credentials/<id>
Authorization

This request requires authorization.

Response Body

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

  • JSON
{
  "id": number,
  "version": string,
  "sec_level": string,
  "username": string,
  "auth_proto": string,
  "auth_psswd": string,
  "auth_psswd_key": string,
  "auth_psswd_key_local": string,
  "priv_proto": string,
  "priv_psswd": string,
  "priv_psswd_key": string,
  "priv_psswd_key_local": string,
  "user_label": string
}
Property Name Type Description Notes
response <object> Object of Default Credential
response.id <number>
response.version <string> SNMP version, allowed ('v1','v2c','v3')
response.sec_level <string> Security level for SNMP V3, allowed values('no_auth/no_priv','auth/no_priv','auth/priv')
response.username <string> Only applicable for SNMP V3
response.auth_proto <string> Only applicable for SNMP V3
response.auth_psswd <string> Only applicable for SNMP V3
response.auth_psswd_key <string> Only applicable for SNMP V3
response.auth_psswd_key_local <string> Only applicable for SNMP V3
response.priv_proto <string> Only applicable for SNMP V3
response.priv_psswd <string> Only applicable for SNMP V3
response.priv_psswd_key <string> Only applicable for SNMP V3
response.priv_psswd_key_local <string> Only applicable for SNMP V3
response.user_label <string>

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.
HTTP_INVALID_METHOD 405 Requested method is not available for this resource.
INTERNAL_ERROR 500 Internal error.