Files
NetAlertX/docs/API_SESSIONS.md
jokob-sk 40e9fbdb3f
Some checks failed
Deploy MkDocs / deploy (push) Has been cancelled
Code checks / check-url-paths (push) Has been cancelled
docker / docker_dev (push) Has been cancelled
docs
2025-08-24 13:12:33 +10:00

3.6 KiB
Executable File

Sessions API Endpoints

Track and manage device connection sessions. Sessions record when a device connects or disconnects on the network.

Create a Session

  • POST /sessions/create → Create a new session for a device

    Request Body:

    {
      "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"
    }
    

    Response:

    {
      "success": true,
      "message": "Session created for MAC AA:BB:CC:DD:EE:FF"
    }
    

Delete Sessions

  • DELETE /sessions/delete → Delete all sessions for a given MAC

    Request Body:

    {
      "mac": "AA:BB:CC:DD:EE:FF"
    }
    

    Response:

    {
      "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:

    {
      "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:

    {
      "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:

    {
      "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.