api.rest

A RESTful API server to orchestrate and interact with the current interactive session, starts on HTTP and unauthenticated by default, can be switched to HTTPS and basic auth by using the proper parameters.

Commands

api.rest on

Start the REST API server.

api.rest off

Stop the REST API server.

api.rest.record FILENAME

Start polling the rest API periodically recording each sample in a compressed file that can be later replayed.

api.rest.record off

Stop recording the session.

api.rest.replay FILENAME

Start the rest API module in replay mode using FILENAME as the recorded session file, will revert to normal mode once the replay is over.

api.rest.replay off

Stop replaying the recorded session.

Parameters

parameterdefaultdescription
api.rest.certificateAPI TLS certificate (will be auto generated if not existing), fill to enable HTTPS.
api.rest.keyAPI TLS key (will be auto generated if not existing), fill to enable HTTPS.
api.rest.certificate.bits4096Number of bits of the RSA private key of the generated HTTPS certificate.
api.rest.certificate.commonnamebettercapCommon Name field of the generated HTTPS certificate.
api.rest.certificate.countryUSCountry field of the generated HTTPS certificate.
api.rest.certificate.localityLocality field of the generated HTTPS certificate.
api.rest.certificate.organizationbettercap devteamOrganization field of the generated HTTPS certificate.
api.rest.certificate.organizationalunithttps://bettercap.org/Organizational Unit field of the generated HTTPS certificate.
api.rest.address127.0.0.1Address to bind the API REST server to.
api.rest.port8081Port to bind the API REST server to.
api.rest.usernameAPI HTTP basic auth username.
api.rest.passwordAPI HTTP basic auth password.
api.rest.websocketfalseIf true the /api/events route will be available as a websocket endpoint instead of HTTP.
api.rest.alloworigin*Value of the Access-Control-Allow-Origin header of the API server.
api.rest.record.clock1Number of seconds to wait while recording with api.rest.record between one sample and the next one.

Routes

Clients can authenticate using HTTP basic authentication, these are the available API routes.

GET /api/session

Get a JSON of the state of the current session, example response:

Expand for the example JSON

  1. {
  2. "options": {
  3. "InterfaceName": "",
  4. "Caplet": "../caplets/netmon.cap",
  5. "Debug": false,
  6. "Silent": false,
  7. "NoHistory": false,
  8. "Commands": "",
  9. "CpuProfile": "",
  10. "MemProfile": ""
  11. },
  12. "interface": {
  13. "ipv4": "192.168.1.17",
  14. "ipv6": "-",
  15. "mac": "-",
  16. "hostname": "enx18fffffff",
  17. "alias": "",
  18. "vendor": "Dell",
  19. "first_seen": "2018-02-23T06:28:43.565053179+01:00",
  20. "last_seen": "2018-02-23T06:28:43.565053179+01:00",
  21. "meta": {
  22. "values": {}
  23. }
  24. },
  25. "gateway": {
  26. "ipv4": "192.168.1.1",
  27. "ipv6": "",
  28. "mac": "-",
  29. "hostname": "gateway.",
  30. "alias": "",
  31. "vendor": "Technicolor",
  32. "first_seen": "2018-02-23T06:28:43.649440315+01:00",
  33. "last_seen": "2018-02-23T06:28:43.649440315+01:00",
  34. "meta": {
  35. "values": {}
  36. }
  37. },
  38. "env": {
  39. "data": {
  40. "$": "{by}{fw}{cidr} {fb}\u003e {env.iface.ipv4} {reset} {bold}» {reset}",
  41. "api.rest.address": "\u003cinterface address\u003e",
  42. "api.rest.certificate": "~/.bcap-api.rest.certificate.pem",
  43. "api.rest.key": "~/.bcap-api.rest.key.pem",
  44. "api.rest.password": "bcap",
  45. "api.rest.port": "8083",
  46. "api.rest.username": "bcap",
  47. "arp.spoof.targets": "\u003centire subnet\u003e",
  48. "dhcp6.spoof.domains": "microsoft.com, goole.com, facebook.com, apple.com, twitter.com",
  49. "dns.spoof.address": "\u003cinterface address\u003e",
  50. "dns.spoof.all": "false",
  51. "dns.spoof.domains": "*",
  52. "events.stream.filter": "",
  53. "gateway.address": "192.168.1.1",
  54. "gateway.mac": "e0:b9:e5:17:22:e4",
  55. "http.port": "80",
  56. "http.proxy.address": "\u003cinterface address\u003e",
  57. "http.proxy.port": "8080",
  58. "http.proxy.script": "",
  59. "http.server.address": "\u003cinterface address\u003e",
  60. "http.server.path": ".",
  61. "http.server.port": "80",
  62. "https.port": "443",
  63. "https.proxy.address": "\u003cinterface address\u003e",
  64. "https.proxy.certificate": "~/.bettercap-ca.cert.pem",
  65. "https.proxy.key": "~/.bettercap-ca.key.pem",
  66. "https.proxy.port": "8083",
  67. "https.proxy.script": "",
  68. "iface.index": "6",
  69. "iface.ipv4": "192.168.1.17",
  70. "iface.ipv6": "-",
  71. "iface.mac": "-",
  72. "iface.name": "enx18fffffff",
  73. "log.debug": "false",
  74. "log.silent": "false",
  75. "mac.changer.address": "\u003crandom mac\u003e",
  76. "mac.changer.iface": "\u003cinterface name\u003e",
  77. "net.probe.throttle": "10",
  78. "net.sniff.filter": "not arp",
  79. "net.sniff.local": "false",
  80. "net.sniff.output": "",
  81. "net.sniff.regexp": "",
  82. "net.sniff.source": "",
  83. "net.sniff.verbose": "true",
  84. "ticker.commands": "clear; net.show",
  85. "ticker.period": "1",
  86. "wifi.recon.channel": ""
  87. }
  88. },
  89. "lan": {
  90. "hosts": [{
  91. "ipv4": "192.168.1.33",
  92. "ipv6": "",
  93. "mac": "-",
  94. "hostname": "",
  95. "alias": "nas",
  96. "vendor": "Noon Technology Co.",
  97. "first_seen": "2018-02-23T06:28:43.661773691+01:00",
  98. "last_seen": "2018-02-23T06:29:10.402653849+01:00",
  99. "meta": {
  100. "values": {}
  101. }
  102. }, {
  103. "ipv4": "192.168.1.29",
  104. "ipv6": "",
  105. "mac": "-",
  106. "hostname": "osxvm",
  107. "alias": "",
  108. "vendor": "PCS Systemtechnik GmbH",
  109. "first_seen": "2018-02-23T06:28:43.661807871+01:00",
  110. "last_seen": "2018-02-23T06:28:43.661807871+01:00",
  111. "meta": {
  112. "values": {}
  113. }
  114. }, {
  115. "ipv4": "192.168.1.22",
  116. "ipv6": "",
  117. "mac": "-",
  118. "hostname": "yamato",
  119. "alias": "",
  120. "vendor": "Apple",
  121. "first_seen": "2018-02-23T06:28:43.661869827+01:00",
  122. "last_seen": "2018-02-23T06:29:13.734671382+01:00",
  123. "meta": {
  124. "values": {}
  125. }
  126. }, {
  127. "ipv4": "192.168.1.254",
  128. "ipv6": "",
  129. "mac": "-",
  130. "hostname": "",
  131. "alias": "gateway",
  132. "vendor": "",
  133. "first_seen": "2018-02-23T06:28:43.6617926+01:00",
  134. "last_seen": "2018-02-23T06:28:43.6617926+01:00",
  135. "meta": {
  136. "values": {}
  137. }
  138. }, {
  139. "ipv4": "192.168.1.26",
  140. "ipv6": "",
  141. "mac": "-",
  142. "hostname": "winvm",
  143. "alias": "",
  144. "vendor": "PCS Systemtechnik GmbH",
  145. "first_seen": "2018-02-23T06:28:43.661830083+01:00",
  146. "last_seen": "2018-02-23T06:28:43.661830083+01:00",
  147. "meta": {
  148. "values": {}
  149. }
  150. }, {
  151. "ipv4": "192.168.1.76",
  152. "ipv6": "",
  153. "mac": "-",
  154. "hostname": "pibak",
  155. "alias": "",
  156. "vendor": "Raspberry Pi Foundation",
  157. "first_seen": "2018-02-23T06:28:43.661833177+01:00",
  158. "last_seen": "2018-02-23T06:29:07.391079854+01:00",
  159. "meta": {
  160. "values": {}
  161. }
  162. }, {
  163. "ipv4": "192.168.1.3",
  164. "ipv6": "",
  165. "mac": "00:17:88:29:97:bc",
  166. "hostname": "",
  167. "alias": "lights",
  168. "vendor": "Philips Lighting BV",
  169. "first_seen": "2018-02-23T06:28:43.661849075+01:00",
  170. "last_seen": "2018-02-23T06:29:14.306812147+01:00",
  171. "meta": {
  172. "values": {}
  173. }
  174. }, {
  175. "ipv4": "192.168.1.23",
  176. "ipv6": "",
  177. "mac": "-",
  178. "hostname": "pihole",
  179. "alias": "",
  180. "vendor": "Raspberry Pi Foundation",
  181. "first_seen": "2018-02-23T06:28:43.661854928+01:00",
  182. "last_seen": "2018-02-23T06:29:14.786637323+01:00",
  183. "meta": {
  184. "values": {}
  185. }
  186. }]
  187. },
  188. "wifi": {
  189. "aps": []
  190. },
  191. "packets": {
  192. "Stats": {
  193. "Sent": 1080,
  194. "Received": 213207,
  195. "PktReceived": 3549,
  196. "Errors": 0
  197. },
  198. "Protos": {
  199. "ARP": 2918,
  200. "DNS": 32,
  201. "Ethernet": 3549,
  202. "ICMPv4": 44,
  203. "IPv4": 631,
  204. "TCP": 394,
  205. "UDP": 193
  206. },
  207. "Traffic": {
  208. "192.168.1.0": {
  209. "Sent": 0,
  210. "Received": 215
  211. },
  212. "192.168.1.1": {
  213. "Sent": 0,
  214. "Received": 289
  215. },
  216. "192.168.1.13": {
  217. "Sent": 415,
  218. "Received": 289
  219. },
  220. "192.168.1.14": {
  221. "Sent": 0,
  222. "Received": 289
  223. },
  224. "192.168.1.17": {
  225. "Sent": 41356,
  226. "Received": 46456
  227. },
  228. "192.168.1.20": {
  229. "Sent": 2658,
  230. "Received": 2018
  231. },
  232. "192.168.1.22": {
  233. "Sent": 1426,
  234. "Received": 215
  235. },
  236. "192.168.1.23": {
  237. "Sent": 2220,
  238. "Received": 1747
  239. },
  240. "192.168.1.254": {
  241. "Sent": 120,
  242. "Received": 320
  243. },
  244. "192.168.1.255": {
  245. "Sent": 0,
  246. "Received": 1140
  247. },
  248. "192.168.1.26": {
  249. "Sent": 0,
  250. "Received": 215
  251. },
  252. "192.168.1.29": {
  253. "Sent": 0,
  254. "Received": 215
  255. },
  256. "192.168.1.3": {
  257. "Sent": 1438,
  258. "Received": 654
  259. },
  260. "192.168.1.33": {
  261. "Sent": 130,
  262. "Received": 355
  263. },
  264. "192.168.1.34": {
  265. "Sent": 2303,
  266. "Received": 2018
  267. },
  268. "192.168.1.43": {
  269. "Sent": 10756,
  270. "Received": 8721
  271. },
  272. "192.168.1.6": {
  273. "Sent": 497,
  274. "Received": 375
  275. },
  276. "192.168.1.76": {
  277. "Sent": 284,
  278. "Received": 172
  279. },
  280. "192.168.1.78": {
  281. "Sent": 284,
  282. "Received": 172
  283. }
  284. }
  285. },
  286. "started_at": "2018-02-23T06:28:43.650628576+01:00",
  287. "active": true
  288. }

GET /api/session/lan

Get a JSON of the lan devices in the current session, example response:

Expand for the example JSON

  1. {
  2. "hosts": [{
  3. "ipv4": "192.168.1.33",
  4. "ipv6": "",
  5. "mac": "-",
  6. "hostname": "",
  7. "alias": "nas",
  8. "vendor": "Noon Technology Co.",
  9. "first_seen": "2018-02-23T06:28:43.661773691+01:00",
  10. "last_seen": "2018-02-23T06:29:10.402653849+01:00",
  11. "meta": {
  12. "values": {}
  13. }
  14. }, {
  15. "ipv4": "192.168.1.29",
  16. "ipv6": "",
  17. "mac": "-",
  18. "hostname": "osxvm",
  19. "alias": "",
  20. "vendor": "PCS Systemtechnik GmbH",
  21. "first_seen": "2018-02-23T06:28:43.661807871+01:00",
  22. "last_seen": "2018-02-23T06:28:43.661807871+01:00",
  23. "meta": {
  24. "values": {}
  25. }
  26. }, {
  27. "ipv4": "192.168.1.23",
  28. "ipv6": "",
  29. "mac": "00:AA:BB:CC:DD:11",
  30. "hostname": "pihole",
  31. "alias": "",
  32. "vendor": "Raspberry Pi Foundation",
  33. "first_seen": "2018-02-23T06:28:43.661854928+01:00",
  34. "last_seen": "2018-02-23T06:29:14.786637323+01:00",
  35. "meta": {
  36. "values": {}
  37. }
  38. }]
  39. }
Optional Arguments
  • Mac address, eg. GET /api/session/lan/00:AA:BB:CC:DD:11 - return information of a single lan endpoint with the mac address of 00:AA:BB:CC:DD:11 (the pihole from the above output).

GET /api/session/wifi

Get a JSON of the wifi devices (clients and access points) in the current session, example response:

Expand for the example JSON

  1. {
  2. "aps": [{
  3. "alias": "",
  4. "authentication": "PSK",
  5. "cipher": "TKIP",
  6. "clients": [],
  7. "encryption": "WPA2",
  8. "first_seen": "2018-02-23T06:28:43.650628576+01:00",
  9. "frequency": 2412,
  10. "hostname": "AP1",
  11. "ipv4": "0.0.0.0",
  12. "ipv6": "",
  13. "last_seen": "2018-02-23T06:28:43.650628576+01:00",
  14. "mac": "-",
  15. "meta": {
  16. "values": {}
  17. },
  18. "received": 0,
  19. "rssi": -20,
  20. "sent": 0,
  21. "vendor": ""
  22. },
  23. {
  24. "alias": "",
  25. "authentication": "PSK",
  26. "cipher": "TKIP",
  27. "clients": [],
  28. "encryption": "WPA2",
  29. "first_seen": "2018-02-23T06:28:43.650628576+01:00",
  30. "frequency": 2412,
  31. "hostname": "<hidden>",
  32. "ipv4": "0.0.0.0",
  33. "ipv6": "",
  34. "last_seen": "2018-02-23T06:28:43.650628576+01:00",
  35. "mac": "-",
  36. "meta": {
  37. "values": {}
  38. },
  39. "received": 0,
  40. "rssi": -16,
  41. "sent": 0,
  42. "vendor": ""
  43. },
  44. {
  45. "alias": "",
  46. "authentication": "PSK",
  47. "cipher": "TKIP",
  48. "clients": [],
  49. "encryption": "WPA2",
  50. "first_seen": "2018-02-23T06:28:43.650628576+01:00",
  51. "frequency": 2412,
  52. "hostname": "<hidden>",
  53. "ipv4": "0.0.0.0",
  54. "ipv6": "",
  55. "last_seen": "2018-02-23T06:28:43.650628576+01:00",
  56. "mac": "-",
  57. "meta": {
  58. "values": {}
  59. },
  60. "received": 0,
  61. "rssi": -21,
  62. "sent": 0,
  63. "vendor": ""
  64. },
  65. {
  66. "alias": "",
  67. "authentication": "PSK",
  68. "cipher": "CCMP",
  69. "clients": [{
  70. "alias": "",
  71. "authentication": "",
  72. "cipher": "",
  73. "encryption": "",
  74. "first_seen": "2018-02-23T06:28:43.650628576+01:00",
  75. "frequency": 2427,
  76. "hostname": "",
  77. "ipv4": "0.0.0.0",
  78. "ipv6": "",
  79. "last_seen": "2018-02-23T06:28:43.650628576+01:00",
  80. "mac": "00:AA:BB:CC:DD:22",
  81. "meta": {
  82. "values": {}
  83. },
  84. "received": 0,
  85. "rssi": -31,
  86. "sent": 0,
  87. "vendor": ""
  88. }],
  89. "encryption": "WPA2",
  90. "first_seen": "2018-02-23T06:28:43.650628576+01:00",
  91. "frequency": 2427,
  92. "hostname": "AP2",
  93. "ipv4": "0.0.0.0",
  94. "ipv6": "",
  95. "last_seen": "2018-02-23T06:28:43.650628576+01:00",
  96. "mac": "-",
  97. "meta": {
  98. "values": {}
  99. },
  100. "received": 3100,
  101. "rssi": -31,
  102. "sent": 1040,
  103. "vendor": ""
  104. },
  105. ]
  106. }
Optional Arguments
  • Mac address, eg. GET /api/session/wifi/00:AA:BB:CC:DD:22 - return information of a single wifi endpoint with the mac address of 00:AA:BB:CC:DD:22 (the connected client from the above output).

GET /api/session/ble

Get a JSON of the BLE devices in the current session, example response:

Expand for the example JSON

  1. {
  2. "devices": [{
  3. "last_seen": "2018-02-23T06:28:43.650628576+01:00",
  4. "name": "Adafruit Bluefruit LE",
  5. "mac": "00:AA:BB:CC:DD:33",
  6. "vendor": "",
  7. "rssi": -68
  8. }, {
  9. "last_seen": "2018-02-23T06:28:43.650628576+01:00",
  10. "name": "",
  11. "mac": "-",
  12. "vendor": "",
  13. "rssi": -64
  14. }]
  15. }
Optional Arguments
  • Mac address, eg. GET /api/session/ble/00:AA:BB:CC:DD:33 - return information of a single ble endpoint with the mac address of 00:AA:BB:CC:DD:33 (the Adafruit Bluefruit LE client from the above output).

GET /api/session/hid

Get a JSON of the HID devices in the current session, example response:

Expand for the example JSON

  1. {
  2. "devices": [{
  3. "last_seen": "2019-03-09T11:41:45.642403461+01:00",
  4. "type": "Logitech",
  5. "address": "32:26:9f:a4:08",
  6. "channels": ["65"]
  7. }]
  8. }
Optional Arguments
  • Hardware address, eg. GET /api/session/hid/32:26:9f:a4:08 - return information of a single HID endpoint with the hardware address of 32:26:9f:a4:08.

GET /api/session/env

Get a JSON of the environment variables in the current session, example response:

Expand for the example JSON

  1. {
  2. "data": {
  3. "$": "{by}{fw}{cidr} {fb}\u003e {env.iface.ipv4} {reset} {bold}» {reset}",
  4. "api.rest.address": "\u003cinterface address\u003e",
  5. "api.rest.certificate": "~/.bcap-api.rest.certificate.pem",
  6. "api.rest.key": "~/.bcap-api.rest.key.pem",
  7. "api.rest.password": "bcap",
  8. "api.rest.port": "8083",
  9. "api.rest.username": "bcap",
  10. "arp.spoof.targets": "\u003centire subnet\u003e",
  11. "dhcp6.spoof.domains": "microsoft.com, goole.com, facebook.com, apple.com, twitter.com",
  12. "dns.spoof.address": "\u003cinterface address\u003e",
  13. "dns.spoof.all": "false",
  14. "dns.spoof.domains": "*",
  15. "events.stream.filter": "",
  16. "gateway.address": "192.168.1.1",
  17. "gateway.mac": "e0:b9:e5:17:22:e4",
  18. "http.port": "80",
  19. "http.proxy.address": "\u003cinterface address\u003e",
  20. "http.proxy.port": "8080",
  21. "http.proxy.script": "",
  22. "http.server.address": "\u003cinterface address\u003e",
  23. "http.server.path": ".",
  24. "http.server.port": "80",
  25. "https.port": "443",
  26. "https.proxy.address": "\u003cinterface address\u003e",
  27. "https.proxy.certificate": "~/.bettercap-ca.cert.pem",
  28. "https.proxy.key": "~/.bettercap-ca.key.pem",
  29. "https.proxy.port": "8083",
  30. "https.proxy.script": "",
  31. "iface.index": "6",
  32. "iface.ipv4": "192.168.1.17",
  33. "iface.ipv6": "-",
  34. "iface.mac": "-",
  35. "iface.name": "enx18fffffff",
  36. "log.debug": "false",
  37. "log.silent": "false",
  38. "mac.changer.address": "\u003crandom mac\u003e",
  39. "mac.changer.iface": "\u003cinterface name\u003e",
  40. "net.probe.throttle": "10",
  41. "net.sniff.filter": "not arp",
  42. "net.sniff.local": "false",
  43. "net.sniff.output": "",
  44. "net.sniff.regexp": "",
  45. "net.sniff.source": "",
  46. "net.sniff.verbose": "true",
  47. "ticker.commands": "clear; net.show",
  48. "ticker.period": "1",
  49. "wifi.recon.channel": ""
  50. }
  51. }

GET /api/session/gateway

Get a JSON of the interface gateway of the current session, example response:

Expand for the example JSON

  1. {
  2. "ipv4": "192.168.1.1",
  3. "ipv6": "",
  4. "mac": "-",
  5. "hostname": "gateway.",
  6. "alias": "",
  7. "vendor": "Technicolor",
  8. "first_seen": "2018-02-23T06:28:43.649440315+01:00",
  9. "last_seen": "2018-02-23T06:28:43.649440315+01:00",
  10. "meta": {
  11. "values": {}
  12. }
  13. }

GET /api/session/interface

Get a JSON of the main interface (wifi/lan) of the current session, example response:

Expand for the example JSON

  1. {
  2. "ipv4": "192.168.1.17",
  3. "ipv6": "-",
  4. "mac": "-",
  5. "hostname": "enx18fffffff",
  6. "alias": "",
  7. "vendor": "Dell",
  8. "first_seen": "2018-02-23T06:28:43.565053179+01:00",
  9. "last_seen": "2018-02-23T06:28:43.565053179+01:00",
  10. "meta": {
  11. "values": {}
  12. }
  13. }

GET /api/session/options

Get a JSON of the options set for the current session, example response:

Expand for the example JSON

  1. {
  2. "InterfaceName": "",
  3. "Caplet": "../caplets/netmon.cap",
  4. "Debug": false,
  5. "Silent": false,
  6. "NoHistory": false,
  7. "Commands": "",
  8. "CpuProfile": "",
  9. "MemProfile": ""
  10. }

GET /api/session/packets

Get a JSON of the packet traffic for the current session, example response:

Expand for the example JSON

  1. {
  2. "Stats": {
  3. "Sent": 1080,
  4. "Received": 213207,
  5. "PktReceived": 3549,
  6. "Errors": 0
  7. },
  8. "Protos": {
  9. "ARP": 2918,
  10. "DNS": 32,
  11. "Ethernet": 3549,
  12. "ICMPv4": 44,
  13. "IPv4": 631,
  14. "TCP": 394,
  15. "UDP": 193
  16. },
  17. "Traffic": {
  18. "192.168.1.0": {
  19. "Sent": 0,
  20. "Received": 215
  21. },
  22. "192.168.1.1": {
  23. "Sent": 0,
  24. "Received": 289
  25. },
  26. "192.168.1.34": {
  27. "Sent": 2303,
  28. "Received": 2018
  29. },
  30. "192.168.1.76": {
  31. "Sent": 284,
  32. "Received": 172
  33. },
  34. "192.168.1.78": {
  35. "Sent": 284,
  36. "Received": 172
  37. }
  38. }
  39. }

GET /api/session/started-at

Get a JSON of the time the current session was started, example response:

Expand for the example JSON

  1. "2018-02-23T06:28:43.650628576+01:00"

POST /api/session

Post a command to the interactive session, the JSON object being POSTed is expected to be:

Expand for the example JSON

  1. {"cmd": "net.probe on"}

While the response will be:

Expand for the example JSON

  1. {"success": true, "msg":""}

GET /api/events

This route will be available as a websocket endpoint instead of normal HTTP if the api.rest.websocket parameter is set to true.

Return a list of events ( the optional n GET parameter will limit the number ):

Expand for the example JSON

  1. [{
  2. "tag": "sys.log",
  3. "time": "2018-02-22T16:57:39.449618552+01:00",
  4. "data": {
  5. "Level": 1,
  6. "Message": "Ticker running with period 1s."
  7. }
  8. }, {
  9. "tag": "wifi.ap.new",
  10. "time": "2018-02-22T16:57:57.681938014+01:00",
  11. "data": {
  12. "ipv4": "0.0.0.0",
  13. "ipv6": "",
  14. "mac": "--",
  15. "hostname": "Some AP Name Here",
  16. "alias": "",
  17. "vendor": "",
  18. "first_seen": "2018-02-22T16:57:57.681877278+01:00",
  19. "last_seen": "2018-02-22T16:57:58.104218287+01:00",
  20. "frequency": 2427,
  21. "rssi": -56,
  22. "sent": 0,
  23. "received": 0,
  24. "encryption": "OPEN",
  25. "clients": []
  26. }
  27. }]

DELETE /api/events

Will clear the events buffer.