Aaa Profile
The AAA Profile API
providesendpointsforprovidemanagingcomprehensive management of Authentication, Authorization, and Accounting (AAA) profilesusedfor networkdeviceaccess control. These endpoints allow you to create, configure, and manage RADIUS-style attribute profiles that defineauthenticationusermethods, authorizationaccess policies, network permissions, and accountingsettingsrulesthat can be applied tofor networkinfrastructuredevicescomponents.and services.
Base URL: https://gate.zequenze.com/api/v1
Authentication: All endpoints require a Bearer token:
Authorization: Bearer <your-api-token>
Overview
The AAA Profile API enables network administrators to createmanage authentication and manageauthorization comprehensiveprofiles authentication,that authorization,control network access for users and accounting profiles for their network infrastructure.devices. AAA profiles arecontain essentialsets componentsof inRADIUS network securityattributes that define:define what resources users can access, how they authenticate, and what accounting information is collected.
Key Concepts:
-
AuthenticationReplymethodsAttributes:-SentHowbackusersto the Network Access Server (NAS) during successful authentication, defining user permissions anddevicesaccessverify their identity (RADIUS, TACACS+, local accounts)parameters -
AuthorizationCheckpoliciesAttributes:-UsedWhatduringresourcesauthenticationauthenticatedtousersvalidatecanuser credentials and accessand what commands they can executerights -
AccountingOperators:settingsDefine-howHow user activities and system eventsattributes areloggedprocessedand(=,tracked+=, :=, ==, !=, >, >=, <, <=, =, !)
TheseCommon Use Cases:
The API supports full CRUD operations, allowing you to programmaticallylist, managecreate, retrieve, update, and delete AAA profiles aswith partcomprehensive ofattribute automated network provisioning workflows or configuration management systems.
Common scenarios include setting up role-based access control for network engineers, configuring centralized authentication for device management, and implementing audit trails for compliance requirements.management.
Endpoints
GET /aaa_profile/
Description: Retrieves a paginated list of all AAA profiles in your organization. This endpoint is essential for discovering existing profiles, monitoring configuration changes, and implementing profile selectionmanagement interfaces, and auditing your current AAA configuration landscape.interfaces.
Use Cases:
DisplayBuildingavailableadministrative dashboards that display all configured access policies
Full URL Example:
https://gate.zequenze.com/api/v1/aaa_profile/?limit=20&offset=0
Parameters:
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
| limit | integer | query | No | Number of results to return per page (default: 20, max: 100) |
| offset | integer | query | No |
cURL Example:
curl -X GET "https://gate.zequenze.com/api/v1/aaa_profile/?limit=2010&offset=0" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Example Response:
{
"count": 45,25,
"next": "https://gate.zequenze.com/api/v1/aaa_profile/?limit=2010&offset=20"10",
"previous": null,
"results": [
{
"id": 1,
"name": "Corporate-Network-AAA"Employee Access Profile",
"short_name": "employee-access",
"description": "PrimaryStandard AAAaccess profile for corporatefull-time network infrastructure"employees",
"authentication_method"organization_id": "RADIUS"org_12345",
"radius_server"reply_attribute": [
{
"attribute": "radius.company.com"Tunnel-Type",
"radius_port": 1812,
"authorization_method"op": "TACACS+:=",
"tacacs_server"value": "tacacs.company.com",
"accounting_enabled": true,
"accounting_method": "RADIUS",
"fallback_local_auth": true,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T14:22:00Z",
"created_by": "admin@company.com",
"status": "active"VLAN"
},
{
"id": 2,
"name"attribute": "Guest-Access-Profile"Tunnel-Medium-Type",
"description"op": "Limited access profile for guest network devices":=",
"authentication_method"value": "local"IEEE-802"
}
],
"authorization_method"check_attribute": [
{
"attribute": "local"User-Password",
"accounting_enabled": false,
"fallback_local_auth": true,
"created_at"op": "2024-01-10T09:15:00Z"==",
"updated_at"value": "2024-01-18T11:45:00Z",%{User-Password}"
"created_by":}
"network-admin@company.com",
"status": "active"]
}
]
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Returns paginated list of AAA profiles |
| 401 | Unauthorized - Invalid or missing authentication token |
| 403 | Forbidden - Insufficient permissions to |
POST /aaa_profile/
Description: Creates a new AAA profile with specified authentication, authorization,reply and accountingcheck configurations.attributes. This endpoint allows you to programmaticallydefine deploynew standardized securityaccess policies acrossand yourauthentication rules that can be applied to users and network infrastructure.devices.
Use Cases:
AutomateSettingAAAupprofileaccesscreationpoliciesduringfor new user groups or departments
Full URL Example:
https://gate.zequenze.com/api/v1/aaa_profile/
Parameters:
cURL Example:
curl -X POST "https://gate.zequenze.com/api/v1/aaa_profile/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Branch-Office-AAA"Guest WiFi Profile",
"short_name": "guest-wifi",
"description": "AAALimited access profile for branchguest office network devices"users",
"authentication_method"reply_attribute": "RADIUS",
"radius_server": "10.1.1.100",
"radius_port": 1812,
"radius_secret": "shared_secret_key",
"authorization_method": "RADIUS",
"accounting_enabled": true,
"accounting_method": "RADIUS",
"fallback_local_auth": true,
"session_timeout": 3600,
"privilege_levels":[
{
"readonly"attribute": 1,"Session-Timeout",
"operator"op": 5,":=",
"admin"value": 15"3600"
},
{
"attribute": "Tunnel-Private-Group-Id",
"op": ":=",
"value": "100"
}
],
"check_attribute": [
{
"attribute": "Calling-Station-Id",
"op": "=*",
"value": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"
}
]
}'
Request Body Example:
{
"name": "VPN Access Profile",
"short_name": "vpn-access",
"description": "Profile for remote VPN users with bandwidth limits",
"reply_attribute": [
{
"attribute": "Framed-IP-Address",
"op": ":=",
"value": "255.255.255.254"
},
{
"attribute": "Acct-Interim-Interval",
"op": ":=",
"value": "600"
}
],
"check_attribute": [
{
"attribute": "NAS-Port-Type",
"op": "==",
"value": "Virtual"
}
]
}
Example Response:
{
"id": 15,
"name": "Branch-Office-AAA"VPN Access Profile",
"short_name": "vpn-access",
"description": "AAA profileProfile for branchremote officeVPN networkusers devices"with bandwidth limits",
"authentication_method"organization_id": "RADIUS"org_12345",
"radius_server"reply_attribute": "10.1.1.100",
"radius_port": 1812,
"authorization_method": "RADIUS",
"accounting_enabled": true,
"accounting_method": "RADIUS",
"fallback_local_auth": true,
"session_timeout": 3600,
"privilege_levels":[
{
"readonly"attribute": 1,"Framed-IP-Address",
"operator"op": 5,":=",
"admin"value": 15"255.255.255.254"
},
{
"created_at"attribute": "2024-01-25T16:20:00Z"Acct-Interim-Interval",
"updated_at"op": "2024-01-25T16:20:00Z":=",
"created_by"value": "api-user@company.com"600"
}
],
"status"check_attribute": [
{
"attribute": "active"NAS-Port-Type",
"op": "==",
"value": "Virtual"
}
]
}
Response Codes:
| Status | Description |
|---|---|
| 201 | Created - AAA profile successfully created |
| 400 | Bad Request - Invalid |
| 401 | Unauthorized - Invalid or missing authentication token |
GET /aaa_profile/{id}/
Description: Retrieves detailed information about a specific AAA profile by its unique identifier.ID. This endpoint provides complete profile configuration detailsincluding neededall forreply profileand analysis,check troubleshooting,attributes orwith cloningtheir operations.operators and values.
Use Cases:
ViewReviewingcompletespecificconfigurationprofiledetailsconfigurations before making changes
Full URL Example:
https://gate.zequenze.com/api/v1/aaa_profile/15/
cURL Example:
curl -X GET "https://gate.zequenze.com/api/v1/aaa_profile/15/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Example Response:
{
"id": 15,
"name": "Branch-Office-AAA"Manager Access Profile",
"short_name": "manager-access",
"description": "AAAEnhanced access profile for branchmanagement officestaff networkwith devices"extended permissions",
"authentication_method"organization_id": "RADIUS"org_12345",
"radius_server"reply_attribute": "10.1.1.100",
"radius_port": 1812,
"radius_backup_server": "10.1.1.101",
"authorization_method": "RADIUS",
"accounting_enabled": true,
"accounting_method": "RADIUS",
"accounting_server": "10.1.1.100",
"fallback_local_auth": true,
"session_timeout": 3600,
"idle_timeout": 1800,
"privilege_levels":[
{
"readonly"attribute": 1,"Filter-Id",
"operator"op": 5,":=",
"admin"value": 15"manager_acl"
},
{
"command_authorization"attribute": "Session-Timeout",
"op": ":=",
"value": "28800"
},
{
"enable_command_auth"attribute": true,"Tunnel-Private-Group-Id",
"restricted_commands"op": ":=",
"value": "200"
}
],
"check_attribute": [
{
"reload"attribute": "User-Password",
"writeop": erase""==",
"format"]value": "%{User-Password}"
},
{
"created_at"attribute": "2024-01-25T16:20:00Z"Huntgroup-Name",
"updated_at"op": "2024-01-25T16:20:00Z"==",
"created_by"value": "api-user@company.com",management"
"last_used":}
"2024-01-26T08:30:00Z",
"device_count": 12,
"status": "active"]
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - Returns the specified AAA profile |
| 401 | Unauthorized - Invalid or missing authentication token |
PUT /aaa_profile/{id}/
Description: Completely replaces an existing AAA profile with new configuration data. This endpoint performs a full update, replacing all profile settingsattributes with the provided data. Use this when you need to make comprehensive changes to a profile configuration.values.
Use Cases:
Migrate profiles to new authentication servers
Full URL Example:
https://gate.zequenze.com/api/v1/aaa_profile/15/
cURL Example:
curl -X PUT "https://gate.zequenze.com/api/v1/aaa_profile/15/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Branch-Office-AAA-Updated"Updated Manager Profile",
"short_name": "manager-access-v2",
"description": "UpdatedRevised AAAmanager profileaccess with new TACACS+security server"policies",
"authentication_method"reply_attribute": [
{
"attribute": "TACACS+Filter-Id",
"op": ":=",
"tacacs_server"value": "tacacs.newdomain.com"manager_acl_v2"
},
{
"attribute": "Session-Timeout",
"tacacs_port": 49,
"tacacs_secret"op": "new_shared_secret",
"authorization_method": "TACACS+=",
"accounting_enabled": true,
"accounting_method"value": "TACACS+14400"
}
],
"check_attribute": [
{
"attribute": "User-Password",
"op": "==",
"fallback_local_auth"value": true,
"session_timeout": 7200,
%{User-Password}"privilege_levels": {
"readonly": 1,
"operator": 7,
"admin": 15
}
]
}'
Example Response:
{
"id": 15,
"name": "Branch-Office-AAA-Updated",
"description": "Updated AAA profile with new TACACS+ server",
"authentication_method": "TACACS+",
"tacacs_server": "tacacs.newdomain.com",
"tacacs_port": 49,
"authorization_method": "TACACS+",
"accounting_enabled": true,
"accounting_method": "TACACS+",
"fallback_local_auth": true,
"session_timeout": 7200,
"privilege_levels": {
"readonly": 1,
"operator": 7,
"admin": 15
},
"created_at": "2024-01-25T16:20:00Z",
"updated_at": "2024-01-26T14:35:00Z",
"created_by": "api-user@company.com",
"status": "active"
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - AAA profile successfully updated |
| 400 | Bad Request - Invalid |
| 401 | Unauthorized - Invalid or missing authentication token |
PATCH /aaa_profile/{id}/
Description: Partially updates an existing AAA profile byprofile, modifying only the specified fields.fields while preserving existing configuration for unspecified attributes. This endpoint is ideal for making targeted changes without affecting otherthe profileentire settings, such as updating server addresses or adjusting timeout values.profile.
Use Cases:
UpdateAdjustingserversessionIP addresses during network migrations
Full URL Example:
https://gate.zequenze.com/api/v1/aaa_profile/15/
cURL Example:
curl -X PATCH "https://gate.zequenze.com/api/v1/aaa_profile/15/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"radius_server": "10.2.1.100",
"session_timeout": 5400,
"description": "Updated radiusdescription serverwith IPnew aftersecurity datacenterrequirements",
migration""reply_attribute": [
{
"attribute": "Session-Timeout",
"op": ":=",
"value": "21600"
}
]
}'
Example Response:
{
"id": 15,
"name": "Branch-Office-AAA-Updated"Manager Access Profile",
"short_name": "manager-access",
"description": "Updated radiusdescription serverwith IPnew aftersecurity datacenter migration"requirements",
"authentication_method"organization_id": "TACACS+org_12345",
"reply_attribute": [
{
"attribute": "Session-Timeout",
"op": ":=",
"tacacs_server"value": "tacacs.newdomain.com"21600"
}
],
"radius_server"check_attribute": [
{
"attribute": "10.2.1.100"User-Password",
"tacacs_port": 49,
"authorization_method"op": "TACACS+==",
"accounting_enabled": true,
"accounting_method"value": "TACACS+%{User-Password}"
},
{
"attribute": "Huntgroup-Name",
"op": "==",
"fallback_local_auth": true,
"session_timeout": 5400,
"privilege_levels": {
"readonly": 1,
"operator": 7,
"admin": 15
},
"created_at"value": "2024-01-25T16:20:00Z",management"
"updated_at":}
"2024-01-26T16:45:00Z",
"created_by": "api-user@company.com",
"status": "active"]
}
Response Codes:
| Status | Description |
|---|---|
| 200 | Success - AAA profile successfully updated |
| 400 | Bad Request - Invalid |
| 401 | Unauthorized - Invalid or missing authentication token |
DELETE /aaa_profile/{id}/
Description: Permanently removes an AAA profile from the system. This operationaction cannot be undone and will failaffect ifany theusers profileor isdevices currently assigned to anythis network devices. Ensure all device associations are removed before attempting deletion.profile.
Use Cases:
CleanRemoving obsolete profiles that are no longer needed
Full URL Example:
https://gate.zequenze.com/api/v1/aaa_profile/15/
cURL Example:
curl -X DELETE "https://gate.zequenze.com/api/v1/aaa_profile/15/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Response Codes:
| Status | Description |
|---|---|
| 204 | No Content - AAA profile successfully deleted |
| 401 | Unauthorized - Invalid or missing authentication token |
Common Use Cases
Use Case 1: NetworkEmployee Infrastructure StandardizationOnboarding
DeployCreate consistentstandardized AAAaccess profiles acrossfor multiplenew networkemployees devicesby duringusing initialPOST setup/aaa_profile/ orwith infrastructureappropriate expansion.VLAN Useassignments and session timeouts, then retrieve the profile using GET to identify existing profiles, POST/aaa_profile/{id}/ to createverify standardized templates, and apply them systematically across your device inventory.configuration.
Use Case 2: SecurityGuest PolicyNetwork MigrationManagement
MigrateSet fromup localtime-limited authenticationguest access by creating profiles with Session-Timeout attributes and bandwidth restrictions, using the reply_attribute array to centralizeddefine RADIUS/TACACS+access authentication. Use GET to audit current profiles, PATCH to gradually update authentication methods, and monitor the transition across your network infrastructure.parameters.
Use Case 3: ComplianceProfile and Audit ManagementMaintenance
ImplementRegularly role-basedaudit existing profiles using GET /aaa_profile/ with pagination, then use PATCH operations to update specific attributes like session timeouts or access controlrules andwithout accountingdisrupting forother regulatory compliance. Create profiles with specific privilege levels, enable comprehensive accounting, and use GET endpoints to generate compliance reports showing AAA policy distribution.configuration.
Use Case 4: DisasterSecurity RecoveryPolicy and BackupUpdates
MaintainImplement backuporganization-wide AAAsecurity configurationschanges by retrieving all profiles with GET /aaa_profile/, then using PUT operations to update profiles with new check attributes for businessenhanced continuity.authentication Use GET to export current profiles, store configurations in version control, and use POST to quickly restore AAA services during disaster recovery scenarios.requirements.
Use Case 5: Multi-EnvironmentSeasonal ManagementAccess Control
ManageCreate separateand AAAdelete temporary profiles for development,contractors staging,or seasonal workers using POST and productionDELETE environments. Create environment-specific profilesoperations, with appropriatespecific securityreply levelsattributes that limit access duration and servernetwork configurations, enabling secure development workflows while maintaining production security standards.resources.
Best Practices
-
Attribute Operators: Use
:=for setting values,==for exact matches in checks, and=*for pattern matching with regular expressions