# TrueNAS Scale API Connectivity Test Results **Date:** 2025-12-14 **Target:** 192.168.2.150 **Test Status:** SUCCESSFUL ## Test Results ### Network Connectivity - ✅ **PASS**: Host is reachable via ICMP - **RTT**: 2.7-2.9ms average - **Packet Loss**: 0% ### API Accessibility - ✅ **HTTPS Port 443**: OPEN and accessible - ✅ **API Endpoint**: Responds correctly - ✅ **Response**: HTTP 401 Unauthorized (expected - requires authentication) ## Findings ### Protocol **Use HTTPS (port 443)** ```bash https://192.168.2.150/api/v2.0/ ``` ### Authentication **Required**: API key via Bearer token ```bash curl -X GET "https://192.168.2.150/api/v2.0/system/version" \ -H "Authorization: Bearer YOUR_API_KEY_HERE" \ --insecure ``` ### SSL Certificate **Self-signed certificate detected** - Must use `--insecure` or `-k` flag with curl - Or install CA certificate for production use ## Implementation Requirements ### 1. Generate API Key 1. Login to TrueNAS Web UI: https://192.168.2.150 2. Navigate to: Account → API Keys 3. Create new key with read-only permissions 4. Store securely ### 2. Test Authentication ```bash export TRUENAS_API_KEY="your-generated-key" curl -X GET "https://192.168.2.150/api/v2.0/system/version" \ -H "Authorization: Bearer ${TRUENAS_API_KEY}" \ -H "Content-Type: application/json" \ --insecure ``` Expected response: ```json { "fullversion": "TrueNAS-SCALE-XX.XX.X", "version": "XX.XX.X" } ``` ### 3. Collection Script Parameters ```bash TRUENAS_HOST="192.168.2.150" TRUENAS_PROTOCOL="https" TRUENAS_PORT="443" TRUENAS_API_BASE="/api/v2.0" CURL_OPTS="--insecure" # For self-signed cert ``` ## Next Steps 1. ✅ Network connectivity confirmed 2. ✅ API endpoint confirmed 3. ⏳ Generate API key in TrueNAS UI 4. ⏳ Test authenticated API calls 5. ⏳ Implement collection script 6. ⏳ Create comprehensive documentation ## Recommended API Calls for Collection ### System Information - `GET /system/info` - Hardware and version - `GET /system/version` - TrueNAS version - `GET /system/general` - General config ### Storage - `GET /pool` - All pools - `GET /pool/dataset` - All datasets - `GET /disk` - Disk inventory - `GET /disk/temperature` - Disk temps ### Sharing - `GET /sharing/nfs` - NFS shares - `GET /sharing/smb` - SMB shares ### Services - `GET /service` - Service status ## Compatibility - **TrueNAS Scale**: Compatible - **API Version**: v2.0 - **Connection**: Stable, low latency --- **Test completed successfully - Ready for implementation**