REST API Documentation ---------------------- The HAWK REST API v1.1 allows users to dynamically pull custom data per the customer's requirements. The REST API lives at the ``/API/1.1/`` endpoint and responds to GET, POST, OPTIONS, PUT, and DELETE. You will need to authenticate in order to use the API. .. warning:: Using the API directly could result in damaging your data if not done correctly. API documentation should only be used as a reference guide. It is highly recommend that you use the HAWK eyeCon portal to interact with your data. Request and Response headers """""""""""""""""""""""""""" .. http:get:: /API/1.1/generic **These are generic request and response headers.** :reqheader Host: Specifies the Internet host and port number of the resource being requested, as obtained from the original URI given by the user or referring resource. :reqheader User-Agent: Contains information about the user agent originating the request. Any user agent is accepted. :reqheader Accept: Specify certain media types which are acceptable for the response :reqheader Accept-Language: Similar to Accept, but restricts the set of natural languages that are preferred as a response to the request. (i.e. en-US,en;q=0.5 ) :reqheader Accept-Encoding: Similar to Accept, but restricts the content-codings that are acceptable in the response. (i.e. gzip, deflate ) :reqheader HAWK-IEK: HAWK version 4.2-af8bf :reqheader Content-Type: Indicates the media type of the entity-body sent to the recipient (i.e. application/x-www-form-urlencoded; charset=UTF-8 ) :reqheader Referer: Allows the client to specify, the address (URI) of the resource from which the Request-URI was obtained :reqheader Content-Length: Indicates the size of the entity-body. :reqheader Cookie: HSID= address=; username=; HS= :reqheader Connection: Allows the sender to specify options that are desired for that particular connection. (i.e. keep-alive ) :reqheader Pragma: Directives to specify optional behaviour from the viewpoint of the protocol. (i.e. no-cache) :reqheader Cache-Control: Is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain (i.e. no-cache ) :resheader Date: General-header field represents the date and time at which the message was originated :resheader Content-Type: Depends on request header :mailheader:`Accept` and `Content-Type` :resheader Connection: Allows the sender to specify options that are desired for that particular connection. (i.e. keep-alive ) :resheader Vary: Indicates the set of request-header fields that fully determines, while the response is fresh, whether a cache is permitted to use the response to reply to a subsequent request without revalidation. (i.e. Accept-Encoding ) :resheader X-Powered-By: PHP version (i.e. PHP/5.3.3 ) :resheader Cache-Control: Is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain (i.e. private, max-age=600, pre-check=600) :resheader Last-Modified: Indicates the date and time at which the origin server believes the variant was last modified :resheader Set-Cookie: Set or modify Cookie. (i.e. HS=.; path=/; expires=Mon, 30-Jun-2014 16:37:15 UTC) :resheader Access-Control-Allow-Methods: Specifies the method or methods allowed when accessing the resource. (i.e. GET, POST, OPTIONS, PUT, DELETE) :resheader Access-Control-Allow-Credentials: Indicates whether or not the response to the request can be exposed when the credentials flag is true :resheader Access-Control-Expose-Headers: This lets a server whitelist headers that browsers are allowed to access. (i.e. HAWK-IEK,HAWK-Status,X-HAWK-Request,content-type) :resheader Access-Control-Request-Method: Used when issuing a preflight request to let the server know what HTTP method will be used when the actual request is made. (i.e. * ) :resheader Access-Control-Request-Headers: Used when issuing a preflight request to let the server know what HTTP headers will be used when the actual request is made. (i.e. * ) :resheader Access-Control-Allow-Headers: Used in response to a preflight request to indicate which HTTP headers can be used when making the actual request. (i.e. HAWK-IEK,Origin,Authorization,Content-Type,Accept,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since,X-XSRF-Token ) :resheader Expires: Gives the date/time after which the response is considered stale. :resheader X-HAWKCache: Tells the API to ignore cache or not. 0 = don't ignore, 1 = ignore :resheader HAWK-Parent-Group: HAWK group. :resheader HSID: HAWK Session ID. :resheader X-Cached: MISS or HIT - If the response is from cache or not from cache. :resheader X-HAWKCache-Ignore: 0 or 1 - 0 = Do not ignore cache. 1 = Ignore cache. :resheader Content-Length: Indicates the size of the entity-body. Scores """"""" .. http:get:: /API/1.1/scores-classification Gets a list of correlation rules action categories. List includes: search_category_id, search_category_name, search_category_details, and sort. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. .. http:get:: /API/1.1/scores Returns an array of all score rules for selected group and/or group and sub-groups. List includes: filter_id, filter_name, correlation_action, actions_category_name, correlation_rules_id, group_name, and rules[id, key, value, compare, optiional]. **Access Control Requirements** Admin. **URL Parameters** **Required:** :query string group: Group Name. :query boolean recursive: true or false **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: success **Error Response:** :statuscode 500: Exception, Displays error message. :statuscode 400: Access Control Permissions failure for the specified user, exiting. .. http:put:: /API/1.1/scores Create new score. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form filter_name: Name for filter. :form actions_category_name: Add (+) or Subtract (-) :form correlation_action: Amount that should be added or subtracted. :form group_name: Group name. :form rules[0][key]: See Key Comparisons table in reference guide. :form rules[0][compare]: lte = Less Than or Equal To, lt = Less Than, equals = Equal to, not = Not Equal, gt = Greater Than, gte = Greater Than or Equal To. :form rules[0][value]: What you are comparing the key to. :form rules[0][threshold]: Threshold count. :form rules[0][min_severity]: Minimum severity. :form rules[0][actions_category_name]: See actions category name in reference guide. :form rules[0][actions_category_value]: See actions category value in reference guide. :form rules[0][count_value]: Count for key count items. :form rules[0][actions_count_category_value]: Count for key count items. :form rules[0][alert_name]: Value to compare for key alert name items. :form rules[0][actions_auction_name]: Actions auction name. :form rules[0][cat_threshold]: Alert category threshold. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception :statuscode 400: Access Control Permissions failure for the specified user, exiting. .. http:delete:: /API/1.1/scores/(int :id) Removes score based on unique ID. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param id: Unique score id. :type id: int **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception:Displays error message. :statuscode 400: Access Control Permissions failure for the specified user, exiting. .. http:post:: /API/1.1/scores Update scores. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form filter_name: Name for filter. :form actions_category_name: Add (+) or Subtract (-) :form correlation_action: Amount that should be added or subtracted. :form group_name: Group name. :form rules[0][key]: See Key Comparisons table in reference guide. :form rules[0][compare]: lte = Less Than or Equal To, lt = Less Than, equals = Equal to, not = Not Equal, gt = Greater Than, gte = Greater Than or Equal To. :form rules[0][value]: What you are comparing the key to. :form rules[0][threshold]: Threshold count. :form rules[0][min_severity]: Minimum severity. :form rules[0][actions_category_name]: See actions category name in reference guide. :form rules[0][actions_category_value]: See actions category value in reference guide. :form rules[0][count_value]: Count for key count items. :form rules[0][actions_count_category_value]: Count for key count items. :form rules[0][alert_name]: Value to compare for key alert name items. :form rules[0][actions_auction_name]: Actions auction name. :form rules[0][cat_threshold]: Alert category threshold. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception :statuscode 400: Access Control Permissions failure for the specified user, exiting. Authentication """""""""""""" .. http:get:: /API/1.1/pre-fetch Pre-fetch will create our users session's nonce key. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None **Data Parameters** None **Success Response:** None **Error Response:** None .. http:get:: /API/1.1/login Session authentication handler and error message output. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 403: Failure invalid request. .. http:post:: /API/1.1/login Authentication and session creation. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form username: Username :form password: sha1(password) or clear text password if secure is not set. :form secure: nonce, true, empty **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 401: Failure. :statuscode 401: Failure, Invalid username or password supplied. :statuscode 401: Failure, Invalid parameters, Please verify your request. :statuscode 401: Failure, We are unable to complete your login, Your account has been locked. Please contact your administrator to continue. .. http:get:: /API/1.1/logout Logs user out and removes session headers. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. **Error Response:** None .. http:get:: /API/1.1/forgot-password/(string :email) Forgot password handler function. Resets users password to temparary password. **Access Control Requirements** None. **URL Parameters** **Required:** :param email: E-mail address :type email: string **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 401: Failure. :statuscode 400: Unable to complete password reset, more than one account has been associated with this e-mail address. :statuscode 400: Unable to complete password reset, invalid e-mail address. Incidents """"""""" .. http:post:: /API/1.1/search/incidents Search incidents. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form column[]: Array of column names. One for each column name. :form group_by: How to group columns separated by a comma. :form order_by: How to order columns separated by a comma. DESC = Descending and ASC = Ascending :form where[]: Where statement. One for each whare statement. :form limit: Limit the amount of records. :form records: Empty **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Unable to process request, no column parameters specified. :statuscode 400: Unable to process request, exception: .. http:post:: /API/1.1/incident/(hash :id)/status Update current status of incident by specified incident ID. **Access Control Requirements** Event Manager. **URL Parameters** **Required:** :param id: Unique incident id hash. :type id: hash **Optional:** None **Data Parameters** :form status: Possible status: new, open, in progress, pending, false positive, closed **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Invalid status provided. :statuscode 400: Invalid incident results. :statuscode 400: Unable to process request, exception: .. http:put:: /API/1.1/incident/(hash :id)/notes Add notes to incident by incident hash ID. The following are automaticly created: date_added, username, and fullname. **Access Control Requirements** Event Manager. **URL Parameters** **Required:** :param id: Unique incident id number. :type id: hash **Optional:** None **Data Parameters** :form message: Note for specified incident. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Invalid incident results. :statuscode 400: Unable to process request, exception: Audit/Compliance """"""""""""""""" .. http:post:: /API/1.1/search/audit Search audits. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form column[]: Array of column names. One for each column name. :form group_by: How to group columns separated by a comma. :form order_by: How to order columns separated by a comma. DESC = Descending and ASC = Ascending (default date_added DESC) :form where[]: Where statement. One for each whare statement. :form limit: Limit the amount of records. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Failure, Unable to process request, No column parameters specified. :statuscode 400: Exception, Unable to process request. Resources """"""""" .. http:delete:: /API/1.1/resource/(int :id) Delete resouce by id. **Access Control Requirements** Moderator. **URL Parameters** **Required:** :param id: Unique incident id. :type id: int **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:post:: /API/1.1/search/resource Search for a resource. **Access Control Requirements** Moderator. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form column[]: Array of column names. One for each column name. :form group_by: How to group columns separated by a comma. :form order_by: How to order columns separated by a comma. DESC = Descending and ASC = Ascending :form where[]: Where statement. One for each whare statement. :form limit: Limit the amount of records. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:get:: /API/1.1/resource-pulse/templates Returns a json file containing all the resource pluse templaes. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. **Error Response:** None .. http:get:: /API/1.1/resource-pulse/lock/(int :id)/template/(int :template_id) Update record and unlock **Access Control Requirements** Moderator. **URL Parameters** **Required:** :param id: Unique resource id. :type id: int :param template_id: Unique template id. :type template_id: int **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. :statuscode 200: Resource locked successfully. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Resource pulse template is currently locked for ``ongoing minutes`` minutes :statuscode 400: Resource unable to be locked successfully. :statuscode 400: More than one record found to match this request ``:id``. :statuscode 400: No record was found to match this request ``:id``. :statuscode 500: Exception ``details`` .. http:get:: /API/1.1/resource-pulse/unlock/(type:id)/template/(type:template_id) Update record and unlock **Access Control Requirements** Moderator. **URL Parameters** **Required:** :param id: Unique resource id. :type id: type :param template_id: Unique template id. :type template_id: type **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. :statuscode 200: Resource unlocked successfully. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: No pulse templates available within record. :statuscode 400: Resource unable to be unlocked successfully. :statuscode 400: More than one record found to match this request ``:id``. :statuscode 400: No record was found to match this request ``:id``. :statuscode 500: Exception ``details`` .. http:post:: /API/1.1/resource/(hash :id) Update resource by resource hash id. **Access Control Requirements** Moderator. **URL Parameters** **Required:** :param id: Unique resource id. :type id: hash **Optional:** None. **Data Parameters** :form resource_address: IPv4 address. :form resource_address6: IPv6 address. :form resource_details: Notes for resource. :form resource_name: Name given to resource. :form os_type_name: From list see resource-classification. :form os_type_details: From list see resource-classification. :form class_type: From list see resource-classification. :form class_name: From list see resource-classification. :form boolean complianceasset: Is this resource a compliance Asset? True or False :form Asset Criticality: Asset criticality 1 to 5. :form date_added: Timestamp (i.e. 2014-06-17 13:14:23.635000 ) :form resource_id: resource hash id. :form last_seen: Timestamp (i.e. 1970-01-01 00:00:00 ) **Success Response:** :statuscode 200: Success. :statuscode 200: Resource unlocked successfully. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. .. http:put:: /API/1.1/resource Add a resource. **Access Control Requirements** Moderator. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form resource_address: IPv4 address. :form resource_address6: IPv6 address. (May be empty.) :form resource_name: Name given to resource. :form resource_details: Notes for resource. :form os_type_name: From list see resource-classification. :form os_type_details: From list see resource-classification. :form class_type: From list see resource-classification. :form class_name: From list see resource-classification. :form boolean complianceasset: Is this resource a compliance Asset? True or False :form Asset Criticality: Asset criticality 1 to 5. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Unable to update last_seen record. .. http:get:: /API/1.1/resource-classification Returns a list of all resource classifications. List includes: os_type_name, os_type_details, os_type_key, class_type, and class_name. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None **Data Parameters** None **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 500: Failure. Events """"""" .. http:put:: /API/1.1/events Create a new event **Access Control Requirements** Moderator. **URL Parameters** **Required:** None **Optional:** None **Data Parameters** JSON data using short hand column names. .. code:: { "g_n":"default-group", "s_g_n":"United States", "hash":"5B7AD672D7098ECDD879AAB9D9ACD00D", "o_name":"McAfee Intrusion Detection System", "r_addr":"19.148.129.112", "w":8.0, "r_addr6":"", "s_g_cc2":"US", "ip_dport":514, "s_g_c":"Dallas", "date":"2014-06-17 19:46:25", "r_name":"dalinternet-3a", "ts":1403034385, "c_key":"IDS", "hid":"HID3019", "rs_v":"+ 1.50, + 1.50, + 3.50, + 1.50, ", "at_name":"Scanning/Recon", "a_name":"TCP: SYN Port Scan", "ip_sport":0, "pri":3, "s_g_la":32.643100128173828, "s_g_r":"TX", "s_g_lo":-96.50670166015625, "ip_sh":"69.243.120.111", "ip_s":"69.243.120.111", "ip_s6":"", "ip_dh":"10.30.184.165", "ip_proto":6, "ip_d":"10.30.184.165", "ip_d6":"", "rs_n":"Alert Threshold Count 100 Events (15 Minute), Alert Threshold Count 10 Events (5 Minute), Bayesian Signature (Extremely High), Priority 3, ", "payload":"<188>Jun 17 14:46:26 SyslogAlertForwarder: |5012789840344498544|Port Scan|2014-04-17 14:46:23 CDT|\"TCP: SYN Port Scan\"|0x40008500|Medium|N/A|Low|Default-Group ITO|DALINTERNET|3A|69.243.120.111|0|10.30.184.165|N/A|Reconnaissance|port-scan|Unknown|n/a|threshold|N/A|N/A|" } **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. .. http:post:: /API/1.1/search/events Search existing events for given time period. Returns json data. **Access Control Requirements** Event Manager. **URL Parameters** **Required:** :form column[]: Array of column names. One for each column name. :form group_by: How to group columns separated by a comma. :form order_by: How to order colums separated by a comma. DESC = Descending and ASC = Ascending :form where[]: Where statement. One for each whare statement. :form begin: Timestamp. (i.e. 2014-06-17 12:15:00 ) :form end: Timestamp. (i.e. 2014-06-17 12:20:00 ) **Optional:** :form limit: :form column[]: :form where[]: **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 403: Failure, Invalid request. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. :statuscode 500: Begin date provided appears to be in the future, or invalid. :statuscode 500: End date provided appears to be in the future, or invalid. Vulnerabilities """"""""""""""" .. http:put:: /API/1.1/vulnerabilities Add vulnerability result(s). **Access Control Requirements** Moderator. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** json data **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:post:: /API/1.1/search/vulnerabilities Search existing vulnerabilities for given time period. Returns json data. **Access Control Requirements** Event Manager. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form column[]: Array of column names. One for each column name. :form group_by: How to group columns separated by a comma. :form order_by: How to order columns separated by a comma. DESC = Descending and ASC = Ascending :form where[]: Where statement. One for each whare statement. :form limit: Limit the amount of records. :form begin: Timestamp. (i.e. 2014-06-17 12:15:00 ) :form end: Timestamp. (i.e. 2014-06-17 12:20:00 ) **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 403: Failure, Invalid request. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. :statuscode 500: Begin date provided appears to be in the future, or invalid. :statuscode 500: End date provided appears to be in the future, or invalid. Users """"" .. http:delete:: /API/1.1/users/(int :id) Delete existing user by user id. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param id: Unique user id :type id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:put:: /API/1.1/users Create a new user. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form username: Username :form fullname: Full name. :form email: E-mail address. :form group_name: Parent group for user. :form phone: Primary phone number. :form phone2: Secondary phone number. May be empty. :form boolean account_lock: 0 = False 1 = True :form boolean email_recipient: true or false :form signature: E-mail signature. :form boolean admin: true or false :form boolean moderator: true or false :form boolean sysop: true or false :form boolean audit: true or false :form boolean event_manager: true or false :form boolean reports: true or false :form password: Clear text password for user. :form password2: Repeat password. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Invalid field username. :statuscode 400: Invalid field password. :statuscode 400: Invalid field password2. :statuscode 400: Invalid field fullname. :statuscode 400: Invalid field email. .. http:post:: /API/1.1/users/(int :id) Update existing user. You can not change a username. You have to delete the user and re-create the user if you want to change the username. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param id: Unique user id :type id: int **Optional:** None. **Data Parameters** :form uid: Unique user id. :form username: Username :form fullname: Full name. :form email: E-mail address. :form group_name: Parent group for user. :form phone: Primary phone number. :form phone2: Secondary phone number. May be empty. :form boolean account_lock: 0 = False 1 = True :form boolean email_recipient: true or false :form signature: E-mail signature. :form boolean admin: true or false :form boolean moderator: true or false :form boolean sysop: true or false :form boolean audit: true or false :form boolean event_manager: true or false :form boolean reports: true or false :form password: Clear text password for user. :form password2: Repeat password. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Invalid field username. :statuscode 400: Invalid field password. :statuscode 400: Invalid field password2. :statuscode 400: Invalid field fullname. :statuscode 400: Invalid field email. .. http:post:: /API/1.1/search/users Search for existing users. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form column[]: Array of column names. One for each column name. :form group_by: How to group columns separated by a comma. :form order_by: How to order columns separated by a comma. DESC = Descending and ASC = Ascending :form where[]: Where statement. One for each whare statement. :form limit: Limit the amount of records. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Unable to process request, exception. .. http:post:: /API/1.1/users-settings Update existing user. You can not change a username. You have to delete the user and re-create the user if you want to change the username. **Access Control Requirements** None. **URL Parameters** **Required:** :param id: Unique user id :type id: int **Optional:** None. **Data Parameters** :form uid: Unique User ID. :form username: Username :form fullname: Full name. :form email: E-mail address. :form phone: Primary phone number. :form phone2: Secondary phone number. May be empty. :form signature: E-mail signature. :form password: Clear text password for user. (Only if you want to change the password.) :form password2: Repeat password. (Only if you want to change the password.) **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Exception. Groups """""" .. http:delete:: /API/1.1/group/(string: name) Deletes specified group. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param name: Name of group :type name: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception .. http:get:: /API/1.1/group Returns list of proprites for specifed group or groups. List includes: id, name, key, parent, test, details, date_modified, and children. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** :query string name: Group name. :query boolean recursive: true or false. Default true. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 504: Invalid results. .. http:put:: /API/1.1/group Add new group. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form name: Name of new group. :form details: Detail description of group. May be empty. :form shard: Shard group is associated to. May be empty. :form parent: Parent group new group belongs to. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Invalid field name. :statuscode 400: Invalid field details. :statuscode 400: Invalid field parent. :statuscode 504: Invalid results. .. http:post:: /API/1.1/group/(int: id) Update existing group by group id. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param id: Group unique id. :type id: int **Optional:** None. **Data Parameters** :form name: Name of new group. :form details: Detail description of group. May be empty. :form group_id: Group id. :form parent: Parent group new group belongs to. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Invalid field name. :statuscode 400: Invalid field details. :statuscode 400: Invalid field parent. :statuscode 400: Exception Dashboards and Widgets """""""""""""""""""""" .. http:get:: /API/1.1/dashboards/(int :template_id)/widgets Returns list of widgets for specified template id. List includes: widget_id, widget_name, widget_details, output_type[type, label, value, rotate, data_type, width], column_params[], where_params[], groupby_params[], orderby_params[], limit_params, dashbaord_id, widget_sort, dashbaord_height, dashbaord_width, height, and width. **Access Control Requirements** None. **URL Parameters** **Required:** :param template_id: Unique template id. :type template_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. .. http:put:: /API/1.1/dashboards/templates/(int :template_id)/widgets Add new dashboard template widget. **Access Control Requirements** None. **URL Parameters** **Required:** :param template_id: Template unique id. :type id: int **Optional:** None. **Data Parameters** :form output_type[type]: Graph type. :form output_type[label]: Widget Label (Y-Axis) :form output_type[value]: Widget Value (X-Axis) :form output_type[rotate]: yes or no :form output_type[data_type]: Events, Resource, Incidents, Vulnerabilities, Audit :form widget_name: Widget name. :form widget_details: Widget details :form column_params[]: Array of column names. One for each column name. :form where_params[]: Array of where statements. One for each where statement. :form groupby_params[]: Array of group by statements. One for each group by statement. :form orderby_params[]: Array of order by statements. One for each order by statement. :form limit_params: Limit the amount of records for widget. :form template_base_id: Template prefix id. :form boolean saveAsTemplate: true or false. :form widget_category_id: Widget category id. :form dashboard_widget_name: Dashboard widget name. :form dashboard_details: Details for dashboard widget. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:post:: /API/1.1/dashboards/templates/widget/(int :widget_id) Update existing dashboard template widget. **Access Control Requirements** None. **URL Parameters** **Required:** :param widget_id: Widget unique id. :type id: int **Optional:** None. **Data Parameters** :form output_type[type]: Graph type. :form output_type[label]: Widget Label (Y-Axis) :form output_type[value]: Widget Value (X-Axis) :form output_type[rotate]: yes or no :form output_type[data_type]: Events, Resource, Incidents, Vulnerabilities, Audit :form widget_name: Widget name. :form widget_details: Widget details :form column_params[]: Array of column names. One for each column name. :form where_params[]: Array of where statements. One for each where statement. :form groupby_params[]: Array of group by statements. One for each group by statement. :form orderby_params[]: Array of order by statements. One for each order by statement. :form limit_params: Limit the amount of records for widget. :form template_base_id: Template prefix id. :form boolean saveAsTemplate: true or false. :form widget_category_id: Widget category id. :form dashboard_widget_name: Dashboard widget name. :form dashboard_details: Details for dashboard widget. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards widgets found for specified widget id. :statuscode 500: Exception. .. http:delete:: /API/1.1/dashboards/templates/widget/(int :widget_id) Delete existing dashboard template widget. **Access Control Requirements** None. **URL Parameters** **Required:** :param widget_id: Unique widget id. :type widget_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards template widget found. :statuscode 500: Exception. .. http:put:: /API/1.1/dashboards/templates Add new dashboard template. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form dashboard_id: Dashboard unique id. :form dashboard_name: Dashboard template name. :form dashboard_details: Dashboard template details. :form boolean dashboard_group: 0 or 1 :form boolean dashboard_type: 0 or 1 (1 = Filter, 0 = Associative ) :form boolean dashboard_sort: 0 or 1 :form dashboard_user: Dashboard user id. :form boolean dashboard_private: 0 or 1 :form group_name: Group name. :form boolean isSelected: true or false. :form template_base_id: Template prefix id. Can be empty. :form boolean saveAsTemplate: true or false. :form category: Template category. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards template widget found. :statuscode 500: Exception. .. http:post:: /API/1.1/dashboards/templates/(int :template_id) Update existing dashboard template. **Access Control Requirements** None. **URL Parameters** **Required:** :param template_id: Template unique id. :type template_id: int **Optional:** None. **Data Parameters** :form template_id: Template unique id. :form dashboard_id: Dashboard unique id. :form dashboard_name: Dashboard template name. :form dashboard_details: Dashboard template details. :form boolean dashboard_group: 0 or 1 :form boolean dashboard_type: 0 or 1 (1 = Filter, 0 = Associative ) :form boolean dashboard_sort: 0 or 1 :form dashboard_user: Dashboard user id. :form boolean dashboard_private: 0 or 1 :form group_name: Group name. :form boolean isSelected: true or false. :form template_base_id: Template prefix id. Can be empty. :form boolean saveAsTemplate: true or false. :form category: Template category. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards template widget found. :statuscode 500: Exception. .. http:delete:: /API/1.1/dashboards/templates/(int :template_id) Delete existing dashboard template. **Access Control Requirements** None. **URL Parameters** **Required:** :param template_id: Template unique id. :type template_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards found for specified username. :statuscode 500: Exception. .. http:get:: /API/1.1/dashboards/categories Returns a list of dashboard categories. List includes: category_id, category_name, and parent_id. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No categories found :statuscode 500: Exception. .. http:get: /API/1.1/dashboards/(string :username) Returns a list of dashboards by specified username. List includes: dashboard_id, dashboard_name, dashboard_type, dashboard_user, dashboard_private, and group_name. **Access Control Requirements** None. **URL Parameters** **Required:** :param username: Username :type username: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards found for specified username. :statuscode 403: Failure, Invalid permissions for the user specified. .. http:delete:: /API/1.1/dashboards/(int: dashboard_id)/widget/(int :widget_id) Delete widget for specifed dashboard. **Access Control Requirements** None. **URL Parameters** **Required:** :param dashboard_id: Dashboard unique id. :type dashboard_id: int :param widget_id: Widget unique id. :type widget_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards found for specified username. :statuscode 500: Exception. .. http:put:: /API/1.1/dashboards/(int :dashboard_id)/widget Base API function for adding a new widget to the given dashboard id. **Access Control Requirements** None. **URL Parameters** **Required:** :param dashboard_id: Unique dashboard id. :type dashboard_id: int **Optional:** None. **Data Parameters** :form dashboards_templates_widgets_id: Dashboard widget template id. :form widget_name: Widget name. :form widget_details: Widget details. :form output_type[type]: Graph type. :form output_type[label]: Widget Label (Y-Axis) :form output_type[value]: Widget Value (X-Axis) :form output_type[rotate]: yes or no :form output_type[data_type]: Events, Resource, Incidents, Vulnerabilities, Audit :form column_params[]: Array of column names. One for each column name. :form where_params[]: Array of where statements. One for each where statement. :form groupby_params[]: Array of group by statements. One for each group by statement. :form orderby_params[]: Array of order by statements. One for each order by statement. :form limit_params: Limit the amount of records for widget. :form dashboards_template_id: Dashboard template id. :form boolean isSelected: true or false. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, Unable to add widget to specified dashboard: :statuscode 500: Exception. .. http:post:: /API/1.1/dashboard/(int :dashboard_id) Update existing dashboard for specified dashboard id. **Access Control Requirements** None. **URL Parameters** **Required:** :param dashboard_id: Unique dashboard id. :type dashboard_id: int **Optional:** None. **Data Parameters** :form dashboard_id: Dashboard unique id. :form dashboard_name: Dashboard name. :form dashboard_details: Dashboard details. :form boolean dashboard_group: 0 or 1. :form boolean dashboard_type: 0 or 1 (1 = Filter, 0 = Associative ) :form boolean dashboard_sort: 0 or 1 :form dashboard_user: User id. :form boolean dashboard_private: 0 or 1 :form group_name: Group name. :form boolean isSelected: true or false :form template_base_id: Template prefix number. :form boolean saveAsTemplate: true or false **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards found for specified username. :statuscode 500: Exception. .. http:post:: /API/1.1/dashboards/(int :dashboard_id)/widget/(int :widget_id) Update specified widget for specified dashboard. **Access Control Requirements** None. **URL Parameters** **Required:** :param dashboard_id: Dashboard unique id. :type dashboard_id: int :param widget_id: Widget unique id. :type widget_id: int **Optional:** None. **Data Parameters** :form widget_id: Widget unique id. :form widget_name: Widget name. :form widget_details: Widget details. :form output_type[type]: Graph type. :form output_type[label]: Widget Label (Y-Axis) :form output_type[value]: Widget Value (X-Axis) :form output_type[rotate]: yes or no :form output_type[data_type]: Events, Resource, Incidents, Vulnerabilities, Audit :form output_type[width]: Widget width 1 to 12 :form column_params[]: Array of column names. One for each column name. :form where_params[]: Array of where statements. One for each where statement. :form groupby_params[]: Array of group by statements. One for each group by statement. :form orderby_params[]: Array of order by statements. One for each order by statement. :form limit_params: Limit the amount of records for widget. :form dashboard_id: Dashboard unique id. :form widget_sort: Widget sort. :form dashboard_height: Dashboard height. (Default: 400) :form dashboard_width: Dashboard width. (Default: 400) :form height: empty :form width: empty :form drillType: Column to drill down on. (Default: ip_src) :form template_base_id: Template prefix number. :form boolean saveAsTemplate: true or false :form widget_category_id: Widget Category id. :form category: Category **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards found for specified username. :statuscode 500: Exception. .. http:get:: /API/1.1/dashboards/(int :dashboard_id)/widgets Get list of widgets for specified dashbaord id. List includes widget_id, widget_name, widget_details, output_type[type, label, value, rotate, data_type, width], column_params[], where_params[], orderby_params[], limit_params, dashboard_id, widget_sort, dashboard_height, dashboard_width, height, and width. **Access Control Requirements** None. **URL Parameters** **Required:** :param dashboard_id: Unique dashboard id. :type dashboard_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards found for specified username. :statuscode 500: Exception. .. http:post:: /API/1.1/search/dashboard Search for dashboards **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form column[]: Array of column names. One for each column name. :form group_by: How to group columns separated by a comma. :form order_by: How to order colums separated by a comma. DESC = Descending and ASC = Ascending :form where[]: Where statement. One for each whare statement. :form limit: Limit the amount of records. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No Dashboards found. :statuscode 500: Exception. .. http:put:: /API/1.1/dashboard Create new dashboard **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form dashboard_name: Dashboard name. :form boolean dashboard_group: 0 or 1. :form group_name: Group name. :form boolean dashboard_type: 0 or 1 (1 = Filter, 0 = Associative ) :form dashboard_details: Details about dashboard. :form boolean dashboard_private: 0 or 1 :form template_base_id: Template prefix number. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 403: Failure to add dashboard. :statuscode 500: Exception. .. http:delete:: /API/1.1/dashboard/(int :id) Delete dashboard by dashboard id. **Access Control Requirements** Moderator. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. Reports """"""" .. http:get:: /API/1.1/reports/templates/(int :template_id)/widgets Get list of widgets for specified report template. List includes reports_widget_template_id, widget_name, output_type[type, label, value, rotate, data_type], column_params[], where_params[], groupby_params[], orderby_params[], limit_params, and report_template_id. **Access Control Requirements** None. **URL Parameters** **Required:** :param template_id: unique template id. :type template_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No templates found. :statuscode 500: Exception. .. http:put:: /API/1.1/reports/templates/(int :template_id)/widget Create widget for specified report template. **Access Control Requirements** None. **URL Parameters** **Required:** :param template_id: Unique template id. :type template_id: int **Optional:** None. **Data Parameters** :form reports_widgets_id: Widgets unique id. :form report_widget_name: Widgets name. :form report_details: Details for widget. :form output_type[type]: Graph type. :form output_type[label]: Widget Label (Y-Axis) :form output_type[value]: Widget Value (X-Axis) :form output_type[rotate]: yes or no :form output_type[data_type]: Events, Resource, Incidents, Vulnerabilities, Audit :form column_params[]: Array of column names. One for each column name. :form where_params[]: Array of where statements. One for each where statement. :form groupby_params[]: Array of group by statements. One for each group by statement. :form orderby_params[]: Array of order by statements. One for each order by statement. :form limit_params: Limit the amount of records for widget. :form reports_id: Reports unique id. :form boolean report_sort: 0 or 1 **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, Unable to add widget to specified report template. :statuscode 500: Exception. .. http:post:: /API/1.1/reports/templates/widget/(int :widget_id) Update specified reports template widget. **Access Control Requirements** None. **URL Parameters** **Required:** :param widget_id: Widget unique id. :type widget_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No reports widgets found for specified widget id. :statuscode 500: Exception. .. http:delete:: /API/1.1/reports/templates/widget/(int :widget_id) Delete the specified reports template widget. **Access Control Requirements** None. **URL Parameters** **Required:** :param widget_id: Unique widget id. :type widget_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:put:: /API/1.1/reports/templates Create new report template. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form reports_id: Unique report id. :form user_id: Username id. :form group_id: Group id. :form report_template_id: Unique report id. :form report_name: Name given to report. :form details: Details for report. :form image_file: Directory to save reports default is: tmp :form cover_details: Cover page details :form date_added: Date report template was added (i.e. 2014-06-23 12:45:29 ) :form report_schedule: Report schedule to run. (i.e. 2014-06-01 15:00:00 ) :form report_timeperiod: C = once, D = Daily, W = Weekly, M = Monthly :form boolean report_lock: 0 or 1 :form reports_options[output_type]: cvs or pdf :form username: Username :form fullname: Full name of user. :form group_name: Group name. :form reports_widgets_count: How many widgets does report contain. :form next_run: Next time report is schedule to run. (i.e. 2014-06-08 20:00:00 ) :form reports_type: Empty :form endDate: End date (i.e. Wed Jun 04 2014 00:00:00 GMT-0500 (CDT) ) :form begin_time: Begin time (i.e. Thu Jun 19 2014 11:51:36 GMT-0500 (CDT) ) :form end_time: End time (i.e. Thu Jun 19 2014 12:51:36 GMT-0500 (CDT) ) :form reports_frequency: C = once, D = Daily, W = Weekly, M = Monthly :form template_base_id: Template pre-fix. Can be empty. :form boolean saveAsTemplate: true or false :form category: Category name. Security, Executive, Compliance, Malware, Performance. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:get:: /API/1.1/reports/templates Returns json list of report templates. List includes report_template_id, report_template_name, report_template_details, report_category_id, where_params, category_name, and report_where_params. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:delete:: /API/1.1/reports/templates/(int :template_id) Delete specified report template. **Access Control Requirements** None. **URL Parameters** **Required:** :param template_id: Unique template id. :type template_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:post:: /API/1.1/reports/templates/(type :template_id) Update specified report template. **Access Control Requirements** None. **URL Parameters** **Required:** :param template_id: Template unique id. :type template_id: int **Optional:** None. **Data Parameters** :form reports_id: Unique report id. :form user_id: Username id. :form group_id: Group id. :form report_template_id: Unique report id. :form report_name: Name given to report. :form details: Details for report. :form image_file: Directory to save reports default is: tmp :form cover_details: Cover page details :form date_added: Date report template was added (i.e. 2014-06-23 12:45:29 ) :form report_schedule: Report schedule to run. (i.e. 2014-06-01 15:00:00 ) :form report_timeperiod: C = once, D = Daily, W = Weekly, M = Monthly :form boolean report_lock: 0 or 1 :form reports_options[output_type]: cvs or pdf :form username: Username :form fullname: Full name of user. :form group_name: Group name. :form reports_widgets_count: How many widgets does report contain. :form next_run: Next time report is schedule to run. (i.e. 2014-06-08 20:00:00 ) :form reports_type: Empty :form endDate: End date (i.e. Wed Jun 04 2014 00:00:00 GMT-0500 (CDT) ) :form begin_time: Begin time (i.e. Thu Jun 19 2014 11:51:36 GMT-0500 (CDT) ) :form end_time: End time (i.e. Thu Jun 19 2014 12:51:36 GMT-0500 (CDT) ) :form reports_frequency: C = once, D = Daily, W = Weekly, M = Monthly :form template_base_id: Template pre-fix. Can be empty. :form boolean saveAsTemplate: true or false :form category: Category name. Security, Executive, Compliance, Malware, Performance. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 403: Exception. .. http:get:: /API/1.1/reports/categories Get json list of dashboard categories. List includes category_id, category_name, and parent_id. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure, No categories found. :statuscode 500: Exception. .. http:get:: /API/1.1/reports-cache/(string :username)/(string :group) Get list of available reports for the specified username and specified group. **Access Control Requirements** None. **URL Parameters** **Required:** :param username: Username :type username: string :param group: Group :type group: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 403: Failure, Invalid permissions for the user specified. :statuscode 500: Exception. .. http:get:: /API/1.1/reports-cache/(string :username) Returns list of all reports cached for specified username. **Access Control Requirements** None. **URL Parameters** **Required:** :param username: Username :type username: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 403: Failure, Invalid permissions for the user specified. :statuscode 500: Exception. .. http:put:: /API/1.1/reports-cache/ Add reports to report cache. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** :form reports_id: Reports id. :form report_name: Report name. :form report_details: Report details. :form begin_time: Begin time (i.e. Thu Jun 19 2014 11:51:36 GMT-0500 (CDT) :form end_time: End time (i.e. Thu Jun 19 2014 12:51:36 GMT-0500 (CDT) **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:get:: /API/1.1/reports/(string :username) Returns list of all reports for specified username. **Access Control Requirements** None. **URL Parameters** **Required:** :param username: Username :type username: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 403: Failure, Invalid permissions for the user specified. :statuscode 500: Exception. .. http:delete:: /API/1.1/reports/(int :report_id)/widget/(int :widget_id) Deletes widget on specified report. **Access Control Requirements** None. **URL Parameters** **Required:** :param report_id: Unique report id. :type report_id: int :param widget_id: Unique widget_id. :type widget_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 403: Exception. .. http:put:: /API/1.1/reports/(int :report_id)/widget Base API function for adding a new widget to the specified report id. **Access Control Requirements** None. **URL Parameters** **Required:** :param report_id: Unique report id. :type report_id: int **Optional:** None. **Data Parameters** :form reports_widget_template_id: The widget template's id. :form widget_name: Widget's name. :form widget_details: Details for widget. :form output_type[type]: Graph type. :form output_type[label]: Widget Label (Y-Axis) :form output_type[value]: Widget Value (X-Axis) :form output_type[rotate]: yes or no :form output_type[data_type]: Events, Resource, Incidents, Vulnerabilities, Audit :form column_params[]: Array of column names. One for each column name. :form where_params[]: Array of where statements. One for each where statement. :form groupby_params[]: Array of group by statements. One for each group by statement. :form orderby_params[]: Array of order by statements. One for each order by statement. :form limit_params: Limit the amount of records for widget. :form report_template_id: Report template id. :form report_widget_name: Name for widget in specified report. :form report_details: Details for widget in specified report. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 403: Exception. .. http:get:: /API/1.1/report/(int :report_id)/download/(int :reports_cache_id) Download the specified report. **Access Control Requirements** None. **URL Parameters** **Required:** :param report_id: Unique report id. :type report_id: int :param reports_cache_id: Unique report cache id. :type reports_cache_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 403: Exception. .. http:post:: /API/1.1/report/(type :report_id) Update specified report. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** :form reports_id: Unique report id. :form user_id: Username id. :form group_id: Group id. :form report_template_id: Unique report id. :form report_name: Name given to report. :form details: Details for report. :form image_file: Directory to save reports default is: tmp :form cover_details: Cover page details :form date_added: Date report template was added (i.e. 2014-06-23 12:45:29 ) :form report_schedule: Report schedule to run. (i.e. 2014-06-01 15:00:00 ) :form report_timeperiod: C = once, D = Daily, W = Weekly, M = Monthly :form boolean report_lock: 0 or 1 :form reports_options[output_type]: cvs or pdf :form username: Username :form fullname: Full name of user. :form group_name: Group name. :form reports_widgets_count: How many widgets does report contain. :form next_run: Next time report is schedule to run. (i.e. 2014-06-08 20:00:00 ) :form reports_type: Empty :form endDate: End date (i.e. Wed Jun 04 2014 00:00:00 GMT-0500 (CDT) ) :form begin_time: Begin time (i.e. Thu Jun 19 2014 11:51:36 GMT-0500 (CDT) ) :form end_time: End time (i.e. Thu Jun 19 2014 12:51:36 GMT-0500 (CDT) ) :form reports_frequency: C = once, D = Daily, W = Weekly, M = Monthly :form template_base_id: Template pre-fix. Can be empty. :form boolean saveAsTemplate: true or false :form category: Category name. Security, Executive, Compliance, Malware, Performance. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 403: Exception. .. http:post:: /API/1.1/reports/(int :report_id)/widget/(int :widget_id) Update specified widget for specified report. **Access Control Requirements** None. **URL Parameters** **Required:** :param report_id: Report unique id. :type report_id: int :param widget_id: Widget unique id. :type widget_id: int **Optional:** None. **Data Parameters** :form reports_widgets_id: Reports widget unique id. :form report_widget_name: Report widget's name. :form report_details: Report widget's details. :form output_type[type]: Graph type. :form output_type[label]: Widget Label (Y-Axis) :form output_type[value]: Widget Value (X-Axis) :form output_type[rotate]: yes or no :form output_type[data_type]: Events, Resource, Incidents, Vulnerabilities, Audit :form output_type[width]: Widget width 1 to 12. :form column_params[]: Array of column names. One for each column name. :form where_params[]: Array of where statements. One for each where statement. :form groupby_params[]: Array of group by statements. One for each group by statement. :form orderby_params[]: Array of order by statements. One for each order by statement. :form limit_params: Limit the amount of records for widget. :form reports_id: Report unique id. :form boolean report_sort: 0 or 1 :form boolean isSelected: true or false :form widget_name: Widget name. :form widget_details: Widget details. :form template_base_id: Template prefix number. :form boolean saveAsTemplate: true or false. :form widget_category_id: Widget category id. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 403: Exception. .. http:get:: /API/1.1/reports/(int :report_id)/widgets Returns a json list of all widgets associated with specified report. **Access Control Requirements** None. **URL Parameters** **Required:** :param report_id: Unique report id. :type report_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 403: Exception. .. http:get:: /API/1.1/reports-cache-status/(int :report_id)/(int :status) Update specified running report status. **Access Control Requirements** None. **URL Parameters** **Required:** :param report_id: Unique report id. :type report_id: int :param status: Status 0 = Pending, 1 = In Progress, 2 = Completed, 3 = Failed, 4 = Cancelling, 5 = Cancelled. :type status: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 403: Exception. .. http:post:: /API/1.1/search/report Get list of all reports. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** :form column[]: Array of column names. One for each column name. :form group_by: How to group columns separated by a comma. :form order_by: How to order columns separated by a comma. DESC = Descending and ASC = Ascending :form where[]: Where statement. One for each whare statement. :form limit: Limit the amount of records. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:put:: /API/1.1/report Create new report. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** :form report_name: Name given to report :form group_name: Group name. :form reports_type: Empty :form reports_details: Details showing who this report is for. :form cover_details: Cover page details. :form reports_options[output_type]: csv or pdf :form report_schedule: Start date (i.e. 2014-06-01 05:00:00 ) :form endDate: End date (i.e. Wed Jun 04 2014 00:00:00 GMT-0500 (CDT) ) :form begin_time: Begin time (i.e. Thu Jun 19 2014 11:51:36 GMT-0500 (CDT) ) :form end_time: End time (i.e. Thu Jun 19 2014 12:51:36 GMT-0500 (CDT) ) :fom report_timeperiod: C = once, D = Daily, W = Weekly, M = Monthly if once you have to include a date: C:2014-06-04 05:00:00 :form template_base_id: Template id. :form report_details: Report details :form reports_frequency: C = once, D = Daily, W = Weekly, M = Monthly :form next_run: When this report is schedule to run next. (i.e. 2014-06-04 10:00:00 ) **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 403: failure, Unable to add report. :statuscode 500: Exception. .. http:delete:: /API/1.1/reports-cache/(int :id) Delete specific report cache. **Access Control Requirements** Moderator. **URL Parameters** **Required:** :param id: Unique report cache id. :type id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:delete:: /API/1.1/report/(int :id) Delete specific report. **Access Control Requirements** Moderator. **URL Parameters** **Required:** :param id: Unique report id. :type id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. Widgets Templates """"""""""""""""" .. http:get:: /API/1.1/widgets/categories Returns a json list of all widget categories. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:get:: /API/1.1/widgets/templates Returns a json list of all widget templates. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:delete:: /API/1.1/widgets/templates/(int :widget_template_id) Delete specified widget template. **Access Control Requirements** None. **URL Parameters** **Required:** :param widget_template_id: Unique widget template id. :type widget_template_id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:put:: /API/1.1/widgets/templates Adds specified widget template. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form output_type[width]: Width of widget 1 to 12 :form output_type[label]: Y-Axis column name. :form output_type[value]: X-Axis column name. :form output_type[type]: Graph Type. :form output_type[data_type]: Events, Resource, incidents, Vulnerabilities, Audit :form output_type[col_sort][]: array of column names. one for each item in the array. :form widget_name: Name of widget :form widget_details: Details of what widget will do. :form column_params[]: Column names. One for each column you want. :form where_params[]: Empty :form groupby_params[]: Group by these specified column's :form orderby_params[]: Order by these specified column either ASC (Ascending) or DESC (Descending) :form limit_params: Limit the records to this name. :form template_base_id: If you would like to add a prefix to the template id. :form saveAsTemplate: Is this to be saved as a template true or false :form widget_category_id: Category id. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Failure, No dashboards found for specified username. :statuscode 500: Exception. .. http:post:: /API/1.1/widgets/templates/(type :widget_template_id) Update specifed widget template. **Access Control Requirements** None. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** :form widget_template_id: Widget template unique id. :form widget_name: Name of widget :form widget_details: Details of what widget will do. :form output_type[width]: Width of widget 1 to 12 :form output_type[label]: Y-Axis column name. :form output_type[value]: X-Axis column name. :form output_type[type]: Graph Type. :form output_type[data_type]: Events, Resource, incidents, Vulnerabilities, Audit :form column_params[]: Column names. One for each column you want. :form where_params[]: Empty :form groupby_params[]: Group by these specified column's :form orderby_params[]: Order by these specified column either ASC (Ascending) or DESC (Descending) :form limit_params: Limit the records to this name. :form widget_category_id: Widget category id. :form category_name: Category name: Security, Executive, Compliance, Malware, Performance. :form boolean isSelected: true or false. :form template_base_id: If you would like to add a prefix to the template id. :form boolean saveAsTemplate: Is this to be saved as a template true or false **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. Shard Management and Stats Gathering """""""""""""""""""""""""""""""""""" .. http:get:: /API/1.1/shards/stats List each shard stats. **Access Control Requirements** Admin. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. .. http:get:: /API/1.1/shards/list List each shard including host information and which group tags are associated. **Access Control Requirements** Admin. **URL Parameters** **Required:** None **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. .. http:get:: /API/1.1/shards/list/available/(string :group) List each shard specified group exist on. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param group: Name of group. :type group: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. .. http:get:: /API/1.1/shards/move Move specified group to specified shard. **Access Control Requirements** Admin. **URL Parameters** **Required:** :query string name: Name of group. :query string shard: Name of shard. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Failure, Invalid request, no group specified. :statuscode 400: Failure, Invalid request, no shard specified. .. http:get:: /API/1.1/shards/group List shard that specifed group collection exist on. **Access Control Requirements** Admin. **URL Parameters** **Required:** :query string group: Name of group. :query string collection: Name of collection. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Failure, Invalid request, no group specified. :statuscode 400: Failure, Invalid request, no collection specified. .. http:get:: /API/1.1/shards/group-storage Get chunk storage size by specified group and collection. **Access Control Requirements** Admin. **URL Parameters** **Required:** :query string group: Name of group. :query string collection: Name of collection. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Failure, Invalid request, no group specified. :statuscode 400: Failure, Invalid request, no collection specified. .. http:get:: /API/1.1/shards/add Add new shard. **Access Control Requirements** Admin. **URL Parameters** **Required:** :query string name: Name of shard. :query string hostname: Hostname of shard. :query int maxSize: Shard size in GigaBytes. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Failure, Invalid request, no shard name specified. :statuscode 400: Failure, Invalid request, no hostname specified. .. http:post:: /API/1.1/shards/size/(string :shard)/(int :size) Update shard size. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param shard: Name of hostname. :type shard: string :param maxSize: Shard size in MegaBytes :type maxSize: int **Optional:** None. **Data Parameters** :form withCredentials: true **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Failure, Unable to update shard size. .. http:put:: /API/1.1/shards/tags/(string :shard) Add tag to specified shard **Access Control Requirements** Admin. **URL Parameters** **Required:** :param shard: Shard name. :type shard: string :query tag: Tag name. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Failure, Unable to add shard tag. .. http:delete:: /API/1.1/shards/tags/(string :shard) Delete tag from specified shard **Access Control Requirements** Admin. **URL Parameters** **Required:** :param shard: :type shard: string :query string tag: tag name. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Failure, Unable to remove shard tag. Archive Management """""""""""""""""" .. http:get:: /API/1.1/archive/profile Get archive profile by group. **Access Control Requirements** Admin. **URL Parameters** **Required:** :query string group: Group name. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:put:: /API/1.1/archive/profile Create a archive profile by group. **Access Control Requirements** Admin. **URL Parameters** **Required:** :query string group: Group name. **Optional:** None. **Data Parameters** :form group: Group name. :form expirationDays: Amount of days to keep data live. :form action: What to do after expiration days delete or archive :form encryption: false. encryption will be implemented soon. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 404: Failure, Invalid group value provided. :statuscode 500: Exception. Archive Availability & Import Management """""""""""""""""""""""""""""""""""""""" .. http:post:: /API/1.1/archive/records Returns a json list of all archive records and their locations. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form undefined: Empty post request. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Exception, Unable to process request. .. http:post:: /API/1.1/archive/records/(string :group) Returns a json list of all archive records and their locations for specified group. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param group: Group name. :type group: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Exception, Unable to process request. Notifications """"""""""""" .. http:get:: /API/1.1/notifications Get list of notification rules for specified group and/or sub-groups. **Access Control Requirements** None. **URL Parameters** **Required:** :query boolean recursive: true or false :query string group: Group name. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:put:: /API/1.1/notifications Add a notifications for specified group **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form data_type: Events, Resource, Incidents, Vulnerabilities, Audit :form rules[]: One or more rules. :form filter_name: Name for notification. :form filter_details: Details for what notification does. :form group_name: Group name that notification applies too. :form action_time: Amount of minutes to included in one notification incident. :form action_mail: What is included in the e-mail notification. Accepts url encoded tokens like ``%25payload%25`` :form actions[0][key]: incident :form actions[0][value]: 1 = 5 Minutes, 2 = 15 Minutes, 3 = 30 Minutes, 4 = 60 Minutes, 5 = 90 Minutes, 6 = 3 Hours, 7 = 6 Hours, 8 = 12 Hours :form actions[1][key]: notification :form actions[1][value]: What is included in the e-mail notification. Accepts url encoded tokens like ``%25payload%25`` **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:delete:: /API/1.1/notifications/(int :id) Delete notification by id. **Access Control Requirements** Admin. **URL Parameters** **Required:** :param id: Unique notification id. :type id: int **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. .. http:post:: /API/1.1/notifications/(int :id) Add a notifications for specified group **Access Control Requirements** Admin. **URL Parameters** **Required:** :param id: Unique notification id. :type id: int **Optional:** None. **Data Parameters** :form data_type: Events, Resource, Incidents, Vulnerabilities, Audit :form rules[]: One or more rules. :form filter_name: Name for notification. :form filter_details: Details for what notification does. :form group_name: Group name that notification applies too. :form action_time: Amount of minutes to included in one notification incident. :form action_mail: What is included in the e-mail notification. Accepts url encoded tokens like ``%25payload%25`` :form actions[0][key]: incident :form actions[0][value]: 3 = 30mins :form actions[1][key]: notification :form actions[1][value]: What is included in the e-mail notification. Accepts url encoded tokens like ``%25payload%25`` **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 500: Exception. Saved Search """""""""""" .. http:delete:: /API/1.1/saved-search/(string :name) Delete saved search by name. **Access Control Requirements** None. **URL Parameters** **Required:** :param name: Name of saved search :type name: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 500: Exception. .. http:get:: /API/1.1/saved-search Returns a list of saved searches. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** :query string name: Group name. (Default: top group available for user.) :query boolean recursive: true or false. (Default: true.) **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Exception, Invalid results. .. http:put:: /API/1.1/saved-search Create new saved search. **Access Control Requirements** None. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form dataType: Events, Resources, Incidents, Vulnerabilities :form status: public or private :form name: Name to save search as. :form details: Detail description of what saved search will do. :form query: actual query to perform. :form format: json :form group_name: Limit search to group name. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Failure, Invalid field name. :statuscode 400: Failure, Invalid field details. :statuscode 400: Failure, Invalid field status. :statuscode 400: Failure, Invalid field query. :statuscode 400: Failure, Invalid field dataType. :statuscode 400: Failure, Invalid field group_name. :statuscode 500: Exception. .. http:post:: /API/1.1/saved-search/(int :id) Update existing saved search. **Access Control Requirements** None. **URL Parameters** **Required:** :param id: Unique saved search id. :type id: int **Optional:** None. **Data Parameters** :form dataType: Events, Resources, Incidents, Vulnerabilities :form status: public or private :form name: Name to save search as. :form details: Detail description of what saved search will do. :form query: actual query to perform. :form format: json :form group_name: Limit search to group name. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 400: Failure, Invalid field name. :statuscode 400: Failure, Invalid field details. :statuscode 400: Failure, Invalid field status. :statuscode 400: Failure, Invalid field query. :statuscode 400: Failure, Invalid field dataType. :statuscode 400: Failure, Invalid field group_name. :statuscode 500: Exception. Tools """"" All tool request are performed on the data tier. .. http:get:: /API/1.1/tools/whois/(string :host) Perform a whois lookup on specified host. **Access Control Requirements** None. **URL Parameters** **Required:** :param host: Host name to lookup. :type host: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. .. http:get:: /API/1.1/tools/traceroute/(string :host) Perform a traceroute on specified host. **Access Control Requirements** None. **URL Parameters** **Required:** :param host: Host name to lookup. :type host: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. .. http:get:: /API/1.1/tools/ping/(string :host) Perform a ping on specified host. **Access Control Requirements** None. **URL Parameters** **Required:** :param host: Host name to lookup. :type host: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. .. http:get:: /API/1.1/tools/dns-lookup/(string :host) Perform a DNS lookup on specified host. **Access Control Requirements** None. **URL Parameters** **Required:** :param host: Host name to lookup. :type host: string **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. System Information """""""""""""""""" .. http:get:: /API/1.1/system Returns a system_description and authentication login message. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** None. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Exception. .. http:put:: /API/1.1/system Update system description and authentication login message. **Access Control Requirements** Admin. **URL Parameters** **Required:** None. **Optional:** None. **Data Parameters** :form hawk: true :form system_description: System description. :form authentication_login_message: Authentication login message. :form system_company_name: Company name. :form system_company_address: Company address. **Success Response:** :statuscode 200: Success. **Error Response:** :statuscode 404: Failure. :statuscode 404: Access Control Permissions failure for the specified user, exiting. :statuscode 400: Exception.