AAA Accounting

The AAA Accounting endpoints provide access to authentication, authorization, and accounting transaction records from network access points. These endpoints allow you to retrieve detailed session information including user connections, data usage, session duration, and network access patterns for monitoring, reporting, and compliance purposes.

Base URL: https://gate.zequenze.com/api/v1

Authentication: All endpoints require a Bearer token:

Authorization: Bearer <your-api-token>

Overview

The AAA Accounting API category provides comprehensive access to network accounting records that track user sessions, data usage, and connection details across your network infrastructure. These endpoints are essential for:

The accounting records follow the RADIUS accounting standard, capturing detailed information about user sessions including start/stop times, data transfer volumes, client devices, and termination reasons. This data is automatically collected from network access points and made available through these read-only endpoints.

Key concepts:


Endpoints

GET /aaa_accounting/

Description: Retrieves a paginated list of AAA accounting records with flexible filtering options. This endpoint is your primary tool for accessing session data, whether you need to monitor active sessions, analyze historical usage patterns, or generate compliance reports. The response includes comprehensive session details from RADIUS accounting data.

Use Cases:

Full URL Example:

https://gate.zequenze.com/api/v1/aaa_accounting/?start_date=2024-01-01&end_date=2024-01-31&session_status=active&limit=50

Parameters:

Parameter Type In Required Description
start_date string query No Filter records from this date/time. Accepts ISO format: 2000-01-01, 2000-01-01 00:01:00, or 2000-01-01 00:01:00+00:00
end_date string query No Filter records until this date/time. Accepts ISO format: 2000-01-01, 2000-01-01 00:01:00, or 2000-01-01 00:01:00+00:00
user integer query No Filter records by specific user ID to see sessions for a particular user
access_point integer query No Filter records by access point ID to see sessions from specific hardware
location integer query No Filter records by location ID to see sessions from specific sites or buildings
client integer query No Filter records by client organization ID for multi-tenant environments
session_status string query No Filter by session state. Values: all (default), active (ongoing sessions), inactive (completed sessions)
cursor string query No Pagination cursor for retrieving the next page of results
limit integer query No Number of records per page (default varies, recommended: 10-100)

cURL Example:

curl -X GET "https://gate.zequenze.com/api/v1/aaa_accounting/?start_date=2024-01-01&session_status=active&limit=25" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"

Example Response:

{
  "next": "https://gate.zequenze.com/api/v1/aaa_accounting/?cursor=xyz123&limit=25",
  "previous": null,
  "results": [
    {
      "radacctid": 12345,
      "acctsessionid": "sess_abc123",
      "acctuniqueid": "unique_456def",
      "username": "john.doe@company.com",
      "groupname": "employees",
      "realm": "company.com",
      "nasipaddress": "192.168.1.10",
      "nasportid": "wifi0",
      "nasporttype": "Wireless-802.11",
      "acctstarttime": "2024-01-15T09:30:00Z",
      "acctupdatetime": "2024-01-15T10:15:00Z",
      "acctstoptime": null,
      "acctinterval": 600,
      "acctsessiontime": 2700,
      "acctauthentic": "RADIUS",
      "connectinfo_start": "CONNECT 54Mbps 802.11n",
      "connectinfo_stop": null,
      "acctinputoctets": 15728640,
      "acctoutputoctets": 52428800,
      "calledstationid": "00:1A:2B:3C:4D:5E",
      "callingstationid": "AA:BB:CC:DD:EE:FF",
      "acctterminatecause": null,
      "servicetype": "Framed-User",
      "framedprotocol": "PPP",
      "framedipaddress": "10.0.1.45",
      "organization_id": "org_789",
      "user_id": "user_456",
      "user_transaction_id": "txn_321",
      "client_id": "client_123",
      "client_short_name": "HQ-Office",
      "location_id": "loc_987",
      "access_point_id": "ap_654",
      "access_point_name": "AP-Floor2-East",
      "location_name": "Headquarters Building",
      "nasidentifier": "ap-hq-f2e-01",
      "klass": "premium",
      "access_point_mac_addr": "00:1A:2B:3C:4D:5E",
      "ssid": "CorpWiFi-Secure"
    }
  ]
}

Response Codes:

Status Description
200 Success - Returns paginated accounting records
401 Unauthorized - Invalid or missing API token
400 Bad Request - Invalid date format or parameter values

GET /aaa_accounting/{radacctid}/

Description: Retrieves detailed information for a specific AAA accounting record by its unique radacctid. This endpoint provides complete session details for individual accounting transactions, useful for detailed analysis, troubleshooting specific user issues, or generating detailed session reports.

Use Cases:

Full URL Example:

https://gate.zequenze.com/api/v1/aaa_accounting/12345/

Parameters:

Parameter Type In Required Description
radacctid integer path Yes The unique accounting record ID to retrieve

cURL Example:

curl -X GET "https://gate.zequenze.com/api/v1/aaa_accounting/12345/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"

Example Response:

{
  "radacctid": 12345,
  "acctsessionid": "sess_abc123",
  "acctuniqueid": "unique_456def",
  "username": "jane.smith@company.com",
  "groupname": "managers",
  "realm": "company.com",
  "nasipaddress": "192.168.1.15",
  "nasportid": "wifi1",
  "nasporttype": "Wireless-802.11",
  "acctstarttime": "2024-01-15T14:20:00Z",
  "acctupdatetime": "2024-01-15T16:45:00Z",
  "acctstoptime": "2024-01-15T17:30:00Z",
  "acctinterval": 300,
  "acctsessiontime": 11400,
  "acctauthentic": "RADIUS",
  "connectinfo_start": "CONNECT 300Mbps 802.11ac",
  "connectinfo_stop": "User-Request",
  "acctinputoctets": 234567890,
  "acctoutputoctets": 876543210,
  "calledstationid": "00:1A:2B:3C:4D:5F",
  "callingstationid": "BB:CC:DD:EE:FF:AA",
  "acctterminatecause": "User-Request",
  "servicetype": "Framed-User",
  "framedprotocol": "PPP",
  "framedipaddress": "10.0.1.78",
  "organization_id": "org_789",
  "user_id": "user_789",
  "user_transaction_id": "txn_456",
  "client_id": "client_123",
  "client_short_name": "HQ-Office",
  "location_id": "loc_987",
  "access_point_id": "ap_655",
  "access_point_name": "AP-Floor3-West",
  "location_name": "Headquarters Building",
  "nasidentifier": "ap-hq-f3w-02",
  "klass": "standard",
  "access_point_mac_addr": "00:1A:2B:3C:4D:5F",
  "ssid": "CorpWiFi-Guest"
}

Response Codes:

Status Description
200 Success - Returns the specific accounting record
401 Unauthorized - Invalid or missing API token
404 Not Found - Accounting record with specified ID does not exist

Common Use Cases

Use Case 1: Active Session Monitoring Dashboard

Retrieve all currently active sessions to display real-time network usage. Use the session_status=active filter to show only ongoing connections, perfect for network operations centers or IT dashboards.

Use Case 2: Monthly Usage Reporting

Generate monthly reports by filtering with start_date and end_date parameters. Combine with location or access_point filters to create detailed usage reports for specific sites or network segments.

Use Case 3: User Behavior Analysis

Track specific user patterns by filtering with the user parameter, then analyze session durations, data usage, and connection frequency to optimize network resources or identify training needs.

Use Case 4: Billing Data Export

Extract session data for usage-based billing by querying records within billing periods and calculating total session time and data transfer volumes per user or organization.

Use Case 5: Security Incident Investigation

When investigating security incidents, use the specific record endpoint to get complete session details including IP addresses, MAC addresses, connection times, and termination causes for forensic analysis.


Best Practices



Revision #4
Created 2026-02-04 05:12:05 UTC by ipena@zequenze.com
Updated 2026-02-05 02:27:51 UTC by ipena@zequenze.com