diff --git a/TODO-cove-data-protection.md b/TODO-cove-data-protection.md index 27b4efa..b4387ea 100644 --- a/TODO-cove-data-protection.md +++ b/TODO-cove-data-protection.md @@ -141,15 +141,13 @@ Unified → → Common Processor → JobRun ### Phase 1: API Research & POC -**Step 1: Find API Base URL** -- [ ] Check Cove admin portal for API documentation link -- [ ] Common patterns to try: - - `https://api.backup.management/` - - `https://api.cove.n-able.com/` - - `https://backup.management/api/` - - `https://cloudbackup.management/api/` -- [ ] Check API user creation page for hints/links -- [ ] Look for "API Documentation" or "Developer" menu in portal +**Step 1: Read Authentication Documentation** ✅ DOCUMENTATION FOUND! +- [x] API documentation located +- [ ] **Read:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/login.htm +- [ ] **Read:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/construct-a-call.htm +- [ ] Document API base URL from docs +- [ ] Document authentication flow (likely JSON-RPC style based on "construct-a-call") +- [ ] Note any required request format (headers, body structure) **Step 2: Test Authentication** - [ ] Determine token format (Bearer token? API key header? Query param?) @@ -221,8 +219,30 @@ Unified → → Common Processor → JobRun ### Cove Data Protection - **Product name:** Cove Data Protection (formerly N-able Backup, SolarWinds Backup) - **Website:** https://www.n-able.com/products/cove-data-protection -- **API Docs:** [TODO: add link after research] -- **Support:** [TODO: contact info] +- **API Documentation Base:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/ + +### JSON API Documentation (Found!) + +**Core Documentation:** +- 📘 **API Home:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/home.htm +- 🔑 **Login/Authentication:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/login.htm +- 🔧 **Construct API Calls:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/construct-a-call.htm + +**Key Endpoints for Backupchecks:** +- 👥 **Enumerate Customers:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/enumerate-customers.htm +- 💻 **Enumerate Devices:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/enumerate-devices.htm +- 📊 **Enumerate Device Statistics:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/enumerate-device-statistics.htm + +**Reference:** +- 📋 **API Column Codes:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/API-column-codes.htm +- 📋 **Legacy Column Codes:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/API-column-codes-legacy.htm +- 📐 **Schema Documentation:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/how-to-schema.htm + +**Other Resources:** +- 🏗️ **Architecture Guide:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/Architecture-and-Security/Cove-Architecture-Guide.htm +- 🔒 **Security Guide:** https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/Architecture-and-Security/Cove-Security-Guide.htm + +**Note:** API docs are in "unused" folder - likely legacy but still functional! ### Similar Integrations Other backup systems that use APIs: @@ -270,11 +290,18 @@ Other backup systems that use APIs: ### Immediate Actions (Ready to Start!) -**1. Find API Documentation** -- Check Cove admin portal for "API" or "Developer" section -- Look for documentation links on the API user creation page -- Search Cove knowledge base for "API documentation" -- Try common API base URLs with `/docs` or `/swagger` endpoints +**1. Read API Documentation** ✅ FOUND! +Priority reading order: +1. **Start here:** [Login/Auth](https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/login.htm) - How to authenticate with your token +2. **Then read:** [Construct a Call](https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/construct-a-call.htm) - Request format +3. **Key endpoint:** [Enumerate Device Statistics](https://documentation.n-able.com/covedataprotection/USERGUIDE/documentation/Content/unused/service-management/json-api/enumerate-device-statistics.htm) - This likely has backup job data! + +**What to extract from docs:** +- API base URL/endpoint +- Request format (JSON-RPC? REST? POST body structure?) +- How to use the token in requests +- Response format examples +- Which fields contain backup status/results **2. Quick API Test with Postman** (can be done now with token!) @@ -469,9 +496,9 @@ Based on POC results, decide architecture approach and start implementation - ✅ **Confirmed:** Cove Data Protection HAS API access (mentioned in documentation) - ✅ **Found:** API user creation location in Cove portal - ✅ **Created:** API user with SuperUser role and token -- ❓ **Testing needed:** API base URL and authentication method -- ❓ **Unknown:** Available endpoints and documentation -- 🎯 **Next action:** Test API access with token and find documentation +- ✅ **Found:** Complete JSON API documentation (N-able docs site) +- ✅ **Identified:** Key endpoints (enumerate-customers, enumerate-devices, enumerate-device-statistics) +- 🎯 **Next action:** Read authentication docs and test API calls in Postman ### API Credentials (Created) - **Authentication:** Token-based