{"restSchemaVersion":"1.0","name":"gateway","version":"1.1","title":"Riverbed Cascade Gateway REST API","description":"
\nThe documentation pages in this section describe\nthe RESTful APIs included with Cascade Gateway products. It is assumed \nthat the reader has practical knowledge of\nRESTful APIs, so the documentation does not go into detail about what\nREST is and how to use it. Instead the documentation focuses on what\ndata can be accessed and how to access it.\n<\/p>\n\n
\nThe following information can be accessed via the API:\n<\/p>\n
\nDetails about REST resources can be found in the Resources<\/b>\nsection. This overview continues with how to run reports and retrieve\ndata from them.\n<\/p>\n\nAuthentication<\/h2>\n\n
\nAll REST requests must be authenticated. The Authentication<\/b>\nsection of the Common 1.0 API describes which authentication methods\nare presently supported. There are also examples that show how to use\neach of the different authentication methods.\n<\/p>\n\n","defaultAuthorization":"required","servicePath":"\/api\/gateway\/1.1","schemas":[],"resources":{"Ping":{"methods":{"Ping":{"httpmethod":"GET","description":"Simple test of service availability.","path":"ping"}}},"Users":{"methods":{"List users":{"httpmethod":"GET","description":"Get a list of user accounts.","path":"users","response":{"type":"array","id":"users","description":"List of user accounts on the system.","items":{"properties":{"authentication_type":{"description":"Type of authentication for the user, such as Local or RADIUS.","required":true,"type":"string","id":"authentication_type","enum":["Local","RADIUS"]},"authorization_type":{"description":"Type of authorization for the user, such as Local or RADIUS.","required":true,"type":"string","id":"authorization_type","enum":["Local","RADIUS"]},"enabled":{"description":"Boolean flag indicating if the user account is enabled.","required":true,"type":"boolean","id":"enabled"},"first_name":{"description":"First name of the user.","required":true,"type":"string","id":"first_name"},"id":{"description":"Numeric ID of the user that the system uses internally and in the API.","required":true,"type":"number","id":"id"},"last_access":{"description":"Time of last access to the system. Unix time (epoch).","required":true,"type":"number","id":"last_access"},"last_authentication":{"description":"Time of last authentication. Unix time (epoch).","required":true,"type":"number","id":"last_authentication"},"last_login":{"description":"Time of last login. Unix time (epoch).","required":true,"type":"number","id":"last_login"},"last_name":{"description":"Last name of the user.","required":true,"type":"string","id":"last_name"},"login_timeout":{"description":"Timeout (in seconds) during which the user cannot log in to the system because of security policies.","required":true,"type":"number","id":"login_timeout"},"role":{"description":"Role of the user. Defines permissions.","required":true,"type":"string","id":"role","enum":["Developer","Administrator","Operator","Monitor","Event_Viewer","Dashboard_Viewer"]},"username":{"description":"User name (short name) that identifies the user to the system, such as 'admin'.","required":true,"type":"string","id":"username"},"view_packet_details":{"description":"Boolean flag indicating if the user has access to packet data.","required":false,"type":"boolean","id":"view_packet_details"},"view_user_information":{"description":"Boolean flag indicating if the user has access to identity information, such as Active Directory information.","required":false,"type":"boolean","id":"view_user_information"}},"type":"object","id":"user","description":"User account."},"example":[{"username":"admin","last_authentication":1352313328,"first_name":"Jonh","last_name":"Smith","authorization_type":"Local","enabled":true,"view_user_information":true,"authentication_type":"Local","role":"Administrator","login_timeout":900,"last_login":1352313328,"last_access":1352313328,"id":123},{"username":"admin2","last_authentication":1352313328,"first_name":"Mark","last_name":"Greg","authorization_type":"Local","enabled":true,"view_user_information":true,"authentication_type":"Local","role":"Administrator","login_timeout":900,"last_login":1352313328,"last_access":1352313328,"id":124}]}},"Test RADIUS user":{"httpmethod":"GET","description":"Test a RADIUS user.","path":"users\/radius\/test_user","parameters":{"username":{"type":"string","description":"RADIUS username.","required":true},"password":{"type":"string","description":"RADIUS username password.","required":true}},"response":{"properties":{"attributes":{"type":"array","id":"attributes","description":"Radius Attributes List object.","items":{"type":"object","id":"attribute","description":"RADIUS attributes map.","required":false,"additionalProperties":{"description":"RADIUS attribute value.","type":"string","id":"attr","xmlKeyName":"name"}}},"authenticated":{"description":"Flag indication if the RADIUS user was authenticated.","required":true,"type":"boolean","id":"authenticated"},"authorized":{"description":"Flag indication if the RADIUS user was authorized (as Administrator, Monitor, etc).","required":true,"type":"boolean","id":"authorized"},"details":{"description":"RADIUS user test details.","required":true,"type":"string","id":"details"},"error_message":{"description":"Error message.","required":true,"type":"string","id":"error_message"},"permission":{"description":"Matched permission name.","required":true,"type":"string","id":"permission"},"permission_id":{"description":"Matched permission ID.","required":true,"type":"string","id":"permission_id"},"role":{"description":"Matched role name.","required":true,"type":"string","id":"role"},"role_id":{"description":"Matched role ID.","required":true,"type":"number","id":"role_id"},"server_ip":{"description":"RADIUS Server IP Address.","required":true,"type":"string","id":"server_ip"}},"type":"object","id":"test_server","description":"RadiusTestUserResponse object.","example":{"authenticated":true,"permission":"","permission_id":"","error_message":"","role_id":0,"role":"","authorized":false,"server_ip":"10.38.8.112:1812","attributes":[{"25":"operatorClass"},{"25":"monitorClass"},{"25":"eventviewerClass"},{"17164":"unMappedRole"},{"17164":"monitorCascade"},{"17164":"eventviewerCascade"},{"17164":"dashboardCascade"},{"25":"DBAccess"},{"25":"dashboardClass"},{"17164":"AbC10~!@#$%^&*()_+{}|[]:;<>?\/.'z"},{"17164":"operatorCascade"},{"LOGIN_RADIUS_SERVER":"10.38.8.112:1812"},{"25":"adminClass1"},{"25":"unMappedClass"},{"25":"eventviewerClass"},{"17164":"adminCascade"}],"details":"Using 10.38.8.112:1812 - Unable to match a role."}}},"Test RADIUS server":{"httpmethod":"GET","description":"Test the connection to a RADIUS server.","path":"users\/radius\/test_server","parameters":{"server":{"type":"string","description":"RADIUS server identifier, example server=IP:PORT.","required":true}},"response":{"properties":{"message":{"description":"Response message.","required":true,"type":"string","id":"message"},"success":{"description":"Flag indication if the RADIUS server test was successful.","required":true,"type":"boolean","id":"success"}},"type":"object","id":"test_server","description":"RadiusTestServerResponse object.","example":{"message":"RADIUS connection attempt succeeded","success":true}}},"Re-authenticate user":{"httpmethod":"GET","description":"Re-authenticate a user account. Requires basic authentication.","path":"users\/re_authenticate"},"Get user":{"httpmethod":"GET","description":"Get a user account by user ID.","path":"users\/{user_id}","response":{"properties":{"authentication_type":{"description":"Type of authentication for the user, such as Local or RADIUS.","required":true,"type":"string","id":"authentication_type","enum":["Local","RADIUS"]},"authorization_type":{"description":"Type of authorization for the user, such as Local or RADIUS.","required":true,"type":"string","id":"authorization_type","enum":["Local","RADIUS"]},"enabled":{"description":"Boolean flag indicating if the user account is enabled.","required":true,"type":"boolean","id":"enabled"},"first_name":{"description":"First name of the user.","required":true,"type":"string","id":"first_name"},"id":{"description":"Numeric ID of the user that the system uses internally and in the API.","required":true,"type":"number","id":"id"},"last_access":{"description":"Time of last access to the system. Unix time (epoch).","required":true,"type":"number","id":"last_access"},"last_authentication":{"description":"Time of last authentication. Unix time (epoch).","required":true,"type":"number","id":"last_authentication"},"last_login":{"description":"Time of last login. Unix time (epoch).","required":true,"type":"number","id":"last_login"},"last_name":{"description":"Last name of the user.","required":true,"type":"string","id":"last_name"},"login_timeout":{"description":"Timeout (in seconds) during which the user cannot log in to the system because of security policies.","required":true,"type":"number","id":"login_timeout"},"role":{"description":"Role of the user. Defines permissions.","required":true,"type":"string","id":"role","enum":["Developer","Administrator","Operator","Monitor","Event_Viewer","Dashboard_Viewer"]},"username":{"description":"User name (short name) that identifies the user to the system, such as 'admin'.","required":true,"type":"string","id":"username"},"view_packet_details":{"description":"Boolean flag indicating if the user has access to packet data.","required":false,"type":"boolean","id":"view_packet_details"},"view_user_information":{"description":"Boolean flag indicating if the user has access to identity information, such as Active Directory information.","required":false,"type":"boolean","id":"view_user_information"}},"type":"object","id":"user","description":"User account.","example":{"username":"admin","last_authentication":1352313328,"first_name":"Jonh","last_name":"Smith","authorization_type":"Local","enabled":true,"view_user_information":true,"authentication_type":"Local","role":"Administrator","login_timeout":900,"last_login":1352313328,"last_access":1352313328,"id":123}}}}},"System":{"methods":{"Stop all processes":{"httpmethod":"POST","description":"Stop all system processes. The operation is asynchronous. Use \"GET system\/status\" to poll for status. On Enterprise systems, stop system processes on all modules.","path":"system\/stop"},"Kill all processes":{"httpmethod":"POST","description":"Kill all system processes. The operation is asynchronous. Use \"GET system\/status\" to poll for status. On Enterprise systems, kill system processes on all modules. Warning: this operation can result in data being corrupted.","path":"system\/kill"},"Shutdown":{"httpmethod":"POST","description":"Shutdown the system. The operation is asynchronous.","path":"system\/shutdown"},"Get status of all processes":{"httpmethod":"GET","description":"Get status of all system processes. On Enterprise systems, get system process statuses on all modules.","path":"system\/status","response":{"type":"array","id":"status","description":"SystemStatus object.","items":{"properties":{"module_ipaddr":{"description":"Module IP Address. Available on Enterprise systems only.","required":false,"type":"string","id":"module_ipaddr"},"module_name":{"description":"Module name. Available on Enterprise systems only.","required":false,"type":"string","id":"module_name"},"process_id":{"description":"Process ID.","required":false,"type":"string","id":"process_id"},"process_name":{"description":"Process name.","required":true,"type":"string","id":"process_name"},"status":{"description":"Process status.","required":true,"type":"string","id":"status","enum":["Running","Stopped"]}},"type":"object","id":"process","description":"SystemProcess object."},"example":[{"process_id":"25096","process_name":"memmonitor","status":"Running"},{"process_name":"healthd","status":"Stopped"},{"process_id":"25092","process_name":"diskmon","status":"Running"},{"process_id":"25123","process_name":"dispatcher","status":"Running"},{"process_name":"analyzer","status":"Stopped"}]}},"Start all processes":{"httpmethod":"POST","description":"Start all system processes. The operation is asynchronous. Use \"GET system\/status\" to poll for status. On Enterprise systems, start system processes on all modules.","path":"system\/start"},"Restart all processes":{"httpmethod":"POST","description":"Restart all system processes. The operation is asynchronous. Use \"GET system\/status\" to poll for status. On Enterprise systems, stop system processes on all modules.","path":"system\/restart"},"Reboot":{"httpmethod":"POST","description":"Reboot the system. The operation is asynchronous.","path":"system\/reboot"},"Stop all processes (one module)":{"httpmethod":"POST","description":"Stop all system processes on one module on Enterprise systems. The operation is asynchronous. Use \"GET system\/{module}\/status\" to poll for status. The {module} can be either the IP Address or the module name.","path":"system\/{module}\/stop"},"Kill all processes (one module)":{"httpmethod":"POST","description":"Kill all system processes on one module on Enterprise systems. The operation is asynchronous. Use \"GET system\/{module}\/status\" to poll for status. The {module} can be either the IP Address or the module name. Warning: This operation can result in data being corrupted.","path":"system\/{module}\/kill"},"Get status of all processes (one module)":{"httpmethod":"GET","description":"Get status of all system processes on one module on Enterprise systems. The {module} can be either the IP Address or the module name.","path":"system\/{module}\/status","response":{"type":"array","id":"status","description":"SystemStatus object.","items":{"properties":{"module_ipaddr":{"description":"Module IP Address. Available on Enterprise systems only.","required":false,"type":"string","id":"module_ipaddr"},"module_name":{"description":"Module name. Available on Enterprise systems only.","required":false,"type":"string","id":"module_name"},"process_id":{"description":"Process ID.","required":false,"type":"string","id":"process_id"},"process_name":{"description":"Process name.","required":true,"type":"string","id":"process_name"},"status":{"description":"Process status.","required":true,"type":"string","id":"status","enum":["Running","Stopped"]}},"type":"object","id":"process","description":"SystemProcess object."},"example":[{"process_id":"25096","process_name":"memmonitor","status":"Running"},{"process_name":"healthd","status":"Stopped"},{"process_id":"25092","process_name":"diskmon","status":"Running"},{"process_id":"25123","process_name":"dispatcher","status":"Running"},{"process_name":"analyzer","status":"Stopped"}]}},"Start all processes (one module)":{"httpmethod":"POST","description":"Start all system processes on one module on Enterprise systems. The operation is asynchronous. Use \"GET system\/{module}\/status\" to poll for status. The {module} can be either the IP Address or the module name.","path":"system\/{module}\/start"},"Restart all processes (one module)":{"httpmethod":"POST","description":"Restart all system processes on one module on Enterprise systems. The operation is asynchronous. Use \"GET system\/{module}\/status\" to poll for status. The {module} can be either the IP Address or the module name.","path":"system\/{module}\/restart"}}}},"errors":[{"error_id":"INTERNAL_ERROR","description":"Internal server error.","http_status":"500"},{"error_id":"AUTH_REQUIRED","description":"The requested resource requires authentication.","http_status":"401"},{"error_id":"AUTH_INVALID_CREDENTIALS","description":"Invalid username and\/or password.","http_status":"401"},{"error_id":"AUTH_INVALID_SESSION","description":"Session ID is invalid.","http_status":"401"},{"error_id":"AUTH_EXPIRED_PASSWORD","description":"The password must be changed. Access only to password change resources.","http_status":"403"},{"error_id":"AUTH_DISABLED_ACCOUNT","description":"Account is either temporarily or permanently disabled.","http_status":"403"},{"error_id":"AUTH_FORBIDDEN","description":"User is not authorized to access the requested resource.","http_status":"403"},{"error_id":"AUTH_INVALID_TOKEN","description":"OAuth access token is invalid.","http_status":"401"},{"error_id":"AUTH_EXPIRED_TOKEN","description":"OAuth access token is expired.","http_status":"401"},{"error_id":"AUTH_INVALID_CODE","description":"OAuth access code is invalid.","http_status":"401"},{"error_id":"AUTH_EXPIRED_CODE","description":"OAuth access code is expired.","http_status":"401"},{"error_id":"RESOURCE_NOT_FOUND","description":"Requested resource was not found.","http_status":"404"},{"error_id":"HTTP_INVALID_METHOD","description":"Requested method is not available for this resource.","http_status":"405"},{"error_id":"HTTP_INVALID_HEADER","description":"An HTTP header was malformed.","http_status":"400"},{"error_id":"REQUEST_INVALID_INPUT","description":"Malformed input structure.","http_status":"400"},{"error_id":"URI_INVALID_PARAMETER","description":"URI parameter is not supported or malformed.","http_status":"400"},{"error_id":"URI_MISSING_PARAMETER","description":"Missing required parameter.","http_status":"400"}]}