mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
docs
This commit is contained in:
@@ -1,18 +1,181 @@
|
||||
# SEssions API Endpoints
|
||||
# Sessions API Endpoints
|
||||
|
||||
Track device connection sessions.
|
||||
Track and manage device connection sessions. Sessions record when a device connects or disconnects on the network.
|
||||
|
||||
* **POST** `/sessions/create` → Create a new session
|
||||
### Create a Session
|
||||
|
||||
* **POST** `/sessions/create` → Create a new session for a device
|
||||
|
||||
**Request Body:**
|
||||
|
||||
```json
|
||||
{ "mac": "AA:BB:CC:DD:EE:FF", "ip": "192.168.1.10", "start_time": "2025-08-01T10:00:00" }
|
||||
{
|
||||
"mac": "AA:BB:CC:DD:EE:FF",
|
||||
"ip": "192.168.1.10",
|
||||
"start_time": "2025-08-01T10:00:00",
|
||||
"end_time": "2025-08-01T12:00:00", // optional
|
||||
"event_type_conn": "Connected", // optional, default "Connected"
|
||||
"event_type_disc": "Disconnected" // optional, default "Disconnected"
|
||||
}
|
||||
```
|
||||
* **DELETE** `/sessions/delete` → Delete session by MAC
|
||||
|
||||
**Response:**
|
||||
|
||||
```json
|
||||
{ "mac": "AA:BB:CC:DD:EE:FF" }
|
||||
{
|
||||
"success": true,
|
||||
"message": "Session created for MAC AA:BB:CC:DD:EE:FF"
|
||||
}
|
||||
```
|
||||
* **GET** `/sessions/list?mac=<mac>&start_date=2025-08-01&end_date=2025-08-21` → List sessions
|
||||
* **GET** `/sessions/calendar?start=2025-08-01&end=2025-08-21` → Calendar view of sessions
|
||||
* **GET** `/sessions/<mac>?period=1 day` → Sessions for a device
|
||||
* **GET** `/sessions/session-events?type=all&period=7 days` → Session events summary
|
||||
|
||||
---
|
||||
|
||||
### Delete Sessions
|
||||
|
||||
* **DELETE** `/sessions/delete` → Delete all sessions for a given MAC
|
||||
|
||||
**Request Body:**
|
||||
|
||||
```json
|
||||
{
|
||||
"mac": "AA:BB:CC:DD:EE:FF"
|
||||
}
|
||||
```
|
||||
|
||||
**Response:**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Deleted sessions for MAC AA:BB:CC:DD:EE:FF"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### List Sessions
|
||||
|
||||
* **GET** `/sessions/list` → Retrieve sessions optionally filtered by device and date range
|
||||
|
||||
**Query Parameters:**
|
||||
|
||||
* `mac` (optional) → Filter by device MAC address
|
||||
* `start_date` (optional) → Filter sessions starting from this date (`YYYY-MM-DD`)
|
||||
* `end_date` (optional) → Filter sessions ending by this date (`YYYY-MM-DD`)
|
||||
|
||||
**Example:**
|
||||
|
||||
```
|
||||
/sessions/list?mac=AA:BB:CC:DD:EE:FF&start_date=2025-08-01&end_date=2025-08-21
|
||||
```
|
||||
|
||||
**Response:**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"sessions": [
|
||||
{
|
||||
"ses_MAC": "AA:BB:CC:DD:EE:FF",
|
||||
"ses_Connection": "2025-08-01 10:00",
|
||||
"ses_Disconnection": "2025-08-01 12:00",
|
||||
"ses_Duration": "2h 0m",
|
||||
"ses_IP": "192.168.1.10",
|
||||
"ses_Info": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Calendar View of Sessions
|
||||
|
||||
* **GET** `/sessions/calendar` → View sessions in calendar format
|
||||
|
||||
**Query Parameters:**
|
||||
|
||||
* `start` → Start date (`YYYY-MM-DD`)
|
||||
* `end` → End date (`YYYY-MM-DD`)
|
||||
|
||||
**Example:**
|
||||
|
||||
```
|
||||
/sessions/calendar?start=2025-08-01&end=2025-08-21
|
||||
```
|
||||
|
||||
**Response:**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"sessions": [
|
||||
{
|
||||
"resourceId": "AA:BB:CC:DD:EE:FF",
|
||||
"title": "",
|
||||
"start": "2025-08-01T10:00:00",
|
||||
"end": "2025-08-01T12:00:00",
|
||||
"color": "#00a659",
|
||||
"tooltip": "Connection: 2025-08-01 10:00\nDisconnection: 2025-08-01 12:00\nIP: 192.168.1.10",
|
||||
"className": "no-border"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Device Sessions
|
||||
|
||||
* **GET** `/sessions/<mac>` → Retrieve sessions for a specific device
|
||||
|
||||
**Query Parameters:**
|
||||
|
||||
* `period` → Period to retrieve sessions (`1 day`, `7 days`, `1 month`, etc.)
|
||||
Default: `1 day`
|
||||
|
||||
**Example:**
|
||||
|
||||
```
|
||||
/sessions/AA:BB:CC:DD:EE:FF?period=7 days
|
||||
```
|
||||
|
||||
**Response:**
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"sessions": [
|
||||
{
|
||||
"ses_MAC": "AA:BB:CC:DD:EE:FF",
|
||||
"ses_Connection": "2025-08-01 10:00",
|
||||
"ses_Disconnection": "2025-08-01 12:00",
|
||||
"ses_Duration": "2h 0m",
|
||||
"ses_IP": "192.168.1.10",
|
||||
"ses_Info": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Session Events Summary
|
||||
|
||||
* **GET** `/sessions/session-events` → Retrieve a summary of session events
|
||||
|
||||
**Query Parameters:**
|
||||
|
||||
* `type` → Event type (`all`, `sessions`, `missing`, `voided`, `new`, `down`)
|
||||
Default: `all`
|
||||
* `period` → Period to retrieve events (`7 days`, `1 month`, etc.)
|
||||
|
||||
**Example:**
|
||||
|
||||
```
|
||||
/sessions/session-events?type=all&period=7 days
|
||||
```
|
||||
|
||||
**Response:**
|
||||
Returns a list of events or sessions with formatted connection, disconnection, duration, and IP information.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user