- assign_policy: add inheritFromAbove option; mark VERIFIED via official docs (policyId/targetIds/forcePolicyInheritance/inheritFromAbove; not applied to ENFORCED-policy targets). - setPushEventSettings: documented serviceType (splunk/cef/jsonRPC), TLS 1.2+ receiver requirement, subscribeToEventTypes event-flag map; webhook receiver pattern noted. - api-reference.md: cite GravityZone Support Center as authoritative source. - add references/BUILDOUT.md — master checklist to implement every API method module-by-module; seeded with current done/todo/dead state. - memory: reference_gravityzone_support (+ index). selftest 42/42. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Bitdefender skill — full API build-out tracker
Goal: implement EVERY GravityZone Public API method the docs expose (and the tenant license allows), one module at a time. Source of truth for method/param shapes: the GravityZone Support Center (https://www.bitdefender.com/business/support/en/77209-125277-public-api.html).
Legend: [x] wrapped + tested · [ ] todo · [~] partial/unverified ·
[DEAD] in key scope but license/feature OFF on this tenant.
Per-module workflow: fetch module doc -> list methods + params -> add to
gz_client.py + gz.py (gate state-changing behind --confirm) -> test
(reads live; writes gated-only, never executed on prod during build) -> update
api-reference.md + tick here.
general / authentication
- getApiKeyDetails
licensing
- getLicenseInfo
- (enumerate: getMonthlyUsage? / others)
companies
- getCompanyDetails
- getCompaniesList / getCompanyDetailsByUser
- createCompany / updateCompany / deleteCompany / suspend / activate (enumerate; gated)
network
- getNetworkInventoryItems · getEndpointsList · getManagedEndpointDetails
- getScanTasksList · createScanTask · moveEndpoints
- createCustomGroup · deleteCustomGroup · moveCustomGroup · deleteEndpoint
- assignPolicy
- createReconfigureClientTask (gated)
- createUninstallTask (gated)
- setEndpointLabel
- (enumerate remaining: getEndpointsCounts, getManagedEndpointDetails opts, etc.)
packages
- getPackagesList · createPackage · getInstallationLinks · deletePackage
- getPackageDetails (param: packageId)
- (enumerate remaining)
policies
- getPoliciesList · getPolicyDetails (FULL config)
- assignPolicy (lives in /network)
- (confirm no other policy methods exist)
reports
- getReportsList
- createReport (param: name, type, targetIds, ...) (gated-ish)
- getDownloadLinks · deleteReport (enumerate)
quarantine
- getQuarantineItemsList (computers)
- createRemoveQuarantineItemTask (gated)
- createRestoreQuarantineItemTask (gated)
- exchange quarantine variants (enumerate)
incidents / EDR
- getBlocklistItems · addToBlocklist · removeFromBlocklist
- createIsolateEndpointTask · createRestoreEndpointFromIsolationTask
- [DEAD] getIncidentsList (Method not found on this tenant)
- custom rules / changeIncidentStatus / updateIncidentNote (enumerate; likely EDR-license gated)
push (event service)
- getPushEventSettings · getPushEventStats · setPushEventSettings
- sendTestPushEvent (enumerate)
accounts (fully enumerated from docs)
- getAccountsList
- getNotificationsSettings
- getAccountDetails
- createAccount (gated)
- updateAccount (gated)
- deleteAccount (gated)
- configureNotificationsSettings (gated)
integrations
- (enumerate; getPSAIntegrationList was a name-miss — find correct names)
maintenance windows
- [DEAD] getMaintenanceWindows / *List → "not available" on this tenant
patchmanagement / phasr
- [DEAD] license OFF (managePatchManagement=false; phasr feature off)