3. RESTful API v1 Specification¶
3.1. Authentication¶
The HTTP/HTTPS authentication should be used, for example with curl
it is possible to specify username and password with
-u <user>:<password>
Using HTTPS is recommended for security. See this post to enable HTTPS.
3.2. Request Format¶
Parameters can be provided both using GET with a query string or POST using JSON (in this case please make sure the correct Content Type is provided). For example, to download data for a host you can use the below curl command line using GET:
curl -s -u admin:admin "http://192.168.1.1:3000/lua/rest/v1/get/host/data.lua?ifid=1&host=192.168.1.2"
or the below curl command line using POST:
curl -s -u admin:admin -H "Content-Type: application/json" -d '{"ifid": "1", "host": "192.168.1.2"}' "http://192.168.1.1:3000/lua/rest/v1/get/host/data.lua"
Please check the Examples section for more examples.
3.3. Response Format¶
An API response is usually represented by a JSON message matching a standard structure. This JSON message consists of an envelope containing:
- a return code rc
- a human-readable string rc_str describing the return code
- the actual response in rsp
Example:
{
"rc": 0
"rc_str": "OK",
"rsp": {
...
}
}
3.4. API¶
3.4.1. Interfaces¶
GET /lua/rest/v1/get/interface/data.lua
Get interface data
- Description: Interface data is returned
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/interface/bcast_domains.lua
Get interface broadcast domains
- Description: Interface broadcast domains as detected from ARP traffic and broadcast traffic are returned
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/interface/address.lua
Get interface IP addresses
- Description: List of interface IP addresses is returned
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/interface/l7/stats.lua
Get L7 statistics for an interface
- Description: nDPI statistics
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
ndpistats_mode | query | Stats mode: ‘sinceStartup’ or ‘count’ | string |
breed | query | Show breed | boolean |
ndpi_category | query | Show nDPI category | boolean |
Responses
0 - OK
-2 - INVALID_INTERFACE
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/interface/dscp/stats.lua
Get IP DSCP statistics for an interface
- Description: DSCP statistics
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/ntopng/interfaces.lua
Get ntopng actively monitored interfaces names and ids
- Description: Interface name and integer interface id for each actively monitored ntopng interface
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
3.4.2. Hosts¶
GET /lua/rest/v1/get/host/active.lua
Get active hosts
- Description: List of active hosts
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
currentPage | query | Pagination: page (optional) | integer |
perPage | query | Pagination: items per page (optional) | integer |
sortColumn | query | Pagination: column for sorting (e.g. ip, name, since, last, alerts, country, vlan, num_flows, traffic, thpt) (optional) | string |
sortOrder | query | Pagination: sorting order: ‘asc’ or ‘desc’ (optional) | string |
all | query | Get all hosts (optional) | boolean |
mode | query | Mode filter: all, local, remote, broadcast_domain, filtered, blacklisted, dhcp (optional) | string |
Responses
0 - OK
-1 - NOT_FOUND
-2 - INVALID_INTERFACE
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/host/interfaces.lua
Get host interfaces
- Description: All interface ids of a given host are returned
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
host | query | Host address | string |
Responses
0 - OK
-5 - INVALID_ARGUMENTS
GET /lua/rest/v1/get/host/data.lua
Get host data
- Description: Host data is returned
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
host | query | Host address | string |
Responses
0 - OK
-1 - NOT_FOUND
-2 - INVALID_INTERFACE
-3 - NOT_GRANTED
-4 - INVALID_HOST
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
-7 - BAD_FORMAT
-8 - BAD_CONTENT
GET /lua/rest/v1/get/host/custom_data.lua
Get host custom data
- Description: Custom data is returned for one or all hosts
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
host | query | Host address | string |
field_alias | query | Field alias | string |
Responses
0 - OK
-1 - NOT_FOUND
-2 - INVALID_INTERFACE
-3 - NOT_GRANTED
-4 - INVALID_HOST
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
-7 - BAD_FORMAT
-8 - BAD_CONTENT
GET /lua/rest/v1/get/host/l7/stats.lua
Get L7 statistics for a host
- Description: nDPI statistics
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
host | query | Host address | string |
vlan | query | VLAN ID | integer |
breed | query | Show breed | boolean |
ndpi_category | query | Show nDPI category | boolean |
Responses
0 - OK
-2 - INVALID_INTERFACE
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/host/dscp/stats.lua
Get IP DSCP statistics for a host
- Description: DSCP statistics
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
host | query | Host address | string |
vlan | query | VLAN ID | integer |
direction | query | Select direction: ‘sent’ or ‘recvd’ (default) | boolean |
Responses
0 - OK
-2 - INVALID_INTERFACE
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
POST /lua/rest/v1/set/host/alias.lua
Set host alias
- Description: Set hsot custom name
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
host | formData | Host address | string |
custom_name | formData | Custom name | string |
Responses
0 - OK
-5 - INVALID_ARGUMENTS
GET lua/pro/rest/v1/get/interface/top/local/talkers.lua
Get Top local talkers
- Description: Get the Top 10 local talkers
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface ID | number |
Responses
0 - OK
-2 - INVALID_INTERFACE
GET lua/pro/rest/v1/get/interface/top/remote/talkers.lua
Get Top remote talkers
- Description: Get the Top 10 remote talkers
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface ID | number |
Responses
0 - OK
-2 - INVALID_INTERFACE
3.4.3. Alerts¶
GET /lua/rest/v1/get/alert/data.lua
Get alerts data
- Description: Alerts are returned
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
status | query | Status filter (historical, historical-flows, engaged) | string |
epoch_begin | query | Start time (epoch) (optional) | integer |
epoch_end | query | Start time (epoch) (optional) | integer |
alert_type | query | Alert Type (optional) | integer |
alert_severity | query | Alert Severity (optional) | integer |
Responses
0 - OK
-1 - NOT_FOUND
-2 - INVALID_INTERFACE
-3 - NOT_GRANTED
-4 - INVALID_HOST
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
-7 - BAD_FORMAT
-8 - BAD_CONTENT
GET /lua/rest/v1/get/alert/ts.lua
Get alerts timeseries
- Description: Number of alerts per hour divided by day are returned
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
status | query | Status filter (historical, historical-flows) | string |
epoch_begin | query | Start time (epoch) | integer |
epoch_end | query | Start time (epoch) | integer |
alert_type | query | Alert Type (optional) | integer |
alert_severity | query | Alert Severity (optional) | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/alert/type/consts.lua
Get alert type constants
- Description: Alert type string and integer alert key for each defined alert
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
GET /lua/rest/v1/get/alert/severity/consts.lua
Get alert severity constants
- Description: Alert severity string and integer severity id for each defined severity
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
GET /lua/rest/v2/get/alert/type/counters.lua
Get alert counters by type
- Description: Alert type counters indescending order
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
status | query | Status filter (historical, historical-flows) | string |
epoch_begin | query | Start time (epoch) | integer |
epoch_end | query | Start time (epoch) | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-3 - NOT_GRANTED
GET /lua/rest/v2/get/alert/severity/counters.lua
Get alert counters by severity
- Description: Alert severity counters in descending order
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
status | query | Status filter (historical, historical-flows) | string |
epoch_begin | query | Start time (epoch) | integer |
epoch_end | query | Start time (epoch) | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-3 - NOT_GRANTED
3.4.4. Flows¶
GET /lua/rest/v1/get/flow/active.lua
Get active flows
- Description: List of active flows
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
currentPage | query | Pagination: page (optional) | integer |
perPage | query | Pagination: items per page (optional) | integer |
sortColumn | query | Pagination: column for sorting (e.g. ‘score’) (optional) | string |
sortOrder | query | Pagination: sorting order: ‘asc’ or ‘desc’ (optional) | string |
host | query | Host address filter (optional) | string |
vlan | query | VLAN ID filter (optional) | integer |
l4proto | query | L4 protocol filter (optional) | string |
application | query | Application protocol filter (optional) | string |
verbose | query | Add more details including TCP stats (optional) | boolean |
Responses
0 - OK
-1 - NOT_FOUND
-2 - INVALID_INTERFACE
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/flow/l4/counters.lua
Get flow counters for L4 protocols
- Description: Number of active flows per L4 protocol
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-6 - INTERNAL_ERROR
GET /lua/rest/v1/get/flow/l7/counters.lua
Get flow counters for L7 protocols
- Description: Number of active flows per L7 application protocol
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
Responses
0 - OK
-2 - INVALID_INTERFACE
-6 - INTERNAL_ERROR
GET /lua/pro/rest/v1/get/db/flows.lua
Get flows data. Columns include (but are not limited to) IP_PROTOCOL_VERSION, FLOW_TIME, FIRST_SEEN, LAST_SEEN, VLAN_ID, PACKETS, TOTAL_BYTES, SRC2DST_BYTES, DST2SRC_BYTES, IPV4_SRC_ADDR, IPV4_DST_ADDR, IPV6_SRC_ADDR, IPV6_DST_ADDR, PROTOCOL, L7_PROTO.
- Description: Executes a query to the flows database
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
begin_time_clause | query | Start time (epoch) | integer |
end_time_clause | query | Start time (epoch) | integer |
select_clause | query | Select clause (default: *) | string |
where_clause | query | Where clause (default: none) | string |
maxhits_clause | query | Max hits (default: 10) | integer |
Responses
0 - OK
-1 - NOT_FOUND
-2 - INVALID_INTERFACE
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
GET /lua/pro/rest/v1/get/db/topk_flows.lua
Get Top-K flows data. Columns include (but are not limited to) IP_PROTOCOL_VERSION, FLOW_TIME, FIRST_SEEN, LAST_SEEN, VLAN_ID, PACKETS, TOTAL_BYTES, SRC2DST_BYTES, DST2SRC_BYTES, IPV4_SRC_ADDR, IPV4_DST_ADDR, IPV6_SRC_ADDR, IPV6_DST_ADDR, PROTOCOL, L7_PROTO
- Description: Executes a top-k query to the flows database
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
begin_time_clause | query | Start time (epoch) | integer |
end_time_clause | query | Start time (epoch) | integer |
select_keys_clause | query | Select comma-separated keys list (default: IPV4_SRC_ADDR,IPV4_DST_ADDR,L7_PROTO) | string |
select_values_clause | query | Select value (default: BYTES) | string |
where_clause | query | Where clause (default: none) | string |
topk_clause | query | Top-K clause (default: SUM) | string |
approx_search | query | Approximate search (default: true) | string |
maxhits_clause | query | Max hits (default: 10) | integer |
Responses
0 - OK
-1 - NOT_FOUND
-2 - INVALID_INTERFACE
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
3.4.5. PCAP¶
GET /lua/rest/v1/get/pcap/live_extraction.lua
Live PCAP traffic extraction
- Description: Raw PCAP data is returned
- Produces: [‘application/vnd.tcpdump.pcap’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
ifid | query | Interface identifier | integer |
epoch_begin | query | Start time (epoch) | integer |
epoch_end | query | Start time (epoch) | integer |
bpf_filter | query | BPF filter | string |
Responses
FILE - OK
-1 - NOT_FOUND
-2 - INVALID_INTERFACE
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-6 - INTERNAL_ERROR
-7 - BAD_FORMAT
3.4.6. Users¶
3.4.7. Infrastructures¶
3.4.8. L4 Protocols¶
GET /lua/rest/v1/get/l4/protocol/consts.lua
Get L4 protocol constants
- Description: L4 protocol names and integer identifiers
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
3.4.9. L7 Application Protocols¶
GET /lua/rest/v1/get/l7/application/consts.lua
Get L7 application protocol constants
- Description: L7 application protocol names and integer identifiers
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
3.4.10. L7 Application Categories¶
GET /lua/rest/v1/get/l7/category/consts.lua
Get L7 application category constants
- Description: L7 application category names and integer identifiers
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
3.4.11. SNMP¶
GET lua/pro/rest/v1/add/snmp/device.lua
Add SNMP devices
- Description: Add devices to the monitored SNMP devices
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
snmp_host | query | IP address or symbolic name of and an SNMP device | string |
snmp_read_community | query | The SNMP read community to use (SNMP v1/v2c only) | string |
snmp_write_community | query | The SNMP write community to use (SNMP v1/v2c only) | string |
snmp_version | query | The SNMP version to use: 2 (SNMP v3), 1 (v2c) or 0 (v1) | string |
snmp_level | query | Used only with SNMP v3: noAuthNoPriv, authNoPriv, or authPriv) | string |
snmp_auth_protocol | query | Used only with SNMP v3 and level not set to noAuthNoPriv: MD5 or SHA | string |
snmp_auth_passphrase | query | Used only with SNMP v3 and level not set to noAuthNoPriv: 8 chars+ passphrase | string |
snmp_privacy_protocol | query | Used only with SNMP v3 and level set to autPriv: DES or AES | string |
snmp_privacy_passphrase | query | Used only with SNMP v3 and level set to autPriv: 8 chars+ passphrase | string |
cidr | query | Either 24 or 32. If 32, snmp_host is treated as single host. If 24 snmp_host is treated as as CIDR address | string |
Responses
-3 - NOT_GRANTED
-4 - INVALID_HOST
-5 - INVALID_ARGUMENTS
-9 - NAME_RESOLUTION_FAILED
-10 - SNMP_DEVICE_ALREADY_ADDED
-11 - SNMP_DEVICE_UNREACHABLE
-12 - NO_SNMP_DEVICE_DISCOVERED
GET lua/pro/rest/v1/edit/snmp/device/device.lua
Edit a SNMP device
- Description: Edit an existing monitored SNMP device
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
snmp_host | query | IP address or symbolic name of and an SNMP device | string |
snmp_read_community | query | The SNMP read community to use (SNMP v1/v2c only) | string |
snmp_write_community | query | The SNMP write community to use (SNMP v1/v2c only) | string |
snmp_version | query | The SNMP version to use: 2 (SNMP v3), 1 (v2c) or 0 (v1) | string |
snmp_level | query | Used only with SNMP v3: noAuthNoPriv, authNoPriv, or authPriv) | string |
snmp_auth_protocol | query | Used only with SNMP v3 and level not set to noAuthNoPriv: MD5 or SHA | string |
snmp_auth_passphrase | query | Used only with SNMP v3 and level not set to noAuthNoPriv: 8 chars+ passphrase | string |
snmp_privacy_protocol | query | Used only with SNMP v3 and level set to autPriv: DES or AES | string |
snmp_privacy_passphrase | query | Used only with SNMP v3 and level set to autPriv: 8 chars+ passphrase | string |
Responses
-3 - NOT_GRANTED
-4 - INVALID_HOST
-5 - INVALID_ARGUMENTS
-9 - NAME_RESOLUTION_FAILED
-10 - SNMP_DEVICE_ALREADY_ADDED
-11 - SNMP_DEVICE_UNREACHABLE
-12 - NO_SNMP_DEVICE_DISCOVERED
-22 - SNMP_UNKNOWN_DEVICE
GET lua/pro/rest/v1/change/snmp/device/interface/status.lua
Change SNMP device interface status
- Description: Change the status of an SNMP device in terface to up or down
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
host | query | IP address of an SNMP device | string |
snmp_admin_status | query | The new admin status, either ‘up’ or ‘down’ | string |
snmp_port_idx | query | The index of the SNMP device interface | string |
Responses
0 - OK
-3 - NOT_GRANTED
-4 - INVALID_HOST
-5 - INVALID_ARGUMENTS
-26 - SNMP_DEVICE_INTERFACE_STATUS_CHANGE_FAILED
3.4.12. Pools¶
GET /lua/rest/v1/add/host/pool.lua
Add an host pool
- Description: Add an host pool with members and configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-13 - ADD_POOL_FAILED
GET /lua/rest/v1/add/network/pool.lua
Add a local network pool
- Description: Add a local network pool with members and configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-13 - ADD_POOL_FAILED
GET /lua/rest/v1/edit/host/pool.lua
Edit an host pool
- Description: Edit an host pool with members and configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-14 - EDIT_POOL_FAILED
GET /lua/rest/v1/edit/network/pool.lua
Edit a local network pool
- Description: Edit a local network pool with members and configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-14 - EDIT_POOL_FAILED
GET /lua/rest/v1/edit/host_pool/pool.lua
Edit an host pool pool
- Description: Edit an host pool pool (only recipients edit is allowed)
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-14 - EDIT_POOL_FAILED
GET /lua/rest/v1/delete/host/pool.lua
Delete an host pool
- Description: Delete an host pool
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-16 - POOL_NOT_FOUND
GET /lua/rest/v1/delete/network/pool.lua
Delete a local network pool
- Description: Delete a local network pool
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-16 - POOL_NOT_FOUND
GET /lua/rest/v1/delete/pools.lua
Delete all pools for any available pool type
- Description: Delete all pools for any available pool type
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
GET /lua/rest/v1/get/host/pools.lua
Get one or all host pools
- Description: Get one or all host pools
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-16 - POOL_NOT_FOUND
GET /lua/rest/v1/get/network/pools.lua
Get one or all local network pools
- Description: Get one or all local network pools
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-16 - POOL_NOT_FOUND
GET /lua/rest/v1/get/pools.lua
Get all pools of any type
- Description: Get all pools defined for any available pool type
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
GET /lua/rest/v1/recipient/pools.lua
Get all pools of any type for a given recipient id
- Description: Get all pools defined for any available pool type for a given recipient id
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
recipient_id | query | A recipient id | int16 |
Responses
0 - OK
GET /lua/rest/v1/get/host/pool/members.lua
Get all host pool members
- Description: Get all the members of a given host pool
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-16 - POOL_NOT_FOUND
GET /lua/rest/v1/bind/host/pool/member.lua
Bind a member to an host pool
- Description: Bind a member to an host pool
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-17 - BIND_POOL_MEMBER_FAILED
GET /lua/rest/v1/get/host/pool_by_member.lua
Get an host pool given a member
- Description: Get an host pool given a member
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Responses
0 - OK
-5 - INVALID_ARGUMENTS
POST lua/rest/v1/export/pool/config.lua
Export the pools configuration as a JSON file
- Description: Export the configuration of all pools and dependencies (notifications, SNMP, active monitoring, checks
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
download | query | Download as file (no REST envelope) | boolean |
Responses
0 - OK
-3 - NOT_GRANTED
3.4.13. Notification Recipients¶
GET /lua/rest/v1/delete/recipients.lua
Delete all defined recipients and reset them to factory-defaults
- Description: Delete all defined recipients and reset them to factory-defaults
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
3.4.14. Notification Endpoints¶
GET /lua/rest/v1/delete/endpoints.lua
Delete all defined notification endpoints and reset them to factory-defaults
- Description: Delete all defined notification endpoints and reset them to factory-defaults
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
3.4.15. All¶
GET /lua/rest/v1/get/system/stats.lua
Get system stats
- Description: Get statistics of the system on top of which ntopng is running
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
POST lua/rest/v1/export/all/config.lua
Export all configurations as a JSON file
- Description: Export all configurations including Pools, Active Monitoring, Notifications (Endpoints and Recipients), Checks, SNMP devices
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
download | query | Download as file (no REST envelope) | boolean |
Responses
0 - OK
-3 - NOT_GRANTED
3.4.16. Active Monitoring¶
POST lua/rest/v1/export/active_monitoring/config.lua
Export the active monitoring configuration as a JSON file
- Description: Export the active monitoring configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
download | query | Download as file (no REST envelope) | boolean |
Responses
0 - OK
-3 - NOT_GRANTED
3.4.17. Notifications¶
POST lua/rest/v1/export/notifications/config.lua
Export the notifications configuration as a JSON file
- Description: Export the configuration for endpoints and recipients
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
download | query | Download as file (no REST envelope) | boolean |
Responses
0 - OK
-3 - NOT_GRANTED
3.4.18. ¶
POST lua/rest/v1/export/scripts/config.lua
Export the Checks configuration as a JSON file
- Description: Export the configuration for all checks
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
download | query | Download as file (no REST envelope) | boolean |
Responses
0 - OK
-3 - NOT_GRANTED
POST lua/rest/v1/export/snmp/config.lua
Export the SNMP configuration as a JSON file
- Description: Export the configuration for the SNMP devices
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
download | query | Download as file (no REST envelope) | boolean |
Responses
0 - OK
-3 - NOT_GRANTED
POST lua/rest/v1/import/all/config.lua
Import all configurations providing a JSON file
- Description: Import all configurations including Pools, Active Monitoring, Notifications (Endpoints and Recipients), Checks, SNMP devices
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-27 - CONFIGURATION_FILE_MISMATCH
-28 - PARTIAL_IMPORT
POST lua/rest/v1/import/active_monitoring/config.lua
Import the active monitoring configuration providing a JSON file
- Description: Import the active monitoring configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-27 - CONFIGURATION_FILE_MISMATCH
-28 - PARTIAL_IMPORT
POST lua/rest/v1/import/notifications/config.lua
Import the notifications configuration providing a JSON file
- Description: Import the configuration for endpoints and recipients
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-27 - CONFIGURATION_FILE_MISMATCH
-28 - PARTIAL_IMPORT
POST lua/rest/v1/import/pool/config.lua
Import the pools configuration providing a JSON file
- Description: Import the configuration of all pools and dependencies (notifications, SNMP, active monitoring, checks
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-27 - CONFIGURATION_FILE_MISMATCH
-28 - PARTIAL_IMPORT
POST lua/rest/v1/import/scripts/config.lua
Import the Checks configuration providing a JSON file
- Description: Import the configuration for all checks
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-27 - CONFIGURATION_FILE_MISMATCH
-28 - PARTIAL_IMPORT
POST lua/rest/v1/import/snmp/config.lua
Import the SNMP configuration providing a JSON file
- Description: Import the configuration for the SNMP devices
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-27 - CONFIGURATION_FILE_MISMATCH
-28 - PARTIAL_IMPORT
POST lua/rest/v1/reset/all/config.lua
Reset all configurations
- Description: Reset all configurations
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
POST /lua/pro/rest/v1/check/infrastructure/config.lua
Test an infrastructure configuration
- Description: Uses an url and token to connect to the REST API of an ntopng in the infrastructure
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
url | query | The URL of the ntopng in the infrastructure | string |
token | query | The REST API Token for the authentication | string |
Responses
0 - OK
-42 - INFRASTRUCTURE_INSTANCE_ALREADY_EXISTING
-43 - INFRASTRUCTURE_INSTANCE_CHECK_FAILED
-44 - INFRASTRUCTURE_INSTANCE_CHECK_NOT_FOUND
-45 - INFRASTRUCTURE_INSTANCE_CHECK_INVALID_RESPONSE
-46 - INFRASTRUCTURE_INSTANCE_CHECK_AUTH_FAILED
POST lua/rest/v1/get/ntopng/users.lua
Read all configured ntopng users
- Description: Read all configured ntopng users
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
POST lua/rest/v1/add/ntopng/user.lua
Add ntopng user
- Description: Add a ntopng user
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
username | formData | Username | string |
full_name | formData | Full name | string |
password | formData | Password | string |
confirm_password | formData | Confirmed password | string |
user_role | formData | User role (unprivileged / administrator) | string |
allowed_networks | formData | Allowed networks (e.g. 0.0.0.0/0,::/0) | string |
allowed_interface | formData | Allowed interfaces (empty for all) | string |
user_language | formData | Language (en, it, de, jp, pt, cz) | string |
allow_pcap_download | formData | Allow PCAPs download (1 to allow) | string |
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-19 - PASSWORD_MISMATCH
-20 - ADD_USER_FAILED
-23 - USER_ALREADY_EXISTING
POST lua/rest/v1/delete/ntopng/user.lua
Delete ntopng user
- Description: Delete a ntopng user
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
username | formData | Username | string |
Responses
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-21 - DELETE_USER_FAILED
POST lua/rest/v1/edit/ntopng/user.lua
Edit a ntopng user
- Description: Edit an existing ntopng user
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
username | formData | Username | string |
user_role | formData | User role (unprivileged / administrator) | string |
allowed_networks | formData | Allowed networks (e.g. 0.0.0.0/0,::/0) | string |
allowed_interface | formData | Allowed interfaces (empty for all) | string |
user_language | formData | Language (en, it, de, jp, pt, cz) | string |
allow_pcap_download | formData | Allow PCAPs download (1 to allow) | string |
Responses
-5 - INVALID_ARGUMENTS
-21 - DELETE_USER_FAILED
-23 - USER_DOES_NOT_EXIST
-24 - EDIT_USER_FAILED
POST lua/rest/v1/create/ntopng/session.lua
Create a new ntopng user session Cookie
- Description: Generate a new user session to be used as session Cookie
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
username | formData | Username | string |
auth_session_duration | formData | Session duration (seconds). Default: 0 (no expiration). | integer |
Responses
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
POST lua/rest/v1/get/ntopng/session.lua
Create a new ntopng user session Cookie (same as create/ntopng/session.lua)
- Description: Generate a new user session to be used as session Cookie
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
username | formData | Username | string |
auth_session_duration | formData | Session duration (seconds). Default: 0 (no expiration). | integer |
Responses
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
GET /lua/pro/rest/v1/get/infrastructure/instance.lua
Get one or all infrastructure configs
- Description: Get one or all infrastructure configs
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
Add statistics collected by the active monitoring module |
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-32 - INFRASTRUCTURE_INSTANCE_NOT_FOUND
POST /lua/pro/rest/v1/add/infrastructure/instance.lua
Add a new infrastructure configuration
- Description: Add a new infrastructure configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
url | The URL of the ntopng in the infrastructure | string | |
alias | An alias for the infrastructure | string | |
token | The REST API Token for the authentication | string | |
rtt_threshold | RTT threshold used by the active monitoring | int32 | |
bandwidth_threshold | Bandwidth threshold used by the active monitoring | int32 |
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-34 - INFRASTRUCTURE_INSTANCE_EMPTY_ALIAS
-35 - INFRASTRUCTURE_INSTANCE_EMPTY_URL
-36 - INFRASTRUCTURE_INSTANCE_EMPTY_TOKEN
-37 - INFRASTRUCTURE_INSTANCE_EMPTY_RTT_THRESHOLD
-39 - INFRASTRUCTURE_INSTANCE_SAME_ALIAS
-40 - INFRASTRUCTURE_INSTANCE_SAME_URL
-41 - INFRASTRUCTURE_INSTANCE_SAME_TOKEN
-42 - INFRASTRUCTURE_INSTANCE_ALREADY_EXISTING
-47 - INFRASTRUCTURE_INSTANCE_EMPTY_BANDWIDTH_THRESHOLD
POST /lua/pro/rest/v1/edit/infrastructure/instance.lua
Edit an existing infrastructure configuration
- Description: Edit an existing infrastructure configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
instance_id | The ID of the infrastructure configuration to edit | string | |
url | The URL of the ntopng in the infrastructure | string | |
alias | An alias for the infrastructure | string | |
token | The REST API Token for the authentication | string | |
rtt_threshold | RTT threshold used by the active monitoring | int32 | |
bandwidth_threshold | Bandwidth threshold used by the active monitoring | int32 |
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-32 - INFRASTRUCTURE_INSTANCE_NOT_FOUND
-33 - INFRASTRUCTURE_INSTANCE_EMPTY_ID
-34 - INFRASTRUCTURE_INSTANCE_EMPTY_ALIAS
-35 - INFRASTRUCTURE_INSTANCE_EMPTY_URL
-36 - INFRASTRUCTURE_INSTANCE_EMPTY_TOKEN
-37 - INFRASTRUCTURE_INSTANCE_EMPTY_RTT_THRESHOLD
-39 - INFRASTRUCTURE_INSTANCE_SAME_ALIAS
-40 - INFRASTRUCTURE_INSTANCE_SAME_URL
-41 - INFRASTRUCTURE_INSTANCE_SAME_TOKEN
-47 - INFRASTRUCTURE_INSTANCE_EMPTY_BANDWIDTH_THRESHOLD
POST /lua/pro/rest/v1/delete/infrastructure/instance.lua
Delete an existing infrastructure configuration
- Description: Delete an existing infrastructure configuration
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
instance_id | The ID of the infrastructure to delete | string |
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-32 - INFRASTRUCTURE_INSTANCE_NOT_FOUND
-33 - INFRASTRUCTURE_INSTANCE_EMPTY_ID
POST lua/rest/v1/import/infrastructure/config.lua
Import the Infrastructure configuration providing a JSON file
- Description: Import the configuration for all infrastructure configurations
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED
-5 - INVALID_ARGUMENTS
-27 - CONFIGURATION_FILE_MISMATCH
-28 - PARTIAL_IMPORT
POST lua/rest/v1/export/infrastructure/config.lua
Export the Infrastructure configurations as a JSON file
- Description: Export the configuration for the infrastructure configurations
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
download | query | Download as file (no REST envelope) | boolean |
Responses
0 - OK
-3 - NOT_GRANTED
POST lua/rest/v1/reset/infrastructure/config.lua
Reset all infrastructure configurations
- Description: Reset all infrastructure configurations
- Produces: [‘application/json’]
Parameters
Name | Position | Description | Type |
---|
Responses
0 - OK
-3 - NOT_GRANTED