Pandora: Documentation en: Annex ExternalAPI

From Pandora FMS Wiki
Jump to: navigation, search

Go back to Pandora FMS documentation index

Contents

1 Pandora FMS External API

The Pandora FMS External API is used doing remote calls (through HTTP) on the /include/api.php file. This is the method that has been defined in Pandora FMS to integrate applications from third parties to Pandora FMS. It basically consists on a call with the parameters formatted to receive a value or a list of values that after its application will be used to do operations.

A call to the API.php is as simple as this:

http://<Pandora Console install>/include/api.php<parameters>

The API can only receive the following parameters:

  • op (required): It is the first parameter that specifies the nature of the operation, which could be "get" or "set" or "help":
  • get: It returns a value or values.
  • set: It sends a value or values.
  • help: It returns a little help from the calls
  • op2 (required): The call with an explanatory name of the one that it works on.
  • id (optional): The first call parameter.
  • id2 (optional): The second call parameter.
  • other (optional): The third call parameter, sometimes it could be a list of serial values.
  • other_mode (optional): Serial format. list of posible values:
  • url_encode: the othervalue is an alphanumeric formtted as UrlEncode.
  • url_encode_separator_<separador>: The value will be a serial value list with the divider character, for example:
...other=peras|melones|sandias&other_mode=url_encode_separator_|
  • returnType (optional): return format of the value or values. The current available values are:
  • string: It returns the value as it is as an alphanumeric one.
  • csv: It returns the values as a CSV separated with the ";" character (fields) and with CR (files) by default
  • csv_head: It returns the same as with "csv", except that it adds a first file with the field names to return.

1.1 Security

At the moment, security is based on an IP list that will have access to the tool. And it will be configured as seen in the image, in Pandora FMS Console configuration options.

If you enter the character * in the box text, the ACL check will be omitted relegating the security to the protocol and to the environment.

Screnshot of api acl list setup.png

You can also set a password for API actions.

In order to setup the password, follow these steps:

  • apipass: Api password configured in the console. Do it in the following configuration view (Administration>Setup>):

Api password.png

Nota: Before version 4.0.2, this parameter was pass

To access API actions, it is necessary to give a Pandora FMS valid user and password.

  • user: Valid Pandora FMS user
  • pass: The user password

Note: In API calls, passwords are uncoded. Be careful and use SSL connections to avoid sniffers. The API allows POST petitions to encrypt them when using SSL/HTTPS.

1.1.1 Return

When the API denies the access, the simple string "auth error" is returned.

1.1.2 Examples

In this case, the API password 1234 is used. The user is admin and the password is pandora.

http://127.0.0.1/pandora_console/include/api.php?op=get&op2=plugins&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora

Access conditions:

  • The source IP is in the ACLs IP list
  • The API password is not set or is 1234
  • The user admin exists and its password is pandora

1.1.3 Security Workflow

Starting from version 4.0.2, the API will have several security improvements, and this is implemented by three factors:

  • IP filtering. Only listed / filtered IP will be allowed to connect to the API.
  • Global API password, if defined, needed to use the API.
  • User & password valid in the console. Permissions will be used each time there is a requested operation.

It is explained in this workflow:

API access.svg

1.2 New calls extension in the API

To develop new calls for the API, keep in mind that:

  • The call has to be inscribed as a function in the file <installation Pandora FMS Console>/include/functions_api.php .
  • The function must have this structure: The prefix "api", the kind of operation "get", "set" or "help" (depending on whether it is a data read, data write or retrieve help operation) and the name of the call, trying to be coherent with the operation, as for example: function api_get_[call_name](parameters) .
  • The function can have no parameters, but if it has them, the parameters received will be the following in the same order:
  • id: first operator or parameter, it contains a string.
  • id2: second operator or parameter, it contains a string.
  • other: rest of operators or parameters, it contains as an array of two positions:
  • $other['type']: That might be be a string or an array.
  • $other['data']: That will be a string with the parameter or an array of numeric index with the past parameters.
  • returnType: string that specifies the kind of return that the call will have. It is usually visible for you, but you may use or modify it if necessary.

1.2.1 New Calls in the API from Pandora FMS extensions

It is possible to create new API calls without using /include/functions_api.php. The process consists of adding into a Pandora FMS extension directory a file with the following name: <extension_name>.api.php, and into this file create the desired functions with the same considerations of the standard API but with "apiextension" prefix instead of "api".


For example, having an extension called "module_groups" with the path <Pandora installation>/extensions/module_groups, create a file called module_groups.api.php into this directory.


The desired functions will be within this file, for example a function to get the number of modules in a group. This function must have a name like: "apiextension_get_groupmodules".

1.2.1.1 Function example

In this function, made up functions have been used.

function apiextension_get_groupmodules($group_name) {
    $group_id = group_id_from_name($group_name);
    if($group_id == false) {
       echo 'Group doesnt exist';
       return;
    }

    $number_of_modules = group_modules($group_id);
    echo $number_of_modules;
}

1.2.1.2 Call example

This call example gets the number of modules of the "Servers" group.

http://127.0.0.1/pandora_console/include/api.php?op=get&op2=extension&ext_name=module_groups&ext_function=groupmodules&id=Servers&apipass=1234&user=admin&pass=pandora

1.2.2 API Functions

The following functions could be used in your call function code:

  • returnError(typeError, returnType): It gives back an error in an standardized way for all calls.
  • typeError: By now 'id_not_found' or null.
  • returnType: By now 'string' or error message.
  • returnData(returnType, data, separator): It is the function that returns the API call data.
  • returnType: That could be 'string', 'csv', 'csv_head'
  • data: It is an array that contains the data, as well as its format. It has the following fields:
  • 'type' (required): It could be 'string' and 'array'.
  • 'list_index' (optional): It contains a numeric index array containing the alphanumeric index to be taken out through exit.
  • 'data' (required): It contains a string with the data or an array of alphanumeric index or numeric index with data.

1.2.3 Example

function api_get_module_last_value($idAgentModule, $trash1, $other = ';', $returnType)
{
	$sql = sprintf('SELECT datos FROM tagente_estado WHERE id_agente_modulo = %d', $idAgentModule);
	$value = get_db_value_sql($sql);
	if ($value === false) {
		switch ($other['type']) {
			case 'string':
				switch ($other['data']) {
					case 'error_message':
					default:
						returnError('id_not_found', $returnType);
					break;
				}
				break;
			case 'array':
				switch ($other['data'][0]) {
					case 'error_value':
						returnData($returnType, array('type' => 'string', 'data' => $other['data'][1]));
						break;
				}
				break;
		}
	}
	else {
		$data = array('type' => 'string', 'data' => $value);
		returnData($returnType, $data);
	}
}

1.3 API Calls

They are divided into two groups, depending on whether they return or write data in Pandora FMS.

There is an exception: The info retrieving call.

1.3.1 INFO RETRIEVING

It returns the version of Pandora FMS Console in a similar way as the get test call but without checking the API connection.

This call is useful to verify that this path allows a Pandora FMS installation and to retrieve the version before authentication.

The returned info can be retrieved from the login screen, so it is not considered a security vulnerability.

http://127.0.0.1/pandora_console/include/api.php?info=version

A return sample could be: Pandora FMS v5.0 - PC131015

1.3.2 GET

It returns the required data.

1.3.2.1 get test

It checks the connection to the API and returns the version of Pandora FMS Console.


This feature is in Metaconsole.


Call syntax: Without parameters

1.3.2.1.1 Examples

This example will return OK,[version],[build]

http://127.0.0.1/pandora_console/include/api.php?op=get&op2=test&apipass=1234&user=admin&pass=pandora

A return sample could be: OK,v4.0.2,PC120614

1.3.2.2 get all_agents

It returns a list of agent filters according to the filter in some other parameter.

Call syntax:

  • op=get (required)
  • op2=all_agents (required)
  • return_type= csv or json (required)
  • other=<serialized parameters> (optional). Serialized parameters to filter the agent search:
  • <filter_so>
  • <filter_group>
  • <filter_module_states>
  • <filter_alias>
  • <filter_policy>
  • <csv_separator>
1.3.2.2.1 Examples

This example will return all agents whose id_os is equal to 1, id_group equals 2, state equal to warning, their alias contains 'j', and the policy associated equals 2.

CSV example: http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_agents&return_type=csv&other=1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
JSON example: http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_agents&return_type=json&other=1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.2.3 get module_last_value

Returns the last module value. This module is filtered by the ID which has gone through the id parameter. With the other parameter you may add an error code that your application knows and it is out of range of module values.

Call syntax:

  • op=get (required)
  • op2=module_last_value (required)
  • id=<índex> (required). It should be an agent module index.
  • other=<error return> (optional). What you wish to receive if there is an error(usually not located in the database).
  • Error return codes are:
  • 'error_message'. It returns an error in a text message.
  • 'error_value'<separator><code or value&gt. It returns this code or error value. But it is necessary to enclose it with 'other_mode', like other_mode=url_encode_separator_<separador&gt to place the divider on another one.
1.3.2.3.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_last_value&id=63&other=error_value|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_last_value&id=62&apipass=1234&user=admin&pass=pandora

1.3.2.4 get agent_module_name_last_value

It returns the last module value. This module is filtered by the agent name which has gone through id parameter and module name which has gone through id2 parameter. With the other parameter, you may add an error code recognized by your application and which is out of range of module values.


Call Syntax:

  • op=get (required)
  • op2=agent_module_name_last_value (required)
  • id=<alphanumeric>(required). It contains the agent name.
  • id2=<alphanumeric> (required). It contains the module name.
  • other=<error return> (optional). What you wish to receive if there is an error (that usually has not been found in the DB).
  • Codes of error return are:
  • 'error_message'. It returns error in a text message.
  • 'error_value'<separator><code or value&gt. It returns this code or error value, but it must come with 'other_mode' such as other_mode=url_encode_separator_<separator&gt to use the divider on another one.
1.3.2.4.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agent_module_name_last_value&id=miguel-portatil&id2=cpu_user&apipass=1234&user=admin&pass=pandora

1.3.2.5 get agent_module_name_last_value_alias

=> 7.0NG

It returns the last module value. This module is filtered by the agent alias which has gone through id parameter and module name which has gone through parameter id2. With the other parameter, you may add an error recognized by your application and which is out range of module values.

Call Syntax:

  • op=get (required)
  • op2=module_last_value_alias (required)
  • id=<alphanumeric>(required). It contains the agent alias.
  • id2=<alphanumeric> (required). It contains the module name.
  • other=<error return> (optional). What you wish to receive if there is an error ( that usually has not been found in the DB).
  • Codes of error return are:
  • 'error_message'. It returns error in a text message.
  • 'error_value'<separator><code or value&gt. It returns this code or error value, but it must come with 'other_mode' such as other_mode=url_encode_separator_<separator&gt to use the divider on another one.
1.3.2.5.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agent_module_name_last_value_alias&id=pandorafms&id2=Memory_Used&apipass=1234&user=admin&pass=pandora

1.3.2.6 get module_value_all_agents

It returns a list of agent and module values, these modules are in all of the agents of the list and they are filtered by the name of module which has gone through the id parameter.

Call syntax:

  • op=get (required)
  • op2=module_value_all_agents (required)
  • id=<name of the module> (required). This is the module name.
1.3.2.6.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_value_all_agents&id=example_module_name&apipass=1234&user=admin&pass=pandora

1.3.2.7 get agent_modules

It returns the list of agent modulest, this agent is filtered by the id agent which has gone through id parameter.

Call syntax:

  • op=get (required)
  • op2=agent_modules (required)
  • return_type=<csv> (required) Output format.
  • other=<serialized values> (required) Serialized values in order to filter by agent:
  • <id_agent>

The 'other_mode' parameter must be completed like this other_mode=url_encode_separator_<separador> in order to configure the separator in other field.

1.3.2.7.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agent_modules&return_type=csv&other=14&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.8 get module_id

It returns the id of an agent module.

Call syntax:

  • op=get (required)
  • op2=module_id (required)
  • id=id agent (required)
  • other=module name (required)
1.3.2.8.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_id&id=5&other=Host%20Alive&apipass=1234&user=admin&pass=pandora

1.3.2.9 get locate_agent

It gets the id server where the agent is located, and prints all the results like a csv.

Call syntax:

  • op=get (required)
  • op2=locate_agent (required)
  • return_type=<csv> (required). Output format.
  • id=id_agent (required)
  • other_mode= other_mode=url_encode_separator_<separator&gt (required)
1.3.2.9.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=locate_agent&return_type=csv&apipass=1234&user=admin&pass=pandora&id=Pepito&other_mode=url_encode_separator_%7C

1.3.2.10 get policies

It returns the list of agent policies, whose id which has gone through the other parameter.

Call syntax:

  • op=get (required)
  • op2=policies (required)
  • return_type=<csv> (required)
  • other=<serialized values> (optional). Serialized values for filtering policies by policy agent:
  • <id_agent>
1.3.2.10.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=policies&return_type=csv&other=&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.11 get tree_agents

It returns a complete list structured by the groups in the first level, agents in the second level and modules in the third level. This list is filtered by the other parameter.

Call Syntax:

  • op=get (required)
  • op2=tree_agents (required)
  • return_type=<return kind> (required). That could be 'csv' or 'csv_head'.
  • other=<string or serialized parameters> (optional). In this case, it could be the divider or a parameter list ordered and separated by the divider character. Both cases are described here:
  • <separator> The divider "yes" of the 'csv'.
  • <separator csv>|<character that replaces the CR|<fields 1>,<fields 2>,<fields N>. It will place the following parameters in order (the divider character '|' could be specified in "other_mode"):
  • <separator csv>. Field divider in the CSV.
  • <character that replaces the CR>. Character that will be replaced if it finds in any returned character the character RC, in order to avoid the ambiguity with the standard use of the RC character to specify registers/files in the CSV. If you make an string go through other, the replacing character is the blank space.
  • <fields 1>,<fields2>,<fields N&gt :the fields to show in the CSV are:
  • type_row
  • group_id
  • group_name
  • group_parent
  • disabled
  • custom_id
  • group_description
  • group_contact
  • group_other
  • agent_id
  • alias
  • agent_direction
  • agent_commentary
  • agent_id_group
  • agent_last_contact
  • agent_mode
  • agent_interval
  • agent_id_os
  • agent_os_version
  • agent_version
  • agent_last_remote_contact
  • agent_disabled
  • agent_id_parent
  • agent_custom_id
  • agent_server_name
  • agent_cascade_protection
  • agent_name
  • module_id_agent_modulo
  • module_id_agent
  • module_id_module_type
  • module_description
  • module_name
  • module_max
  • module_min
  • module_interval
  • module_tcp_port
  • module_tcp_send
  • module_tcp_rcv
  • module_snmp_community
  • module_snmp_oid
  • module_ip_target
  • module_id_module_group
  • module_flag
  • module_id_module
  • module_disabled
  • module_id_export
  • module_plugin_user
  • module_plugin_pass
  • module_plugin_parameter
  • module_id_plugin
  • module_post_process
  • module_prediction_module
  • module_max_timeout
  • module_custom_id
  • module_history_data
  • module_min_warning
  • module_max_warning
  • module_min_critical
  • module_max_critical
  • module_min_ff_event
  • module_delete_pending
  • module_id_agent_state
  • module_data
  • module_timestamp
  • module_state
  • module_last_try
  • module_utimestamp
  • module_current_interval
  • module_running_by
  • module_last_execution_try
  • module_status_changes
  • module_last_status
  • module_plugin_macros
  • module_macros
  • module_critical_inverse (only in version 6.0SP1 or later)
  • module_warning_inverse (only in version 6.0SP1 or later)
  • alert_id_agent_module
  • alert_id_alert_template
  • alert_internal_counter
  • alert_last_fired
  • alert_last_reference
  • alert_times_fired
  • alert_disabled
  • alert_force_execution
  • alert_id_alert_action
  • alert_type
  • alert_value
  • alert_matches_value
  • alert_max_value
  • alert_min_value
  • alert_time_threshold
  • alert_max_alerts
  • alert_min_alerts
  • alert_time_from
  • alert_time_to
  • alert_monday
  • alert_tuesday
  • alert_wednesday
  • alert_thursday
  • alert_friday
  • alert_saturday
  • alert_sunday
  • alert_recovery_notify
  • alert_field2_recovery
  • alert_field3_recovery
  • alert_id_alert_template_module
  • alert_fires_min
  • alert_fires_max
  • alert_id_alert_command
  • alert_command
  • alert_internal
  • alert_template_modules_id
  • alert_templates_id
  • alert_template_module_actions_id
  • alert_actions_id
  • alert_commands_id
  • alert_templates_name
  • alert_actions_name
  • alert_commands_name
  • alert_templates_description
  • alert_commands_description
  • alert_template_modules_priority
  • alert_templates_priority
  • alert_templates_field1
  • alert_actions_field1
  • alert_templates_field2
  • alert_actions_field2
  • alert_templates_field3
  • alert_actions_field3
  • alert_templates_id_group
  • alert_actions_id_group'
1.3.2.11.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=tree_agents&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=tree_agents&return_type=csv&other=;|%20|type_row,group_id,agent_name&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.12 get module_data

Returns a list of values of a module, this module is filtered by the id of module pass as id in the url. And the list of values is from the now to the period limit passed as second parameter into the other parameter, the first is the CSV separator.

Call syntax:

  • op=set (required)
  • op2=module_data (required)
  • id=<id_modulo> (required)
  • other_mode=url_encode_separator_<separator> (required)
  • other=<serialized parameters> (optional)
  • The CSV divider character (point by default)
  • The period (in seconds)
  • Start time (<year><month><day>T<hour>:<minute>)
  • End time (<year><month><day>T<hour>:<minute>)
1.3.2.12.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_data&id=17&other=;|604800|20121201T13:40|20171215T13:40&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.13 get graph_module_data

Returns the chart of a module as an image file, this chart is generated with the same method of static graphs of Pandora FMS. It is necesary to include the width, height, period, label and start date of chart (knowing in Pandora FMS the date indicated in graphs is always the data end) into the other parameter.


Call syntax:

  • op=set (required)
  • op2=module_data (required)
  • id=<id_modulo> (required)
  • other=<serialized parameters> (required). They are the following in this order:
  • <period>
  • <width>
  • <height>
  • <label>
  • <start_date>
1.3.2.13.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=graph_module_data&id=17&other=604800|555|245|pepito|2009-12-07&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.14 get events

It returns a list of events filtered by the other parameter.


This feature is in Metaconsole.


Call syntax:

  • op=get (required)
  • op2=events (required)
  • return_type=csv (required)
  • other_mode=url_encode_separator_| (optional)
  • other=<serialized parameters> (optional). They are the following in this order:
  • <separator>
  • <criticity> Values from 0 to 4, or -1 to avoid this param
  • <agent alias>
  • <module name>
  • <alert template name>
  • <user>
  • <numeric interval minimum level > in unix timestamp
  • <numeric interval maximum level > in unix timestamp
  • <status>
  • <event substring>
  • <register limit>
  • <offset register>
  • <optional style [total|more_criticity]> (total - it returns the number of the records, more_criticity - it returns the highest criticity value)
  • <event type> unknown, alert_fired, alert_recovered,.. or its substring. You may also use 'not_normal'.
1.3.2.14.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=events&return_type=csv&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=events&other_mode=url_encode_separator_|&return_type=csv&other=;|2|SERVER|CPU|template_alert00||1274715715|127471781&apipass=1234&user=admin&pass=pandora

1.3.2.15 get all_alert_templates

It returns the list of alert templates defined in Pandora FMS.

Call syntax:

  • op=get (required)
  • op2=all_alert_templates (required)
  • other=cvs_separator (optional)
1.3.2.15.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_alert_templates&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora


1.3.2.16 get module_groups

It returns the list of module groups.

Call syntax:

  • op=get (required)
  • op2=module_groups (required)
  • other=cvs_separator (optional)
1.3.2.16.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_groups&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora

1.3.2.17 get plugins

It returns the list of Pandora FMS server plugins.

Call syntax:

  • op=get (required)
  • op2=plugins (required)
  • other=cvs_separator (optional)
1.3.2.17.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=plugins&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora

1.3.2.18 get tags

It returns the list of tags defined in Pandora FMS.

Call syntax:

  • op=get (required)
  • op2=tags (required)
  • return_type=csv (required)
1.3.2.18.1 Examples

This example will return all tags in the system.

http://localhost/pandora_console/include/api.php?op=get&op2=tags&return_type=csv&apipass=1234&user=admin&pass=pandora

1.3.2.19 get module_from_conf

>= 5.0 (Only Enterprise)

It returns the configuration of a local module.

Call syntax:

  • op=get (required)
  • op2=update_module_in_conf (required)
  • id=<agent id> (required)
  • id2=<module name> (required)
1.3.2.19.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_from_conf&apipass=1234&user=admin&pass=pandora&id=9043&id2=example_name

It returns an empty string if no modules are found.

1.3.2.20 get total_modules

Total modules by group.

Call syntax:

  • op=get (required)
  • op2=total_modules (required)
  • id=<id group> (required)
1.3.2.20.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=total_modules&id=2&apipass=1234&user=admin&pass=pandora

If the group id is 0, it returns the total amount of modules.

1.3.2.21 get total_agents

Total agents by group.

Call syntax:

  • op=get (required)
  • op2=total_agents (required)
  • id=<id group> (required)
1.3.2.21.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=total_agents&id=2&apipass=1234&user=admin&pass=pandora

1.3.2.22 get agent_name

Agent name for a given id

Call syntax:

  • op=get (required)
  • op2=agent_name (required)
  • id=<agent id> (required)
1.3.2.22.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=agent_name&id=1&apipass=1234&user=admin&pass=pandora

1.3.2.23 get agent_alias

>= 7.0NG

Agent alias for a given id.

Call syntax:

  • op=get (required)
  • op2=agent_alias (required)
  • id=<agent id> (required)
  • id2=<node id> (required in the meta console, unnecessary in the node)
1.3.2.23.1 Examples
  • Node:
http://localhost/pandora_console/include/api.php?op=get&op2=agent_alias&id=1&apipass=1234&user=admin&pass=pandora
  • Metaconsole:
http://localhost/pandora_console/enterprise/meta/include/api.php?op=get&op2=agent_alias&id=1&id2=1&apipass=1234&user=admin&pass=pandora

1.3.2.24 get module_name

Module name for a given id.

Call syntax:

  • op=get (required)
  • op2=module_name (required)
  • id=<module id> (required)
1.3.2.24.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=module_name&id=1&apipass=1234&user=admin&pass=pandora

1.3.2.25 get alert_action_by_group

Total alert execution with an action by group.

Call syntax:

  • op=get (required)
  • op2=alert_action_by_group (required)
  • id=<group id> (required)
  • id2=<action id> (required)
1.3.2.25.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=alert_action_by_group&id=0&id2=3&apipass=1234&user=admin&pass=pandora

1.3.2.26 get alert_actions

List of alert actions

Call syntax:

  • op=get (required)
  • op2=alert_actions (required)
  • return_type=<return type> (required). It can be 'csv' or 'json'.
  • other=<serialized parameters> (optional):
  • <action_name> (optional)
  • <separator> (optional)
1.3.2.26.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=alert_actions&apipass=1234&user=admin&pass=pandora&other=Create|&other_mode=url_encode_separator_|&return_type=json

1.3.2.27 get alert_actions_meta

This feature is in Metaconsole.


List of node alert actions from Metaconsole.

Call syntax:

  • op=get (required)
  • op2=alert_actions_meta (required)
  • return_type=<return type> (required). It can be 'csv' o 'json'.
  • other=<serialized parameters> (optional):
  • <server_name> (optional)
  • <action_name> (optional)
  • <separator> (optional)
1.3.2.27.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=alert_actions_meta&apipass=1234&user=admin&pass=pandora&other=nodo|Create|&other_mode=url_encode_separator_|&return_type=json


1.3.2.28 get all_alert_commands

It returns all the alert commands.

Call syntax:

  • op=get (required)
  • op2=all_alert_commands (required)
  • other=cvs_separator(optional)
1.3.2.28.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=all_alert_commands&return_type=csv&other=$&apipass=1234&user=admin&pass=pandora


1.3.2.29 get event_info

It returns all event data by typing in the event id.


This feature is in Metaconsole.


Call syntax:

  • op=get (required)
  • op2=event_info (required)
  • id=<id_event> (required)
1.3.2.29.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=event_info&id=80&apipass=1234&user=admin&pass=pandora

1.3.2.30 get tactical_view

It returns the following value list (this values can be seen in the tactical page in Pandora FMS Console)

  • monitor_checks
  • monitor_not_init
  • monitor_unknown
  • monitor_ok
  • monitor_bad
  • monitor_warning
  • monitor_critical
  • monitor_not_normal
  • monitor_alerts
  • monitor_alerts_fired
  • monitor_alerts_fire_count
  • total_agents
  • total_alerts
  • total_checks
  • alerts
  • agents_unknown
  • monitor_health
  • alert_level
  • module_sanity
  • server_sanity
  • total_not_init
  • monitor_non_init
  • agent_ok
  • agent_warning
  • agent_critical
  • agent_unknown
  • agent_not_init
  • global_health

Call syntax:

  • op=get (required)
  • op2=tactical_view (required)
1.3.2.30.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=tactical_view&apipass=1234&user=admin&pass=pandora

1.3.2.31 get pandora_servers

>= 5.0

It returns the list of Pandora FMS servers.

Call syntax:

  • op=get (required)
  • op2=pandora_servers (required)
  • other=cvs_separator (optional)
  • return_type=csv (required)
1.3.2.31.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=pandora_servers&return_type=csv&apipass=1234&user=admin&pass=pandora

It returns the fields in this order:

  • name
  • status (1 - up, 0 - down)
  • type (human readable string)
  • master (1 - master, 0 - not master)
  • running modules
  • total modules
  • max delay (sec)
  • delayed modules
  • threads
  • queued_modules
  • timestamp of update (human readable string)

1.3.2.32 get custom_field_id

>= 5.0

It translates the name of custom field into the id in the data base.

Call syntax:

  • op=get (required)
  • op2=custom_field_id (required)
  • other=<serialized parameters> (required). In this case, custom field name.
  • <name> (required)
1.3.2.32.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=custom_field_id&other=mycustomfield&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.33 get gis_agent

>= 5.0

It returns the last GIS agent data.

Call syntax:

  • op=set (required)
  • op2=gis_agent (required)
  • id=<index> (required). It must be an agent index.
1.3.2.33.1 Example
http://localhost/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=gis_agent&id=1

1.3.2.34 get special_days

>= 5.1

It returns special day's list.

Call syntax:

  • op=get (required)
  • op2=special_days (required)
  • other=<csv separator> (optional). CSV separator
1.3.2.34.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=special_days

1.3.2.35 get module_properties

>= 5.1SP2

It returns a list of module properties. The list could be filtered by parameter.

Call Syntax:

  • op=get (required)
  • op2=module_properties (required)
  • id=module-id (required)
  • return_type=<return kind> (required). That could be 'csv' or 'csv_head'.
  • other=<string or serialized parameters> (optional). In this case, it could be the divider or a parameter list ordered and separated by the divider character. Both cases are exposed:
  • <separator>. The divider "yes" of the 'csv'.
  • <separator csv>|<. Character that replaces the CR|<fields 1>,<fields 2>,<fields N>. It will make up the following parameters in order (the divider character '|' could be specified in "other_mode"):
  • <separator csv>. Field divider in the CSV.
  • <character that replaces the CR>. Character that will be replaced if it finds in any returned character the character RC, in order to avoid the ambiguity with the standard use of the RC character to specify registers/files in the CSV. If you make a string go through other, the replacing character is the blank space.
  • <fields 1>,<fields2>,<fields N>. The fields to output in CSV are:
  • module_id_agent_module
  • module_id_agent
  • module_id_module_type
  • module_description
  • module_name
  • module_max
  • module_min
  • module_interval
  • module_tcp_port
  • module_tcp_send
  • module_tcp_rcv
  • module_snmp_community
  • module_snmp_oid
  • module_ip_target
  • module_id_module_group
  • module_flag
  • module_id_module
  • module_disabled
  • module_id_export
  • module_plugin_user
  • module_plugin_pass
  • module_plugin_parameter
  • module_id_plugin
  • module_post_process
  • module_prediction_module
  • module_max_timeout
  • module_custom_id
  • module_history_data
  • module_min_warning
  • module_max_warning
  • module_min_critical
  • module_max_critical
  • module_min_ff_event
  • module_delete_pending
  • module_id_agent_state
  • module_data
  • module_timestamp
  • module_state
  • module_last_try
  • module_utimestamp
  • module_current_interval
  • module_running_by
  • module_last_execution_try
  • module_status_changes
  • module_last_status
  • module_plugin_macros
  • module_macros
  • module_critical_inverse (only in version 6.0SP1 or later)
  • module_warning_inverse (only in version 6.0SP1 or later)
1.3.2.35.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties&id=6233&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties&id=1103&return_type=csv&other=;|%20|module_id_agent_module,module_id_module_type,module_name,module_last_try,module_state&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.36 get module_properties_by_name

>= 5.1SP2

It returns a list of module properties. The list could be filtered by parameter.

Call Syntax:

  • op=get (required)
  • op2=module_properties_by_name (required)
  • id=agent_name (required)
  • id2=agentmodule_name (required)
  • return_type=<return kind> (required). That could be 'csv' or 'csv_head'.
  • other=<string or serialized parameters> (optional). In this case, it could be the divider or a parameter list in order and separated by the divider character. (the same as 'get module_properties'. For details, see 'get module_properties')
1.3.2.36.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties_by_name&id=my_agent&id2=my_module&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties_by_name&id=my_agent&id2=my_module&return_type=csv&other=;|%20|module_id_agent_module,module_id_module_type,module_type,module_name,module_last_try,module_state&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.37 get module_properties_by_alias

>= 7.0NG

It returns a list of module properties. The list could be filtered by parameter.

Call Syntax:

  • op=get (required)
  • op2=module_properties_by_alias (required)
  • id=agent_alias (required)
  • id2=agentmodule_name (required)
  • return_type=<return kind> (required). That could be 'csv' or 'csv_head'.
  • other=<string or serialized parameters> (optional). In this case, it could be the divider or a parameter list ordered and separated by the divider character (the same as 'get module_properties'. For details, see 'get module_properties').
1.3.2.37.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties_by_alias&id=pandorafms&id2=Memory_Used&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora

1.3.2.38 get module_graph

>= 6.0

It returns a module graph encoded with base64.

Call Syntax:

  • op=get (required)
  • op2=module_graph (required)
  • id=<module id> (required)
  • other=<period in seconds> (optional) 3600 by default (1 hour). Period of time used in the data recovery.
1.3.2.38.1 Examples
http://localhost/pandora_console/include/api.php?op=get&op2=module_graph&id=5&other=3600%7C1&other_mode=url_encode_separator_%7C&apipass=1234&api=1&user=admin&pass=pandora

1.3.2.39 get all_planned_downtimes

>= 5.1

It returns all matches of planned downtime.

op=get op2=all_planned_downtimes return_type=csv other=<name> <group> <type_downtime> <type_execution> <type_periodicity> (for filtering)


1.3.2.39.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_planned_downtimes&other=test|0|quiet|periodically|weekly&other_mode=url_encode_separator_|&return_type=json&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_planned_downtimes&other=test|0|quiet|periodically|weekly&other_mode=url_encode_separator_|&return_type=csv&apipass=1234&user=admin&pass=pandora

1.3.2.40 get planned_downtimes_items

>= 5.1

It returns all matches of planned downtime items.

op=get op2=planned_downtimes_items return_type=csv other=<name> <group> <type_downtime> <type_execution> <type_periodicity> (for filter)

1.3.2.40.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=planned_downtimes_items&other=test|0|quiet|periodically|weekly&other_mode=url_encode_separator_|&return_type=json&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=planned_downtimes_items&other=test|0|quiet|periodically|weekly&other_mode=url_encode_separator_|&return_type=csv&apipass=1234&user=admin&pass=pandora

1.3.2.41 get id_group_agent_by_name

>= 5.1

It returns the group id of an agent.

Call Syntax:

  • op=get
  • op2=id_group_agent_by_name
  • other=<string or serialized parameters>. Agent name and filtering parameters (optional).
  • <agent_name>
1.3.2.41.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=id_group_agent_by_name&other_mode=url_encode_separator_|&other=192.168.50.40

1.3.2.42 get id_group_agent_by_alias

>= 7.0NG

It returns the group id of an agent.

Call Syntax:

  • op=get
  • op2=id_group_agent_by_alias
  • other=<string or serialized parameters>. Agent alias and filtering parameters (optional)
  • <agent_alias>
1.3.2.42.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=id_group_agent_by_alias&other_mode=url_encode_separator_%7C&other=pandorafms

1.3.2.43 get group_agent_by_name

>= 5.1

It returns the group name for a agent.

Call Syntax:

  • op=get
  • op2=group_agent_by_name
  • other=<string or serialized parameters> Agent name and filtering parameters (optional).
  • <agent_name>
1.3.2.43.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=group_agent_by_name&other_mode=url_encode_separator_|&other=192.168.50.40

1.3.2.44 get group_agent_by_alias

>= 7.0NG

It returns the group name for an agent.

Call Syntax:

  • op=get
  • op2=group_agent_by_alias
  • other=<string or serialized parameters>. Agent alias and filtering parameters (optional).
  • <agent_alias>
1.3.2.44.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=group_agent_by_alias&other_mode=url_encode_separator_%7C&other=pandorafms

1.3.2.45 get group_id_by_name

>= 7.0NG

It returns the group id from the name.

Call syntax:

  • op=get
  • op2=group_id_by_name
  • other=<unique parameter> (required):
  • <group_name>
1.3.2.45.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=group_id_by_name&other=Servers

1.3.2.46 get_timezone

>= 7.0NG

It returns the timezone with which pandora is configured.

Call syntax:

  • op=get
  • op2=timezone
1.3.2.46.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=timezone

1.3.2.47 get cluster_status

>= 7.0

It returns the cluster status by id

  • op=get
  • op2=cluster_status
  • id=cluster id
 http://127.0.0.1/pandora_console/include/api.php?op=get&op2=cluster_status&id=1&apipass=1234&user=admin&pass=pandora

1.3.2.48 get cluster_id_by_name

>= 7.0

It returns the id of the cluster by name

  • op=get
  • op2=cluster_id_by_name
  • id=cluster name
 http://127.0.0.1/pandora_console/include/api.php?op=get&op2=cluster_id_by_name&id=paco&apipass=1234&user=admin&pass=pandora

1.3.2.49 get agents_id_name_by_cluster_id

>= 7.0

It returns the id => cluster agents names by cluster id

  • op=get
  • op2=agents_id_name_by_cluster_id
  • id=cluster id
 http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agents_id_name_by_cluster_id&id=1&apipass=1234&user=admin&pass=pandora

1.3.2.50 get agents_id_name_by_cluster_name

>= 7.0 It returns the id => cluster agents names by cluster name

  • op=get
  • op2=agents_id_name_by_cluster_name
  • id=cluster id
 http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agents_id_name_by_cluster_name&id=paco&apipass=1234&user=admin&pass=pandora

1.3.2.51 get modules_id_name_by_cluster_id

>= 7.0

It returns the id => all the module names of the cluster agents by cluster id

  • op=get
  • op2=modules_id_name_by_cluster_id
  • id=cluster id
 http://127.0.0.1/pandora_console/include/api.php?op=get&op2=modules_id_name_by_cluster_id&id=1&apipass=1234&user=admin&pass=pandora

1.3.2.52 get modules_id_name_by_cluster_name

>= 7.0

It returns the id => all the module names of the cluster agents by cluster name

  • op=get
  • op2=modules_id_name_by_cluster_name
  • id=cluster name
 http://127.0.0.1/pandora_console/include/api.php?op=get&op2=modules_id_name_by_cluster_name&id=paco&apipass=1234&user=admin&pass=pandora

1.3.2.53 get cluster_items

>= 7.0

It returns the items of a json object with the format: item id => (name,id,module_agent,type,pcrit,pwarn), by cluster id

pcrit: % for the critic state if its AA or 1 o 0 if its AP

pwarn: % for the warning state if its AA or null if its AP

  • op=get
  • op2=cluster_items
  • id=cluster id
 http://127.0.0.1/pandora_console/include/api.php?op=get&op2=cluster_items&id=1&apipass=1234&user=admin&pass=pandora

1.3.2.54 get policy

>= 7.0NG. 725

It returns all data from a policy. If no policy id is specified, it will return all data from all policies.


Call syntax:

  • op=get
  • op2=policy
  • id=id_policy (optional)
  • return_type=(json, csv, string)
1.3.2.54.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=policy&apipass=1234&user=admin&pass=pandora&return_type=json.

1.3.2.55 get collections_policy

>= 7.0NG. 725

It returns all policy colections. If no policy id is specified, it returns all policy colections.


Call syntax:

  • op=get
  • op2=collections_policy
  • id=id_policy (optional)
  • return_type=(json, csv, string)
1.3.2.55.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=collections_policy&apipass=1234&user=admin&pass=pandora&return_type=json.

1.3.2.56 get plugins_policy

>= 7.0NG. 725

It returns all policy plugins. If no policy id is specified, it returns all policy plugins.

Call syntax:

  • op=get
  • op2=plugins_policy
  • id=id_policy (optional)
  • return_type=(json, csv, string).
1.3.2.56.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=plugins_policy&apipass=1234&user=admin&pass=pandora&return_type=json.

1.3.2.57 get inventory_policy

>= 7.0NG. 725

It returns all inventory modules of a policy. If no policy id is specified, it returns all inventory modules of all policies.


Call syntax:

  • op=get
  • op2=inventory_policy
  • id=id_policy (optional)
  • return_type=(json, csv, string)
1.3.2.57.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=inventory_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=2

1.3.2.58 get unlinking_policy

>= 7.0NG. 725

It returns all unlinked modules of a policy. If no policy id is specified, it returns all unlinked modules of all policies.


Call syntax:

  • op=get
  • op2=unlinking_policy
  • id=id_policy(optional)
  • return_type=(json, csv, string)
1.3.2.58.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=unlinking_policy&apipass=1234&user=admin&pass=pandora&return_type=json.

1.3.2.59 get alerts_policy

>= 7.0NG. 725

It returns the alerts of a policy, taking into account:

  • If a policy id is specified, it returns the alerts of that policy. If not, it returns all alerts of all policies.
  • If the type of alert is specified: (three options).
    • 0: it shows all by default.
    • 1: Shows only the normal alerts.
    • 2: Shows only the external alerts.

Call syntax:

  • op=get
  • op2=alerts_policy
  • id=id_policy(optional)
  • id2= 0:all(by default), 1:normal, 2:external.
  • return_type=(json, csv, string)
1.3.2.59.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=alerts_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id2=2.

1.3.2.60 get alerts_actions_policy

>= 7.0NG. 725

It returns all actions of the alerts of a policy, taking into account:

  • If a policy id is specified, it returns the actions of the alerts of that policy. If not, it returns all the actions of all the alerts of all policies.
  • If an alert id is specified, it returns the action of that alert.

Call syntax:

  • op = get
  • op2 = alerts_actions_policy
  • id = id_policy(optional)
  • id2 = id_policy_alert(optional)
  • return_type=(json, csv, string)
1.3.2.60.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=alerts_actions_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=1&id2=3

1.3.2.61 get agents_policy

>= 7.0NG. 725

It returns all policy agents. If no policy id is specified, it returns all agents of all policies.


Call syntax:

  • op = get
  • op2 = agents_policy
  • id = id_policy(optional)
  • return_type = (json, csv, string)
1.3.2.61.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=agents_policy&apipass=1234&user=admin&pass=pandora&return_type=json.

1.3.2.62 get groups_policy

>= 7.0NG. 725

It returns all groups of a policy. If no policy id is specified, it returns all groups of all policies.

Call syntax:

  • op = get
  • op2 = groups_policy
  • id = id_policy(optional)
  • return_type = (json, csv, string)
1.3.2.62.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=groups_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=2

1.3.2.63 get queue_policy

>= 7.0NG. 725

It returns the queue of a policy. If no id policy is specified, its returns all queues of all policies.

Call syntax:

  • op = get
  • op2 = queue_policy
  • id = id_policy(optional)
  • return_type = (json, csv, string)
1.3.2.63.1 Example
http://localhost/pandora_console/include/api.php?op=get&op2=queue_policy&apipass=1234&user=admin&pass=pandora&return_type=json

1.3.2.64 get traps

>= 7.0NG. 728

It returns the specified source traps, they can also be filtered by timestamp and other data.

Call syntax:

  • op = get
  • op2 = traps
  • other=<optional parameters>:
  • <timestamp>
  • <limit>
  • <offset>
  • <status>
  • <oid_custom>
1.3.2.64.1 Example
https://localhost/pandora_console/include/api.php?op=get&op2=traps&other=1537128000%7C9000%7C0%7C1%7C.1.2.3.6.4&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.2.65 get event_responses

It returns the response list of events the user has access to in Pandora FMS.

Call syntax:

  • op=get (required)
  • op2=event_reponses (required)
  • return_type=csv|json (required)
1.3.2.65.1 Example

This example will return all system event responses in csv format.

http://localhost/pandora_console/include/api.php?op=get&op2=event_responses&return_type=csv&apipass=1234&user=admin&pass=pandora

1.3.2.66 get users

It returns the list of Pandora FMS users.

Call syntax:

  • op=get (required)
  • op2=users (required)
  • return_type=csv|json (required)
1.3.2.66.1 Example

This example will return all users in csv format.

http://localhost/pandora_console/include/api.php?op=get&op2=users&return_type=csv&apipass=1234&user=admin&pass=pandora&other_mode=url_encode_separator_&

1.3.2.67 get list all user

This feature is in Metaconsole.


It lists all Pandora FMS users.

Call syntax:

  • op=get (required)
  • op2=list_all_user(required)
  • return_type=csv|json (required)
1.3.2.67.1 Example

It can return Json or CSV, this return is remarked through the URL. Only the type of return is remarked, it does not use any specific variable

http://localhost/pandora_console/include/api.php?op=get&op2=list_all_user&return_type=json&apipass=1234&user=admin&pass=pandora

1.3.2.68 get info user name

This feature is in Metaconsole.


It lists user data.

Call syntax:

  • op=get (required)
  • op2=list_all_user(required)
  • return_type=csv|json (required)
  • other= usernarme (requiered)
1.3.2.68.1 Example

It obtains all the information about a specific user. It can return Json or CSV. This return is specified through the URL. Only the username is used to obtain said information:

http://localhost/pandora_console/include/api.php?op=get&op2=info_user_name&return_type=json&other=admin&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.69 get user_profiles_info

It returns the list of Pandora FMS user profiles.

Call syntax:

  • op=get (required)
  • op2=user_profiles_info (required)
  • return_type=csv|json (required)
1.3.2.69.1 Example

This example will return all user profiles in json format.

http://localhost/pandora_console/include/api.php?op=get&op2=user_profiles_info&return_type=csv&apipass=1234&user=admin&pass=pandora&other_mode=url_encode_separator_&

1.3.2.70 get migrate_agent

>= 7.21 ONLY METACONSOLE

It looks up whether an especific agent exists in migration queue, returning the data of migration_queue.

  • op=get
  • op2=migrate_agent
  • id=id_agente a migrar
  • return_type = string, json, etc
1.3.2.70.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=migrate_agent&apipass=1234&user=admin&pass=pandora&id=2&return_type=json

1.3.2.71 get language

>= 7.0NG 730

It returns the language with which Pandora FMS is configured.

Call syntax:

  • op=get
  • op2=language
1.3.2.71.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=language

1.3.2.72 get session_timeout

>= 7.0NG 730

It returns the session time with which Pandora FMS is configured.

Call syntax:

  • op=get
  • op2=session_timeout
1.3.2.72.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=session_timeout

1.3.2.73 get groups

>= 7.0NG 732

It returns the existing groups.

Call syntax:

  • op=get
  • op2=groups
  • other=<optional parameters>:
  • <csv_separator>: ';' by default.
  • <return_all_group>. It returns the group 'All'.
  • <return_all_columns>. It returns all columns.
1.3.2.73.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=groups&other=;%7C1%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.2.74 get filter user group

This feature is in Metaconsole.


It obtains user groups through filtering.

Call syntax:

  • op=get (requiered)
  • op2=filter_user_group (requiered)
  • return_type=csv|json(requiered)
  • other= id group(requiered)|Enabled or not(Disabled)(requiered)
1.3.2.74.1 Example

It can return Json or CSV. This return is remarked through the URL.

Template warning.png

Be careful, one of the two variables (group id or Enabled) may be empty, but at least one of them should be filled out.

 



http://localhost/pandora_console/include/api.php?op=get&op2=filter_user_group&return_type=json&other=0|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.2.75 get inventory_modules

It returns the list of Pandora inventory modules.

Call syntax:

  • op=get (required)
  • op2=inventory_modules (required)
  • return_type=csv|json (required)
1.3.2.75.1 Examples

This example will return information from all of the system's inventories in json format.

http://localhost/pandora_console/include/api.php?op=get&op2=inventory_modules&return_type=json&apipass=1234&user=admin&pass=pandora

1.3.2.76 get list_collections

It returns the list of all the collections in Pandora FMS.

Call syntax:

  • op=get (required)
  • op2=list_collections (required)
1.3.2.76.1 Examples

This example will return information from all collections in json format.

http://localhost/pandora_console/include/api.php?op=get&op2=list_collections&apipass=1234&user=admin&pass=pandora

1.3.2.77 get list_collection_files

It returns the list of all files in a collection. If it does not receive a collection id, it will return all files from all collections.

Call syntax:

  • op=get (required)
  • op2=list_collections_files (required)
  • id=id_collection
1.3.2.77.1 Examples

This example will return the names of all files in a collection in json format.

http://localhost/pandora_console/include/api.php?op=get&op2=list_collection_files&id=1&apipass=1234&user=admin&pass=pandora

1.3.3 SET

It sends data.

1.3.3.1 set new_agent

It creates a new agent with the data sent as parameters.

Call syntax:

  • op=set (required)
  • op2=new_agent (required)
  • other=<serialized parameters> (required). They are the agent configuration and data, serialized in the following order:
  • <agent_alias>
  • <ip>
  • <id_parent>
  • <id_group>
  • <cascade_protection>
  • <cascade_protection_module>
  • <interval_sec>
  • <id_os>
  • <name_server>
  • <custom_id>
  • <learning_mode>
  • <disabled>
  • <description>
  • <alias_as_name>
1.3.3.1.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_agent&other=agente_alias%7C1.1.1.1%7C0%7C4%7C0%7C0%7C300%7C10%7Cpandorafms%7C8%7C10%7C%7Cla%20descripcion%7C1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
  • Note: If alias_as_name is 1, the agent name will be the same as the alias. If it is 0, the agent name will be automatically generated.

1.3.3.2 set update_agent

It updates a new agent with data as parameters.

Call syntax:

  • op=set (required)
  • op2=update_agent (required)
  • id=<id_agent> (required)
  • other=<serialized parameters> (required). They are agent configuration and data, serialized in the following order:
  • <agent_alias>
  • <ip>
  • <id_parent>
  • <id_group>
  • <cascade_protection>
  • <interval_sec>
  • <id_os>
  • <name_server>
  • <custom_id>
  • <learning_mode>
  • <disabled>
  • <description>
1.3.3.2.1 Examples
http://127.0.0.1/pandora_console/include/api.php?id=5&op=set&op2=update_agent&other=agente_nombre%7C1.1.1.1%7C0%7C4%7C0%7C0%7C30%7C8%7Clocalhost.localdomain%7C%7C0%7C0%7Cla%20descripcion&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.3 Set delete_agent

It deletes an agent that has the name as parameter.

Call syntax:

  • op=set (required)
  • op2=delete_agent (required)
  • id=<name_agent> (required). It should be an agent name.
1.3.3.3.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_agent&id=agente_erroneo&apipass=1234&user=admin&pass=pandora

1.3.3.4 set create_module_template

It creates an alert from a template as id parameter, in a module chosen by the module id agent id in other.

Call syntax:

  • op=set (required)
  • op2=create_module_template (required)
  • id=<id_template> (required). It should be a template id.
  • other=<id_module>|<id_agent>
1.3.3.4.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_module_template&id=1&other=1|10&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.5 set apply_module_template

It applies module template to agent.

Module template is an group which contains network check modules. These templates can be applied directly to agents, avoiding adding modules one by one.

Call Syntax:

  • op=set (required)
  • op2=apply_module_template (required)
  • id<id_template> (required). Id of the template that will be applied on the module.
  • id2<id_agente> (required). Id of the agent in which the modules will be created.
1.3.3.5.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=apply_module_template&id=2&id2=2&apipass=1234&user=admin&pass=pandora

1.3.3.6 set create_network_module

It creates a network module from data as parameters.

Call syntax:

  • op=set (required)
  • op2=create_network_module (required)
  • id=<agent_name> (required). It should be an agent name.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <name_module>
  • <disabled>
  • <id_module_type>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <ip_target>
  • <tcp_port>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min>
  • <max>
  • <custom_id>
  • <description>
  • <enable_unknown_events> (only in version 5 or later)
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <critical_inverse> (only in version 6.0SP1 or later)
  • <warning_inverse> (only in version 6.0SP1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.6.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_network_module&id=pepito&other=prueba|0|7|1|10|15|0|16|18|0|15|0|127.0.0.1|0||0|180|0|0|0|0|latency%20ping&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.7 set create_plugin_module

It creates a module plugin with data as parameters.

Call Syntax:

  • op=set (required)
  • op2=create_plugin_module (required)
  • id=<agent_name> (required). It should be an agent name.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <name_module>
  • <disabled>
  • <id_module_type>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <ip_target>
  • <tcp_port>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min_value>
  • <max_value>
  • <custom_id>
  • <description>
  • <id_plugin>
  • <plugin_user>
  • <plugin_pass>
  • <plugin_parameter>
  • <enable_unknown_events> (only in version 5 or later)
  • <macros> (only in version 5 or later). It should be a base64 encoded JSON document. The content should be an object made up by objects with the following properties:
    • "macro": Macro name. It should be _field1_, _field2_, ..., _fieldN_.
    • "desc": Descriptive macro name.
    • "help": Macro description.
    • "value": Macro value.
    • "hide": Set to "1" to hide the macro value (useful for storing passwords).
1.3.3.7.1 Example
{
 "1": {
   "macro": "_field1_",
   "desc": "Target IP",
   "help": "",
   "value": "192.168.0.1",
   "hide": ""
 },
 "2": {
   "macro": "_field2_",
   "desc": "Port",
   "help": "",
   "value": "80",
   "hide": ""  

}

}
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <critical_inverse> (only in version 6.0SP1 or later)
  • <warning_inverse> (only in version 6.0SP1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.7.2 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_plugin_module&id=pepito&other=prueba|0|1|2|0|0||0|0||0|0|127.0.0.1|0||0|300|0|0|0|0|plugin%20module%20from%20api|2|admin|pass|-p%20max&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.8 set create_data_module

It creates a module with the given parameters.

Template warning.png

With this call, you may add database module data but the configuration file of the agents associated to the module cannot be modified.

 


Call Syntax:

  • op=set (required)
  • op2=create_data_module (required)
  • id=<agent_name> (required). It should be an agent name.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <name_module>
  • <disabled>
  • <id_module_type>
  • <description>
  • <id_module_group>
  • <min_value>
  • <max_value>
  • <post_process>
  • <module_interval>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <history_data>
  • <enable_unknown_events> (only in version 5 or later)
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <ff_threshold> (only in version 5.1 or later)
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <ff_timeout> (only in version 5.1 or later)
  • <critical_inverse> (only in version 6.0SP1 or later)
  • <warning_inverse> (only in version 6.0SP1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.8.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_data_module&id=pepito&other=prueba|0|1|data%20module%20from%20api|1|10|20|10.50|180|10|15||16|20||0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.9 set create_SNMP_module

It creates an SNMP module.

Call Syntax:

  • op=set (required)
  • op2=create_snmp_module (required)
  • id=<agent_name> (required). It should be an agent name.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <name_module>
  • <disabled>
  • <id_module_type>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <ip_target>
  • <module_port>
  • <snmp_version>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min_value>
  • <max_value>
  • <custom_id>
  • <description>
  • <snmp3_priv_method [AES|DES]>
  • <snmp3_priv_pass>
  • <snmp3_sec_level [authNoPriv|authPriv|noAuthNoPriv]>
  • <snmp3_auth_method [MD5|SHA]>
  • <snmp3_auth_user>
  • <snmp3_auth_pass>
  • <enable_unknown_events> (only in version 5 or later)
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.9.1 Examples

Example 1 (snmp v: 3, snmp3_priv_method: AES, snmp3_priv_pass: example_priv_passw, snmp3_sec_level: authNoPriv, snmp3_auth_method:MD5, snmp3_auth_user: pepito_user, snmp3_auth_pass: example_priv_passw)

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_snmp_module&id=pepito&other=prueba|0|15|1|10|15||16|18||15|0|127.0.0.1|60|3|public|.1.3.6.1.2.1.1.1.0|180|0|0|0|0|SNMP%20module%20from%20API|AES|example_priv_passw|authNoPriv|MD5|pepito_user|example_auth_passw&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

Example 2 (snmp v: 1)

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_snmp_module&id=pepito1&other=prueba2|0|15|1|10|15||16|18||15|0|127.0.0.1|60|1|public|.1.3.6.1.2.1.1.1.0|180|0|0|0|0|SNMP module from API&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.10 set update_network_module

It updates the network module.

Call syntax:

  • op=set (required)
  • op2=update_network_module (required)
  • id=<module_id> (required). It should be a module id.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <id_agent>
  • <disabled>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <ip_target>
  • <module_port>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min>
  • <max>
  • <custom_id>
  • <description>
  • <disabled_types_event> (only in version 5 or later)
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <critical_inverse> (only in version 6.0SP1 or later)
  • <warning_inverse> (only in version 6.0SP1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.10.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_network_module&id=3431&other=44|0|2|10|15||16|18||7|0|127.0.0.1|0||0|300|30.00|0|0|0|latency%20ping%20modified%20by%20the%20Api&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.11 set update_plugin_module

It updates the plugin module.

Call Syntax:

  • op=set (required)
  • op2=update_plugin_module (required)
  • id=<module_id> (required). It should be a module id.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <id_agent>
  • <disabled>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <ip_target>
  • <module_port>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min_value>
  • <max_value>
  • <custom_id>
  • <description>
  • <id_plugin>
  • <plugin_user>
  • <plugin_pass>
  • <plugin_parameter>
  • <disabled_types_event> (only in version 5 or later)
  • <macros> (only in version 5 or later). It should be a base64 encoded JSON document. The content should be an object made up by objects with the following properties:
    • "macro": Macro name. Should be _field1_, _field2_, ..., _fieldN_.
    • "desc": Descriptive name of the macro.
    • "help": Macro description.
    • "value":Macro value.
1.3.3.11.1 Example
{
 "1": {
   "macro": "_field1_",
   "desc": "Target IP",
   "help": "",
   "value": "192.168.0.1"
 },
 "2": {
   "macro": "_field2_",
   "desc": "Port",
   "help": "",
   "value": "80"
 }
}
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <critical_inverse> (only in version 6.0SP1 or later)
  • <warning_inverse> (only in version 6.0SP1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.11.2 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_plugin_module&id=2343&other=44|0|2|0|0||0|0||0|0|127.0.0.1|0||0|300|0|0|0|0|plugin%20module%20from%20api|2|admin|pass|-p%20max&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.12 set update_data_module

Template warning.png

With this call, a database module data can be added but the configuration file of the agents associated to the module cannot be modified.

 


It updates the local module.

Call Syntax:

  • op=set (required)
  • op2=update_data_module (required)
  • id=<module_id> (required). It should be the module id to be updated.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <id_agent>
  • <disabled>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <ip_target>
  • <module_port>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min_value>
  • <max_value>
  • <custom_id>
  • <description>
  • <disabled_types_event> (only in version 5 or later)
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <ff_threshold> (only in version 5.1 or later)
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <ff_timeout> (only in version 5.1 or later)
  • <critical_inverse> (only in version 6.0SP1 or later)
  • <warning_inverse> (only in version 6.0SP1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.12.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_data_module&id=23234&other=44|0|data%20module%20modified%20from%20API|6|0|0|50.00|300|10|15||16|18||0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.13 set update_data_module_policy

It updates a data module in a policy and returns an id from the new module.

Call Syntax:

  • op=set (required)
  • op2=update_data_module (required)
  • id=<id_agent_module> (required). Id of the target policy module.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <id_policy_module>
  • <description>
  • <id_module_group>
  • <min>
  • <max>
  • <post_process>
  • <module_interval>
  • <min_warning>
  • <max_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <history_data>
  • <configuration_data>
  • <disabled_types_event> (only in version 5 or later)
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
1.3.3.13.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_data_module_policy&id=1&other=10~data%20module%20updated%20by%20Api~2~0~0~50.00~10~20~180~~21~35~~1~module_begin%0dmodule_name%20pandora_process%0dmodule_type%20generic_data%0dmodule_exec%20ps%20aux%20|%20grep%20pandora%20|%20wc%20-l%0dmodule_end&other_mode=url_encode_separator_

1.3.3.14 set update_SNMP_module

It updates an SNMP module.

Call Syntax:

  • op=set (required)
  • op2=update_snmp_module (required)
  • id=<module_id> (required). It should be a module id.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <id_agent>
  • <disabled>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <ip_target>
  • <module_port>
  • <snmp_version>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min_value>
  • <max_value>
  • <custom_id>
  • <description>
  • <snmp3_priv_method [AES|DES]>
  • <snmp3_priv_pass>
  • <snmp3_sec_level [authNoPriv|authPriv|noAuthNoPriv]>
  • <snmp3_auth_method [MD5|SHA]>
  • <snmp3_auth_user>
  • <snmp3_auth_pass>
  • <disabled_types_event> (only in version 5 or later)
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.14.1 Examples

Example (snmp v: 3, snmp3_priv_method: AES, snmp3_priv_pass: example_priv_passw, snmp3_sec_level: authNoPriv, snmp3_auth_method:MD5, snmp3_auth_user: pepito_user, snmp3_auth_pass: example_priv_passw)

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_snmp_module&id=33432&other=44|0|6|20|25||26|30||15|1|127.0.0.1|60|3|public|.1.3.6.1.2.1.1.1.0|180|50.00|10|60|0|SNMP%20module%20modified%20by%20API|AES|example_priv_passw|authNoPriv|MD5|pepito_user|example_auth_passw&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.15 set apply_policy

It applies the policy, once it has gone through id, in one or several agents.

Call syntax:

  • op=set (required)
  • op2=apply_policy (required)
  • id=<id_policy> (required)
  • id2=<id_agent> (optional). Id or name of the agent as indicated in the other parameter. If it is empty, the policy will be applied to all its agents.
  • other=<serialized parameters>
  • <name_agent (Boolean)>. It indicates whether the agent will be sent by Id (0) or by name (1).
  • <server_id> (required when using Metaconsole). Id of the server in which the policy will be applied.
1.3.3.15.1 Examples
http://192.168.70.102/pandora_console/include/api.php?op=set&op2=apply_policy&id=22&id2=3e&other=0|1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.16 set apply_all_policies

It applies all policies within Pandora FMS.

Call syntax:

  • op=set (required)
  • op2=apply_all_policies (required)
1.3.3.16.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=apply_all_policies&apipass=1234&user=admin&pass=pandora

1.3.3.17 set add_network_module_policy

It adds a network module in the policy after it has gone through id in the parameter.

Call syntax:

  • op=set (required)
  • op2=add_network_module_policy (required)
  • id=<id_policy> (required). It should be a policy Id.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <id_module_type>
  • <description>
  • <id_module_group>
  • <min_value>
  • <max_value>
  • <post_process>
  • <module_interval>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <history_data>
  • <ff_threshold>
  • <disabled>
  • <module_port>
  • <snmp_community>
  • <snmp_oid>
  • <custom_id>
  • <enable_unknown_events> (only in version 5 or later)
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.17.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_network_module_policy&id=1&other=network_module_policy_example_name|6|network%20module%20created%20by%20Api|2|0|0|50.00|180|10|20||21|35||1|15|0|66|||0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.18 set add_plugin_module_policy

It adds a plugin module in the policy that has gone through id in the parameter.

Call syntax:

  • op=set (required)
  • op2=add_plugin_module_policy (required)
  • id=<id_policy> (required). It should be a policy Id.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <name_module>
  • <disabled>
  • <id_module_type>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <module_port>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min_value>
  • <max_value>
  • <custom_id>
  • <description>
  • <id_plugin>
  • <plugin_user>
  • <plugin_pass>
  • <plugin_parameter>
  • <enable_unknown_events> (only in version 5)
  • <macros> (only in version 5 or later). It should be a base64 encoded JSON document. The content should be an object made up by objects with the following properties:
    • "macro": Macro name. It should be _field1_, _field2_, ..., _fieldN_.
    • "desc": Descriptive macro name.
    • "help": Macro description.
    • "value":Macro value.
1.3.3.18.1 Example
{
 "1": {
   "macro": "_field1_",
   "desc": "Target IP",
   "help": "",
   "value": "192.168.0.1"
 },
 "2": {
   "macro": "_field2_",
   "desc": "Port",
   "help": "",
   "value": "80"
 }
}
  • <module_macros> (only in version 5 or later). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <each_ff> (only in version 5.1 or later)
  • <ff_threshold_normal> (only in version 5.1 or later)
  • <ff_threshold_warning> (only in version 5.1 or later)
  • <ff_threshold_critical> (only in version 5.1 or later)
  • <ff_type> (only in version 733 or later)
1.3.3.18.2 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_plugin_module_policy&id=1&other=example%20plugin%20module%20name|0|1|2|0|0||0|0||15|0|66|||300|50.00|0|0|0|plugin%20module%20from%20api|2|admin|pass|-p%20max&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.19 set add_data_module_policy

It adds a local module in the policy which has gone through id in the parameter.

Call syntax:

  • op=set (required)
  • op2=add_data_module_policy (required)
  • id=<id_policy> (required). It should be a policy Id.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <name_module>
  • <id_module_type>
  • <description>
  • <id_module_group>
  • <min_value>
  • <max_value>
  • <post_process>
  • <module_interval>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <history_data>
  • <configuration_data>. This is the definition block of the agent that will be entered in the config file of the policy agent.
  • <enable_unknown_events> (only in version 5 or later)
  • <module_macros> (only in version 5). It should be a base64 encoded JSON document made up by an object with one property for each macro. The format of the JSON properties should be "<macro name>": "<macro value>".
  • <ff_threshold> (only in version 5.1 )
  • <each_ff> (only in version 5.1)
  • <ff_threshold_normal> (only in version 5.1)
  • <ff_threshold_warning> (only in version 5.1)
  • <ff_threshold_critical> (only in version 5.1)
  • <ff_timeout> (only in version 5.1)
  • <ff_type> (only in version 734)
1.3.3.19.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_data_module_policy&id=1&other=data_module_policy_example_name~2~data%20module%20created%20by%20Api~2~0~0~50.00~10~20~180~~21~35~~1~module_begin%0dmodule_name%20pandora_process%0dmodule_type%20generic_data%0dmodule_exec%20ps%20aux%20|%20grep%20pandora%20|%20wc%20-l%0dmodule_end&other_mode=url_encode_separator_~&apipass=1234&user=admin&pass=pandora

1.3.3.20 set add_SNMP_module_policy

It adds a SNMP module in the policy which has gone through id in the parameter.

Call syntax:

  • op=set (required)
  • op2=add_snmp_module_policy (required)
  • id=<id_policy> (required). It should be a policy Id.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <name_module>
  • <disabled>
  • <id_module_type>
  • <id_module_group>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <history_data>
  • <module_port>
  • <snmp_version>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min_value>
  • <max_value>
  • <custom_id>
  • <description>
  • <snmp3_priv_method [AES|DES]>
  • <snmp3_priv_pass>
  • <snmp3_sec_level [authNoPriv|authPriv|noAuthNoPriv]>
  • <snmp3_auth_method [MD5|SHA]>
  • <snmp3_auth_user>
  • <snmp3_auth_pass>
  • <enable_unknown_events> (only in version 5 or later)
  • <each_ff> (only in version 5.1)
  • <ff_threshold_normal> (only in version 5.1)
  • <ff_threshold_warning> (only in version 5.1)
  • <ff_threshold_critical> (only in version 5.1)
  • <ff_type> (only in version 734)
1.3.3.20.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_snmp_module_policy&id=1&other=example%20SNMP%20module%20name|0|15|2|0|0||0|0||15|1|66|3|public|.1.3.6.1.2.1.1.1.0|180|50.00|10|60|0|SNMP%20module%20modified%20by%20API|AES|example_priv_passw|authNoPriv|MD5|pepito_user|example_auth_passw&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.21 set add_agent_policy_by_id

It adds an agent to a policy using the agent ID

Call syntax:

  • op=set (required)
  • op2=add_agent_policy_by_id (mandatory)
  • id=<id_policy> (required). It must be a policy Id.
  • other=<serialized parameters> (required). These are agent configuration and data, serialized in the following order:
  • <id_agent>
  • <id_node> (required when using the Metaconsole). ID of the node the agent you wish to add to the policy belongs to.
1.3.3.21.1 Examples
  • Node:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_agent_policy_by_id&id=2&other=1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
  • Metaconsole:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_agent_policy_by_id&id=2&other=1%7C1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.22 set add_agent_policy_by_name

It adds an agent to a policy using the agent name.

Call syntax:

  • op=set (required)
  • op2=add_agent_policy_by_name (required)
  • id=<id_policy> (required). It must be a policy Id.
  • other=<serialized parameters> (required). These are agent configuration and data, serialized in the following order:
  • <agent_name>
1.3.3.22.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_agent_policy_by_name&id=4&other=e76774025b24057cc71df514f27027c43484c3af766ed40f259a86a4fd568f9d&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.23 set remove_agent_from_policy_by_id

It deletes an agent from a policy using the agent ID.

Call syntax:

  • op=set (required)
  • op2=remove_agent_from_policy_by_id (required)
  • id=<id_política> (required). It must be a policy Id.
  • other=<serialized parameters> (required). These are the agent’s configuration and data, serialized in the following order:
  • <id_agent>
  • <id_node> (required when using the Metaconsole). ID of the node the agent you wish to remove from the policy belongs to.
1.3.3.23.1 Examples
  • Node:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=remove_agent_from_policy_by_id&id=2&other=2&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
  • Metaconsole:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=remove_agent_from_policy_by_id&id=4&other=1%7C1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.24 set remove_agent_from_policy_by_name

It deletes an agent from a policy using the agent name.

Call syntax:

  • op=set (required)
  • op2=remove_agent_from_policy_by_name (required)
  • id=<id_policy> (required). It must be a policy Id.
  • other=<serialized parameters> (required). These are the agent’s configuration and data, serialized in the following order:
  • <agent_name>
1.3.3.24.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=remove_agent_from_policy_by_name&id=4&other=e76774025b24057cc71df514f27027c43484c3af766ed40f259a86a4fd568f9d&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.25 set new_network_component

It creates a new network component.

Call syntax:

  • op=set (required)
  • op2=new_network_component (required)
  • id=<network_component_name> (required). It should be the network component name.
  • other=<serialized parameters> (required). They are agent configuration and data of the network component, serialized in the following order:
  • <network_component_type>
  • <description>
  • <module_interval>
  • <max_value>
  • <min_value>
  • <snmp_community>
  • <id_module_group>
  • <max_timeout>
  • <history_data>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <post_process>
  • <network_component_group>
  • <enable_unknown_events> (only in version 5)
  • <each_ff> (only in version 5.1)
  • <ff_threshold_normal> (only in version 5.1)
  • <ff_threshold_warning> (only in version 5.1)
  • <ff_threshold_critical> (only in version 5.1)
  • <ff_type> (only in version 734)
1.3.3.25.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_network_component&id=example_network_component_name&other=7|network%20component%20created%20by%20Api|300|30|10|public|3||1|10|20|str|21|30|str1|10|50.00|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.26 set new_plugin_component

It creates a new plugin component.

Call syntax:

  • op=set (required)
  • op2=new_plugin_component (required)
  • id=<plugin_component_name> (required). It should be the plugin component name.
  • other=<serialized parameters> (required). They are agent configuration and data of the plugin component, serialized in the following order:
  • <plugin_component_type>
  • <description>
  • <module_interval>
  • <max_value>
  • <min_value>
  • <module_port>
  • <id_module_group>
  • <id_plugin>
  • <max_timeout>
  • <history_data>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <post_process>
  • <plugin_component_group>
  • <enable_unknown_events> (only in version 5)
  • <each_ff> (only in version 5.1)
  • <ff_threshold_normal> (only in version 5.1)
  • <ff_threshold_warning> (only in version 5.1)
  • <ff_threshold_critical> (only in version 5.1)
  • <ff_type> (only in version 734)
1.3.3.26.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_plugin_component&id=example_plugin_component_name&other=2|plugin%20component%20created%20by%20Api|300|30|10|66|3|2|example_user|example_pass|-p%20max||1|10|20|str|21|30|str1|10|50.00|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.27 set new_snmp_component

It creates a new SNMP component.

Call syntax:

  • op=set (required)
  • op2=new_snmp_component (required)
  • id=<snmp_component_name> (required). It should be the SNMP component name.
  • other=<serialized parameters> (required). These are the configuration and data of the snmp component, serialized in the following order:
  • <snmp_component_type>
  • <description>
  • <module_interval>
  • <max_value>
  • <min_value>
  • <id_module_group>
  • <max_timeout>
  • <history_data>
  • <min_warning>
  • <max_warning>
  • <str_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <ff_threshold>
  • <post_process>
  • <snmp_version>
  • <snmp_oid>
  • <snmp_community>
  • <snmp3_auth_user>
  • <snmp3_auth_pass>
  • <module_port>
  • <snmp3_privacy_method>
  • <snmp3_privacy_pass>
  • <snmp3_auth_method>
  • <snmp3_security_level>
  • <snmp_component_group>
  • <enable_unknown_events> (only in version 5)
  • <each_ff> (only in version 5.1)
  • <ff_threshold_normal> (only in version 5.1)
  • <ff_threshold_warning> (only in version 5.1)
  • <ff_threshold_critical> (only in version 5.1)
  • <ff_type> (only in version 734)
1.3.3.27.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_snmp_component&id=example_snmp_component_name&other=16|SNMP%20component%20created%20by%20Api|300|30|10|3||1|10|20|str|21|30|str1|15|50.00|3|.1.3.6.1.2.1.2.2.1.8.2|public|example_auth_user|example_auth_pass|66|AES|example_priv_pass|MD5|authNoPriv|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.28 set new_local_component

It creates a new local component.

Call syntax:

  • op=set (required)
  • op2=new_local_component (required)
  • id=<local_component_name> (required). It should be a local component name.
  • other=<serialized parameters> (required). They are configuration and data of the local component, serialized in the following order:
  • <description>
  • <id_os>
  • <local_component_group>
  • <configuration_data>. This is the module configuration block.
  • <enable_unknown_events> (only in version 5)
  • <ff_threshold> (only in version 5.1)
  • <each_ff> (only in version 5.1)
  • <ff_threshold_normal> (only in version 5.1)
  • <ff_threshold_warning> (only in version 5.1)
  • <ff_threshold_critical> (only in version 5.1)
  • <ff_timeout> (only in version 5.1)
  • <ff_type> (only in version 734)
1.3.3.28.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_local_component&id=example_local_component_name&other=local%20component%20created%20by%20Api~5~12~module_begin%0dmodule_name%20example_local_component_name%0dmodule_type%20generic_data%0dmodule_exec%20ps%20|%20grep%20pid%20|%20wc%20-l%0dmodule_interval%202%0dmodule_end&other_mode=url_encode_separator_~&apipass=1234&user=admin&pass=pandora

1.3.3.29 set create_alert_template

It creates an alert template.

Call Syntax:

  • op=set (required)
  • op2=create_alert_template (required)
  • id=<template_name> (required). It is the template name.
  • other=<serialized parameters> (required). They are template configuration and data, serialized in the following order:
  • <type [regex|max_min|max|min|equal|not_equal|warning|critical|onchange|unknown|always]>
  • <description>
  • <id_alert_action>
  • <field1>
  • <field2>
  • <field3>
  • <value>
  • <matches_value>
  • <max_value>
  • <min_value>
  • <time_threshold>
  • <max_alerts>
  • <min_alerts>
  • <time_from>
  • <time_to>
  • <monday>
  • <tuesday>
  • <wednesday>
  • <thursday>
  • <friday>
  • <saturday>
  • <sunday>
  • <recovery_notify>
  • <field2_recovery>
  • <field3_recovery>
  • <priority>
  • <id_group>
1.3.3.29.1 Examples

Example 1 (condition: regexp =~ /pp/, action: Mail to XXX, max_alert: 10, min_alert: 0, priority: WARNING, group: databases):

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_alert_template&id=pepito&other=regex|template%20based%20in%20regexp|1||||pp|1||||10|0|||||||||||||3&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

Example 2 (condition: value is not between 5 and 10, max_value: 10.00, min_value: 5.00, time_from: 00:00:00, time_to: 15:00:00, priority: CRITICAL, group: Servers):

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_alert_template&id=template_min_max&other=max_min|template%20based%20in%20range|NULL||||||10|5||||00:00:00|15:00:00|||||||||||4|2&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.30 set update_alert_template

It updates the template alert.

Call Syntax:

  • op=set (required)
  • op2=update_alert_template (required)
  • id=<id_template> (required). It should be a template id.
  • other=<serialized parameters> (required). They are template configuration and data, serialized in the following order:
  • <template_name>
  • <type [regex|max_min|max|min|equal|not_equal|warning|critical|onchange|unknown|always]>
  • <description>
  • <id_alert_action>
  • <field1>
  • <field2>
  • <field3>
  • <value>
  • <matches_value>
  • <max_value>
  • <min_value>
  • <time_threshold>
  • <max_alerts>
  • <min_alerts>
  • <time_from>
  • <time_to>
  • <monday>
  • <tuesday>
  • <wednesday>
  • <thursday>
  • <friday>
  • <saturday>
  • <sunday>
  • <recovery_notify>
  • <field2_recovery>
  • <field3_recovery>
  • <priority>
  • <id_group>
1.3.3.30.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_alert_template&id=38&other=example_template_with_changed_name|onchange|changing%20from%20min_max%20to%20onchange||||||1||||5|1|||1|1|0|1|1|0|0|1|field%20recovery%20example%201|field%20recovery%20example%202|1|8&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.31 set delete_alert_template

It deletes a alert template and deletes all the alerts it defines.

Call Syntax:

  • op=set (required)
  • op2=delete_alert_template (required)
  • id=<id_template> (required). It should be a template id.
1.3.3.31.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_alert_template&id=38&apipass=1234&user=admin&pass=pandora

1.3.3.32 set delete_module_template

It deletes a module template.

Call Syntax:

  • op=set (required)
  • op2=delete_module_template (required)
  • id=<id_alert_template_module> (required). It should be an alert_template_module id.
1.3.3.32.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_module_template&id=38&apipass=1234&user=admin&pass=pandora

1.3.3.33 set delete_module_template_by_names

It deletes a module template.

Call Syntax:

  • op=set (required)
  • op2=delete_module_template_by_names (required)
  • id=<agent name> (required)
  • id2=<alert template name> (required)
  • other=<serialized parameter> (required). They are the following in this order:
  • <module name> (required)
1.3.3.33.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_module_template_by_names&id=sample-agent&id2=test&other=memfree&apipass=1234&user=admin&pass=pandora

1.3.3.34 set stop_downtime

It stops a downtime.

Call Syntax:

  • op=set (required)
  • op2=stop_downtime (required)
  • id=<id_downtime> (required). It should be an id downtime.
1.3.3.34.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=stop_downtime&id=1&apipass=1234&user=admin&pass=pandora

1.3.3.35 set new_user

It creates a new user in Pandora FMS.

Call Syntax:

  • op=set (required)
  • op2=new_user (required)
  • id=<user_name> (required). It is an user name.
  • other=<serialized parameters> (required). They are user configuration and data, serialized in the following order:
  • <fullname>
  • <firstname>
  • <lastname>
  • <middlename>
  • <password>
  • <email>
  • <phone>
  • <languages>
  • <comments>
  • <time_autorefresh>
  • <default_event_filter>
  • <section>
  • <session_time> (-1 to establish the session as permanent)
1.3.3.35.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_user&id=md&other=miguel|de%20dios|matias|kkk|pandora|[email protected]|666|es|descripcion%20y%20esas%20cosas&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.36 Set update_user

It updates a user selected by the id in the id parameter.

Call Syntax:

  • op=set (required)
  • op2=update_user (required)
  • id=<user_name> (required). It should be a user name.
  • other=<serialized parameters> (required). They are module configuration and data, serialized in the following order:
  • <fullname>
  • <firstname>
  • <lastname>
  • <middlename>
  • <password>
  • <email>
  • <phone>
  • <languages>
  • <comments>
  • <is_admin>
  • <block_size>
  • <flash_chart>
1.3.3.36.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_user&id=example_user_name&other=example_fullname||example_lastname||example_new_passwd|example_email||example_language|example%20comment|1|30|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.37 Set delete_user

It deletes a selected user.

Call syntax:

  • op=set (required)
  • op2=delete_user (required)
  • id=<nombre_usuario> (required). It should be a username.
1.3.3.37.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_user&id=md&apipass=1234&user=admin&pass=pandora

1.3.3.38 Set delete_user_permissions

This feature is in Metaconsole.


It deletes user permissions.

Call syntax:

  • Op = set(requiered)
  • Op2 =delete_user_permission(requiered)
  • Return_type = csv|json(requiered)
  • Other = id profile(requiered)


1.3.3.38.1 Example

It deletes user permissions. It can return Json or CSV, this return is remarked through the URL.

http://localhost/pandora_console/include/api.php?op=set&op2=delete_user_permission&return_type=json&other=2&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.39 Set add_permission_user_group

This feature is in Metaconsole.


It adds permissions to a user group.

Call syntax:

  • Op = set(requiered)
  • Op2 =add_permission_user_to_group(requiered)
  • Return_type = csv|json(requiered)
  • Other = user id(requiered)|group_id(requiered)|profile id(requiered)|No hierarchy(Optional)| profile id(Optional)


1.3.3.39.1 Examples

It can return Json or CSV, this return is remarked through the URL.

Template warning.png

Be careful, no_hierarchy may be empty. If that is the case, it takes value 0.

 


Template warning.png

Be careful, permission id (id_up) in the table can be used if an existing permission must be modified.

 


http://localhost/pandora_console/include/api.php?op=set&op2=add_permission_user_to_group&return_type=json&other=admin|0|1|1|20&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.40 set enable_disable_user

It enables a disabled user.

Call syntax:

  • op=set (required)
  • op2=enable_disable_user (required)
  • id=<user_name> (required). It should be a username.
1.3.3.40.1 Examples

Example 1 (Disable user 'example_name')

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=enable_disable_user&id=example_name&other=0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

Example 2 (Enable user 'example_name')

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=enable_disable_user&id=example_name&other=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.41 set meta_synch_user

This feature is in Metaconsole.


It syncronizes metaconsole users to the node

Call syntax:

  • op=set (required)
  • op2=meta_synch_user (required)
  • other=<serialized parameters> (opcional):
  • <user_name_1,user_name_2,user_name_3..> (Usernames separated by comma and without spaces at the beginning or the end, required)
  • <server_name> (required)
  • <profile_mode(1-0)> (optional)
  • <group_name> (optional)
  • <profile_1,profile_2,profile_3> (Profiles separated by comma and without spaces at the beginning or at the end, optional)
  • <create_groups(1-0)> (optional)
1.3.3.41.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=meta_synch_user&apipass=1234&user=admin&pass=pandora&other=name1,name2|nodo1|0|||&other_mode=url_encode_separator_|

1.3.3.42 set create_group

It creates a group.

Call syntax:

  • op=set (required)
  • op2=create_group (required)
  • id=<group_name> (required). It should be a group name.
  • other=<serialized_parameters> (required). They are the following in this order:
  • <icon name>
  • <parent group id> (optional)
  • <description> (optional)
  • <propagate acl> (optional)
  • <disable alerts> (optional)
  • <custom id> (optional)
  • <contact info> (optional)
  • <other info> (optional)
1.3.3.42.1 Examples

Example 1 (with parent group: Servers)

 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_group&id=example_group_name&other=applications|2&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

Example 2 (without parent group)

 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_group&id=example_group_name2&other=computer|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.43 set update_group

It updates a group with past data as parameters.

Call syntax:

  • op=set (required)
  • op2=update_group (required)
  • id=<group_id> (required). It should be a group id
  • other=<serialized_parameters> (required). They are the following in this order:
  • <group name>
  • <icon name>
  • <parent group id>
  • <description>
  • <propagate acl>
  • <disable alerts>
  • <custom id>
  • <contact info>
  • <other info>
1.3.3.43.1 Example
 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_group&id=example_group_id&other=New%20Name|application|2|new%20description|1|0|custom%20id||&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.44 set delete_group

It deletes a group.

Call syntax:

  • op=set (required)
  • op2=delete_group (required)
  • id=<group_id> (required) it should be a group id
1.3.3.44.1 Example
 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_group&id=303&apipass=1234&user=admin&pass=pandora

1.3.3.45 Set add_user_profile

It adds a profile into user.

Call syntax:

  • op=set (required)
  • op2=add_user_profile (required)
  • id=<user_name> (required). It should be a user name.
  • other=<serialized parameters> (required). They are group and profile configuration and data, serialized in the following order:
  • <group>
  • <profile>
1.3.3.45.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_user_profile&id=md&other=12|4&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.46 set delete_user_profile

It deletes a profile from a user.

Call syntax:

  • op=set (required)
  • op2=delete_user_profile (required)
  • id=<user_name> (required). It should be a user name.
  • other=<serialized parameters> (required). They are the group configuration, data and profile, serialized in the following order:
  • <group>
  • <profile>
1.3.3.46.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_user_profile&id=md&other=12|4&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.47 set new_incident

It creates a new incident.

Call syntax:

  • op=set (required)
  • op2=new_incident (required)
  • other=<serialized parameters> (required). They are incident configuration and data, serialized in the following order:
  • <title>
  • <description>
  • <origin>
  • <priority>
  • <status>
  • <group>
1.3.3.47.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_incident&other=titulo|descripcion%20texto|Logfiles|2|10|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.48 Set new_note_incident

It adds a note within an incident.

Call syntax:

  • op=set (required)
  • op2=new_note_incident (required)
  • id=<id_incident> (required). It is the incident id.
  • id2=<user_name> (required). Username.
  • other=<note> (required). It is the note codified in url encode.
1.3.3.48.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_note_incident&id=5&id2=miguel&other=una%20nota%20para%20la%20incidencia&apipass=1234&user=admin&pass=pandora

1.3.3.49 set validate_all_alerts

It validates all alerts.

Call syntax:

  • op=set (required)
  • op2=validate_all_alerts (required)
1.3.3.49.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=validate_all_alerts&apipass=1234&user=admin&pass=pandora

1.3.3.50 set validate_all_policy_alerts

It validates the alerts created from a policy.

Call syntax:

  • op=set (required)
  • op2=validate_all_policy_alerts (required)
1.3.3.50.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=validate_all_policy_alerts&apipass=1234&user=admin&pass=pandora

1.3.3.51 set event_validate_filter

It validates all events that pass the past filter as parameters.


This feature is in Metaconsole.


Call syntax:

  • op=set (required)
  • op2=event_validate_filter (required)
  • other_mode=url_encode_separator_|(optional)
  • other=<serialized_parameters> (optional). They are the following in this order:
  • <separator>
  • <criticity> From 0 to 4
  • <agent name>
  • <module name>
  • <alert template name>
  • <user>
  • < numeric interval minimum level> en unix timestamp
  • < numeric interval maximum level> en unix timestamp
1.3.3.51.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=event_validate_filter&other_mode=url_encode_separator_|&other=;|2&apipass=1234&user=admin&pass=pandora

1.3.3.52 set event_validate_filter_pro

It is similar to previous call.


This feature is in Metaconsole.


Call syntax:

  • op=set (required))
  • op2=event_validate_filter_pro (required)
  • other_mode=url_encode_separator_| (optional)
  • other=<serialized parameters> (optional). They are the following in this order:
  • <separator>
  • <criticity> From 0 to 4
  • <id agent>
  • <id module>
  • <id agent module alert>
  • <user>
  • <numeric interval minimum level> in unix timestamp
  • <numeric interval maximum level> in unix timestamp
1.3.3.52.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=event_validate_filter_pro&other_mode=url_encode_separator_|&other=;|2&apipass=1234&user=admin&pass=pandora

1.3.3.53 set new_alert_template

It applies a new alert from a template and module which has gone through id agent and module name.

Call syntax:

  • op=set (ob)
  • op2=new_alert_template (required)
  • id=<agent name> (required)
  • id2=<alert template name> (required)
  • other_mode=url_encode_separator_| (optional)
  • other=<serialized parameter> (required). They are the following in this order:
  • <module name> (required)
1.3.3.53.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_alert_template&id=miguel-portatil&id2=test&other_mode=url_encode_separator_|&other=memfree&apipass=1234&user=admin&pass=pandora

1.3.3.54 set alert_actions

It adds actions within an alert.

Call syntax:

  • op=set (required)
  • op2=alert_actions (required)
  • id=<agent name> (required)
  • id2=<alert template name> (required)
  • other_mode=url_encode_separator_| (optional)
  • other=<serialized parameters> (required). They are the following in this order:
  • <module name> (required)
  • <action name> (required)
  • <fires min > (optional)
  • <fires max > (optional)
1.3.3.54.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=alert_actions&id=miguel-portatil&id2=test&other_mode=url_encode_separator_|&other=memfree|test&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=alert_actions&id=miguel-portatil&id2=test&other_mode=url_encode_separator_|&other=memfree|test|1|3&apipass=1234&user=admin&pass=pandora

1.3.3.55 set alert_commands

It adds commands within an alert.

Call syntax:

  • op=set (required)
  • op2=alert_commands (required)
  • id=<name of the command> (required)
  • other_mode=url_encode_separator_| (optional)
  • other=<serialized parameters> (required). They are the following in this order:
  • <command> (required)
  • <id_group> (required)
  • <description > (required)
  • <internal > (optional)
  • <field_description_1><field_value_1><field_description_2><field_value_2>...<field_description_n><field_value_n>
1.3.3.55.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=alert_commands&id=PRUEBA1&other=command|0|Desc|1|des1|val1|des2|val2|des3|val3||val4|des5&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.56 set new_module

It creates a new module.

Call Syntax:

  • op=set (required)
  • op2=new_module (required)
  • id=<agent_name> (required)
  • id2=<new module name> (required)
  • other_mode=url_encode_separator_| (optional)
  • other=<serialized parameters> (required). They are the following in this order:
  • <network module kind > (required)
  • <action name> (required)
  • <ip o url > (required)
  • <port > (optional)
  • <description > (optional)
  • <min > (optional)
  • <max > (optional)
  • <post process > (optional)
  • <module interval > (optional)
  • <min warning > (optional)
  • <max warning > (optional)
  • <min critical > (optional)
  • <max critical > (optional)
  • <history data > (optional)
  • <enable_unknown_events> (only in version 5)
1.3.3.56.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_module&id=miguel-portatil&id2=juanito&other_mode=url_encode_separator_|&other=remote_tcp_string|localhost|33|descripcion%20larga&apipass=1234&user=admin&pass=pandora

1.3.3.57 set delete_module

It deletes a module.

Call syntax:

  • op=set (required)
  • op2=delete_module (required)
  • id=<agent name> (required)
  • id2=<module name> (required)
  • other=simulate (optional)
1.3.3.57.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_module&id=miguel-portatil&id2=juanito&other=simulate&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_module&id=miguel-portatil&id2=juanito&apipass=1234&user=admin&pass=pandora

1.3.3.58 set enable_alert

It enables an agent alert.

Call syntax

  • op=set (required)
  • op2=enable_alert
  • id=<Agent name> (required)
  • id2=<Module name> (required)
  • other: Alert template name (p.e: Warning event) (required)


1.3.3.58.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=enable_alert&id=garfio&id2=Status&other=Warning%20condition&apipass=1234&user=admin&pass=pandora

1.3.3.59 set enable_alert_alias

It enables agent alert by alias.

Call syntax:

  • op=set (required)
  • op2=enable_alert_alias
  • id=<Agent alias> (required)
  • id2=<Module name> (required)
  • other: Alert template name (p.e: Warning event) (required)


1.3.3.59.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=enable_alert_alias&id=nova&id2=CPU%20Load&other=critical%20condition&apipass=1234&user=admin&pass=pandora

1.3.3.60 set disable_alert

It disables an agent alert.

Call syntax:


  • op=set (required)
  • op2=disable_alert
  • id=<Agent name> (required)
  • id2=<Module name> (required)
  • other: Alert template name (p.e: Warning event) (required)


1.3.3.60.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=disable_alert&id=garfio&id2=Status&other=Warning%20condition&apipass=1234&user=admin&pass=pandora

1.3.3.61 set disable_alert_alias

It disables an agent alert.

Call syntax:


  • op=set (required)
  • op2=disable_alert_alias
  • id=<Agent alias> (required)
  • id2=<Module name> (required)
  • other: Alert template name (p.e: Warning event) (required)


1.3.3.61.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=disable_alert_alias&id=nova&id2=CPU%20Load&other=critical%20condition&apipass=1234&user=admin&pass=pandora

1.3.3.62 set enable_module_alerts

Same as enable_alert api call.

Call syntax:

  • op=set (required)
  • op2=enable_module_alerts
  • id=<Name of the agent> (required)
  • id2=<Name of the module> (required)


1.3.3.62.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=enable_module_alerts&id=garfio&id2=Status&apipass=1234&user=admin&pass=pandora

1.3.3.63 set disable_module_alerts

Same as api disable_alert.

Call syntax:

  • op=set (required)
  • op2=disable_module_alerts
  • id=<Name of the agent> (required)
  • id2=<Name of the module> (required)
1.3.3.63.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=disable_module_alerts&id=garfio&id2=Status&apipass=1234&user=admin&pass=pandora

1.3.3.64 set enable_module

It enables the module.

Call syntax

  • op=set (required)
  • op2=enable_module
  • id=<Agent name> (required)
  • id2=<Module name> (required)
1.3.3.64.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=enable_module&id=garfio&id2=Status&apipass=1234&user=admin&pass=pandora

1.3.3.65 set disable_module

It disables the module.

Call syntax:

  • op=set (required)
  • op2=disable_module
  • id=<Agent name> (required)
  • id2=<Module name> (required)
1.3.3.65.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=disable_module&id=garfio&id2=Status&apipass=1234&user=admin&pass=pandora

1.3.3.66 set create_network_module_from_component

It creates a new network module from a component.

Call syntax:

  • op=set (required)
  • op2=create_network_module_from_component (required)
  • id=<Agent name> (required)
  • id2=<Component name> (required)


1.3.3.66.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=create_network_module_from_component&id=garfio&id2=OS%20Total%20process&apipass=1234&user=admin&pass=pandora

1.3.3.67 set module_data

It adds a module value.

Call syntax:

  • op=set (required)
  • op2=module_data (required)
  • id=<id module agent> (required)
  • other: module data and timestamp serialized.
    • dato: data which must belong to any Pandora FMS data type.
    • tiempo: it could be a specified timestamp of the string "now".
1.3.3.67.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=module_data&id=14&other_mode=url_encode_separator_|&other=123|now&apipass=1234&user=admin&pass=pandora

1.3.3.68 set new_module_group

It creates a new module group.

Call syntax:

  • op=set (required)
  • op2=new_module_group (required)
  • id=<name of the module group> (required)
1.3.3.68.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=new_module_group&id=Module_group_name&apipass=1234&user=admin&pass=pandora

1.3.3.69 set module_group_synch

This feature is in Metaconsole.


It syncronizes a module group from the Metaconsole.

Call syntax:

  • op=set (required)
  • op2=module_group_synch (required)
  • other=<serialized parameters> (required). In this case, the name of the server(s)that are required to sync with the meta.
  • <server_name_1><server_name_2>...<server_name_n> (required)
1.3.3.69.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=module_group_synch&other=server_name1|server_name2|server_name3&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.70 set add_module_in_conf

>= 5.0 (Only Enterprise)

It adds the configuration to a local module.

Call syntax:

  • op=set (required)
  • op2=add_module_in_conf (required)
  • id=<agent id> (required)
  • id2=<module name> (required)
  • other: The module data that will be placed in the conf file encoded in base64 (required) (required)
1.3.3.70.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_module_in_conf&apipass=1234&user=admin&pass=pandora&id=9043&id2=example_name&other=bW9kdWxlX2JlZ2luCm1vZHVsZV9uYW1lIGV4YW1wbGVfbmFtZQptb2R1bGVfdHlwZSBnZW5lcmljX2RhdGEKbW9kdWxlX2V4ZWMgZWNobyAxOwptb2R1bGVfZW5k

It will return '0' when it is successful, '-1' when there is an error and '-2' if it already exists.

1.3.3.71 set delete_module_in_conf

>= 5.0 (Only Enterprise)

It deletes a local module configuration.

Call syntax:

  • op=set (required)
  • op2=add_module_in_conf (required)
  • id=<agent id> (required)
  • id2=<module name> (required)
1.3.3.71.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_module_in_conf&user=admin&pass=pandora&id=9043&id2=example_nameInsert non-formatted text here

It will return '0' when it is successful or '-1' when there is an error

1.3.3.72 set update_module_in_conf

>= 5.0 (Only Enterprise)

It updates a local module configuration.

Call syntax:

  • op=set (required)
  • op2=update_module_in_conf (required)
  • id=<agent id> (required)
  • id2=<module name> (required)
  • other: The new module data that will be placed in the conf file encoded in base64 (required)
1.3.3.72.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_module_in_conf&apipass=1234&user=admin&pass=pandora&id=9043&id2=example_name&other=bW9kdWxlX2JlZ2luCm1vZHVsZV9uYW1lIGV4YW1wbGVfbmFtZQptb2R1bGVfdHlwZSBnZW5lcmljX2RhdGEKbW9kdWxlX2V4ZWMgZWNobyAxOwptb2R1bGVfZW5k

It will return '1' when there are no changes, '0' when it is successful, '-1' when there is an error and '-2' if does not exist.

1.3.3.73 set create_event

It creates a new event in Pandora FMS.


This feature is in Metaconsole.


Call syntax:

  • op=set (required)
  • op2=create_event (required)
  • other=<serialized_parameters> (required). Event configuration data as follows:
  • <event_text> (required)(string)
  • <id_group> (required)(string)
  • <id_agent> (required)(numeric)
  • <status>(0 New, 1 Validated, 2 In process)
  • <id_user>(numeric)
  • <event_type>(unknown, alert_fired, alert_recovered, alert_ceased, alert_manual_validation, system, error, new_agent, configuration_change, going_unknown, going_down_critical, going_down_warning, going_up_normal)
  • <severity> (0 Maintenance,1 Informative,2 Normal,3 Warning,4 Crit,5 Minor, 6 Major)
  • <id_agent_module>(numeric)
  • <id_alert_am>(numeric)
  • <critical_instructions>(string)
  • <warning_instructions>(string)
  • <unknown_instructions>(string)
  • <comment>(string)
  • <owner_user>(string)
  • <source>(string)
  • <tags>(string)
  • <custom_data>. Custom data should be a base64 encoded JSON document.
  • <server_id>. The id of the child node (only for Metaconsole).
  • <id_extra> (alphanumeric)


1.3.3.73.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_event&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora&other=Event_name|0|1|0|admin|alert_fired|4|1|||||comment|admin||tags|eyJBbnN3ZXIgdG8gdGhlIFVsdGltYXRlIFF1ZXN0aW9uIG9mIExpZmUsIHRoZSBVbml2ZXJzZSwgYW5kIEV2ZXJ5dGhpbmciOiA0Mn0=||12

1.3.3.74 set add_event_comment

It adds an event comment.

Info.png

This feature can be also used in the Metaconsole

 


Call syntax:

  • op=set (required)
  • op2=add_event_comment (required)
  • other=<serialized_parameters> (required). Event configuration data serialized as follows:
  • <comment> (required)

Info.png

Enter the parameter "true" after "string" to use it in the Metaconsole

 


1.3.3.74.1 Examples
  • Node
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_event_comment&id=event_id&other=string&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
  • Metaconsole
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_event_comment&id=event_id&other=string|true&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.75 set create_netflow_filter

(>=5.0)

It creates a new netflow filter.

Call syntax:

  • op=set (required)
  • op2=create_netflow_filter (required)
  • other=<serialized parameters> (required). It filters data in this order:
  • <filter_name> (required)
  • <group_id> (required)
  • <filter> (required)
  • <aggregate_by> (Possible values: dstip,dstport,none,proto,srcip,srcport) (required)
  • <output_format> (Possible values: kilobytes,kilobytespersecond,megabytes,megabytespersecond) (required)
1.3.3.75.1 Examples
http://127.0.0.1/pandora/include/api.php?op=set&op2=create_netflow_filter&apipass=1234&user=admin&pass=pandora&other=Filter%20name|9|host%20192.168.50.3%20OR%20host%20192.168.50.4%20or%20HOST%20192.168.50.6|dstport|kilobytes&other_mode=url_encode_separator_|

1.3.3.76 set create_custom_field

>= 5.0

It creates a new custom field.

Call syntax:

  • op=set (required)
  • op2=create_custom_field (required)
  • other=<serialized parameters> (required). Parameters to configure the custom field.
  • <name> (required)
  • <flag_display_front> (required; 0 for the field to not be displayed on operation view, 1 for the field to be displayed)
1.3.3.76.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_custom_field&other=mycustomfield|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.77 set create_tag

>= 5.0

It creates a new tag.

Call syntax:

  • op=set (required)
  • op2=create_tag (required)
  • other=<serialized parameters> (required). Parameters to configure the tag.
  • <name> Tag name (required)
  • <description> Tag description
  • <eurl> Tag URL
  • <email> Tag email
1.3.3.77.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_tag&other=tag_name|tag_description|tag_url|tag_email&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.78 set enable_disable_agent

It enables a disabled agent.

Call syntax:

  • op=set (required)
  • op2=enable_disable_agent (required)
  • id=<agent_id> (required). It should be an agent id.
1.3.3.78.1 Examples

Example 1 (Disable agent 'example_id')

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=enable_disable_agent&id=example_id&other=0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

Example 2 (Enable agent 'example_id')

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=enable_disable_agent&id=example_id&other=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.79 set gis_agent_only_position

>= 5.0

It adds a new GIS position within any agent.

Call syntax:

  • op=set (required)
  • op2=gis_agent_only_position (required)
  • id=<índice> (required). Agent index.
  • other=<serialized parameters> (required). Parameters to set the GIS.
  • <latitude> Latitude.
  • <longitude> Longitude.
  • <altitude> Altitude.
1.3.3.79.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=gis_agent_only_position&id=582&other_mode=url_encode_separator_|&other=2%7C1%7C0

1.3.3.80 set gis_agent

>= 5.0

It adds a gis data agent.

Call syntax:

  • op=set (required)
  • op2=gis_agent_only_position (required)
  • id=<índice> (compolsory). Agent index.
  • other=<serialized parameters> (required). Gis data.
  • <latitude>
  • <longitude>
  • <altitude>
  • <ignore_new_gis_data>
  • <manual_placement>
  • <start_timestamp>
  • <end_timestamp>
  • <number_of_packages>
  • <description_save_history>
  • <description_update_gis>
  • <description_first_insert>
1.3.3.80.1 Ejemplo
http://127.0.0.1/pandora5/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=gis_agent&id=582&other_mode=url_encode_separator_|&other=2%7C2%7C0%7C0%7C0%7C2000-01-01+01%3A01%3A01%7C0%7C666%7Caaa%7Cbbb%7Cccc

1.3.3.81 set reset_agent_counts

It updates agent alert and module counting.

Call syntax:

  • op=set (required)
  • op2=reset_agent_counts (required)
  • id=<id_agent> (required). It must be an agent id or "All".
1.3.3.81.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=reset_agent_counts&apipass=1234&user=admin&pass=pandora&id=All

1.3.3.82 set create_special_day

>= 5.1

It adds a new special day.

Call syntax:

  • op=set (required)
  • op2=create_special_day (required)
  • other=<serialized parameters> (required)
  • <special day> Special day.
  • <same day> Same day.
  • <description> Description.
  • <id_group> Group ID.
1.3.3.82.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=create_special_day&other_mode=url_encode_separator_|&other=2014-05-03|Sunday|desc|0

1.3.3.83 set update_special_day

>= 5.1

It updates an already defined special day configuration.

Call syntax:

  • op=set (required)
  • op2=update_special_day (required)
  • id=<special day's id> (required)
  • other=<serialized parameters> (required)
  • <special day> Special day.
  • <same day> Same day.
  • <description> Description.
  • <id_group> Group ID.
1.3.3.83.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=update_special_day&id=1&other_mode=url_encode_separator_|&other=2014-05-03|Sunday|desc|0

1.3.3.84 set delete_special_day

>= 5.1

It deletes a special day.

Call syntax:

  • op=set (required)
  • op2=delete_special_day (required)
  • id=<special day's id> (required)
1.3.3.84.1 Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=delete_special_day&id=1

1.3.3.85 set pagerduty_webhook

>= 5.1

It connects PagerDuty notifications with Pandora FMS alerts. This call is set in the Webhook option in PagerDuty's service to validate Pandora FMS alerts which have been previously linked to Pager Duty when they were validated from PagerDuty.

Call syntax:

  • op=set (required)
  • op2=pagerduty_webhook (required)
  • id=alert (required)
1.3.3.85.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=pagerduty_webhook&apipass=1234&user=admin&pass=pandora&id=alert

1.3.3.86 set tag_user_profile

>= 6

It adds a tag into a user profile.

Call syntax:

  • op = set (required)
  • op2 = tag_user_profile (required)
  • id = id_user (required)
  • id2 = id_tag (required)
  • other_mode = url_encode_separator_| (required)
  • other = <id_group>|<id_profile> (required)


1.3.3.86.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=tag_user_profile&apipass=1234&user=admin&pass=pandora&id=1&id2=2&other_mode=url_encode_separator_|&other=122|3

1.3.3.87 set tag

>= 6

It adds a tag into Pandora FMS.

Call syntax:

  • op = set (required)
  • op2 = tag (required)
  • id = name (required)
  • other_mode = url_encode_separator_| (required)
  • other = <description>|<url>|<email>|<phone>


1.3.3.87.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=tag&apipass=1234&user=admin&pass=pandora&id=test&other_mode=url_encode_separator_|&other="a test"|http://www.artica.es|[email protected]|01189998819991197253

1.3.3.88 set add_tag_module

>= 6

It adds a tag to a module.

Call syntax:

  • op = set (required)
  • op2 = add_tag_module (required)
  • id = id_module (required)
  • id2 = id_tag (required)


1.3.3.88.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_tag_module&apipass=1234&user=admin&pass=pandora&id=1&id2=2

1.3.3.89 set remove_tag_module

>= 6

It removes a tag from a module.

Call syntax:

  • op = set (required)
  • op2 = add_tag_module (required)
  • id = id_module (required)
  • id2 = id_tag (required)


1.3.3.89.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=remove_tag_module&apipass=1234&user=admin&pass=pandora&id=1&id2=2

1.3.3.90 set planned_downtimes_created

>= 5.1

It adds new planned downtime.

  • op=set
  • op2=planned_downtimes_created
  • other=<description>;<date_from>;<date_to>;<id_group>;<monday>;
  • <tuesday>;<wednesday>;<thursday>;<friday>;<saturday>;<sunday>;<periodically_time_from>;<periodically_time_to>;
  • <periodically_day_from>;<periodically_day_to>;<type_downtime>;<type_execution>;<type_periodicity>;<id_user>;

Template warning.png

Date format needs to be MM/DD/YYYY for this call to work properly.

 


1.3.3.90.1 Examples

Once:

http://localhost/pandora_console/include/api.php?op=set&op2=planned_downtimes_created&apipass=1234&user=admin&pass=pandora&id=testing&other=testing|11/05/2018|11/16/2018|0|1|1|1|1|1|1|1|12:06:00|19:06:00|1|31|quiet|once|weekly|admin&other_mode=url_encode_separator_|

Periodically:

http://localhost/pandora_console/include/api.php?op=set&op2=planned_downtimes_created&apipass=1234&user=admin&pass=pandora&id=testing&other=testing|11/05/2018|11/16/2018|0|1|1|1|1|1|1|1|12:06:00|19:06:00|1|31|quiet|periodically|weekly|admin&other_mode=url_encode_separator_|

1.3.3.91 set planned_downtimes_additem

>= 5.1 It adds new items of a planned downtime.

  • op=set
  • op2=planned_downtimes_additem
  • id=planned_downtime_id
  • other= <id_agent1;id_agent2;id_agent3;....id_agentn;>;<name_module1;name_module2;name_module3;......name_modulen;>
1.3.3.91.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=planned_downtimes_additem&apipass=1234&user=admin&pass=pandora&id=123&other=1;2;3;4%7CStatus;Unkown_modules%20&other_mode=url_encode_separator_|

1.3.3.92 set planned_downtimes_deleted

>=5.1

It deletes a planned downtime

  • op=set
  • op2=planned_downtimes_deleted
  • id=planned_downtime_id
1.3.3.92.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=planned_downtimes_deleted&apipass=1234&user=admin&pass=pandora&id=10

1.3.3.93 set create_synthetic_module

>=5.1SP4

It adds a new synthetic module:

  • op=set
  • op2=create_synthetic_module
  • id=Agent name to add module
  • other= <name_module><synthetic_type><AgentName;Operation;NameModule> OR <AgentName;NameModule> OR <Operation;Value>
    • Data of module:
 In arithmetic creations the first piece of data is Agent without operator: AgentName;NameModule or if you type in a value: <Operation;Value>. The rest of values follow this one: <AgentName;Operation;NameModule> or <Operation;Value>
 average: <AgentName;Operation;NameModule> or <Operation;Value>
    • Operation:
 arithmetic: ADD, SUB, MUL, DIV
 average: Only AVG


1.3.3.93.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_synthetic_module&apipass=1234&user=admin&pass=pandora&id=test&other=Test|arithmetic|Agent%20Name;Module%20Name|Agent%20Name2;ADD;Module%20Name2&other_mode=url_encode_separator_|
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_synthetic_module&apipass=1234&user=admin&pass=pandora&id=pepito&other=prueba|average|Agent%20Name;AVG;Name%20Module|Agent%20Name2;AVG;Name%20Module2&other_mode=url_encode_separator_|

1.3.3.94 set create_service

>= 7

It creates a new service.

  • op=set
  • op2=create_service
  • other=<name>;<description>;<id_group>;<critical>;<warning>;<id_agent>;<sla_interval>;<sla_limit>;

<id_warning_module_template_alert>;<id_critical_module_template_alert>;<id_critical_module_sla_template_alert>;

1.3.3.94.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_service&return_type=json&other=test1%7CDescripcion%7C12%7C1%7C0.5%7C1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.95 set update_service

>= 7

It modifies a service.

  • op=set
  • op2=update_service
  • id=service id
  • other=<name>;<description>;<id_group>;<critical>;<warning>;<id_agent>;<sla_interval>;<sla_limit>;

<id_warning_module_template_alert>;<id_critical_module_template_alert>;<id_critical_module_sla_template_alert>;

1.3.3.95.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_service&return_type=json&id=1&other=test2%7CDescripcion2%7C%7C%7C0.6%7C&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.96 set add_element_service

>= 7

It adds elements to a service.

  • op=set
  • op2=add_element_service
  • id=service id
  • other=Json with elements in base64

The structure of the json should be as follows:

[{"type":"agent","id":2,"description":"Test1","weight_critical":0,"weight_warning":0,"weight_unknown":0,"weight_ok":0},{"type":"module","id":1,"description":"Test2","weight_critical":0,"weight_warning":0,"weight_unknown":0,"weight_ok":0},{"type":"service","id":3,"description":"Test3","weight_critical":0,"weight_warning":0,"weight_unknown":0,"weight_ok":0}]

In each type, the id field refers to different things:

- If it belongs to agent type, it is agent id

- If it belongs to module type, it is agent module id

- If it belongs to service type, it is the service id to be added.


1.3.3.96.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_element_service&return_type=json&id=6&other=W3sidHlwZSI6ImFnZW50IiwiaWQiOjIsImRlc2NyaXB0aW9uIjoiamlqaWppIiwid2VpZ2h0X2NyaXRpY2FsIjowLCJ3ZWlnaHRfd2FybmluZyI6MCwid2VpZ2h0X3Vua25vd24iOjAsIndlaWdodF9vayI6MH0seyJ0eXBlIjoibW9kdWxlIiwiaWQiOjEsImRlc2NyaXB0aW9uIjoiSG9sYSBxdWUgdGFsIiwid2VpZ2h0X2NyaXRpY2FsIjowLCJ3ZWlnaHRfd2FybmluZyI6MCwid2VpZ2h0X3Vua25vd24iOjAsIndlaWdodF9vayI6MH0seyJ0eXBlIjoic2VydmljZSIsImlkIjozLCJkZXNjcmlwdGlvbiI6ImplamVqZWplIiwid2VpZ2h0X2NyaXRpY2FsIjowLCJ3ZWlnaHRfd2FybmluZyI6MCwid2VpZ2h0X3Vua25vd24iOjAsIndlaWdodF9vayI6MH1d&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.97 set metaconsole_synch

>= 7

It adds license key to the Metaconsole and performs the synchronization with nodes.

  • op=set
  • op2=metaconsole_synch
  • id=License key
1.3.3.97.1 Example
http://127.0.0.1/pandora_console/enterprise/meta/include/api.php?op=set&op2=metaconsole_synch&id=LICENSEKEY&apipass=1234&user=admin&pass=pandora

1.3.3.98 set migrate_agent

>= 7.21 ONLY METACONSOLE

It adds a selected agent to the agent migration queue.

  • op=set
  • op2=migrate_agent
  • id=id_agent to migrate
  • other=origin node name| destination node name | (true|false) not to migrate historical database
  • other_mode=url_encode_separator_|
  • return_type = string, json, etc
1.3.3.98.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=migrate_agent&apipass=1234&user=admin&pass=pandora&id=2&other=nova|fringe|0&other_mode=url_encode_separator_|&return_type=string

1.3.3.99 set new_cluster

>= 7.0

It creates an agent cluster

It creates a monitoring cluster with agents and items to monitor different nodes.

  • op=set
  • op2=new_cluster
  • other=cluster_name| cluster_type| description| group_id
  • other_mode=url_encode_separator_
1.3.3.99.1 Example
 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_cluster&other=nombre_cluster%7CAA%7Cdescripcion%7C12&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.100 set add_cluster_agent

>= 7.0

It adds an agent to a cluster.

  • op=set
  • op2=add_cluster_agent
  • other=json with elements in base64
  • other_mode=url_encode_separator_

The json structure should be:

[{"id":5,"id_agent":2}, {"id":5,"id_agent":3}]

 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_cluster_agent&other=W3siaWQiOjUsImlkX2FnZW50IjoyfSwKeyJpZCI6NSwiaWRfYWdlbnQiOjN9XQ==&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.101 set add_cluster_item (activo/activo)

>= 7.0

It adds an active/active item to a cluster

  • op=set
  • op2=add_cluster_item
  • other=json with elements in base64
  • other_mode=url_encode_separator_

The json structure should be:

[{"name":"Swap_Used","id_cluster":5,"type":"AA","critical_limit":80,"warning_limit":60}, {"name":"TCP_Connections","id_cluster":5,"type":"AA","critical_limit":80,"warning_limit":60}]

 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_cluster_item&other=W3sibmFtZSI6IlN3YXBfVXNlZCIsImlkX2NsdXN0ZXIiOjUsInR5cGUiOiJBQSIsImNyaXRpY2FsX2xpbWl0Ijo4MCwid2FybmluZ19saW1pdCI6NjB9LAp7Im5hbWUiOiJUQ1BfQ29ubmVjdGlvbnMiLCJpZF9jbHVzdGVyIjo1LCJ0eXBlIjoiQUEiLCJjcml0aWNhbF9saW1pdCI6ODAsIndhcm5pbmdfbGltaXQiOjYwfV0=&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.102 set add_cluster_item (active/passive)

>= 7.0

It adds a passive/actve item to a cluster.

  • op=set
  • op2=add_cluster_item
  • other=json with elements in base64
  • other_mode=url_encode_separator_

The json structure should be:

[{"name":"DiskUsed_/proc/kcore","id_cluster":5,"type":"AP","is_critical":1}, {"name":"DiskUsed_/proc/sched_debug","id_cluster":5,"type":"AP","is_critical":1}]

 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_cluster_item&other=W3sibmFtZSI6IkRpc2tVc2VkXy9wcm9jL2tjb3JlIiwiaWRfY2x1c3RlciI6NSwidHlwZSI6IkFQIiwiaXNfY3JpdGljYWwiOjF9LAp7Im5hbWUiOiJEaXNrVXNlZF8vcHJvYy9zY2hlZF9kZWJ1ZyIsImlkX2NsdXN0ZXIiOjUsInR5cGUiOiJBUCIsImlzX2NyaXRpY2FsIjoxfV0=&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.103 set delete_cluster

>= 7.0

It deletes a cluster.

  • op=set
  • op2=delete_cluster
  • id=id of the cluster to delete
 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_cluster&id=7&apipass=1234&user=admin&pass=pandora

1.3.3.104 set delete_cluster_agent

>= 7.0

It unpairs an agent from a cluster

  • op=set
  • op2=delete_cluster_agent
  • other=id_agente| id_cluster|
  • other_mode=url_encode_separator_

The json structure should be: [{"id":5,"id_agent":2}, {"id":5,"id_agent":3}]

1.3.3.104.1 Example
 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_cluster_agent&other=2%7C1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.105 set delete_cluster_item

>= 7.0

It deletes an item from a cluster.

  • op=set
  • op2=delete_cluster_item
  • id=id of item to eliminate
 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_cluster_item&id=9&apipass=1234&user=admin&pass=pandora

1.3.3.106 set create_policy

>= 7.0. 725

It creates a policy. Both the policy name, which cannot be repeated, and the id_group, which must exist in the database, are required.

  • op = set
  • op2 = create_policy
  • other = policy name (required) | id_del grupo (required) | description;
  • other_mode = url_encode_separator_|
  • return_type = (string, csv, json).
1.3.3.106.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=create_policy&apipass=1234&user=admin&pass=pandora&other=name%20Policy|11|this%20description&other_mode=url_encode_separator_|&return_type=json

1.3.3.107 set update_policy

>= 7.0. 725

It updates a policy. The policy name cannot be repeated and the id_group must exist in the database. It returns 0 (false) or the updated policy id (true).


  • op = set
  • op2 = update_policy
  • id = policy id
  • other = policy name | group_id | description;
  • other_mode = url_encode_separator_|
  • return_type = (string, csv, json).
1.3.3.107.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=update_policy&apipass=1234&user=admin&pass=pandora&id=17&other=policy2|11|this%20description&other_mode=url_encode_separator_|&return_type=json

1.3.3.108 set delete_policy

>= 7.0. 725

It deletes a policy. It is required to enter the policy id, which must exist in order to delete it. It returns 0 (false) or 1 (true).

  • op = set
  • op2 = delete_policy
  • id = policy id
  • return_type = (string, csv, json).
1.3.3.108.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=delete_policy&apipass=1234&user=admin&pass=pandora&id=10&return_type=json

1.3.3.109 set add_collections_policy

>= 7.0. 725

It adds a collection to a policy. It is necessary to enter the policy id and for such a policy to exist, as an id, name or short name of the collection you wish to add, which should exist too. Both fields are required. It returns 0 (false) or the id of the collection added to a policy (true).

  • op = set
  • op2 = add_collections_policy
  • id = policy id
  • id2 = id, name or short name
  • return_type = (string, csv, json).
1.3.3.109.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=add_collections_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=4&id2=apache_plugin

1.3.3.110 set remove_collections_policy

>= 7.0. 725

To mark a policy collection that is yet to be deleted, it is necessary:

  • A policy id, and for such a policy to exist. Mandatory.
  • An id, name or short name of the collection you wish to remove, which must exist. Mandatory.
  • And 0 or 1: 1 marks it as yet to be deleted and 0 removes said state. If this field is empty, it will try to check it so that it can be deleted by default.

It returns 0 (false) or 1 (true).

  • op = set
  • op2 = remove_collections_policy
  • id = policy id
  • id2 = id, name or short name
  • other = (bool) 0 or 1
  • return_type = (string, csv, json).
1.3.3.110.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=remove_collections_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=4&id2=2&other=1.

1.3.3.111 set create_plugins_policy

>= 7.0. 725

To add a plugin to a policy the following are necessary:

  • A policy id and for such a policy to exist. Mandatory.
  • The plugin string to run. Mandatory.

It returns 0 (false) or the plugin id that has been added to a policy (true).

  • op = set
  • op2 = create_plugins_policy
  • id = policy id
  • id2 = text string
  • return_type = (string, csv, json).
1.3.3.111.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=create_plugins_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=2&id2=echo%201

1.3.3.112 set delete_plugins_policy

>= 7.0. 725

These are the requirements to remove a plugin from a policy:

  • A policy id and for such a policy to exist. Mandatory.
  • A plugin id to be removed. Mandatory.
  • 0 or 1: 1 means the plugin is yet to be deleted and 0 removes this state. If not added, this field is marked as pending to be deleted by default.

It returns 0 (false) or 1 (true).

  • op = set
  • op2 = delete_plugins_policy
  • id = policy id
  • id2 = plugin id
  • other = 0 or 1
  • return_type = (string, csv, json).
1.3.3.112.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=delete_plugins_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=2&id2=1&other=1

1.3.3.113 set linking_policy

>= 7.0. 725

To link an unlinked policy module it is necessary:

  • An agent id module that is unlinked.

It returns 0 (false) or 1 (true).

  • op = set
  • op2 = linking_policy
  • id = module agent id
  • return_type = (string, csv, json).
1.3.3.113.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=linking_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=28

1.3.3.114 set create_alerts_policy

>= 7.0. 725

To create policy alert, these are necessary:

  • A policy id that must exist (required).
  • A policy module id, if it belongs to the normal type it is mandatory.
  • A template id that must exist (required).
  • Whether it is external or not: 0 (normal), 1 (external). It is 0 (normal) by default.
  • If it belongs to the external type (1) a module name that must match it.

It returns 0 (false) or the id of the alert added in the policy (true).

  • op = set
  • op2 = create_alerts_policy
  • id = policy id
  • id2 = policy module id
  • other = policy module id|id template|0 or 1|module name.
  • other_mode = url_encode_separator_|
  • return_type = (string, csv, json).
1.3.3.114.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=create_alerts_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=2&other=0|2|1|cpu%20load&other_mode=url_encode_separator_|

1.3.3.115 set update_alerts_policy

>= 7.0. 725

To update policy alerts, it is necessary:

  • A policy id that must exist (required).
  • Active 0 | Waiting 1
  • enable 0 | disable 1

It returns 0 (false) or the id of the updated alert in the policy (true).

  • op = set
  • op2 = update_alerts_policy
  • id = policy id
  • other = 0 or 1 ( activate/deactivate ) | 0 or 1 (enable/disable).
  • other_mode = url_encode_separator_|
  • return_type = (string, csv, json).
1.3.3.115.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=update_alerts_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=7&other=1|1&other_mode=url_encode_separator_|

1.3.3.116 set delete_alerts_policy

>= 7.0. 725

To remove an alert from a policy it is necessary:

  • A policy alert id that must exist (required).
  • 0 | 1 mark it as yet to bet removed or not. If this field is empty, 1 is set by default.
  • Active 0 | Standby 1

It returns 0 (false) or 1 (true).

  • op = set
  • op2 = delete_alerts_policy
  • id = policy id
  • id2 = 0 or 1.
  • return_type = (string, csv, json).
1.3.3.116.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=delete_alerts_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=7&id2=1

1.3.3.117 set create_alerts_actions_policy

>= 7.0. 725

To add an action to a policy alert it is necessary:

  • A policy alert id that must exist (required).
  • A policy action id that must exist (required).
  • You may add a minimum number of shots or a maximum number of shots by default: 0.

It returns 0 (false) or the id of the action added to the policy alert (true).

  • op = set
  • op2 = create_alerts_action_policy
  • id = policy id
  • id2 = action id
  • other = min fires | max fires
  • other_mode=url_encode_separator_|
  • return_type = (string, csv, json).
1.3.3.117.1 Example
http://172.16.0.2/pandora_console/include/api.php?op=set&op2=create_alerts_actions_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=1&id2=4&other=5|2&other_mode=url_encode_separator_|

1.3.3.118 set delete_alerts_actions_policy

>= 7.0. 725

To remove an action from a policy alert, it is necessary:

  • A policy alert id that must exist (required).
  • A policy action id that must exist (required).
  • op = set
  • op2 = delete_alerts_action_policy
  • id = policy id
  • id2 = action id
  • return_type = (string, csv, json).
1.3.3.118.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=delete_alerts_actions_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=1&id2=4

1.3.3.119 set remove_agents_policy

>= 7.0. 725

To remove an agent from a policy, it is necessary:

  • A policy id that must exist (required).
  • An agent id that must exist (required).
  • op = set
  • op2 = remove_agents_policy
  • id = policy id
  • id2 = group id
  • return_type = (string, csv, json).
1.3.3.119.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=remove_agents_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=5&id2=2

1.3.3.120 set add_groups_policy

>= 7.0. 725

To add a policy group, it is necessary:

  • An existing policy id (required).
  • An existing group id (required).
  • op = set
  • op2 = add_groups_policy
  • id = policy id
  • id2 = group id
  • return_type = (string, csv, json).
1.3.3.120.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=add_groups_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=7&id2=12

1.3.3.121 set remove_groups_policy

>= 7.0. 725

To remove an agent from a policy, it is necessary:

  • An existing policy id (required).
  • An existing group id (required).
  • op = set
  • op2 = add_groups_policy
  • id = policy id
  • id2 = group id
  • return_type = (string, csv, json).
1.3.3.121.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=remove_groups_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=5&id2=2

1.3.3.122 set create_os

>= 7.0. 727

It creates a new operating system with the data as parameters.

Call syntax:

  • op=set (required)
  • op2=create_os (required)
  • other=<serializead parameters> (required). They are the system's data, serializead in this order:
  • <name>
  • <description>
  • <icon>
1.3.3.122.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_os&other=os_name%7Cos_description%7Cos_icon.png&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.123 set update_os

>= 7.0. 727

It updates the operating system with data as parameters.

Call syntax:

  • op=set (required)
  • op2=create_os (required)
  • other=<serializead parameters> (required). They are the operating system's data, serialized in this order:
  • <name>
  • <description>
  • <icon>
1.3.3.123.1 Example
http://127.0.0.1/pandora_console/include/api.php?id=107&op=set&op2=update_os&other=os_name_to_update%7Cos_description_to_update%7Cos_icon_to_update.png&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.124 set disabled_and_standby

>= 7.0. 728

It disables an agent and, if it has remote configuration, it makes it go into standby mode.

Call Syntax:

  • op=set (required)
  • op2=disabled_and_standby (required)
  • id=<agent id> (required). In the Metaconsole, it is the id of the agent, that is to say, the id of the node.
  • id2=<id del nodo> (required in the Metaconsole, not needed in the node)
  • other=<valor> (optional) Value (0 to enable and 1 to disable) of the new status. If no value is specified, it disables the agent.
1.3.3.124.1 Example
http://127.0.0.1/pandora_console/include/api.php?id=2&op=set&op2=disabled_and_standby&other=1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?id=2&id2=1&op=set&op2=disabled_and_standby&other=1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.125 set validate_traps

>= 7.0. 728

It allows to validate traps.

  • op = set
  • op2 = validate_traps
  • id = trap id
1.3.3.125.1 Example
https://127.0.0.1/pandora_console/include/api.php?op=set&op2=validate_traps&id=1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.126 set delete_traps

>= 7.0. 728

It allows to delete a trap:

  • op = set
  • op2 = delete_traps
  • id = trap id
1.3.3.126.1 Example
http://127.0.0.1/pandora_console/include/api.php?id=2&op=set&op2=delete_traps&id=1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.127 set access_process

>= 7.0NG. 728

This function allows to manage the access to a third application from records in the system audit log of Pandora FMS. It uses different parameters to process one of these registry actions in your application and avoids concurrent access by administrator users. Optionally, it can ban access to non-administrator users.

Call syntax:

  • op = set
  • op2 = access_process
  • other=<required parameters>:
  • <user_id>

The id of the user trying to access the application, this data is recorded and checked in the audit to filter user access, exit, exploration or navigation through the application.

  • <action> - (login,logout,exclude,browse)

login: It is used to request access to the application. It deletes the text string "free" and registers your access in Pandora FMS audit or returns the text string "denied" if there is another user in the audit records who has previously logged in the system and has not yet logged out. It will also return denied if the administrator-only access parameter is enabled and the user is not an admin.

logout: Logs a user's application logout so that other users are again allowed to access.

browse: It must be used on all pages of the external application, as it checks whether this user is still the last one to access or be expelled from the application.

exclude: It expels the currently registered user and registers the access of another one sent in the user_id parameter

  • <app ip address>

IP address of the application from which you access it. It is registered and checked in the Pandora FMS audit to check user access status in the application.

  • <app name>

Name of the application you are accessing from. It is registered and checked in the Pandora FMS audit to check the user access status in the application.

  • <only admin access>

It forbids the access to non-administrator users.

1.3.3.127.1 Example (requires adapted environment)
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=access_process&other=1%7Clogin%7C192.168.50.25%7Cexternal_app%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.128 set create_event_response

It creates a new event response.

Call syntax:

  • op=set (required)
  • op2=create_event_response (required)
  • return_type=csv|json (required)
  • other=<serialized parameters> (all required). In the following order:
  • <name>
  • <description>
  • <target> If the forth parameter (<type>) is command, here it is necessary to indicate the desired command to execute the response to the event. On the other hand, if it is url, indicate the URL you wish to access as a response to the event.
  • <type> command or url.
  • <group id> The user must have permissions over the indicated group.
  • <modal window width> In pixels.
  • <modal window height> In pixels.
  • <new window> 1 or 0. It indicates whether the URL is shown on a new window (1) or on a modal window (0).
  • <parameters> Parameters that complement the execution of the command.
  • <server> Id of the server in which the command is to be executed. For the local console, the value is 0.
1.3.3.128.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=create_event_response&other=response%7Cdescription%20response%7Ctouch%7Ccommand%7C0%7C650%7C400%7C0%7Cresponse%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.129 set update_event_response

It edits an existing event response. The user must have permissions on the group to which the response belongs, in order to edit it.

Call syntax:

  • op=set (required)
  • op2=update_event_response (required)
  • return_type=csv|json (required)
  • id=<id of event response> (required)
  • other=<serialized parameters> (optional). In the following order:
  • <name>
  • <description>
  • <target> If the fourth parameter (<type>) is command, indicate here the command that you wish for the event response to execute. On the other hand, if it is url, indicate the URL you wish to access as a response to the event.
  • <type> command or url.
  • <group id> The user must have permissions on the indicated group.
  • <modal window width> In pixels.
  • <modal window height> In pixels.
  • <new window> 1 or 0. It indicates whether the URL is displayed on a new window (1) or on a modal window (0).
  • <parameters> Parameters that complement the command's execution.
  • <server> Id of the server where the command is to be executed. For the local console the value is 0.
1.3.3.129.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=update_event_response&id=7&other=response%7Cdescription%20response%7Ctouch%7Ccommand%7C0%7C650%7C400%7C0%7Cresponse%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.130 set delete_event_response

It deletes an event response. The user must have permissions on the group to which the response belongs in order to delete it.

Call syntax:

  • op=set (required)
  • op2=delete_event_reponse (required)
  • return_type=csv|json
  • id=<event response id> (required)
1.3.3.130.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=delete_event_response&id=7&apipass=1234&user=admin&pass=pandora

1.3.3.131 set create_user_profile_info

It creates a new user profile.

Call syntax:

  • op=set (required)
  • op2=create_user_profile_info (required)
  • return_type=csv|json (required)
  • other=<serialized parameters> In the following order:
  • <name> (required)
  • <access bits>: 1 if bit is to be set and 0 if not. They are not required but if no value is specified, the bit will be marked as not active. In this order:

IR|IW|IM|AR|AW|AD|LW|LM|UM|DM|ER|EW|EM|RR|RW|RM|MR|MW|MM|VR|VW|VM|PM.

Info.png

To know which permissions should be activated, click on the following link.

 


1.3.3.131.1 Example

This example creates a profile that gives read-only access to Pandora, that is, it is the same as the predefined profile Operator (read).

http://localhost/pandora_console/include/api.php?op=set&op2=create_user_profile_info&return_type=json&other=API_profile%7C1%7C0%7C0%7C1%7C0%7C0%7C0%7C0%7C0%7C0%7C1%7C0%7C0%7C1%7C0%7C0%7C1%7C0%7C0%7C1%7C0%7C0%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.132 set update_user_profile_info

It updates a new existing user profile.

Call syntax:

  • op=set (required)
  • op2=update_user_profile_info (required)
  • other=<serialized parameters> (all optional). In the following order:
  • <name>
  • <access bits>: 1 if you want to set the bit and 0 if you want to disable it. If no value is specified, it will not change. In this order:

IR|IW|IM|AR|AW|AD|LW|LM|UM|DM|ER|EW|EM|RR|RW|RM|MR|MW|MM|VR|VW|VM|PM.

Info.png

To find out which permissions should be activated, click on the following link.

 


1.3.3.132.1 Example

In this example the name of the profile with ID 6 is replaced by API_profile_updated and it is granted all permissions (read, write and management) related to agents and permission to read events is withdrawn.

http://localhost/pandora_console/include/api.php?op=set&op2=update_user_profile_info&return_type=json&id=6&other=API_profile_updated%7C%7C%7C%7C1%7C1%7C1%7C%7C%7C%7C%7C0%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.133 set delete_user_profile_info

It deletes a user profile. It also deletes all that profile assignments to any user.

Call syntax:

  • op=set (required)
  • op2=delete_user_profile_info (required)
  • return_type=csv|json
  • id=<id del perfil> (required)
1.3.3.133.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=delete_user_profile_info&return_type=json&id=8&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.134 set create_event_filter

It creates an event filter.

Call syntax:

  • op=set (required)
  • op2=create_event_filter (required)
  • other=<serialized parameters>. In this order:
  • <id_group_filter>
  • <id_group>
  • <event_type [new_agent|alert_recovered|alert_ceased|alert_fired|configuration_change|error|alert_manual_valdation|critical|normal|warning|not_normal|recon_host_detected|system|unknown|going_unknown]>
  • <severity [0|1|2|3|4|5|6|20|21|34]> (0: Maintenance, 1: Informative, 2: Normal, 3: Warning, 4: Critical, 5: Minor, 6: Principal, 20: Not normal, 21: Critical/Normal, 34: Warning/Critical)
  • <event_status [2|3|0|1]> (0: Only new, 1: only validated, 2: only in process, 3: only not validated)
  • <free_search>
  • <agent_id>
  • <pagination_size [25|50|100|200|500]>
  • <max_hours_old>
  • <id_user_ack>
  • <duplicate [0|1]> (0: All the events, 1: grouped events)
  • <date_from> (format: AAAA/MM/DD)
  • <date_to> (format: AAAA/MM/DD)
  • <events_with_tags> (format: ["tag_id_1", "tag_id_2", "tag_id_3", "..."])
  • <events_without_tags> (format: ["tag_id_1", "tag_id_2", "tag_id_3", "..."])
  • <alert_events [0|1]> (0: filter by event aletrs, 1: Alert events only)
  • <module_id>
  • <source>
  • <id_extra>
  • <user_comment>
1.3.3.134.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_event_filter&id=test&other=%7C%7Cerror%7C4%7C%7C%7C1%7C%7C12%7C%7C%7C2018-12-09%7C2018-12-13%7C[%226%22]%7C[%2210%22,%226%22,%223%22]%7C1%7C10%7C%7C%7C&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.135 set update_event_filter

It updates an event filter.

Call syntax:

  • op=set (required)
  • op2=update_event_filter (required)
  • id=<event_filter_id> (required). It must be an existing event filter id.
  • other=<serialized parameters> (optional). In the following order:
  • <id_group_filter>
  • <id_group>
  • <event_type [new_agent|alert_recovered|alert_ceased|alert_fired|configuration_change|error|alert_manual_valdation|critical|normal|warning|not_normal|recon_host_detected|system|unknown|going_unknown]>
  • <severity [0|1|2|3|4|5|6|20|21|34]> (0: Maintenance, 1: Informative, 2: Normal, 3: Warning, 4: Critical, 5: Minor, 6: Principal, 20: Not normal, 21: Critical/Normal, 34: Warning/Critical)
  • <event_status [2|3|0|1]> (0: new only, 1: validated only, 2: in process only, 3: not validated only)
  • <free_search>
  • <agent_id>
  • <pagination_size [25|50|100|200|500]>
  • <max_hours_old>
  • <id_user_ack>
  • <duplicate [0|1]> (0: all events, 1: grouped events)
  • <date_from> (format: AAAA/MM/DD)
  • <date_to> (format: AAAA/MM/DD)
  • <events_with_tags> (format: ["tag_id_1", "tag_id_2", "tag_id_3", "..."])
  • <events_without_tags> (format: ["tag_id_1", "tag_id_2", "tag_id_3", "..."])
  • <alert_events [0|1]> (0: filter by alert events, 1: alert events only)
  • <module_id>
  • <source>
  • <id_extra>
  • <user_comment>
1.3.3.135.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_event_filter&id=195&other=new_name%7C%7C%7Calert_recovered%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.136 set delete_event_filter

It deletes an event filter.

Call syntax:

  • op=set (required)
  • op2=delete_event_filter (required)
  • id=<event_filter_id> (required). It must be an existing event filter id.
1.3.3.136.1 Example
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_event_filter&id=38&apipass=1234&user=admin&pass=pandora

1.3.3.137 get all_event_filters

It returns the list of existing event filters.

Call syntax:

  • op=get (required)
  • op2=all_event_filters (required)
  • other=cvs_separator (optional)
1.3.3.137.1 Examples
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_event_filters&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora

1.3.3.138 set create_inventory_module

It creates a new inventory module.

Call syntax:

  • op=set (required)
  • op2=create_inventory_module (required)
  • return_type=csv|json
  • other=<serialized parameters> In the following order:
  • <name> (required)
  • <description>: (required, but can be empty)
  • <operation system id>: (required). Numerical Id of the table tconfig_os.
  • <interpreter>: (required, but can be empty). If the interpreter is empty, it is interpreted as just a local inventory module.
  • < code >: (required, but can be empty). Script that must be executed to obtain the inventory data. Must be in base64.
  • < data format >: (required). Header of the retrieved data (separated by ;).
  • <block mode>: (required) 1 or 0.
1.3.3.138.1 Example

This example creates an inventory module called OS that collects the kernel-name and nodename data from a Linux system.

http://localhost/pandora_console/include/api.php?op=set&op2=create_inventory_module&return_type=json&other=OS%7COS_name_description%7C1%7C/bin/bash%7CIyEvYmluL2Jhc2gKZWNobyB1bmFtZSAtbiAtcw==%7Ckernelname;nodename%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.139 set update_inventory_module

It updates an inventory module.

Call syntax:

  • op=set (required)
  • op2=update_inventory_module (required)
  • id= inventory module ID (required)
  • return_type=csv|json
  • other=<serialized parameters>. In the following order:
  • <name> (required)
  • <description>: (required, but it can be empty)
  • <operation system id>: (required). Numerical Id of the tconfig_os table.
  • <interpreter>: (required, but can be empty). If the interpreter is empty, it is interpreted as just a local inventory module.
  • < code >: (required, but it can be empty). Script that must be executed to obtain inventory data. It must be in base64.
  • < data format >: (required) Header of the retrieved data (separated by ;).
  • <block mode>: (required) 1 or 0.
1.3.3.139.1 Example
http://localhost/pandora_console/include/api.php?op=set&op2=update_inventory_module&return_type=json&id=42&other=OS_easy%7COS_name_description%7C1%7C/bin/bash%7CIyEvYmluL2Jhc2gKZWNobyB1bmFtZSAtbiAtcw==%7Ckernelname;nodename%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.140 set delete_inventory_module

It deletes a user profile. It also deletes all assignments from that profile to any user.

Call syntax:

  • op=set (required)
  • op2=delete_inventory_module (required)
  • return_type=csv|json
  • id=<inventory module ID> (required)
1.3.3.140.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=delete_inventory_module&return_type=json&id=42&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

1.3.3.141 set create_collection

It creates a collection.

Call syntax:

  • op=set (required)
  • op2=create_collection (required)
  • other=<serialized values> (required) Serialized values to create the collection.
  • <name>
  • <short_name>
  • <id_group>
  • <description>

It is necessary to pair it with 'other_mode' as follows: other_mode=url_encode_separator_<separator> to pass the separator of the serialized values of other.

1.3.3.141.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=create_collection&other=test_plugin|test_p|0|test&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora

1.3.3.142 set delete_collection

It deletes a collection.

Call syntax:

  • op=set (required)
  • op2=delete_collection (required)
  • id= id_collection (required)
1.3.3.142.1 Examples
http://localhost/pandora_console/include/api.php?op=set&op2=delete_collection&id=15&apipass=1234&user=admin&pass=pandora

1.4 Examples

These are several examples in several languages about calling Pandora FMS API.

1.4.1 Example

http://127.0.0.1/pandora5/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=gis_agent&id=582&other_mode=url_encode_separator_|&other=2%7C2%7C0%7C0%7C0%7C2000-01-01+01%3A01%3A01%7C0%7C666%7Caaa%7Cbbb%7Cccc

1.4.2 PHP

<?php
$ip = '192.168.70.110';
$pandora_url = '/pandora5';
$apipass = '1234';
$user = 'admin';
$password = 'pandora';
$op = 'get';
$op2 = 'all_agents';
$return_type = 'csv';
$other = '';
$other_mode = '';

$url = "http://" . $ip . $pandora_url . "/include/api.php";

$url .= "?";
$url .= "apipass=" . $apipass;
$url .= "&user=" . $user;
$url .= "&pass=" . $password;
$url .= "&op=" . $op;
$url .= "&op2=" . $op2;
if ($id !== '') {
	$url .= "&id=" . $id;
}
if ($id2 !== '') {
	$url .= "&id2=" . $id2;
}
if ($return_type !== '') {
	$url .= "&return_type=" . $return_type;
}
if ($other !== '') {
	$url .= "&other_mode=" . $other_mode;
	$url .= "&other=" . $other;
}

$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, $url);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curlObj);
curl_close($curlObj);

$agents = array();
if (!empty($result)) {
	$lines = explode("\n", $result);
	foreach ($lines as $line) {
		$fields = explode(";", $line);
		
		$agent = array();
		$agent['id_agent'] = $fields[0];
		$agent['name'] = $fields[1];
		$agent['ip'] = $fields[2];
		$agent['description'] = $fields[3];
		$agent['os_name'] = $fields[4];
		$agent['url_address'] = $fields[5];
		
		$agents[] = $agent;
	}
}

print_list_agents($agents);

function print_list_agents($agents) {
	echo "<table border='1' style='empty-cells: show;'>";
	
	echo "<thead>";
	echo "<tr>";
	echo "<th>" . "ID" . "</th>";
	echo "<th>" . "Name" . "</th>";
	echo "<th>" . "IP" . "</th>";
	echo "<th>" . "Description" . "</th>";
	echo "<th>" . "OS" . "</th>";
	echo "<th>" . "URL" . "</th>";
	echo "</tr>";
	echo "</thead>";
	
	foreach ($agents as $agent) {
		echo "<tr>";
		echo "<td>" . $agent['id_agent'] . "</td>";
		echo "<td>" . $agent['name'] . "</td>";
		echo "<td>" . $agent['ip'] . "</td>";
		echo "<td>" . $agent['description'] . "</td>";
		echo "<td>" . $agent['os_name'] . "</td>";
		echo "<td>" . $agent['url_address'] . "</td>";
		echo "</tr>";
	}
	echo "</table>";
}
?>

1.4.3 Python

import pycurl
import cStringIO
import pprint

def main():
	ip = '192.168.70.110'
	pandora_url = '/pandora5'
	apipass = '1234'
	user = 'admin'
	password = 'pandora'
	op = 'get'
	op2 = 'all_agents'
	return_type = 'csv'
	other = ''
	other_mode = ''
	
	url = "http://" + ip  + pandora_url + "/include/api.php"
	
	url += "?"
	url += "apipass=" + apipass
	url += "&user="  + user
	url += "&pass=" + password
	url += "&op=" + op
	url += "&op2=" + op2
	
	buf = cStringIO.StringIO()
	
	c = pycurl.Curl()
	c.setopt(c.URL, url)
	c.setopt(c.WRITEFUNCTION, buf.write)
	c.perform()
	
	output = buf.getvalue()
	buf.close()
	
	lines = output.split("\n")
	agents = []
	for line in lines:
		if not line:
			continue
		
		fields = line.split(";")
		agent = {}
		agent['id_agent'] = fields[0]
		agent['name'] = fields[1]
		agent['ip'] = fields[2]
		agent['description'] = fields[3]
		agent['os_name'] = fields[4]
		agent['url_address'] = fields[5]
		
		agents.append(agent)
	
	for agent in agents:
		print("---- Agent #" + agent['id_agent'] + " ----")
		print("Name: " + agent['name'])
		print("IP: " + agent['ip'])
		print("Description: " + agent['description'])
		print("OS: " + agent['os_name'])
		print("URL: " + agent['url_address'])
		print("")

if __name__ == "__main__":
    main()


1.4.4 Perl

use strict;
use warnings;
use WWW::Curl::Easy;

sub write_callback { 
	my ($chunk,$variable) = @_; 
	
	push @{$variable}, $chunk; 
	return length($chunk);
}

my $ip = '192.168.70.110';
my $pandora_url = '/pandora5';
my $apipass = '1234';
my $user = 'admin';
my $password = 'pandora';
my $op = 'get';
my $op2 = 'all_agents';
my $return_type = 'csv';
my $other = '';
my $other_mode = '';

my $url = "http://" . $ip  . $pandora_url . "/include/api.php";
$url .= "?";
$url .= "apipass=" . $apipass;
$url .= "&user=" . $user;
$url .= "&pass=" . $password;
$url .= "&op=" . $op;
$url .= "&op2=" . $op2;

my @body; 

my $curl = WWW::Curl::Easy->new;
$curl->setopt(CURLOPT_URL, $url);
$curl->setopt(CURLOPT_WRITEFUNCTION, \&write_callback);
$curl->setopt(CURLOPT_FILE, \@body); 
$curl->perform();

my $body=join("",@body); 
my @lines = split("\n", $body);

foreach my $line (@lines) {
	my @fields = split(';', $line);
	
	print("\n---- Agent #" . $fields[0] . " ----");
	print("\nName: " .  $fields[1]);
	print("\nIP: " .  $fields[2]);
	print("\nDescription: " . $fields[3]);
	print("\nOS: "  . $fields[4]);
	print("\n");
}

1.4.5 Ruby

require 'open-uri'

ip = '192.168.70.110'
pandora_url = '/pandora5'
apipass = '1234'
user = 'admin'
password = 'pandora'
op = 'get'
op2 = 'all_agents'
return_type = 'csv'
other = ''
other_mode = ''

url = "http://" + ip  + pandora_url + "/include/api.php"

url += "?"
url += "apipass=" + apipass
url += "&user="  + user
url += "&pass=" + password
url += "&op=" + op
url += "&op2=" + op2

agents = []

open(url) do |content|
	
	content.each do |line|
		agent = {}
		
		tokens = line.split(";")
		
		agent[:id_agent] = tokens[0]
		agent[:name] = tokens[1]
		agent[:ip] = tokens[2]
		agent[:description] = tokens[3]
		agent[:os_name] = tokens[4]
		agent[:url_address] = tokens[5]
		
		agents.push agent
	end
end


agents.each do |agent|
	print("---- Agent #" + (agent[:id_agent] || "") + " ----\n")
	print("Name: " + (agent[:name] || "") + "\n")
	print("IP: " + (agent[:ip] || "") + "\n")
	print("Description: " + (agent[:description] || "") + "\n")
	print("OS: " + (agent[:os_name] || "") + "\n")
	print("URL: " + (agent[:url_address] || "") + "\n")
	print("\n")
end

1.4.6 Lua

require("curl")

local content = "" 

function WriteMemoryCallback(s) 
	content = content .. s
	
	return string.len(s)
end

ip = '192.168.70.110'
pandora_url = '/pandora5'
apipass = '1234'
user = 'admin'
password = 'pandora'
op = 'get'
op2 = 'all_agents'
return_type = 'csv'
other = ''
other_mode = ''

url = "http://" .. ip  .. pandora_url .. "/include/api.php"

url = url .. "?"
url = url .. "apipass=" .. apipass
url = url .. "&user=" .. user
url = url .. "&pass=" .. password
url = url .. "&op=" .. op
url = url .. "&op2=" .. op2

if curl.new then c = curl.new() else c = curl.easy_init() end

c:setopt(curl.OPT_URL, url)
c:setopt(curl.OPT_WRITEFUNCTION, WriteMemoryCallback)

c:perform()

for line in string.gmatch(content, "[^\n]+") do
	line = string.gsub(line, "\n", "")
	
	count = 0
	for field in string.gmatch(line, "[^\;]+") do
		if count == 0 then
			print("---- Agent #" .. field .. " ----")
		end
		if count == 1 then
			print("Name: " .. field)
		end
		if count == 2 then
			print("IP: " .. field)
		end
		if count == 3 then
			print("Description: " .. field)
		end
		if count == 4 then
			print("OS: " .. field)
		end
		if count == 5 then
			print("URL: " .. field)
		end
		
		count = count + 1
	end
	print("")
end

1.4.7 Brainfuck

[-]>[-]<
>+++++++++[<+++++++++>-]<-.
>+++++[<+++++>-]<----.
>++++[<++++>-]<---.
>++++[<---->-]<++.
>+++[<+++>-]<++.
-.
>++++++++[<-------->-]<--.
>+++[<--->-]<---.
>++++++++[<++++++++>-]<++++.
+.
>++++++++[<-------->-]<-----.
>+++++++++[<+++++++++>-]<----.
++.
--.
>+++[<--->-]<+.
>+++[<+++>-]<.
>++[<++>-]<++.
>++[<-->-]<-.
>+++++++++[<--------->-]<++.
>+++++++++[<+++++++++>-]<---.
+.
>+++++++++[<--------->-]<++.
>+++++++++[<+++++++++>-]<+++.
>++++[<---->-]<+.
>+++[<+++>-]<.
>+++[<--->-]<++.
>+++[<+++>-]<-.
>+++++++++[<--------->-]<++.
>+++++++++[<+++++++++>-]<+++.
>+++[<--->-]<--.
----.
>+++[<+++>-]<-.
+++.
-.
>+++++++++[<--------->-]<++.
>+++++++++[<+++++++++>-]<-.
>++++[<---->-]<+.
>++++[<++++>-]<+.
>++++[<---->-]<-.
>++++++++[<-------->-]<-.
>++++++++[<++++++++>-]<++++++++.
>+++[<--->-]<++.
++.
++.
>++++[<++++>-]<---.
>++[<-->-]<--.
+++.
>++++++++[<-------->-]<---.
>+++[<--->-]<---.
>+++++++++[<+++++++++>-]<-.
>+++[<--->-]<--.
>++++[<++++>-]<---.
---.
>+++++++++[<--------->-]<++.
>+++++++++[<+++++++++>-]<+++++.
>+++++[<----->-]<++++.
>+++[<+++>-]<++.
>+++[<--->-]<++.
>++++++++[<-------->-]<-----.
>+++++++++[<+++++++++>-]<----.
>+++[<+++>-]<-.
>++++[<---->-]<--.
>++[<++>-]<+.
>+++[<+++>-]<--.
++++.
>+++++++++[<--------->-]<--.
>++++++++[<++++++++>-]<++++++.
>+++[<+++>-]<+++.
>+++[<--->-]<.
++.
--.
>+++[<+++>-]<--.
>++[<++>-]<+.
>+++[<--->-]<++.
>++[<++>-]<++.
>++[<-->-]<-.
++++.
>++++++++[<-------->-]<-----.

1.4.8 Java (Android)

See our project (Pandora FMS Event Viewer) in Pandroid FMS Event Viewer source code in SourceForge SVN repository but this is the most important piece of code, which calls the API to get event data.

/**
	 * Performs an http get petition.
	 * 
	 * @param context
	 *            Application context.
	 * @param additionalParameters
	 *            Petition additional parameters
	 * @return Petition result.
	 * @throws IOException
	 *             If there is any problem with the connection.
	 */
	public static String httpGet(Context context,
			List<NameValuePair> additionalParameters) throws IOException {
		SharedPreferences preferences = context.getSharedPreferences(
				context.getString(R.string.const_string_preferences),
				Activity.MODE_PRIVATE);

		String url = preferences.getString("url", "") + "/include/api.php";
		String user = preferences.getString("user", "");
		String password = preferences.getString("password", "");
		String apiPassword = preferences.getString("api_password", "");
		if (url.length() == 0 || user.length() == 0) {
			return "";
		}
		ArrayList<NameValuePair> parameters = new ArrayList<NameValuePair>();
		parameters.add(new BasicNameValuePair("user", user));
		parameters.add(new BasicNameValuePair("pass", password));
		if (apiPassword.length() > 0) {
			parameters.add(new BasicNameValuePair("apipass", apiPassword));
		}
		parameters.addAll(additionalParameters);
		Log.i(TAG, "sent: " + url);
		if (url.toLowerCase().contains("https")) {
			// Secure connection
			return Core.httpsGet(url, parameters);
		} else {
			HttpParams params = new BasicHttpParams();
			HttpConnectionParams.setConnectionTimeout(params,
					CONNECTION_TIMEOUT);
			HttpConnectionParams.setSoTimeout(params, CONNECTION_TIMEOUT);
			DefaultHttpClient httpClient = new DefaultHttpClient(params);
			UrlEncodedFormEntity entity;
			HttpPost httpPost;
			HttpResponse response;
			HttpEntity entityResponse;
			String return_api;
			httpPost = new HttpPost(url);
			entity = new UrlEncodedFormEntity(parameters);
			httpPost.setEntity(entity);
			response = httpClient.execute(httpPost);
			entityResponse = response.getEntity();
			return_api = Core
					.convertStreamToString(entityResponse.getContent());
			Log.i(TAG, "received: " + return_api);
			return return_api;
		}
	}

1.5 Future of API.php

Some ideas for the future of api.php are:

  • Broading the API call ensemble.
  • Returning and getting values in xml, JSON...
  • Increasing security call for insecure environments.
  • Integration with third tool standards.


Go back to Pandora FMS documentation index