Overview
Implement comprehensive Administration API module following v2.0 BaseAPI pattern for system administration and configuration management.
Scope
API Endpoints
GET /api/3/administration/info - Get system information
GET /api/3/administration/license - Get license details
GET /api/3/administration/settings - Get system settings
PUT /api/3/administration/settings - Update settings
GET /api/3/administration/properties - Get console properties
POST /api/3/administration/commands/sql - Execute SQL (admin only)
Implementation Checklist
Key Features
- System Info: Version, uptime, memory, CPU usage
- License Management: Expiration, asset limits, feature availability
- Settings: SMTP, authentication, session timeout, etc.
- Database: Backup status, size, connection info
- Console Properties: JVM settings, environment variables
- Helper Methods:
check_health(), get_license_status(), is_licensed_for()
System Information Includes
- InsightVM version and build
- Operating system details
- Java version and memory settings
- Database type and version
- Disk space usage
- Active scans and engines
Estimated Size
~300-350 lines of code
Definition of Done
- AdministrationAPI module implemented with all endpoints
- Integrated with InsightVMClient as
client.administration
- Documented with usage examples
- Memory Bank updated
- PR created and ready for review
Security Notes
- Most operations require Global Administrator role
- Sensitive information should be handled carefully
- Log all administrative actions
References
- Context7 API Documentation:
/riza/rapid7-insightvm-api-docs
- BaseAPI Pattern:
src/rapid7/api/base.py
Overview
Implement comprehensive Administration API module following v2.0 BaseAPI pattern for system administration and configuration management.
Scope
API Endpoints
GET /api/3/administration/info- Get system informationGET /api/3/administration/license- Get license detailsGET /api/3/administration/settings- Get system settingsPUT /api/3/administration/settings- Update settingsGET /api/3/administration/properties- Get console propertiesPOST /api/3/administration/commands/sql- Execute SQL (admin only)Implementation Checklist
src/rapid7/api/administration.pydocs/ADMINISTRATION_API.mdfeature/issue-{number}-administration-apiKey Features
check_health(),get_license_status(),is_licensed_for()System Information Includes
Estimated Size
~300-350 lines of code
Definition of Done
client.administrationSecurity Notes
References
/riza/rapid7-insightvm-api-docssrc/rapid7/api/base.py