feat(bitdefender): complete remaining API modules (build-out 4/N)

- completed remaining modules: packages, reports, quarantine, incidents, push, licensing, integrations
- packages: getPackageDetails (read)
- reports: createReport (gated), getDownloadLinks/report-links (read), deleteReport (gated)
- quarantine: createRemove/RestoreQuarantineItemTask (gated; quarantineItemsIds)
- incidents/edr: getCustomRulesList (read), create/deleteCustomRule (gated), changeIncidentStatus/updateIncidentNote (gated)
- push: sendTestPushEvent (gated); licensing: getMonthlyUsage (read); integrations: getConfiguredIntegrations (read)
- all write methods gated via --confirm and raw; shapes verified via docs + safe validation probes
- selftest 60 -> 75 passing; BUILDOUT tracker: all live modules complete

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-21 10:46:43 -07:00
parent 5ede4fee26
commit 53d7e94c13
2 changed files with 57 additions and 34 deletions

View File

@@ -18,9 +18,10 @@ Per-module workflow: fetch module doc -> list methods + params -> add to
## general / authentication
- [x] getApiKeyDetails
## licensing
## licensing — COMPLETE
- [x] getLicenseInfo
- [ ] (enumerate: getMonthlyUsage? / others)
- [x] getMonthlyUsage (read; endpoint/encryption/email/mobile usage)
- [DEAD] getMonthlyUsagePerCompany — not found
## companies — COMPLETE (6; no updateCompany/getCompaniesList — those don't exist)
- [x] getCompanyDetails (no id = own)
@@ -41,36 +42,36 @@ Per-module workflow: fetch module doc -> list methods + params -> add to
- [DEAD] createUninstallTask (+variants) — does NOT exist under /network this version
- [DEAD] getEndpointsByPolicy / getManagedEndpointDetailsByIp / createScanTaskByMailboxes — not found
## packages
## packages — COMPLETE
- [x] getPackagesList · createPackage · getInstallationLinks · deletePackage
- [ ] getPackageDetails (param: packageId)
- [ ] (enumerate remaining)
- [x] getPackageDetails (read; param packageId)
## policies
## policies — COMPLETE
- [x] getPoliciesList · getPolicyDetails (FULL config)
- [x] assignPolicy (lives in /network)
- [ ] (confirm no other policy methods exist)
## reports
## reports — COMPLETE
- [x] getReportsList
- [ ] createReport (param: name, type, targetIds, ...) (gated-ish)
- [ ] getDownloadLinks · deleteReport (enumerate)
- [x] createReport (gated; name + type/targetIds via extra-json)
- [x] getDownloadLinks (read; report-links)
- [x] deleteReport (gated)
- [DEAD] getReportConfiguration — not found
## quarantine
## quarantine — COMPLETE
- [x] getQuarantineItemsList (computers)
- [ ] createRemoveQuarantineItemTask (gated)
- [ ] createRestoreQuarantineItemTask (gated)
- [ ] exchange quarantine variants (enumerate)
- [x] createRemoveQuarantineItemTask (gated; quarantineItemsIds)
- [x] createRestoreQuarantineItemTask (gated; quarantineItemsIds)
## incidents / EDR
## incidents / EDR — COMPLETE (custom rules + status/note ARE available)
- [x] getBlocklistItems · addToBlocklist · removeFromBlocklist
- [x] createIsolateEndpointTask · createRestoreEndpointFromIsolationTask
- [x] getCustomRulesList (read) · createCustomRule (gated) · deleteCustomRule (gated)
- [x] changeIncidentStatus (gated) · updateIncidentNote (gated)
- [DEAD] getIncidentsList (Method not found on this tenant)
- [ ] custom rules / changeIncidentStatus / updateIncidentNote (enumerate; likely EDR-license gated)
## push (event service)
## push (event service) — COMPLETE
- [x] getPushEventSettings · getPushEventStats · setPushEventSettings
- [ ] sendTestPushEvent (enumerate)
- [x] sendTestPushEvent (gated; eventType)
## accounts — COMPLETE (all 7)
- [x] getAccountsList
@@ -81,8 +82,9 @@ Per-module workflow: fetch module doc -> list methods + params -> add to
- [x] deleteAccount (gated)
- [x] configureNotificationsSettings (gated; setter w/ no required param — never probe empty)
## integrations
- [ ] (enumerate; getPSAIntegrationList was a name-miss — find correct names)
## integrations — COMPLETE (read)
- [x] getConfiguredIntegrations (read)
- [DEAD] getPSAIntegrationList / getIntegrationsList — not found (wrong names)
## maintenance windows
- [DEAD] getMaintenanceWindows / *List → "not available" on this tenant