@binalyze/air-sdk 5.22.4 → 5.24.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/bindings-v2.d.ts +3 -0
- package/dist/generated/bindings-v2.js +44 -0
- package/dist/generated/bindings-v2.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/sdk/typescript-axios/sdk.gen.d.ts +441 -73
- package/dist/sdk/typescript-axios/sdk.gen.js +2014 -552
- package/dist/sdk/typescript-axios/sdk.gen.js.map +1 -1
- package/dist/sdk/typescript-axios/types.gen.d.ts +10683 -6110
- package/dist/sdk/typescript-axios-v2/client/client.gen.d.ts +2 -0
- package/dist/sdk/typescript-axios-v2/client/client.gen.js +141 -0
- package/dist/sdk/typescript-axios-v2/client/client.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/client/index.d.ts +7 -0
- package/dist/sdk/typescript-axios-v2/client/index.js +16 -0
- package/dist/sdk/typescript-axios-v2/client/index.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/client/types.gen.d.ts +95 -0
- package/dist/sdk/typescript-axios-v2/client/types.gen.js +5 -0
- package/dist/sdk/typescript-axios-v2/client/types.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/client/utils.gen.d.ts +14 -0
- package/dist/sdk/typescript-axios-v2/client/utils.gen.js +175 -0
- package/dist/sdk/typescript-axios-v2/client/utils.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/client.gen.d.ts +12 -0
- package/dist/sdk/typescript-axios-v2/client.gen.js +8 -0
- package/dist/sdk/typescript-axios-v2/client.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/core/auth.gen.d.ts +18 -0
- package/dist/sdk/typescript-axios-v2/core/auth.gen.js +20 -0
- package/dist/sdk/typescript-axios-v2/core/auth.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/core/bodySerializer.gen.d.ts +17 -0
- package/dist/sdk/typescript-axios-v2/core/bodySerializer.gen.js +62 -0
- package/dist/sdk/typescript-axios-v2/core/bodySerializer.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/core/params.gen.d.ts +33 -0
- package/dist/sdk/typescript-axios-v2/core/params.gen.js +94 -0
- package/dist/sdk/typescript-axios-v2/core/params.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/core/pathSerializer.gen.d.ts +33 -0
- package/dist/sdk/typescript-axios-v2/core/pathSerializer.gen.js +125 -0
- package/dist/sdk/typescript-axios-v2/core/pathSerializer.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/core/serverSentEvents.gen.d.ts +71 -0
- package/dist/sdk/typescript-axios-v2/core/serverSentEvents.gen.js +141 -0
- package/dist/sdk/typescript-axios-v2/core/serverSentEvents.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/core/types.gen.d.ts +78 -0
- package/dist/sdk/typescript-axios-v2/core/types.gen.js +5 -0
- package/dist/sdk/typescript-axios-v2/core/types.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/core/utils.gen.d.ts +19 -0
- package/dist/sdk/typescript-axios-v2/core/utils.gen.js +95 -0
- package/dist/sdk/typescript-axios-v2/core/utils.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/index.d.ts +2 -0
- package/dist/sdk/typescript-axios-v2/index.js +21 -0
- package/dist/sdk/typescript-axios-v2/index.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/sdk.gen.d.ts +695 -0
- package/dist/sdk/typescript-axios-v2/sdk.gen.js +3435 -0
- package/dist/sdk/typescript-axios-v2/sdk.gen.js.map +1 -0
- package/dist/sdk/typescript-axios-v2/types.gen.d.ts +8221 -0
- package/dist/sdk/typescript-axios-v2/types.gen.js +5 -0
- package/dist/sdk/typescript-axios-v2/types.gen.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/page-iterator.d.ts +12 -0
- package/dist/utils/page-iterator.js +23 -0
- package/dist/utils/page-iterator.js.map +1 -0
- package/dist/utils/retry.d.ts +29 -0
- package/dist/utils/retry.js +70 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/typed-errors.d.ts +44 -0
- package/dist/utils/typed-errors.js +82 -0
- package/dist/utils/typed-errors.js.map +1 -0
- package/dist/v2/AIR.d.ts +56 -0
- package/dist/v2/AIR.js +80 -0
- package/dist/v2/AIR.js.map +1 -0
- package/dist/v2/index.d.ts +1 -0
- package/dist/v2/index.js +18 -0
- package/dist/v2/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,20 +2,21 @@
|
|
|
2
2
|
// @ts-nocheck
|
|
3
3
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
5
|
+
exports.endpointGetCasesById0 = exports.endpointSearch1 = exports.endpointSearch0 = exports.endpointFilterByPolicyFilter1 = exports.endpointFilterByPolicyFilter0 = exports.endpointFilterDisks1 = exports.endpointFilterDisks0 = exports.assetsSetMitreAttackDatabaseVersion2 = exports.assetsSetMitreAttackDatabaseVersion = exports.assetsAddTags2 = exports.assetsRemoveTags2 = exports.assetsAddTags = exports.assetsRemoveTags = exports.endpointPurgeAssetDataByFilter1 = exports.endpointPurgeAssetDataByFilter0 = exports.endpointUninstallEndpointsByFilter1 = exports.endpointUninstallEndpointsByFilter0 = exports.endpointUninstallAgentsAndPurgeByFilter2 = exports.endpointUninstallAgentsAndPurgeByFilter1 = exports.endpointUninstallAgentsAndPurgeByFilter0 = exports.endpointImportPpcToExistedEndpoint1 = exports.endpointImportPpcToExistedEndpoint0 = exports.endpointImportPpcAsEndpoint1 = exports.endpointImportPpcAsEndpoint0 = exports.assetsGetMany4 = exports.assetsGetMany3 = exports.endpointGetDeviceNameConflicts1 = exports.endpointGetDeviceNameConflicts0 = exports.endpointGetEndpointsWithTaskCount = exports.assetsGetManyByFilterExpression2 = exports.assetsGetManyByFilterExpression = exports.assetsGetManyByFilter2 = exports.assetsGetManyByFilter = exports.assetsGetMany2 = exports.assetsGetMany = exports.assetsUpdateLabel2 = exports.assetsUpdateLabel = exports.assetsUpdateTags2 = exports.assetsUpdateTags = exports.endpointExportEndpoints1 = exports.endpointExportEndpoints0 = exports.openApiAliasV2ApiControllerGet = exports.capabilitiesV2ApiControllerGet = exports.paramsGetMitreAttackTactics = exports.paramsEvidenceList = exports.paramsEventLogRecordTypes = exports.paramsEDiscoveryPatterns = exports.paramsGetDroneAnalyzers = exports.loggerDownloadLogsDir = exports.appGetBasicInfo = void 0;
|
|
6
|
+
exports.assetsGetTasks2 = exports.assetsGetTasks = exports.assetsAssignIsolationTask2 = exports.assetsAssignIsolationTask = exports.assetsAssignVersionUpdateTask2 = exports.assetsAssignVersionUpdateTask = exports.endpointTaskAssignRetrieveLogTask1 = exports.endpointTaskAssignRetrieveLogTask0 = exports.assetsAssignShutdownTask2 = exports.assetsAssignShutdownTask = exports.assetsAssignRebootTask2 = exports.assetsAssignRebootTask = exports.taskGenerateOffNetworkZipPassword = exports.taskDownloadOffNetworkTask = exports.taskImportOffNetworkCollectionToTask = exports.taskCreateOffNetworkTask = exports.taskCancel = exports.taskCancelByFilter = exports.taskDeleteAndPurgeByFilter = exports.taskDeleteByFilter = exports.tasksGetData = exports.taskRenameTask = exports.tasksGetMany = exports.tasksGetById = exports.taskDelete = exports.getTaskDisplayTypes = exports.endpointGroupGetRootGroups = exports.endpointGroupGetChildGroupsOfGroup = exports.endpointTagRenameAssetTag = exports.endpointTagDeleteAssetTag = exports.endpointTagDeleteAllAssetTags = exports.endpointTagCreateAssetTag = exports.endpointTagFilterAssetTags = exports.endpointSetMaintenanceMode1 = exports.endpointSetMaintenanceMode0 = exports.endpointUpdateEndpointConnectionRoute1 = exports.endpointUpdateEndpointConnectionRoute0 = exports.endpointDeployCloudAssetsByFilter1 = exports.endpointDeployCloudAssetsByFilter0 = exports.endpointGetCloudAssetDetails1 = exports.endpointGetCloudAssetDetails0 = exports.endpointSyncLdap1 = exports.endpointSyncLdap0 = exports.endpointDownloadLogFile1 = exports.endpointDownloadLogFile0 = exports.endpointSetExcludeFromUpdatesToEndpointsByFilter1 = exports.endpointSetExcludeFromUpdatesToEndpointsByFilter0 = exports.endpointExportCasesByEndpointId1 = exports.endpointExportCasesByEndpointId0 = exports.endpointGetCasesById1 = void 0;
|
|
7
|
+
exports.settingsSaveIpRestriction = exports.settingsValidateIpRestriction = exports.settingsSaveCaseAutoClose = exports.settingsSaveFleetAi = exports.settingsSaveInterAct = exports.settingsSaveAutoAssetTagging = exports.settingsSaveEnforceTfa = exports.settingsSaveAgent = exports.settingsValidateS3 = exports.settingsValidateSftp = exports.settingsSaveBackupRestore = exports.settingsSavePolicy = exports.settingsValidateSsl = exports.settingsSaveSsl = exports.settingsValidateSmtp = exports.settingsSaveSmtp = exports.settingsValidateSyslog = exports.settingsSaveSyslog = exports.settingsGetSyslogEventTypes = exports.settingsValidateActiveDirectory = exports.settingsSaveActiveDirectory = exports.settingsValidateTrustedCertificate = exports.settingsDeleteTrustedCertificate = exports.settingsAddTrustedCertificateWithoutValidation = exports.settingsAddTrustedCertificate = exports.settingsGetTrustedCertificates = exports.settingsTestProxy1 = exports.settingsTestProxy0 = exports.settingsSaveProxy = exports.settingsSaveGeneralSettings = exports.settingsGetSettings = exports.tasksTriageV2ApiControllerDeleteOne = exports.tasksTriageV2ApiControllerCancelOne = exports.tasksTriageV2ApiControllerDelete = exports.tasksTriageV2ApiControllerCancel = exports.tasksTriageV2ApiControllerListHuntTasks = exports.tasksV2ApiControllerListTaskAssignments = exports.tasksV2ApiControllerListTaskAssets = exports.tasksV2ApiControllerUpdateTask = exports.tasksV2ApiControllerGetTaskById = exports.taskAssignmentGenerateTaskAssignmentReport = exports.taskAssignmentGet = exports.taskAssignmentDelete = exports.taskAssignmentCancel = exports.tasksAssignmentsGetMany = exports.endpointTaskGetComparableTasksByVendorDeviceId = exports.endpointTaskRetryUpload1 = exports.endpointTaskRetryUpload0 = exports.endpointTaskPurgeLocalData1 = exports.endpointTaskPurgeLocalData0 = void 0;
|
|
8
|
+
exports.userPatTokensCreate = exports.userPatTokensGetMany = exports.userGroupUpdateGroup = exports.userGroupGetGroup = exports.userGroupDeleteGroup = exports.userGroupCreateGroup = exports.userGroupFilterGroups = exports.userRolesUpdateRole = exports.userRolesGetRole = exports.userRolesDeleteRole = exports.userRolesCreateRole = exports.userRolesGetRoles = exports.userRolesGetPrivileges = exports.userCreateApiUser = exports.userResetUserPassword = exports.userChangePassword = exports.userResetTfa = exports.userManagementUsersPurgeAndDelete = exports.userUpdateUser = exports.userPatchUser = exports.userManagementUsersGet = exports.userDelete = exports.userCreate = exports.userManagementUsersGetMany = exports.authGetUserSessionHistory = exports.authRegeneratePatToken = exports.authRenewOneClickLoginUrl = exports.authGenerateOneClickLoginUrl = exports.authLogin = exports.authOneClickLogin = exports.authUpdateProfile = exports.authCheckAuth = exports.settingsUpdateSsoProvider = exports.settingsDeleteSsoProvider = exports.settingsCreateSsoProvider = exports.settingsGetSsoProviders = exports.settingsSingleSignOnCallback = exports.settingsSaveMandatoryCaseSelection = exports.settingsGetMitreAttackDatabaseReleaseNotes = exports.settingsGetMitreAttackDatabaseVersions = exports.settingsSaveMitreAttackDatabaseSettings = exports.settingsGetAutoUpdateWindows = exports.settingsSaveAutoUpdateSettings = exports.settingsGetAutoUpdateSettings = exports.settingsSaveUninstallationPasswordProtection = exports.settingsSaveBanner = exports.settingsSaveConsoleAddress = exports.settingsValidateConsoleAddress = exports.settingsSaveRfc3161 = exports.settingsSaveLocard = void 0;
|
|
9
|
+
exports.taxiiFeedsUpdateStatus = exports.taxiiFeedsCancelSync = exports.taxiiFeedsTriggerSync = exports.taxiiFeedsDiscoverCollections = exports.taxiiFeedsGetSyncLogs = exports.taxiiFeedsUpdate = exports.taxiiFeedsGetOne = exports.taxiiFeedsDelete = exports.taxiiFeedsGetIndicatorSummary = exports.taxiiFeedsGetIndicators = exports.taxiiFeedsCreate = exports.taxiiFeedsGetMany = exports.gitRepositoriesGetRepositoryBranches = exports.gitRepositoriesTestConnection = exports.gitRepositoriesBrowseTree = exports.gitRepositoriesGetSyncLogs = exports.gitRepositoriesCancelSync = exports.gitRepositoriesTriggerSync = exports.gitRepositoriesBulkDelete = exports.gitRepositoriesUpdate = exports.gitRepositoriesGetOne = exports.gitRepositoriesDelete = exports.gitRepositoriesCreate = exports.gitRepositoriesGetMany = exports.acquisitionLibraryDeviceV2ApiControllerUpdate = exports.acquisitionLibraryDeviceV2ApiControllerGet = exports.acquisitionLibraryDeviceV2ApiControllerDelete = exports.acquisitionLibraryDeviceV2ApiControllerBulkDelete = exports.acquisitionLibraryDeviceV2ApiControllerCreate = exports.acquisitionLibraryDeviceV2ApiControllerList = exports.acquisitionValidateOsQueries = exports.acquisitionUpdateScheduledImageAcquisition = exports.acquisitionUpdateScheduledEvidenceAcquisition = exports.acquisitionAcquireImage = exports.createOffNetworkAcquisitionTaskFile = exports.acquisitionAssignEvidenceTask2 = exports.acquisitionAssignEvidenceTask = exports.acquisitionDeleteBulk = exports.acquisitionUpdate = exports.acquisitionGet = exports.acquisitionDelete = exports.acquisitionCreate = exports.acquisitionProfilesGetOne = exports.licenseGetQuota = exports.licenseGetSubscriptionDetails = exports.licenseRefreshLicense = exports.licenseSetLicense = exports.licenseGetLicense = exports.userPatTokensDelete = exports.userPatTokensRotate = void 0;
|
|
10
|
+
exports.evidenceRepositoryValidateGoogleCloudStorage = exports.evidenceRepositoryValidateSftpRepository = exports.evidenceRepositoryValidateFtpsRepository = exports.evidenceRepositoryValidateAzureStorage = exports.evidenceRepositoryValidateS3Compatible = exports.evidenceRepositoryValidateAmazonS3 = exports.evidenceRepositoryValidateById = exports.evidenceRepositoriesGetMany = exports.evidenceRepositoriesGet = exports.evidenceRepositoryDelete = exports.evidenceRepositoryUpdateS3Compatible = exports.evidenceRepositoryCreateS3Compatible = exports.evidenceRepositoryUpdateAmazonS3 = exports.evidenceRepositoryCreateAmazonS3 = exports.evidenceRepositoryUpdateAzureStorage = exports.evidenceRepositoryCreateAzureStorage = exports.evidenceRepositoryUpdateFtps = exports.evidenceRepositoryCreateFtps = exports.evidenceRepositoryUpdateSftp = exports.evidenceRepositoryCreateSftp = exports.evidenceRepositoryUpdateSmb = exports.evidenceRepositoryCreateSmb = exports.evidenceGetCasePpcFile = exports.evidenceGetCaseReportFileInfo = exports.evidenceDownloadExternalEvidence = exports.evidenceGetCaseReport1 = exports.evidenceGetCaseReport0 = exports.triageLibraryExportV2ApiControllerDownload = exports.triageLibraryExportV2ApiControllerExport = exports.triageLibraryV2ApiControllerUpdate = exports.triageLibraryV2ApiControllerGet = exports.triageLibraryV2ApiControllerDelete = exports.triageLibraryV2ApiControllerValidate = exports.triageLibraryV2ApiControllerBulkDelete = exports.triageLibraryV2ApiControllerCreate = exports.triageLibraryV2ApiControllerList = exports.deleteTriageRuleTag = exports.createTriageRuleTag = exports.filterTriageRuleTags = exports.createOffNetworkTriageTaskFile = exports.updateScheduledTriageTask = exports.assignTriageTask = exports.validateTriageRule = exports.deleteBulkTriageRules = exports.updateTriageRule = exports.getTriageRule = exports.deleteTriageRule = exports.createTriageRule = exports.getManyTriageRules = exports.taxiiFeedsBulkDelete = void 0;
|
|
11
|
+
exports.caseActivityV2ApiControllerFilterCaseActivities = exports.caseActivityV2ApiControllerFilterGlobalActivities = exports.autoAssetTagUpdateScheduledAatTask = exports.autoAssetTagAssignAutoAssetTaggingTask = exports.autoAssetTagDeleteBulk = exports.autoAssetTagUpdateStatus = exports.autoAssetTagUpdateAutoAssetTag = exports.autoAssetTagGetById = exports.autoAssetTagDelete = exports.autoAssetTagSaveAutoAssetTag = exports.autoAssetTagFilter = exports.organizationGetUsers = exports.organizationAddTags = exports.organizationRemoveTags = exports.organizationUpdateDeploymentToken = exports.organizationUpdateShareableDeploymentStatus = exports.organizationGetOrganizationIdByToken = exports.organizationAssignGroups = exports.organizationRemoveGroups = exports.organizationAssignUsers = exports.organizationRemoveUsers = exports.organizationUpdate = exports.organizationGet = exports.organizationDelete = exports.organizationCheckNameExists = exports.organizationCreate = exports.organizationsGetMany = exports.policyCheckNameExists = exports.policyUpdateStatus = exports.policyUpdate = exports.policyGet = exports.policyDelete = exports.policyUpdatePriorities = exports.policyCreate = exports.policyFilter = exports.policyGetMatchStats = exports.auditLogsUpdateEventFilter = exports.auditLogsGetEventFilter = exports.auditLogsGetEventTypes = exports.auditLogExport = exports.auditLogsGetMany = exports.notificationMarkAsRead = exports.notificationMarkAllAsRead = exports.notificationFilter = exports.notificationDeleteAll = exports.evidenceRepositoryUpdateBox = exports.evidenceRepositoryCreateBox = exports.evidenceRepositoryValidateBox = exports.evidenceRepositoryUpdateGoogleCloudStorage = exports.evidenceRepositoryCreateGoogleCloudStorage = void 0;
|
|
12
|
+
exports.caseDeleteCaseNote = exports.caseAddCaseNote = exports.caseExportActivities = exports.casesGetActivities = exports.casesGetAssetsByFilterExpression2 = exports.casesGetAssetsByFilterExpression = exports.casesGetEndpoints2 = exports.casesGetEndpoints = exports.caseFilterTaskAssignments = exports.casesGetTasks = exports.casesChangeOwner = exports.casesArchiveByFilter = exports.casesCloseByFilter = exports.caseArchiveCase = exports.caseReopenCase = exports.casesClose = exports.casesCreate = exports.casesGetMany = exports.caseUpdateCase = exports.casesGet = exports.casesCreateAssetsExpressionExport2 = exports.casesDownloadAssetsExpressionExport2 = exports.casesCreateAssetsExpressionExport = exports.casesDownloadAssetsExpressionExport = exports.caseExportCaseEndpoints1 = exports.caseExportCaseEndpoints0 = exports.caseExportCaseNotes = exports.caseExportCases = exports.casesCheckName = exports.caseV2ApiControllerUpdateCase = exports.caseV2ApiControllerGetCaseByIdOrName = exports.caseV2ApiControllerCreateCase = exports.caseV2ApiControllerFilterCases = exports.caseActionV2ApiControllerRemoveAssets = exports.caseActionV2ApiControllerArchive = exports.caseActionV2ApiControllerReopen = exports.caseActionV2ApiControllerClose = exports.caseTaskAssignmentV2ApiControllerRemoveTaskAssignment = exports.caseTaskAssignmentV2ApiControllerImportTaskAssignments = exports.caseTaskAssignmentV2ApiControllerFilterTaskAssignments = exports.caseNoteV2ApiControllerUpdateNote = exports.caseNoteV2ApiControllerDeleteNote = exports.caseNoteV2ApiControllerCreateNote = exports.caseNoteV2ApiControllerFilterNotes = exports.caseTaskV2ApiControllerFilterTasks = exports.caseUserV2ApiControllerFilterUsers = exports.caseAssetV2ApiControllerFilterAssets = exports.caseBulkActionV2ApiControllerArchive = exports.caseBulkActionV2ApiControllerClose = exports.caseExportV2ApiControllerExportCases = void 0;
|
|
12
13
|
exports.interactLibrarySnippetV2ApiControllerGet = exports.interactLibrarySnippetV2ApiControllerDelete = exports.interactLibrarySnippetV2ApiControllerBulkDelete = exports.interactLibrarySnippetV2ApiControllerCreate = exports.interactLibrarySnippetV2ApiControllerList = exports.interactCommandSnippetTagsUpdate = exports.interactCommandSnippetTagsDelete = exports.interactCommandSnippetTagsCreate = exports.interactCommandSnippetTagsGetMany = exports.interactCommandSnippetsBulkDelete = exports.interactCommandSnippetsUpdate = exports.interactCommandSnippetsGetOne = exports.interactCommandSnippetsDelete = exports.interactCommandSnippetsCreate = exports.interactCommandSnippetsGetMany = exports.interactLibraryDelete = exports.interactLibraryDeleteBulk = exports.interactLibraryDownload = exports.interactLibraryUpload = exports.interactLibraryCheckLibraryFileExists = exports.interactLibraryFilter = exports.interactSessionGetCommandMessage = exports.interactSessionClose = exports.interactSessionInterruptCommand = exports.interactSessionExecuteAsyncCommand = exports.interactSessionExecuteCommand = exports.interactGetInterActShellReport = exports.interactShellAssignTask = exports.interactCommandsDownloadResultFile = exports.interactCommandsGetMany = exports.exportClosureReportAssets = exports.exportClosureReportFlags = exports.exportClosureReportFindings = exports.updateCaseCloseReport2 = exports.getCaseCloseReport2 = exports.updateCaseCloseReport = exports.getCaseCloseReport = exports.getCaseCloseReportHistory = exports.caseCategoriesDelete = exports.caseCategoriesCreate = exports.caseCategoriesFilter = exports.caseTagsDelete = exports.caseTagsCreate = exports.caseTagsFilter = exports.caseRemoveTaskAssignmentFromCase = exports.caseRemoveEndpointsFromCaseByFilter1 = exports.caseRemoveEndpointsFromCaseByFilter0 = exports.casesGetUsers = exports.caseImportTaskAssignment = exports.caseEditCaseNote = void 0;
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
17
|
-
exports.
|
|
18
|
-
exports.diskImageAcquisitionTasksDownload = exports.diskImageAcquisitionTasksCreate = exports.diskImageAcquisitionLibraryApiControllerUpdate = exports.diskImageAcquisitionLibraryApiControllerGet = exports.diskImageAcquisitionLibraryApiControllerDelete = exports.diskImageAcquisitionLibraryApiControllerBulkDelete = exports.diskImageAcquisitionLibraryApiControllerCreate = exports.diskImageAcquisitionLibraryApiControllerList = exports.imageEvidenceAcquisitionProfilesDeleteBulk = exports.imageEvidenceAcquisitionProfilesUpdate = exports.imageEvidenceAcquisitionProfilesGetOne = exports.imageEvidenceAcquisitionProfilesDelete = void 0;
|
|
14
|
+
exports.investigationEvidenceFlagV2ApiControllerFlagEvidence = exports.flagsLibraryV2ApiControllerUpdate = exports.flagsLibraryV2ApiControllerGet = exports.flagsLibraryV2ApiControllerDelete = exports.flagsLibraryV2ApiControllerCreate = exports.flagsLibraryV2ApiControllerList = exports.cloudAccountsSyncAllCloudAccount = exports.cloudAccountsSyncCloudAccount = exports.cloudAccountsUpdateCloudAccount = exports.cloudAccountsGetCloudAccountById = exports.cloudAccountsDelete = exports.cloudAccountsExport = exports.cloudAccountsGetConfig = exports.cloudAccountsCreateCloudAccount = exports.cloudAccountsFilter = exports.systemApiTokensUpdate = exports.systemApiTokensGetOne = exports.systemApiTokensDelete = exports.systemApiTokensCreate = exports.systemApiTokensGetMany = exports.apiTokensBulkDelete = exports.apiTokensUpdate = exports.apiTokensGetOne = exports.apiTokensDelete = exports.apiTokensGetCurrent = exports.apiTokensCreate = exports.apiTokensGetMany = exports.baselineGetComparisonReportByVendorDeviceId = exports.baselineGetComparisonReport = exports.baselineAcquire = exports.baselineCompare = exports.multipartUploadUploadPart = exports.multipartUploadDeleteFileParts = exports.multipartUploadIsReady = exports.multipartUploadFinalize = exports.multipartUploadInitialize = exports.multipartUploadInitializeHead = exports.interactCommandV2ApiControllerList = exports.interactLibraryFileV2ApiControllerDownload = exports.interactLibraryFileV2ApiControllerDelete = exports.interactLibraryFileV2ApiControllerBulkDelete = exports.interactLibraryFileV2ApiControllerUpload = exports.interactLibraryFileV2ApiControllerList = exports.interactLibraryTagV2ApiControllerUpdate = exports.interactLibraryTagV2ApiControllerGet = exports.interactLibraryTagV2ApiControllerDelete = exports.interactLibraryTagV2ApiControllerBulkDelete = exports.interactLibraryTagV2ApiControllerCreate = exports.interactLibraryTagV2ApiControllerList = exports.interactLibrarySnippetV2ApiControllerUpdate = void 0;
|
|
15
|
+
exports.investigationExclusionApplyFindingExclusionRuleForAllAssets = exports.investigationExclusionApplyFindingExclusionRuleForOrganization = exports.investigationExclusionGetExclusionReasons = exports.investigationExclusionFilterFindingExclusionRules = exports.investigationExclusionDeleteFindingExclusionRule = exports.investigationExclusionGetFindingExclusionRulesMatches = exports.investigationExclusionBulkAddFindingExclusionRules = exports.investigationExclusionAddFindingExclusionRule = exports.investigationImportTornadoEvidenceToInvestigation1 = exports.investigationImportTornadoEvidenceToInvestigation0 = exports.investigationCreateExportRequestForFindings = exports.investigationExportFindingsData = exports.investigationGetInvestigationHubDataImportProgress = exports.investigationGetInvestigationTaskAssignmentDataImportProgress = exports.investigationGetInvestigationTaskAssignmentForImportedEvidence = exports.investigationUpdateInvestigationFinding = exports.investigationMarkInvestigationEvidenceAsFinding = exports.investigationRetryImportTaskAssignment = exports.investigationImportPstEvidencesToInvestigation = exports.investigationGetImportErrors = exports.investigationDeleteImport = exports.investigationGetAllImports = exports.investigationImportDataToInvestigationEvidence = exports.investigationUpdateInvestigationEvidence = exports.investigationCreateInvestigationEvidence = exports.investigationUpdateEvidenceNote = exports.investigationFlagEvidence = exports.investigationRemoveEvidenceFlag = exports.investigationEvidenceCounts = exports.investigationGlobalSearch = exports.investigationGetMitreMatches = exports.investigationGetFindingsSummary = exports.investigationFilterEndpointFindings = exports.investigationGetFindingDataStructure = exports.investigationGetSummary = exports.investigationGetSectionsByEndpoints = exports.investigationGetAssetsByInvestigationId = exports.investigationCreateExportRequestForSectionData = exports.investigationExportEvidenceData = exports.investigationCreateExportRequestForFlags = exports.investigationExportFlags = exports.investigationGetEvidenceRelationData = exports.investigationGetEvidenceData = exports.investigationGetEvidenceDataStructure = exports.investigationGetInvestigationMigrationsSummary = exports.investigationUpdateInvestigation = exports.investigationGetInvestigationById = exports.investigationSqlV2ApiControllerExecuteSqlQuery = exports.investigationSqlV2ApiControllerGetSchema = exports.investigationEvidenceFlagV2ApiControllerUnflagEvidence = void 0;
|
|
16
|
+
exports.assetActionV2ApiControllerUnisolate = exports.assetActionV2ApiControllerIsolate = exports.assetActionV2ApiControllerShutdown = exports.assetActionV2ApiControllerReboot = exports.processorGetProcessorTypeByAssetType = exports.processorGetProcessorsByAssetType = exports.processorGetAllProcessors = exports.recentActivitiesCreate = exports.recentActivitiesGetMany = exports.relayProUpdateRelayUrl = exports.relayProRemove = exports.relayServerUpdateAddress = exports.relayServerRemoveRelayServer = exports.relayServerAssignFixUpdateRequiredIssueTask = exports.relayServerAssignRetrieveLogTask = exports.relayServerAssignRebootTask = exports.relayServerFilter = exports.relayServerGetById = exports.relayServerUpdateLabel = exports.relayServerUpdateTags = exports.investigationTaskExecutionLogFilterTaskExecutionLogs = exports.investigationTaskExecutionLogGetTaskExecutionLogs = exports.investigationTimelineCreateExportRequestForTimeline = exports.investigationTimelineExportTimelineData = exports.investigationTimelineGetTotalTimelineCount = exports.investigationTimelineGetTimelineStructure = exports.investigationTimelineFilterTimelineEvents = exports.investigationTimelineGetTimelineEventCountByAdvancedFilter = exports.investigationAdvancedFilterUpdateFilter = exports.investigationAdvancedFilterDeleteFilter = exports.investigationAdvancedFilterCreateFilter = exports.investigationAdvancedFilterGetFilters = exports.investigationCommentDeleteComment = exports.investigationCommentCommentEvidence = exports.investigationCommentFilterComments = exports.investigationActivityMarkAsRead = exports.investigationActivityFilter = exports.investigationFlagUpdateFlag = exports.investigationFlagDeleteFlag = exports.investigationFlagCreateFlag = exports.investigationFlagFilterFlags = exports.investigationReportDownloadPdfReport = exports.investigationReportGeneratePdfReport = exports.investigationReportUpdateReport = exports.investigationReportGetReport = exports.investigationReportDeleteReport = exports.investigationReportCreateReport = exports.investigationReportFilterReports = exports.investigationReportExportReports = exports.investigationExclusionDeleteIndividualFindingExclusionRule = void 0;
|
|
17
|
+
exports.webhookUpdate = exports.webhookGet = exports.webhookDelete = exports.webhookCreate = exports.webhookFilter = exports.webhookFilterParsers = exports.assetInteractMessageV2ApiControllerGetSessionReport = exports.assetInteractMessageV2ApiControllerDownloadMessageOutput = exports.assetInteractMessageV2ApiControllerGetMessage = exports.assetInteractMessageV2ApiControllerListSessionsForAsset = exports.assetAcquisitionV2ApiControllerFilterAcquisitionTasks = exports.assetAcquisitionV2ApiControllerDeleteAcquisitionAssignment = exports.assetAcquisitionV2ApiControllerCancelAcquisition = exports.assetAcquisitionV2ApiControllerAcquire = exports.assetTriageV2ApiControllerDeleteTriageAssignment = exports.assetTriageV2ApiControllerCancelTriage = exports.assetTriageV2ApiControllerRunTriage = exports.assetTriageV2ApiControllerFilterTriageTasks = exports.assetV2ApiControllerUpdateLabel = exports.assetV2ApiControllerReplaceTags = exports.assetV2ApiControllerGetAsset = exports.assetV2ApiControllerDeleteAsset = exports.assetV2ApiControllerFilterAssets = exports.assetV2ApiControllerExportAssets = exports.assetV2ApiControllerGetStats = exports.assetInteractV2ApiControllerCloseSession = exports.assetInteractV2ApiControllerCancelCommand = exports.assetInteractV2ApiControllerRunCommand = exports.assetInteractMessageV2ApiControllerListForAsset = exports.assetBulkTriageV2ApiControllerRunTriage = exports.assetBulkMetadataV2ApiControllerImportOffNetworkPpc = exports.assetBulkMetadataV2ApiControllerDeleteAssets = exports.assetBulkMetadataV2ApiControllerSetMitreDatabaseVersion = exports.assetBulkMetadataV2ApiControllerSetConnectionRoute = exports.assetBulkMetadataV2ApiControllerSetUpdateExclusion = exports.assetBulkMetadataV2ApiControllerRemoveTags = exports.assetBulkMetadataV2ApiControllerAddTags = exports.assetBulkActionV2ApiControllerDisableMaintenance = exports.assetBulkActionV2ApiControllerEnableMaintenance = exports.assetBulkActionV2ApiControllerVersionUpdate = exports.assetBulkActionV2ApiControllerRetrieveLogs = exports.assetBulkActionV2ApiControllerUnisolate = exports.assetBulkActionV2ApiControllerIsolate = exports.assetBulkActionV2ApiControllerShutdown = exports.assetBulkActionV2ApiControllerReboot = exports.assetActionV2ApiControllerImportPpcToExistingAsset = exports.assetActionV2ApiControllerDisableMaintenance = exports.assetActionV2ApiControllerEnableMaintenance = exports.assetActionV2ApiControllerVersionUpdate = exports.assetActionV2ApiControllerRetrieveLogs = void 0;
|
|
18
|
+
exports.cloudAcquisitionProfilesCreate = exports.cloudAcquisitionProfilesGetMany = exports.fullTextSearchTaskUpdateScheduledFullTextSearchTask = exports.fullTextSearchTaskAssign = exports.fullTextSearchProfilesDeleteBulk = exports.fullTextSearchProfilesUpdate = exports.fullTextSearchProfilesGetOne = exports.fullTextSearchProfilesDelete = exports.fullTextSearchProfilesCreate = exports.fullTextSearchProfilesGetMany = exports.automationHubDisableAutomation = exports.automationHubEnableAutomation = exports.automationHubGenerateTriggerSecret = exports.automationHubGetAutomationChangeHistory = exports.automationHubGetAutomationExecutions = exports.automationHubUpdateAutomation = exports.automationHubGetAutomation = exports.automationHubDeleteAutomation = exports.automationHubExecuteIntegration = exports.automationHubGetTags = exports.automationHubGetTriggerTypes = exports.automationHubTestAction = exports.automationHubGetActionTypes = exports.automationHubCreateAutomation = exports.automationHubFilterAutomations = exports.automationHubGetExecutionHistory = exports.presetFiltersUpdate = exports.presetFiltersDelete = exports.presetFiltersCreate = exports.presetFiltersGetMany = exports.investigationDataUsageCreateFilter = exports.investigationDataUsageUpdateFilter = exports.investigationDataUsageGetFilter = exports.investigationDataUsageDeleteFilter = exports.investigationDataUsageGetFilters = exports.investigationDataUsageGetDataUsageFilters = exports.investigationDataUsageGetHistoricalDataUsageStatistics = exports.investigationDataUsageGetActualDataUsageStatistics = exports.investigationDataUsageCreateExportRequestForActualDataUsages = exports.investigationDataUsageExportActualDataUsages = exports.investigationDataUsageGetActualDataUsages = exports.eventSubscriptionTestEventSubscription = exports.eventSubscriptionDeleteBulkEventSubscriptions = exports.eventSubscriptionSubscriptionEventNames = exports.eventSubscriptionUpdateEventSubscription = exports.eventSubscriptionGetEventSubscription = exports.eventSubscriptionDeleteEventSubscription = exports.eventSubscriptionCreateEventSubscription = exports.eventSubscriptionFilterEventSubscriptions = exports.webhookDeleteBulk = void 0;
|
|
19
|
+
exports.diskImageAcquisitionTasksDownload = exports.diskImageAcquisitionTasksCreate = exports.diskImageAcquisitionLibraryApiControllerUpdate = exports.diskImageAcquisitionLibraryApiControllerGet = exports.diskImageAcquisitionLibraryApiControllerDelete = exports.diskImageAcquisitionLibraryApiControllerBulkDelete = exports.diskImageAcquisitionLibraryApiControllerCreate = exports.diskImageAcquisitionLibraryApiControllerList = exports.imageEvidenceAcquisitionProfilesDeleteBulk = exports.imageEvidenceAcquisitionProfilesUpdate = exports.imageEvidenceAcquisitionProfilesGetOne = exports.imageEvidenceAcquisitionProfilesDelete = exports.imageEvidenceAcquisitionProfilesCreate = exports.imageEvidenceAcquisitionProfilesGetMany = exports.cloudAcquisitionLibraryApiControllerUpdate = exports.cloudAcquisitionLibraryApiControllerGet = exports.cloudAcquisitionLibraryApiControllerDelete = exports.cloudAcquisitionLibraryApiControllerBulkDelete = exports.cloudAcquisitionLibraryApiControllerCreate = exports.cloudAcquisitionLibraryApiControllerList = exports.cloudAcquisitionProfilesUpdate = exports.cloudAcquisitionProfilesGetOne = exports.cloudAcquisitionProfilesDelete = void 0;
|
|
19
20
|
const client_1 = require("./client");
|
|
20
21
|
const client_gen_1 = require("./client.gen");
|
|
21
22
|
const appGetBasicInfo = (options) => {
|
|
@@ -110,6 +111,51 @@ const paramsGetMitreAttackTactics = (options) => {
|
|
|
110
111
|
});
|
|
111
112
|
};
|
|
112
113
|
exports.paramsGetMitreAttackTactics = paramsGetMitreAttackTactics;
|
|
114
|
+
/**
|
|
115
|
+
* Get caller capabilities
|
|
116
|
+
* Returns the authenticated caller (type user|apiToken, id, name), the canonical resource:action privileges granted by its roles, the boolean feature flags, the v2 apiVersion and the stable/beta stability tiers, inside the standard envelope. Requires authentication but no specific privilege; every caller may inspect its own capabilities. Takes no parameters.
|
|
117
|
+
*/
|
|
118
|
+
const capabilitiesV2ApiControllerGet = (options) => {
|
|
119
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
120
|
+
responseType: 'json',
|
|
121
|
+
security: [
|
|
122
|
+
{
|
|
123
|
+
in: 'cookie',
|
|
124
|
+
name: 'Authentication',
|
|
125
|
+
type: 'apiKey'
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
scheme: 'bearer',
|
|
129
|
+
type: 'http'
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
url: '/api/v2/_/capabilities',
|
|
133
|
+
...options
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
exports.capabilitiesV2ApiControllerGet = capabilitiesV2ApiControllerGet;
|
|
137
|
+
/**
|
|
138
|
+
* Get the OpenAPI document
|
|
139
|
+
* Returns the published OpenAPI 3.x document (the same content as /swagger.json) as raw application/json, deliberately WITHOUT the standard v2 envelope so SDK/CLI generators and LLM clients can consume the spec directly. Answers 503 until the document has been generated at startup. Takes no parameters.
|
|
140
|
+
*/
|
|
141
|
+
const openApiAliasV2ApiControllerGet = (options) => {
|
|
142
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
143
|
+
security: [
|
|
144
|
+
{
|
|
145
|
+
scheme: 'bearer',
|
|
146
|
+
type: 'http'
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
in: 'cookie',
|
|
150
|
+
name: 'Authentication',
|
|
151
|
+
type: 'apiKey'
|
|
152
|
+
}
|
|
153
|
+
],
|
|
154
|
+
url: '/api/v2/_/openapi',
|
|
155
|
+
...options
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
exports.openApiAliasV2ApiControllerGet = openApiAliasV2ApiControllerGet;
|
|
113
159
|
const endpointExportEndpoints0 = (options) => {
|
|
114
160
|
return (options.client ?? client_gen_1.client).get({
|
|
115
161
|
security: [
|
|
@@ -300,33 +346,51 @@ const assetsGetManyByFilter2 = (options) => {
|
|
|
300
346
|
});
|
|
301
347
|
};
|
|
302
348
|
exports.assetsGetManyByFilter2 = assetsGetManyByFilter2;
|
|
303
|
-
|
|
304
|
-
|
|
349
|
+
/**
|
|
350
|
+
* Retrieve many assets by expression filter
|
|
351
|
+
* Retrieve a paginated list of assets by a flexible filter expression
|
|
352
|
+
*/
|
|
353
|
+
const assetsGetManyByFilterExpression = (options) => {
|
|
354
|
+
return (options.client ?? client_gen_1.client).post({
|
|
355
|
+
responseType: 'json',
|
|
305
356
|
security: [
|
|
306
357
|
{
|
|
307
358
|
scheme: 'bearer',
|
|
308
359
|
type: 'http'
|
|
309
360
|
}
|
|
310
361
|
],
|
|
311
|
-
url: '/api/public/
|
|
312
|
-
...options
|
|
362
|
+
url: '/api/public/endpoints/filter-query',
|
|
363
|
+
...options,
|
|
364
|
+
headers: {
|
|
365
|
+
'Content-Type': 'application/json',
|
|
366
|
+
...options.headers
|
|
367
|
+
}
|
|
313
368
|
});
|
|
314
369
|
};
|
|
315
|
-
exports.
|
|
316
|
-
|
|
317
|
-
|
|
370
|
+
exports.assetsGetManyByFilterExpression = assetsGetManyByFilterExpression;
|
|
371
|
+
/**
|
|
372
|
+
* Retrieve many assets by expression filter
|
|
373
|
+
* Retrieve a paginated list of assets by a flexible filter expression
|
|
374
|
+
*/
|
|
375
|
+
const assetsGetManyByFilterExpression2 = (options) => {
|
|
376
|
+
return (options.client ?? client_gen_1.client).post({
|
|
377
|
+
responseType: 'json',
|
|
318
378
|
security: [
|
|
319
379
|
{
|
|
320
380
|
scheme: 'bearer',
|
|
321
381
|
type: 'http'
|
|
322
382
|
}
|
|
323
383
|
],
|
|
324
|
-
url: '/api/public/
|
|
325
|
-
...options
|
|
384
|
+
url: '/api/public/assets/filter-query',
|
|
385
|
+
...options,
|
|
386
|
+
headers: {
|
|
387
|
+
'Content-Type': 'application/json',
|
|
388
|
+
...options.headers
|
|
389
|
+
}
|
|
326
390
|
});
|
|
327
391
|
};
|
|
328
|
-
exports.
|
|
329
|
-
const
|
|
392
|
+
exports.assetsGetManyByFilterExpression2 = assetsGetManyByFilterExpression2;
|
|
393
|
+
const endpointGetEndpointsWithTaskCount = (options) => {
|
|
330
394
|
return (options.client ?? client_gen_1.client).get({
|
|
331
395
|
security: [
|
|
332
396
|
{
|
|
@@ -334,11 +398,11 @@ const endpointGetEndpointsStats1 = (options) => {
|
|
|
334
398
|
type: 'http'
|
|
335
399
|
}
|
|
336
400
|
],
|
|
337
|
-
url: '/api/public/assets/
|
|
401
|
+
url: '/api/public/assets/with-task-count',
|
|
338
402
|
...options
|
|
339
403
|
});
|
|
340
404
|
};
|
|
341
|
-
exports.
|
|
405
|
+
exports.endpointGetEndpointsWithTaskCount = endpointGetEndpointsWithTaskCount;
|
|
342
406
|
const endpointGetDeviceNameConflicts0 = (options) => {
|
|
343
407
|
return (options.client ?? client_gen_1.client).get({
|
|
344
408
|
security: [
|
|
@@ -707,7 +771,7 @@ const assetsSetMitreAttackDatabaseVersion2 = (options) => {
|
|
|
707
771
|
};
|
|
708
772
|
exports.assetsSetMitreAttackDatabaseVersion2 = assetsSetMitreAttackDatabaseVersion2;
|
|
709
773
|
const endpointFilterDisks0 = (options) => {
|
|
710
|
-
return (options.client ?? client_gen_1.client).
|
|
774
|
+
return (options.client ?? client_gen_1.client).post({
|
|
711
775
|
security: [
|
|
712
776
|
{
|
|
713
777
|
scheme: 'bearer',
|
|
@@ -715,12 +779,16 @@ const endpointFilterDisks0 = (options) => {
|
|
|
715
779
|
}
|
|
716
780
|
],
|
|
717
781
|
url: '/api/public/endpoints/disks',
|
|
718
|
-
...options
|
|
782
|
+
...options,
|
|
783
|
+
headers: {
|
|
784
|
+
'Content-Type': 'application/json',
|
|
785
|
+
...options.headers
|
|
786
|
+
}
|
|
719
787
|
});
|
|
720
788
|
};
|
|
721
789
|
exports.endpointFilterDisks0 = endpointFilterDisks0;
|
|
722
790
|
const endpointFilterDisks1 = (options) => {
|
|
723
|
-
return (options.client ?? client_gen_1.client).
|
|
791
|
+
return (options.client ?? client_gen_1.client).post({
|
|
724
792
|
security: [
|
|
725
793
|
{
|
|
726
794
|
scheme: 'bearer',
|
|
@@ -728,7 +796,11 @@ const endpointFilterDisks1 = (options) => {
|
|
|
728
796
|
}
|
|
729
797
|
],
|
|
730
798
|
url: '/api/public/assets/disks',
|
|
731
|
-
...options
|
|
799
|
+
...options,
|
|
800
|
+
headers: {
|
|
801
|
+
'Content-Type': 'application/json',
|
|
802
|
+
...options.headers
|
|
803
|
+
}
|
|
732
804
|
});
|
|
733
805
|
};
|
|
734
806
|
exports.endpointFilterDisks1 = endpointFilterDisks1;
|
|
@@ -1058,7 +1130,7 @@ const endpointSetMaintenanceMode1 = (options) => {
|
|
|
1058
1130
|
});
|
|
1059
1131
|
};
|
|
1060
1132
|
exports.endpointSetMaintenanceMode1 = endpointSetMaintenanceMode1;
|
|
1061
|
-
const
|
|
1133
|
+
const endpointTagFilterAssetTags = (options) => {
|
|
1062
1134
|
return (options.client ?? client_gen_1.client).get({
|
|
1063
1135
|
security: [
|
|
1064
1136
|
{
|
|
@@ -1070,8 +1142,25 @@ const endpointTagFilterTags = (options) => {
|
|
|
1070
1142
|
...options
|
|
1071
1143
|
});
|
|
1072
1144
|
};
|
|
1073
|
-
exports.
|
|
1074
|
-
const
|
|
1145
|
+
exports.endpointTagFilterAssetTags = endpointTagFilterAssetTags;
|
|
1146
|
+
const endpointTagCreateAssetTag = (options) => {
|
|
1147
|
+
return (options.client ?? client_gen_1.client).post({
|
|
1148
|
+
security: [
|
|
1149
|
+
{
|
|
1150
|
+
scheme: 'bearer',
|
|
1151
|
+
type: 'http'
|
|
1152
|
+
}
|
|
1153
|
+
],
|
|
1154
|
+
url: '/api/public/asset-tags',
|
|
1155
|
+
...options,
|
|
1156
|
+
headers: {
|
|
1157
|
+
'Content-Type': 'application/json',
|
|
1158
|
+
...options.headers
|
|
1159
|
+
}
|
|
1160
|
+
});
|
|
1161
|
+
};
|
|
1162
|
+
exports.endpointTagCreateAssetTag = endpointTagCreateAssetTag;
|
|
1163
|
+
const endpointTagDeleteAllAssetTags = (options) => {
|
|
1075
1164
|
return (options?.client ?? client_gen_1.client).delete({
|
|
1076
1165
|
security: [
|
|
1077
1166
|
{
|
|
@@ -1083,8 +1172,8 @@ const endpointTagDeleteAllTags = (options) => {
|
|
|
1083
1172
|
...options
|
|
1084
1173
|
});
|
|
1085
1174
|
};
|
|
1086
|
-
exports.
|
|
1087
|
-
const
|
|
1175
|
+
exports.endpointTagDeleteAllAssetTags = endpointTagDeleteAllAssetTags;
|
|
1176
|
+
const endpointTagDeleteAssetTag = (options) => {
|
|
1088
1177
|
return (options?.client ?? client_gen_1.client).delete({
|
|
1089
1178
|
security: [
|
|
1090
1179
|
{
|
|
@@ -1096,7 +1185,24 @@ const endpointTagDeleteTag = (options) => {
|
|
|
1096
1185
|
...options
|
|
1097
1186
|
});
|
|
1098
1187
|
};
|
|
1099
|
-
exports.
|
|
1188
|
+
exports.endpointTagDeleteAssetTag = endpointTagDeleteAssetTag;
|
|
1189
|
+
const endpointTagRenameAssetTag = (options) => {
|
|
1190
|
+
return (options.client ?? client_gen_1.client).put({
|
|
1191
|
+
security: [
|
|
1192
|
+
{
|
|
1193
|
+
scheme: 'bearer',
|
|
1194
|
+
type: 'http'
|
|
1195
|
+
}
|
|
1196
|
+
],
|
|
1197
|
+
url: '/api/public/asset-tags/{organizationId}/{id}',
|
|
1198
|
+
...options,
|
|
1199
|
+
headers: {
|
|
1200
|
+
'Content-Type': 'application/json',
|
|
1201
|
+
...options.headers
|
|
1202
|
+
}
|
|
1203
|
+
});
|
|
1204
|
+
};
|
|
1205
|
+
exports.endpointTagRenameAssetTag = endpointTagRenameAssetTag;
|
|
1100
1206
|
const endpointGroupGetChildGroupsOfGroup = (options) => {
|
|
1101
1207
|
return (options?.client ?? client_gen_1.client).get({
|
|
1102
1208
|
security: [
|
|
@@ -1743,7 +1849,7 @@ const taskAssignmentGenerateTaskAssignmentReport = (options) => {
|
|
|
1743
1849
|
exports.taskAssignmentGenerateTaskAssignmentReport = taskAssignmentGenerateTaskAssignmentReport;
|
|
1744
1850
|
/**
|
|
1745
1851
|
* Get task by id
|
|
1746
|
-
*
|
|
1852
|
+
* Fetch one Binalyze AIR task by UUID using GET /api/v2/tasks/{taskId}. Type-independent: works for triage, acquisition, interactShell and other task types. The response wraps the single task in result.entities[0] and is polymorphic: it carries a type/subtype discriminator plus only the matching domain block (triage{} / acquisition{} / interactShell{}); other blocks are absent, not null. It also returns counts{assigned,completed,failed,cancelled}, organizations[{id,name}], cases[], schedule (null when not scheduled) and taskAssignments{taskAssignmentCount,taskAssignmentsUrl}. Use air-tasks-assignments for the full per-endpoint assignment list and air-tasks-assets for the targeted assets. Only a task UUID is accepted; names and hostnames are rejected. A 404 'Task not found' also covers tasks outside the caller's organizations (leak-safe), so do not infer the task does not exist.
|
|
1747
1853
|
*/
|
|
1748
1854
|
const tasksV2ApiControllerGetTaskById = (options) => {
|
|
1749
1855
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -1766,6 +1872,7 @@ const tasksV2ApiControllerGetTaskById = (options) => {
|
|
|
1766
1872
|
exports.tasksV2ApiControllerGetTaskById = tasksV2ApiControllerGetTaskById;
|
|
1767
1873
|
/**
|
|
1768
1874
|
* Update a task (rename + schedule; dryRun query preview)
|
|
1875
|
+
* Update one Binalyze AIR task via PATCH /api/v2/tasks/{taskId}. MUTATING. Send only the fields the user wants to change. Scheduled tasks (status=scheduled) accept all fields: taskName, caseIdOrName, schedule, ruleIds (triage), assets, profileIdOrName (acquisition), mitreEnabled, droneEnabled, eventLogRecordsConfig, cpuLimit, imageOptions (image acquisition). Tasks in any other status (processing, assigned, completed, cancelled, failed) accept only taskName and caseIdOrName; every other field is NOT applied -- the call still returns 200 but the field comes back in skippedFields (e.g. 'cpuLimit cannot be updated for processing task; skipped'). This is by design, not an error: a running task cannot change its execution config. When skippedFields is non-empty, tell the user which fields were skipped and why, and that scheduled-only fields require the task to be in status=scheduled (check with air-tasks-get first if unsure). Unschedule is forbidden: never send schedule=null; to stop a task use the hunt cancel/delete tools instead. Renaming to the same name fails 400. An empty body returns errors[0] NOTHING_CHANGED. 404 'Task not found' also covers tasks outside the caller's organizations (leak-safe). The success response returns the updated task in result.entities[0], same shape as air-tasks-get.
|
|
1769
1876
|
*/
|
|
1770
1877
|
const tasksV2ApiControllerUpdateTask = (options) => {
|
|
1771
1878
|
return (options.client ?? client_gen_1.client).patch({
|
|
@@ -1792,7 +1899,7 @@ const tasksV2ApiControllerUpdateTask = (options) => {
|
|
|
1792
1899
|
exports.tasksV2ApiControllerUpdateTask = tasksV2ApiControllerUpdateTask;
|
|
1793
1900
|
/**
|
|
1794
1901
|
* List a task assets
|
|
1795
|
-
*
|
|
1902
|
+
* List the assets targeted by one Binalyze AIR task using GET /api/v2/tasks/{taskId}/assets. Paginated; entities use the same shape as GET /api/v2/assets (endpoint block with platform, onlineStatus, lastSeen, etc.). Use this when the user asks which hosts/assets a task ran on or targets; this is the resolver for the assetsUrl field seen in task and hunt list responses. It does NOT include per-asset assignment status or progress; for that use air-tasks-assignments. 404 'Task not found' also covers tasks outside the caller's organizations (leak-safe). Placeholder defaults such as pageNumber=1 or pageSize=20 are ignored.
|
|
1796
1903
|
*/
|
|
1797
1904
|
const tasksV2ApiControllerListTaskAssets = (options) => {
|
|
1798
1905
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -1815,7 +1922,7 @@ const tasksV2ApiControllerListTaskAssets = (options) => {
|
|
|
1815
1922
|
exports.tasksV2ApiControllerListTaskAssets = tasksV2ApiControllerListTaskAssets;
|
|
1816
1923
|
/**
|
|
1817
1924
|
* List a task assignments
|
|
1818
|
-
*
|
|
1925
|
+
* List the per-endpoint task assignments of one Binalyze AIR task using GET /api/v2/tasks/{taskId}/task-assignments. Paginated; this is the resolver for the taskAssignmentsUrl field in task detail responses. Each entity carries id, taskId, name, type, endpointId, endpointName, status, progress, hasDroneData, durations, metadata, organizations[{id,name}], response and cases[]. Use this when the user wants per-host progress, per-host status, or which endpoints completed/failed for a task; use air-tasks-assets for asset details instead. 404 'Task not found' also covers tasks outside the caller's organizations (leak-safe). Placeholder defaults such as pageNumber=1 are ignored.
|
|
1819
1926
|
*/
|
|
1820
1927
|
const tasksV2ApiControllerListTaskAssignments = (options) => {
|
|
1821
1928
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -1838,7 +1945,7 @@ const tasksV2ApiControllerListTaskAssignments = (options) => {
|
|
|
1838
1945
|
exports.tasksV2ApiControllerListTaskAssignments = tasksV2ApiControllerListTaskAssignments;
|
|
1839
1946
|
/**
|
|
1840
1947
|
* List hunt (triage) tasks
|
|
1841
|
-
*
|
|
1948
|
+
* List Binalyze AIR hunt (triage) tasks using GET /api/v2/hunt. Hunt is the public v2 alias for triage tasks; the list is task-centric and paginated. Each entity carries id, taskName, status, rules[] enriched as {id,name,engine}, totalMatched, assignment counters, assets{assetCount,assetsUrl}, schedule, createdBy and timestamps. Use this when the user asks to list hunts, triage tasks, IOC/YARA scans, or wants to find a hunt task id before cancelling or deleting it. The taskId values returned here feed air-tasks-get, air-hunt-cancel, air-hunt-delete and the bulk variants. Placeholder defaults such as pageNumber=1 are ignored; sortBy accepts only createdAt, taskName, status, assignmentCount.
|
|
1842
1949
|
*/
|
|
1843
1950
|
const tasksTriageV2ApiControllerListHuntTasks = (options) => {
|
|
1844
1951
|
return (options?.client ?? client_gen_1.client).get({
|
|
@@ -1861,6 +1968,7 @@ const tasksTriageV2ApiControllerListHuntTasks = (options) => {
|
|
|
1861
1968
|
exports.tasksTriageV2ApiControllerListHuntTasks = tasksTriageV2ApiControllerListHuntTasks;
|
|
1862
1969
|
/**
|
|
1863
1970
|
* Bulk cancel hunt (triage) tasks (body dryRun preview)
|
|
1971
|
+
* Cancel one or more Binalyze AIR hunt (triage) tasks via POST /api/v2/hunt/cancel. MUTATING: cancels ALL active assignments of each task across all its assets; cancellation is queued asynchronously and an abort signal is sent to the agents. Task records and downloaded data are kept (use air-hunt-bulk-delete to remove them). taskIds takes task UUIDs from air-hunt-list. Setting all=true sends taskIds='all' and cancels EVERY active (scheduled/assigned/processing) hunt task in the required organizations scope -- body organizations (ids/names or "all") is REQUIRED for taskIds='all' and optional for explicit id lists; confirm with the user before using it. dryRun is opt-in at the API level (defaults to false); the OpenCode tools send dryRun=true by default. The preview (200) returns result.entities[] = {taskId, taskName, willCancelAssignmentCount, status} without cancelling anything. ALWAYS run the preview first and show the user what would be cancelled; pass dryRun=false only after the user explicitly confirms the exact task list. The real cancel returns cancelledAssignmentCount and status 'cancelling' instead. Both forms include warnings[] for skipped tasks (e.g. already in a terminal state). 400 'No matching tasks found' means no given id resolved to an accessible hunt task. For a single task prefer air-hunt-cancel, which returns a leak-safe 404 for unknown ids.
|
|
1864
1972
|
*/
|
|
1865
1973
|
const tasksTriageV2ApiControllerCancel = (options) => {
|
|
1866
1974
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -1887,6 +1995,7 @@ const tasksTriageV2ApiControllerCancel = (options) => {
|
|
|
1887
1995
|
exports.tasksTriageV2ApiControllerCancel = tasksTriageV2ApiControllerCancel;
|
|
1888
1996
|
/**
|
|
1889
1997
|
* Bulk delete hunt (triage) tasks (body dryRun preview)
|
|
1998
|
+
* Delete one or more Binalyze AIR hunt (triage) tasks via POST /api/v2/hunt/delete. DESTRUCTIVE and irreversible: removes the task records, ALL assignments, and downloaded files/artifacts; nothing remains in history. Active tasks additionally get an agent cancel signal. Use air-hunt-bulk-cancel to merely stop tasks while keeping records. taskIds takes task UUIDs from air-hunt-list. Setting all=true sends taskIds='all' and deletes EVERY hunt task (active and finished) in the required organizations scope -- body organizations (ids/names or "all") is REQUIRED for taskIds='all' and optional for explicit id lists. dryRun is opt-in at the API level (defaults to false); the OpenCode tools send dryRun=true by default. The preview (200) returns result.entities[] = {taskId, taskName, willDeleteAssignmentCount, affectedAssets[], status, createdAt} without deleting anything. ALWAYS run the preview first and show the user what would be deleted; pass dryRun=false only after the user explicitly confirms the exact task list. The real delete returns deletedAssignmentCount instead of willDeleteAssignmentCount. 400 'No matching tasks found' means no given id resolved to an accessible hunt task. For a single task prefer air-hunt-delete (leak-safe 404).
|
|
1890
1999
|
*/
|
|
1891
2000
|
const tasksTriageV2ApiControllerDelete = (options) => {
|
|
1892
2001
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -1913,6 +2022,7 @@ const tasksTriageV2ApiControllerDelete = (options) => {
|
|
|
1913
2022
|
exports.tasksTriageV2ApiControllerDelete = tasksTriageV2ApiControllerDelete;
|
|
1914
2023
|
/**
|
|
1915
2024
|
* Cancel a single hunt (triage) task (dryRun query preview)
|
|
2025
|
+
* Cancel a single Binalyze AIR hunt (triage) task via POST /api/v2/hunt/{taskId}/cancel. MUTATING: cancels ALL active assignments of this task across all its assets; cancellation is queued asynchronously and an abort signal is sent to the agents. The task record and downloaded data are kept (use air-hunt-delete to remove them). Use this when the user wants to stop exactly one hunt/triage task; use air-hunt-bulk-cancel for several tasks at once. The taskId comes from air-hunt-list or air-tasks-get. Success (200) returns result.entities[] = {taskId, taskName, cancelledAssignmentCount, status} plus warnings[] (e.g. skipped when nothing is active). 404 'Task not found' also covers hunt tasks outside the caller's organizations (leak-safe); it does not necessarily mean the id is wrong.
|
|
1916
2026
|
*/
|
|
1917
2027
|
const tasksTriageV2ApiControllerCancelOne = (options) => {
|
|
1918
2028
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -1935,6 +2045,7 @@ const tasksTriageV2ApiControllerCancelOne = (options) => {
|
|
|
1935
2045
|
exports.tasksTriageV2ApiControllerCancelOne = tasksTriageV2ApiControllerCancelOne;
|
|
1936
2046
|
/**
|
|
1937
2047
|
* Delete a single hunt (triage) task (dryRun query preview)
|
|
2048
|
+
* Delete a single Binalyze AIR hunt (triage) task via POST /api/v2/hunt/{taskId}/delete. DESTRUCTIVE and irreversible: removes the task record, ALL its assignments, and downloaded files/artifacts; nothing remains in history. An active task additionally gets an agent cancel signal. Use air-hunt-cancel to merely stop the task while keeping records. Use this for exactly one task; use air-hunt-bulk-delete for several tasks at once. The taskId comes from air-hunt-list or air-tasks-get. dryRun is opt-in at the API level (defaults to false) and is sent as the ?dryRun=true query parameter; the OpenCode tools send it by default. The preview (200) returns result.entities[] = {taskId, taskName, willDeleteAssignmentCount, affectedAssets[], status, createdAt} without deleting anything. ALWAYS preview first and show the user; pass dryRun=false only after the user explicitly confirms this exact task. The real delete returns deletedAssignmentCount instead of willDeleteAssignmentCount. 404 'Task not found' also covers tasks outside the caller's organizations (leak-safe).
|
|
1938
2049
|
*/
|
|
1939
2050
|
const tasksTriageV2ApiControllerDeleteOne = (options) => {
|
|
1940
2051
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -3008,6 +3119,7 @@ const userChangePassword = (options) => {
|
|
|
3008
3119
|
exports.userChangePassword = userChangePassword;
|
|
3009
3120
|
const userResetUserPassword = (options) => {
|
|
3010
3121
|
return (options.client ?? client_gen_1.client).post({
|
|
3122
|
+
responseType: 'json',
|
|
3011
3123
|
security: [
|
|
3012
3124
|
{
|
|
3013
3125
|
scheme: 'bearer',
|
|
@@ -3568,6 +3680,7 @@ const acquisitionValidateOsQueries = (options) => {
|
|
|
3568
3680
|
exports.acquisitionValidateOsQueries = acquisitionValidateOsQueries;
|
|
3569
3681
|
/**
|
|
3570
3682
|
* List device acquisition profiles
|
|
3683
|
+
* List Binalyze AIR device (evidence) acquisition profiles via GET /api/v2/libraries/acquisition/device. Read-only and paginated. Each entity is a profile summary: id, name, organizations[{id,name}], averageTime, createdAt/createdBy, lastUsedAt/lastUsedBy, deletable, and a detailsUrl. Per-OS configs (windows/linux/macos/aix/eDiscovery) are NOT included; use air-acquisition-device-get for one profile's full config. Use this when the user asks to list or search evidence acquisition profiles, or needs a profile id or exact name before get, update, delete, or bulk delete. sortBy accepts only name, createdBy, createdAt, lastUsedAt, lastUsedBy (default createdAt). Profiles with an empty organizations array are global.
|
|
3571
3684
|
*/
|
|
3572
3685
|
const acquisitionLibraryDeviceV2ApiControllerList = (options) => {
|
|
3573
3686
|
return (options?.client ?? client_gen_1.client).get({
|
|
@@ -3590,6 +3703,7 @@ const acquisitionLibraryDeviceV2ApiControllerList = (options) => {
|
|
|
3590
3703
|
exports.acquisitionLibraryDeviceV2ApiControllerList = acquisitionLibraryDeviceV2ApiControllerList;
|
|
3591
3704
|
/**
|
|
3592
3705
|
* Create device acquisition profile
|
|
3706
|
+
* Create a Binalyze AIR device (evidence) acquisition profile via POST /api/v2/libraries/acquisition/device. MUTATING: persists a new profile in the acquisition library. Returns 200 with entities[0] = the created profile detail. `name` is required (alphanumeric) plus at least one config block: windows, linux, macos, aix (each with evidenceList/artifactList/customContentProfiles/networkCapture) or eDiscovery ({patterns:[{pattern,category}]}). Any subset of OS blocks is accepted. Body `organizationIds` controls which organizations own the profile; common query `organizations`, `orgs`, and `org` parameters are rejected. dryRun DEFAULTS TO TRUE: the first call validates and returns the would-be entity without persisting anything; pass dryRun=false only to actually create after the user confirms. Get the exact evidence/artifact keys from an existing profile (air-acquisition-device-get) when cloning or when unsure of valid values.
|
|
3593
3707
|
*/
|
|
3594
3708
|
const acquisitionLibraryDeviceV2ApiControllerCreate = (options) => {
|
|
3595
3709
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -3616,6 +3730,7 @@ const acquisitionLibraryDeviceV2ApiControllerCreate = (options) => {
|
|
|
3616
3730
|
exports.acquisitionLibraryDeviceV2ApiControllerCreate = acquisitionLibraryDeviceV2ApiControllerCreate;
|
|
3617
3731
|
/**
|
|
3618
3732
|
* Bulk delete device acquisition profiles
|
|
3733
|
+
* Bulk delete Binalyze AIR device (evidence) acquisition profiles via POST /api/v2/libraries/acquisition/device/delete. MUTATING and irreversible. Resolution is tolerant: unknown or ambiguous items are skipped and reported in warnings[] (action: 'skipped') instead of failing the whole request. Profiles referenced by running/scheduled tasks or system profiles are also skipped with a warning. dryRun DEFAULTS TO TRUE: the first call returns entities[] of what would be deleted; pass dryRun=false only to actually delete after the user confirms. A real delete returns deletedCount plus warnings[]. Use this for several profiles at once; use air-acquisition-device-delete for exactly one. Ids and exact names come from air-acquisition-device-list.
|
|
3619
3734
|
*/
|
|
3620
3735
|
const acquisitionLibraryDeviceV2ApiControllerBulkDelete = (options) => {
|
|
3621
3736
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -3642,6 +3757,7 @@ const acquisitionLibraryDeviceV2ApiControllerBulkDelete = (options) => {
|
|
|
3642
3757
|
exports.acquisitionLibraryDeviceV2ApiControllerBulkDelete = acquisitionLibraryDeviceV2ApiControllerBulkDelete;
|
|
3643
3758
|
/**
|
|
3644
3759
|
* Delete device acquisition profile
|
|
3760
|
+
* Delete ONE Binalyze AIR device (evidence) acquisition profile via DELETE /api/v2/libraries/acquisition/device/{idOrName}. MUTATING and irreversible. A profile referenced by a still-running or scheduled acquisition task is protected: the API returns 400 PROFILE_IN_USE with the blocking task ids (completed/cancelled/failed tasks do not block). System (predefined) profiles return 406 SYSTEM_PROFILE_IMMUTABLE. dryRun DEFAULTS TO TRUE: the first call returns what would be deleted without removing anything; pass dryRun=false only to actually delete after the user confirms. Use air-acquisition-device-bulk-delete for several profiles at once. The idOrName comes from air-acquisition-device-list or air-acquisition-device-get. An unknown idOrName returns 404 NOT_FOUND with suggestions; an ambiguous name returns 400 AMBIGUOUS_NAME.
|
|
3645
3761
|
*/
|
|
3646
3762
|
const acquisitionLibraryDeviceV2ApiControllerDelete = (options) => {
|
|
3647
3763
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -3664,6 +3780,7 @@ const acquisitionLibraryDeviceV2ApiControllerDelete = (options) => {
|
|
|
3664
3780
|
exports.acquisitionLibraryDeviceV2ApiControllerDelete = acquisitionLibraryDeviceV2ApiControllerDelete;
|
|
3665
3781
|
/**
|
|
3666
3782
|
* Get device acquisition profile by id or name
|
|
3783
|
+
* Get ONE Binalyze AIR device (evidence) acquisition profile by UUID or exact name via GET /api/v2/libraries/acquisition/device/{idOrName}. Read-only. Returns the full profile detail in entities[0]: id, name, organizations[{id,name}], the per-OS configs (windows/linux/macos/aix with evidence and artifact lists), eDiscovery patterns, deletable, and timestamps. Use this when the user asks to show or inspect an evidence acquisition profile's contents, or to clone one. Ids and exact names come from air-acquisition-device-list. An unknown idOrName returns 404 NOT_FOUND with did-you-mean suggestions in errors[0].details.suggestions[]; an ambiguous name returns 400 AMBIGUOUS_NAME with candidates in errors[0].details.matches[].
|
|
3667
3784
|
*/
|
|
3668
3785
|
const acquisitionLibraryDeviceV2ApiControllerGet = (options) => {
|
|
3669
3786
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -3686,6 +3803,7 @@ const acquisitionLibraryDeviceV2ApiControllerGet = (options) => {
|
|
|
3686
3803
|
exports.acquisitionLibraryDeviceV2ApiControllerGet = acquisitionLibraryDeviceV2ApiControllerGet;
|
|
3687
3804
|
/**
|
|
3688
3805
|
* Update device acquisition profile
|
|
3806
|
+
* Update ONE Binalyze AIR device (evidence) acquisition profile via PATCH /api/v2/libraries/acquisition/device/{idOrName}. MUTATING partial update: only the fields you pass change; omitted fields keep their current value. Updatable fields: name, organizationIds, windows, linux, macos, aix, eDiscovery. Passing null for an OS block removes it; the merged profile must still keep at least one config block. Sending no updatable field returns NOTHING_CHANGED with result null. System (predefined) profiles cannot be updated: the API returns 406 SYSTEM_PROFILE_IMMUTABLE. dryRun DEFAULTS TO TRUE: the first call previews the merged profile without persisting; pass dryRun=false only to actually update after the user confirms. The idOrName comes from air-acquisition-device-list or air-acquisition-device-get. An unknown idOrName returns 404 NOT_FOUND with suggestions; an ambiguous name returns 400 AMBIGUOUS_NAME.
|
|
3689
3807
|
*/
|
|
3690
3808
|
const acquisitionLibraryDeviceV2ApiControllerUpdate = (options) => {
|
|
3691
3809
|
return (options.client ?? client_gen_1.client).patch({
|
|
@@ -3845,6 +3963,23 @@ const gitRepositoriesTriggerSync = (options) => {
|
|
|
3845
3963
|
});
|
|
3846
3964
|
};
|
|
3847
3965
|
exports.gitRepositoriesTriggerSync = gitRepositoriesTriggerSync;
|
|
3966
|
+
/**
|
|
3967
|
+
* Cancel repository sync
|
|
3968
|
+
* Cancel an in-progress synchronization for the specified repository connection
|
|
3969
|
+
*/
|
|
3970
|
+
const gitRepositoriesCancelSync = (options) => {
|
|
3971
|
+
return (options.client ?? client_gen_1.client).post({
|
|
3972
|
+
security: [
|
|
3973
|
+
{
|
|
3974
|
+
scheme: 'bearer',
|
|
3975
|
+
type: 'http'
|
|
3976
|
+
}
|
|
3977
|
+
],
|
|
3978
|
+
url: '/api/public/git-repositories/{id}/sync/cancel',
|
|
3979
|
+
...options
|
|
3980
|
+
});
|
|
3981
|
+
};
|
|
3982
|
+
exports.gitRepositoriesCancelSync = gitRepositoriesCancelSync;
|
|
3848
3983
|
/**
|
|
3849
3984
|
* Get sync logs for a repository connection
|
|
3850
3985
|
* Retrieve the synchronization history for a specific repository connection
|
|
@@ -3858,7 +3993,7 @@ const gitRepositoriesGetSyncLogs = (options) => {
|
|
|
3858
3993
|
type: 'http'
|
|
3859
3994
|
}
|
|
3860
3995
|
],
|
|
3861
|
-
url: '/api/public/git-repositories/{id}/sync
|
|
3996
|
+
url: '/api/public/git-repositories/{id}/sync/logs',
|
|
3862
3997
|
...options
|
|
3863
3998
|
});
|
|
3864
3999
|
};
|
|
@@ -3928,10 +4063,10 @@ const gitRepositoriesGetRepositoryBranches = (options) => {
|
|
|
3928
4063
|
};
|
|
3929
4064
|
exports.gitRepositoriesGetRepositoryBranches = gitRepositoriesGetRepositoryBranches;
|
|
3930
4065
|
/**
|
|
3931
|
-
*
|
|
3932
|
-
* Retrieve
|
|
4066
|
+
* Filter TAXII feeds
|
|
4067
|
+
* Retrieve all TAXII feeds with optional filters
|
|
3933
4068
|
*/
|
|
3934
|
-
const
|
|
4069
|
+
const taxiiFeedsGetMany = (options) => {
|
|
3935
4070
|
return (options.client ?? client_gen_1.client).get({
|
|
3936
4071
|
responseType: 'json',
|
|
3937
4072
|
security: [
|
|
@@ -3940,16 +4075,16 @@ const getManyTriageRules = (options) => {
|
|
|
3940
4075
|
type: 'http'
|
|
3941
4076
|
}
|
|
3942
4077
|
],
|
|
3943
|
-
url: '/api/public/
|
|
4078
|
+
url: '/api/public/taxii-feeds',
|
|
3944
4079
|
...options
|
|
3945
4080
|
});
|
|
3946
4081
|
};
|
|
3947
|
-
exports.
|
|
4082
|
+
exports.taxiiFeedsGetMany = taxiiFeedsGetMany;
|
|
3948
4083
|
/**
|
|
3949
|
-
* Create
|
|
3950
|
-
* Create a new
|
|
4084
|
+
* Create a new TAXII feed
|
|
4085
|
+
* Create a new TAXII feed for syncing threat intelligence indicators
|
|
3951
4086
|
*/
|
|
3952
|
-
const
|
|
4087
|
+
const taxiiFeedsCreate = (options) => {
|
|
3953
4088
|
return (options.client ?? client_gen_1.client).post({
|
|
3954
4089
|
responseType: 'json',
|
|
3955
4090
|
security: [
|
|
@@ -3958,7 +4093,7 @@ const createTriageRule = (options) => {
|
|
|
3958
4093
|
type: 'http'
|
|
3959
4094
|
}
|
|
3960
4095
|
],
|
|
3961
|
-
url: '/api/public/
|
|
4096
|
+
url: '/api/public/taxii-feeds',
|
|
3962
4097
|
...options,
|
|
3963
4098
|
headers: {
|
|
3964
4099
|
'Content-Type': 'application/json',
|
|
@@ -3966,12 +4101,46 @@ const createTriageRule = (options) => {
|
|
|
3966
4101
|
}
|
|
3967
4102
|
});
|
|
3968
4103
|
};
|
|
3969
|
-
exports.
|
|
4104
|
+
exports.taxiiFeedsCreate = taxiiFeedsCreate;
|
|
3970
4105
|
/**
|
|
3971
|
-
*
|
|
3972
|
-
*
|
|
4106
|
+
* Filter TAXII indicators
|
|
4107
|
+
* Retrieve all indicators across TAXII feeds with optional filters
|
|
3973
4108
|
*/
|
|
3974
|
-
const
|
|
4109
|
+
const taxiiFeedsGetIndicators = (options) => {
|
|
4110
|
+
return (options.client ?? client_gen_1.client).get({
|
|
4111
|
+
security: [
|
|
4112
|
+
{
|
|
4113
|
+
scheme: 'bearer',
|
|
4114
|
+
type: 'http'
|
|
4115
|
+
}
|
|
4116
|
+
],
|
|
4117
|
+
url: '/api/public/taxii-feeds/indicators',
|
|
4118
|
+
...options
|
|
4119
|
+
});
|
|
4120
|
+
};
|
|
4121
|
+
exports.taxiiFeedsGetIndicators = taxiiFeedsGetIndicators;
|
|
4122
|
+
/**
|
|
4123
|
+
* Get TAXII indicator summary
|
|
4124
|
+
* Retrieve aggregated statistics for indicators across TAXII feeds
|
|
4125
|
+
*/
|
|
4126
|
+
const taxiiFeedsGetIndicatorSummary = (options) => {
|
|
4127
|
+
return (options.client ?? client_gen_1.client).get({
|
|
4128
|
+
security: [
|
|
4129
|
+
{
|
|
4130
|
+
scheme: 'bearer',
|
|
4131
|
+
type: 'http'
|
|
4132
|
+
}
|
|
4133
|
+
],
|
|
4134
|
+
url: '/api/public/taxii-feeds/indicators/summary',
|
|
4135
|
+
...options
|
|
4136
|
+
});
|
|
4137
|
+
};
|
|
4138
|
+
exports.taxiiFeedsGetIndicatorSummary = taxiiFeedsGetIndicatorSummary;
|
|
4139
|
+
/**
|
|
4140
|
+
* Delete a TAXII feed
|
|
4141
|
+
* Delete an existing TAXII feed by ID
|
|
4142
|
+
*/
|
|
4143
|
+
const taxiiFeedsDelete = (options) => {
|
|
3975
4144
|
return (options.client ?? client_gen_1.client).delete({
|
|
3976
4145
|
security: [
|
|
3977
4146
|
{
|
|
@@ -3979,16 +4148,16 @@ const deleteTriageRule = (options) => {
|
|
|
3979
4148
|
type: 'http'
|
|
3980
4149
|
}
|
|
3981
4150
|
],
|
|
3982
|
-
url: '/api/public/
|
|
4151
|
+
url: '/api/public/taxii-feeds/{id}',
|
|
3983
4152
|
...options
|
|
3984
4153
|
});
|
|
3985
4154
|
};
|
|
3986
|
-
exports.
|
|
4155
|
+
exports.taxiiFeedsDelete = taxiiFeedsDelete;
|
|
3987
4156
|
/**
|
|
3988
|
-
* Get
|
|
3989
|
-
* Retrieve
|
|
4157
|
+
* Get TAXII feed by ID
|
|
4158
|
+
* Retrieve a specific TAXII feed
|
|
3990
4159
|
*/
|
|
3991
|
-
const
|
|
4160
|
+
const taxiiFeedsGetOne = (options) => {
|
|
3992
4161
|
return (options.client ?? client_gen_1.client).get({
|
|
3993
4162
|
responseType: 'json',
|
|
3994
4163
|
security: [
|
|
@@ -3997,16 +4166,16 @@ const getTriageRule = (options) => {
|
|
|
3997
4166
|
type: 'http'
|
|
3998
4167
|
}
|
|
3999
4168
|
],
|
|
4000
|
-
url: '/api/public/
|
|
4169
|
+
url: '/api/public/taxii-feeds/{id}',
|
|
4001
4170
|
...options
|
|
4002
4171
|
});
|
|
4003
4172
|
};
|
|
4004
|
-
exports.
|
|
4173
|
+
exports.taxiiFeedsGetOne = taxiiFeedsGetOne;
|
|
4005
4174
|
/**
|
|
4006
|
-
* Update
|
|
4007
|
-
* Update an existing
|
|
4175
|
+
* Update a TAXII feed
|
|
4176
|
+
* Update an existing TAXII feed configuration
|
|
4008
4177
|
*/
|
|
4009
|
-
const
|
|
4178
|
+
const taxiiFeedsUpdate = (options) => {
|
|
4010
4179
|
return (options.client ?? client_gen_1.client).put({
|
|
4011
4180
|
responseType: 'json',
|
|
4012
4181
|
security: [
|
|
@@ -4015,7 +4184,7 @@ const updateTriageRule = (options) => {
|
|
|
4015
4184
|
type: 'http'
|
|
4016
4185
|
}
|
|
4017
4186
|
],
|
|
4018
|
-
url: '/api/public/
|
|
4187
|
+
url: '/api/public/taxii-feeds/{id}',
|
|
4019
4188
|
...options,
|
|
4020
4189
|
headers: {
|
|
4021
4190
|
'Content-Type': 'application/json',
|
|
@@ -4023,42 +4192,38 @@ const updateTriageRule = (options) => {
|
|
|
4023
4192
|
}
|
|
4024
4193
|
});
|
|
4025
4194
|
};
|
|
4026
|
-
exports.
|
|
4195
|
+
exports.taxiiFeedsUpdate = taxiiFeedsUpdate;
|
|
4027
4196
|
/**
|
|
4028
|
-
*
|
|
4029
|
-
*
|
|
4197
|
+
* Get sync logs for a TAXII feed
|
|
4198
|
+
* Retrieve the synchronization history for a specific TAXII feed
|
|
4030
4199
|
*/
|
|
4031
|
-
const
|
|
4032
|
-
return (options.client ?? client_gen_1.client).
|
|
4200
|
+
const taxiiFeedsGetSyncLogs = (options) => {
|
|
4201
|
+
return (options.client ?? client_gen_1.client).get({
|
|
4202
|
+
responseType: 'json',
|
|
4033
4203
|
security: [
|
|
4034
4204
|
{
|
|
4035
4205
|
scheme: 'bearer',
|
|
4036
4206
|
type: 'http'
|
|
4037
4207
|
}
|
|
4038
4208
|
],
|
|
4039
|
-
url: '/api/public/
|
|
4040
|
-
...options
|
|
4041
|
-
headers: {
|
|
4042
|
-
'Content-Type': 'application/json',
|
|
4043
|
-
...options.headers
|
|
4044
|
-
}
|
|
4209
|
+
url: '/api/public/taxii-feeds/{id}/sync/logs',
|
|
4210
|
+
...options
|
|
4045
4211
|
});
|
|
4046
4212
|
};
|
|
4047
|
-
exports.
|
|
4213
|
+
exports.taxiiFeedsGetSyncLogs = taxiiFeedsGetSyncLogs;
|
|
4048
4214
|
/**
|
|
4049
|
-
*
|
|
4050
|
-
*
|
|
4215
|
+
* Discover TAXII collections
|
|
4216
|
+
* Connect to a TAXII server and list the collections available for subscription
|
|
4051
4217
|
*/
|
|
4052
|
-
const
|
|
4218
|
+
const taxiiFeedsDiscoverCollections = (options) => {
|
|
4053
4219
|
return (options.client ?? client_gen_1.client).post({
|
|
4054
|
-
responseType: 'json',
|
|
4055
4220
|
security: [
|
|
4056
4221
|
{
|
|
4057
4222
|
scheme: 'bearer',
|
|
4058
4223
|
type: 'http'
|
|
4059
4224
|
}
|
|
4060
4225
|
],
|
|
4061
|
-
url: '/api/public/
|
|
4226
|
+
url: '/api/public/taxii-feeds/discover',
|
|
4062
4227
|
...options,
|
|
4063
4228
|
headers: {
|
|
4064
4229
|
'Content-Type': 'application/json',
|
|
@@ -4066,42 +4231,54 @@ const validateTriageRule = (options) => {
|
|
|
4066
4231
|
}
|
|
4067
4232
|
});
|
|
4068
4233
|
};
|
|
4069
|
-
exports.
|
|
4234
|
+
exports.taxiiFeedsDiscoverCollections = taxiiFeedsDiscoverCollections;
|
|
4070
4235
|
/**
|
|
4071
|
-
*
|
|
4072
|
-
*
|
|
4236
|
+
* Trigger TAXII feed sync
|
|
4237
|
+
* Manually trigger a synchronization for the specified TAXII feed
|
|
4073
4238
|
*/
|
|
4074
|
-
const
|
|
4239
|
+
const taxiiFeedsTriggerSync = (options) => {
|
|
4075
4240
|
return (options.client ?? client_gen_1.client).post({
|
|
4076
|
-
responseType: 'json',
|
|
4077
4241
|
security: [
|
|
4078
4242
|
{
|
|
4079
4243
|
scheme: 'bearer',
|
|
4080
4244
|
type: 'http'
|
|
4081
4245
|
}
|
|
4082
4246
|
],
|
|
4083
|
-
url: '/api/public/
|
|
4084
|
-
...options
|
|
4085
|
-
headers: {
|
|
4086
|
-
'Content-Type': 'application/json',
|
|
4087
|
-
...options.headers
|
|
4088
|
-
}
|
|
4247
|
+
url: '/api/public/taxii-feeds/{id}/sync',
|
|
4248
|
+
...options
|
|
4089
4249
|
});
|
|
4090
4250
|
};
|
|
4091
|
-
exports.
|
|
4251
|
+
exports.taxiiFeedsTriggerSync = taxiiFeedsTriggerSync;
|
|
4092
4252
|
/**
|
|
4093
|
-
*
|
|
4094
|
-
*
|
|
4253
|
+
* Cancel TAXII feed sync
|
|
4254
|
+
* Cancel an in-progress synchronization for the specified TAXII feed
|
|
4095
4255
|
*/
|
|
4096
|
-
const
|
|
4097
|
-
return (options.client ?? client_gen_1.client).
|
|
4256
|
+
const taxiiFeedsCancelSync = (options) => {
|
|
4257
|
+
return (options.client ?? client_gen_1.client).post({
|
|
4098
4258
|
security: [
|
|
4099
4259
|
{
|
|
4100
4260
|
scheme: 'bearer',
|
|
4101
4261
|
type: 'http'
|
|
4102
4262
|
}
|
|
4103
4263
|
],
|
|
4104
|
-
url: '/api/public/
|
|
4264
|
+
url: '/api/public/taxii-feeds/{id}/sync/cancel',
|
|
4265
|
+
...options
|
|
4266
|
+
});
|
|
4267
|
+
};
|
|
4268
|
+
exports.taxiiFeedsCancelSync = taxiiFeedsCancelSync;
|
|
4269
|
+
/**
|
|
4270
|
+
* Enable or disable a TAXII feed
|
|
4271
|
+
* Toggle the active state of a TAXII feed
|
|
4272
|
+
*/
|
|
4273
|
+
const taxiiFeedsUpdateStatus = (options) => {
|
|
4274
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
4275
|
+
security: [
|
|
4276
|
+
{
|
|
4277
|
+
scheme: 'bearer',
|
|
4278
|
+
type: 'http'
|
|
4279
|
+
}
|
|
4280
|
+
],
|
|
4281
|
+
url: '/api/public/taxii-feeds/{id}/update-status',
|
|
4105
4282
|
...options,
|
|
4106
4283
|
headers: {
|
|
4107
4284
|
'Content-Type': 'application/json',
|
|
@@ -4109,21 +4286,20 @@ const updateScheduledTriageTask = (options) => {
|
|
|
4109
4286
|
}
|
|
4110
4287
|
});
|
|
4111
4288
|
};
|
|
4112
|
-
exports.
|
|
4289
|
+
exports.taxiiFeedsUpdateStatus = taxiiFeedsUpdateStatus;
|
|
4113
4290
|
/**
|
|
4114
|
-
*
|
|
4115
|
-
*
|
|
4291
|
+
* Delete multiple TAXII feeds
|
|
4292
|
+
* Delete multiple TAXII feeds by their IDs
|
|
4116
4293
|
*/
|
|
4117
|
-
const
|
|
4118
|
-
return (options.client ?? client_gen_1.client).
|
|
4119
|
-
responseType: 'json',
|
|
4294
|
+
const taxiiFeedsBulkDelete = (options) => {
|
|
4295
|
+
return (options.client ?? client_gen_1.client).delete({
|
|
4120
4296
|
security: [
|
|
4121
4297
|
{
|
|
4122
4298
|
scheme: 'bearer',
|
|
4123
4299
|
type: 'http'
|
|
4124
4300
|
}
|
|
4125
4301
|
],
|
|
4126
|
-
url: '/api/public/
|
|
4302
|
+
url: '/api/public/taxii-feeds/bulk-delete',
|
|
4127
4303
|
...options,
|
|
4128
4304
|
headers: {
|
|
4129
4305
|
'Content-Type': 'application/json',
|
|
@@ -4131,12 +4307,12 @@ const createOffNetworkTriageTaskFile = (options) => {
|
|
|
4131
4307
|
}
|
|
4132
4308
|
});
|
|
4133
4309
|
};
|
|
4134
|
-
exports.
|
|
4310
|
+
exports.taxiiFeedsBulkDelete = taxiiFeedsBulkDelete;
|
|
4135
4311
|
/**
|
|
4136
|
-
*
|
|
4137
|
-
*
|
|
4312
|
+
* Get Many
|
|
4313
|
+
* Retrieve a paginated list of triage rules
|
|
4138
4314
|
*/
|
|
4139
|
-
const
|
|
4315
|
+
const getManyTriageRules = (options) => {
|
|
4140
4316
|
return (options.client ?? client_gen_1.client).get({
|
|
4141
4317
|
responseType: 'json',
|
|
4142
4318
|
security: [
|
|
@@ -4145,16 +4321,16 @@ const filterTriageRuleTags = (options) => {
|
|
|
4145
4321
|
type: 'http'
|
|
4146
4322
|
}
|
|
4147
4323
|
],
|
|
4148
|
-
url: '/api/public/triages/
|
|
4324
|
+
url: '/api/public/triages/rules',
|
|
4149
4325
|
...options
|
|
4150
4326
|
});
|
|
4151
4327
|
};
|
|
4152
|
-
exports.
|
|
4328
|
+
exports.getManyTriageRules = getManyTriageRules;
|
|
4153
4329
|
/**
|
|
4154
|
-
* Create Triage Rule
|
|
4155
|
-
* Create a new triage rule
|
|
4330
|
+
* Create Triage Rule
|
|
4331
|
+
* Create a new triage rule that defines conditions and criteria
|
|
4156
4332
|
*/
|
|
4157
|
-
const
|
|
4333
|
+
const createTriageRule = (options) => {
|
|
4158
4334
|
return (options.client ?? client_gen_1.client).post({
|
|
4159
4335
|
responseType: 'json',
|
|
4160
4336
|
security: [
|
|
@@ -4163,7 +4339,7 @@ const createTriageRuleTag = (options) => {
|
|
|
4163
4339
|
type: 'http'
|
|
4164
4340
|
}
|
|
4165
4341
|
],
|
|
4166
|
-
url: '/api/public/triages/
|
|
4342
|
+
url: '/api/public/triages/rules',
|
|
4167
4343
|
...options,
|
|
4168
4344
|
headers: {
|
|
4169
4345
|
'Content-Type': 'application/json',
|
|
@@ -4171,12 +4347,217 @@ const createTriageRuleTag = (options) => {
|
|
|
4171
4347
|
}
|
|
4172
4348
|
});
|
|
4173
4349
|
};
|
|
4174
|
-
exports.
|
|
4350
|
+
exports.createTriageRule = createTriageRule;
|
|
4175
4351
|
/**
|
|
4176
|
-
* Delete Triage Rule
|
|
4177
|
-
*
|
|
4352
|
+
* Delete Triage Rule
|
|
4353
|
+
* Permanently delete a triage rule from the system
|
|
4178
4354
|
*/
|
|
4179
|
-
const
|
|
4355
|
+
const deleteTriageRule = (options) => {
|
|
4356
|
+
return (options.client ?? client_gen_1.client).delete({
|
|
4357
|
+
security: [
|
|
4358
|
+
{
|
|
4359
|
+
scheme: 'bearer',
|
|
4360
|
+
type: 'http'
|
|
4361
|
+
}
|
|
4362
|
+
],
|
|
4363
|
+
url: '/api/public/triages/rules/{id}',
|
|
4364
|
+
...options
|
|
4365
|
+
});
|
|
4366
|
+
};
|
|
4367
|
+
exports.deleteTriageRule = deleteTriageRule;
|
|
4368
|
+
/**
|
|
4369
|
+
* Get
|
|
4370
|
+
* Retrieve detailed information about a specific triage rule by its ID
|
|
4371
|
+
*/
|
|
4372
|
+
const getTriageRule = (options) => {
|
|
4373
|
+
return (options.client ?? client_gen_1.client).get({
|
|
4374
|
+
responseType: 'json',
|
|
4375
|
+
security: [
|
|
4376
|
+
{
|
|
4377
|
+
scheme: 'bearer',
|
|
4378
|
+
type: 'http'
|
|
4379
|
+
}
|
|
4380
|
+
],
|
|
4381
|
+
url: '/api/public/triages/rules/{id}',
|
|
4382
|
+
...options
|
|
4383
|
+
});
|
|
4384
|
+
};
|
|
4385
|
+
exports.getTriageRule = getTriageRule;
|
|
4386
|
+
/**
|
|
4387
|
+
* Update Triage Rule
|
|
4388
|
+
* Update an existing triage rule by modifying its conditions
|
|
4389
|
+
*/
|
|
4390
|
+
const updateTriageRule = (options) => {
|
|
4391
|
+
return (options.client ?? client_gen_1.client).put({
|
|
4392
|
+
responseType: 'json',
|
|
4393
|
+
security: [
|
|
4394
|
+
{
|
|
4395
|
+
scheme: 'bearer',
|
|
4396
|
+
type: 'http'
|
|
4397
|
+
}
|
|
4398
|
+
],
|
|
4399
|
+
url: '/api/public/triages/rules/{id}',
|
|
4400
|
+
...options,
|
|
4401
|
+
headers: {
|
|
4402
|
+
'Content-Type': 'application/json',
|
|
4403
|
+
...options.headers
|
|
4404
|
+
}
|
|
4405
|
+
});
|
|
4406
|
+
};
|
|
4407
|
+
exports.updateTriageRule = updateTriageRule;
|
|
4408
|
+
/**
|
|
4409
|
+
* Delete Triage Rule Bulk
|
|
4410
|
+
* Permanently delete a triage rules from the system
|
|
4411
|
+
*/
|
|
4412
|
+
const deleteBulkTriageRules = (options) => {
|
|
4413
|
+
return (options.client ?? client_gen_1.client).delete({
|
|
4414
|
+
security: [
|
|
4415
|
+
{
|
|
4416
|
+
scheme: 'bearer',
|
|
4417
|
+
type: 'http'
|
|
4418
|
+
}
|
|
4419
|
+
],
|
|
4420
|
+
url: '/api/public/triages/rules/bulk-delete',
|
|
4421
|
+
...options,
|
|
4422
|
+
headers: {
|
|
4423
|
+
'Content-Type': 'application/json',
|
|
4424
|
+
...options.headers
|
|
4425
|
+
}
|
|
4426
|
+
});
|
|
4427
|
+
};
|
|
4428
|
+
exports.deleteBulkTriageRules = deleteBulkTriageRules;
|
|
4429
|
+
/**
|
|
4430
|
+
* Validate Triage Rule
|
|
4431
|
+
* Validate the syntax and structure of a triage rule
|
|
4432
|
+
*/
|
|
4433
|
+
const validateTriageRule = (options) => {
|
|
4434
|
+
return (options.client ?? client_gen_1.client).post({
|
|
4435
|
+
responseType: 'json',
|
|
4436
|
+
security: [
|
|
4437
|
+
{
|
|
4438
|
+
scheme: 'bearer',
|
|
4439
|
+
type: 'http'
|
|
4440
|
+
}
|
|
4441
|
+
],
|
|
4442
|
+
url: '/api/public/triages/rules/validate',
|
|
4443
|
+
...options,
|
|
4444
|
+
headers: {
|
|
4445
|
+
'Content-Type': 'application/json',
|
|
4446
|
+
...options.headers
|
|
4447
|
+
}
|
|
4448
|
+
});
|
|
4449
|
+
};
|
|
4450
|
+
exports.validateTriageRule = validateTriageRule;
|
|
4451
|
+
/**
|
|
4452
|
+
* Assign Triage Task
|
|
4453
|
+
* Assign and execute triage tasks on filtered endpoints
|
|
4454
|
+
*/
|
|
4455
|
+
const assignTriageTask = (options) => {
|
|
4456
|
+
return (options.client ?? client_gen_1.client).post({
|
|
4457
|
+
responseType: 'json',
|
|
4458
|
+
security: [
|
|
4459
|
+
{
|
|
4460
|
+
scheme: 'bearer',
|
|
4461
|
+
type: 'http'
|
|
4462
|
+
}
|
|
4463
|
+
],
|
|
4464
|
+
url: '/api/public/triages/triage',
|
|
4465
|
+
...options,
|
|
4466
|
+
headers: {
|
|
4467
|
+
'Content-Type': 'application/json',
|
|
4468
|
+
...options.headers
|
|
4469
|
+
}
|
|
4470
|
+
});
|
|
4471
|
+
};
|
|
4472
|
+
exports.assignTriageTask = assignTriageTask;
|
|
4473
|
+
/**
|
|
4474
|
+
* Update Scheduled Triage Task
|
|
4475
|
+
* Update a scheduled triage task
|
|
4476
|
+
*/
|
|
4477
|
+
const updateScheduledTriageTask = (options) => {
|
|
4478
|
+
return (options.client ?? client_gen_1.client).put({
|
|
4479
|
+
security: [
|
|
4480
|
+
{
|
|
4481
|
+
scheme: 'bearer',
|
|
4482
|
+
type: 'http'
|
|
4483
|
+
}
|
|
4484
|
+
],
|
|
4485
|
+
url: '/api/public/triages/schedule/triage/{id}',
|
|
4486
|
+
...options,
|
|
4487
|
+
headers: {
|
|
4488
|
+
'Content-Type': 'application/json',
|
|
4489
|
+
...options.headers
|
|
4490
|
+
}
|
|
4491
|
+
});
|
|
4492
|
+
};
|
|
4493
|
+
exports.updateScheduledTriageTask = updateScheduledTriageTask;
|
|
4494
|
+
/**
|
|
4495
|
+
* Create Off Network Triage Task File
|
|
4496
|
+
* Create a triage task file for off network access
|
|
4497
|
+
*/
|
|
4498
|
+
const createOffNetworkTriageTaskFile = (options) => {
|
|
4499
|
+
return (options.client ?? client_gen_1.client).post({
|
|
4500
|
+
responseType: 'json',
|
|
4501
|
+
security: [
|
|
4502
|
+
{
|
|
4503
|
+
scheme: 'bearer',
|
|
4504
|
+
type: 'http'
|
|
4505
|
+
}
|
|
4506
|
+
],
|
|
4507
|
+
url: '/api/public/triages/triage/off-network',
|
|
4508
|
+
...options,
|
|
4509
|
+
headers: {
|
|
4510
|
+
'Content-Type': 'application/json',
|
|
4511
|
+
...options.headers
|
|
4512
|
+
}
|
|
4513
|
+
});
|
|
4514
|
+
};
|
|
4515
|
+
exports.createOffNetworkTriageTaskFile = createOffNetworkTriageTaskFile;
|
|
4516
|
+
/**
|
|
4517
|
+
* Filter Triage Rule Tags
|
|
4518
|
+
* Filter triage rule tags
|
|
4519
|
+
*/
|
|
4520
|
+
const filterTriageRuleTags = (options) => {
|
|
4521
|
+
return (options.client ?? client_gen_1.client).get({
|
|
4522
|
+
responseType: 'json',
|
|
4523
|
+
security: [
|
|
4524
|
+
{
|
|
4525
|
+
scheme: 'bearer',
|
|
4526
|
+
type: 'http'
|
|
4527
|
+
}
|
|
4528
|
+
],
|
|
4529
|
+
url: '/api/public/triages/tags',
|
|
4530
|
+
...options
|
|
4531
|
+
});
|
|
4532
|
+
};
|
|
4533
|
+
exports.filterTriageRuleTags = filterTriageRuleTags;
|
|
4534
|
+
/**
|
|
4535
|
+
* Create Triage Rule Tag
|
|
4536
|
+
* Create a new triage rule tag
|
|
4537
|
+
*/
|
|
4538
|
+
const createTriageRuleTag = (options) => {
|
|
4539
|
+
return (options.client ?? client_gen_1.client).post({
|
|
4540
|
+
responseType: 'json',
|
|
4541
|
+
security: [
|
|
4542
|
+
{
|
|
4543
|
+
scheme: 'bearer',
|
|
4544
|
+
type: 'http'
|
|
4545
|
+
}
|
|
4546
|
+
],
|
|
4547
|
+
url: '/api/public/triages/tags',
|
|
4548
|
+
...options,
|
|
4549
|
+
headers: {
|
|
4550
|
+
'Content-Type': 'application/json',
|
|
4551
|
+
...options.headers
|
|
4552
|
+
}
|
|
4553
|
+
});
|
|
4554
|
+
};
|
|
4555
|
+
exports.createTriageRuleTag = createTriageRuleTag;
|
|
4556
|
+
/**
|
|
4557
|
+
* Delete Triage Rule Tag
|
|
4558
|
+
* Delete a triage rule tag
|
|
4559
|
+
*/
|
|
4560
|
+
const deleteTriageRuleTag = (options) => {
|
|
4180
4561
|
return (options.client ?? client_gen_1.client).delete({
|
|
4181
4562
|
security: [
|
|
4182
4563
|
{
|
|
@@ -4191,6 +4572,7 @@ const deleteTriageRuleTag = (options) => {
|
|
|
4191
4572
|
exports.deleteTriageRuleTag = deleteTriageRuleTag;
|
|
4192
4573
|
/**
|
|
4193
4574
|
* List triage rules
|
|
4575
|
+
* List Binalyze AIR triage rules (the triage library: YARA, Sigma, osquery IOC-scan rules) using GET /api/v2/libraries/triage. Read-only and paginated. Each entity is a rule summary: id, name, description, engine, searchIn flags, organizations [{id,name}], tags, author, createdAt/updatedAt/lastUsedAt. Rule content is NOT included; use air-triage-rules-get for one rule's body. Use this when the user asks to list triage/IOC rules, search the rule library, or needs a rule id or exact name before get, update, delete, or export. sortBy accepts only name, createdAt, updatedAt, lastUsedAt, author (default createdAt). Rules with an empty organizations list are global (visible to every org).
|
|
4194
4576
|
*/
|
|
4195
4577
|
const triageLibraryV2ApiControllerList = (options) => {
|
|
4196
4578
|
return (options?.client ?? client_gen_1.client).get({
|
|
@@ -4213,6 +4595,7 @@ const triageLibraryV2ApiControllerList = (options) => {
|
|
|
4213
4595
|
exports.triageLibraryV2ApiControllerList = triageLibraryV2ApiControllerList;
|
|
4214
4596
|
/**
|
|
4215
4597
|
* Create triage rule
|
|
4598
|
+
* Create a Binalyze AIR triage rule (YARA, Sigma, or osquery IOC-scan rule) via POST /api/v2/libraries/triage. MUTATING: persists a new rule in the triage library; the rule content is validated by the engine before saving and an invalid rule fails with 400. Only `rule` (the content) is required; name and engine are auto-detected from the content when omitted, and a name collision is resolved by suffixing (a warning reports the adjusted name). dryRun DEFAULTS TO TRUE: the first call returns the would-be entity without persisting anything; pass dryRun=false only to actually create after the user confirms. Success returns entities[0] with the created rule detail plus warnings[] (e.g. name adjustments). Use air-triage-rules-validate to only check a rule without creating it.
|
|
4216
4599
|
*/
|
|
4217
4600
|
const triageLibraryV2ApiControllerCreate = (options) => {
|
|
4218
4601
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -4239,6 +4622,7 @@ const triageLibraryV2ApiControllerCreate = (options) => {
|
|
|
4239
4622
|
exports.triageLibraryV2ApiControllerCreate = triageLibraryV2ApiControllerCreate;
|
|
4240
4623
|
/**
|
|
4241
4624
|
* Bulk delete triage rules
|
|
4625
|
+
* Bulk delete Binalyze AIR triage rules via POST /api/v2/libraries/triage/delete. MUTATING and irreversible: removes every resolved rule and its stored content from the triage library. Resolution is tolerant: rules that cannot be found are skipped and reported in warnings[] instead of failing the whole request. dryRun DEFAULTS TO TRUE: the first call previews what would be deleted; pass dryRun=false only to actually delete after the user confirms. Use this for several rules at once; use air-triage-rules-delete for exactly one. Rule ids and exact names come from air-triage-rules-list. Success returns deletedCount plus warnings[] (skipped or unresolved rules).
|
|
4242
4626
|
*/
|
|
4243
4627
|
const triageLibraryV2ApiControllerBulkDelete = (options) => {
|
|
4244
4628
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -4265,6 +4649,7 @@ const triageLibraryV2ApiControllerBulkDelete = (options) => {
|
|
|
4265
4649
|
exports.triageLibraryV2ApiControllerBulkDelete = triageLibraryV2ApiControllerBulkDelete;
|
|
4266
4650
|
/**
|
|
4267
4651
|
* Validate triage rule
|
|
4652
|
+
* Validate a Binalyze AIR triage rule (YARA, Sigma, or osquery) via POST /api/v2/libraries/triage/validate. Read-only: nothing is persisted, so there is no dryRun flag. The engine is auto-detected from the rule content when omitted; passing a wrong engine returns a 400 INVALID_ENGINE with the detected engine under errors[0].details.suggestions. osquery rules must be read-only SELECT statements against known tables. Use this before air-triage-rules-create or air-triage-rules-update when the user wants to check a rule, or to identify which engine a rule belongs to. Success returns entities[0] = {valid: true, engine} plus warnings[]; an invalid rule fails with a 400 envelope describing the syntax problem.
|
|
4268
4653
|
*/
|
|
4269
4654
|
const triageLibraryV2ApiControllerValidate = (options) => {
|
|
4270
4655
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -4291,6 +4676,7 @@ const triageLibraryV2ApiControllerValidate = (options) => {
|
|
|
4291
4676
|
exports.triageLibraryV2ApiControllerValidate = triageLibraryV2ApiControllerValidate;
|
|
4292
4677
|
/**
|
|
4293
4678
|
* Delete triage rule
|
|
4679
|
+
* Delete ONE Binalyze AIR triage rule via DELETE /api/v2/libraries/triage/{idOrName}. MUTATING and irreversible: removes the rule and its stored content from the triage library. dryRun DEFAULTS TO TRUE: the first call returns what would be deleted without removing anything; pass dryRun=false only to actually delete after the user confirms. Use air-triage-rules-bulk-delete for several rules at once. The idOrName comes from air-triage-rules-list or air-triage-rules-get. Success returns entities[0] = {id, name} of the deleted rule. 404 also covers rules outside the caller's organization scope (leak-safe); it does not necessarily mean the id is wrong.
|
|
4294
4680
|
*/
|
|
4295
4681
|
const triageLibraryV2ApiControllerDelete = (options) => {
|
|
4296
4682
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -4313,6 +4699,7 @@ const triageLibraryV2ApiControllerDelete = (options) => {
|
|
|
4313
4699
|
exports.triageLibraryV2ApiControllerDelete = triageLibraryV2ApiControllerDelete;
|
|
4314
4700
|
/**
|
|
4315
4701
|
* Get triage rule by id or name
|
|
4702
|
+
* Get ONE Binalyze AIR triage rule (YARA/Sigma/osquery IOC-scan rule) by UUID or exact name via GET /api/v2/libraries/triage/{idOrName}. Read-only. Returns the full rule detail in entities[0]: id, name, description, engine, searchIn flags, the rule content (body), organizations [{id,name}], tags, author and timestamps. Use this when the user asks to show, inspect, or read a triage rule's content. Rule ids and exact names come from air-triage-rules-list. 404 also covers rules outside the caller's organization scope (leak-safe); the response may include a did-you-mean suggestion when the name is close to an existing rule.
|
|
4316
4703
|
*/
|
|
4317
4704
|
const triageLibraryV2ApiControllerGet = (options) => {
|
|
4318
4705
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -4335,6 +4722,7 @@ const triageLibraryV2ApiControllerGet = (options) => {
|
|
|
4335
4722
|
exports.triageLibraryV2ApiControllerGet = triageLibraryV2ApiControllerGet;
|
|
4336
4723
|
/**
|
|
4337
4724
|
* Update triage rule
|
|
4725
|
+
* Update ONE Binalyze AIR triage rule via PATCH /api/v2/libraries/triage/{idOrName}. MUTATING partial update: only the fields you pass change; omitted fields keep their current value. The engine cannot be changed (create a new rule instead). A changed rule body is re-validated by its engine before saving; an invalid rule fails with 400. `tags` REPLACES the whole tag set. Sending no updatable field returns a NOTHING_CHANGED error. dryRun DEFAULTS TO TRUE: the first call previews the resulting rule without persisting; pass dryRun=false only to actually update after the user confirms. The idOrName comes from air-triage-rules-list or air-triage-rules-get. Success returns entities[0] with the updated rule detail plus warnings[]. 404 also covers rules outside the caller's organization scope (leak-safe).
|
|
4338
4726
|
*/
|
|
4339
4727
|
const triageLibraryV2ApiControllerUpdate = (options) => {
|
|
4340
4728
|
return (options.client ?? client_gen_1.client).patch({
|
|
@@ -4361,6 +4749,7 @@ const triageLibraryV2ApiControllerUpdate = (options) => {
|
|
|
4361
4749
|
exports.triageLibraryV2ApiControllerUpdate = triageLibraryV2ApiControllerUpdate;
|
|
4362
4750
|
/**
|
|
4363
4751
|
* Export triage rules to an off-network package
|
|
4752
|
+
* Export Binalyze AIR triage rules into an off-network triage package via POST /api/v2/libraries/triage/export. MUTATING: generates a package file on the Console that bundles the selected rules for offline (off-network) triage of air-gapped endpoints. Resolution is STRICT: any rule that cannot be found fails the whole request with 400 plus name suggestions (unlike bulk delete, which skips). dryRun DEFAULTS TO TRUE: the first call lists what would be exported without generating a package; pass dryRun=false only to actually export after the user confirms. Success returns entities[0] = {fileName, downloadUrl, binaryOptions[]}; feed fileName into air-triage-rules-export-download to fetch the package. Use this when the user wants an offline/off-network triage package of specific rules. Rule ids and exact names come from air-triage-rules-list.
|
|
4364
4753
|
*/
|
|
4365
4754
|
const triageLibraryExportV2ApiControllerExport = (options) => {
|
|
4366
4755
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -4387,6 +4776,7 @@ const triageLibraryExportV2ApiControllerExport = (options) => {
|
|
|
4387
4776
|
exports.triageLibraryExportV2ApiControllerExport = triageLibraryExportV2ApiControllerExport;
|
|
4388
4777
|
/**
|
|
4389
4778
|
* Download an exported off-network package
|
|
4779
|
+
* Download a previously exported off-network triage package via GET /api/v2/libraries/triage/export/download and save it inside the current worktree. Read-only on the server side. The fileName comes from air-triage-rules-export (its downloadUrl carries the same value); this tool streams the archive to disk and returns {fileName, outputPath, byteLength}. Optionally embed agent binaries for specific platforms (binaries[]) and MITRE ATT&CK rules (mitre=true) into the package. Use this right after air-triage-rules-export when the user wants the actual package file. Packages can expire; a 404 may mean the export must be re-run.
|
|
4390
4780
|
*/
|
|
4391
4781
|
const triageLibraryExportV2ApiControllerDownload = (options) => {
|
|
4392
4782
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -4873,6 +5263,57 @@ const evidenceRepositoryUpdateGoogleCloudStorage = (options) => {
|
|
|
4873
5263
|
});
|
|
4874
5264
|
};
|
|
4875
5265
|
exports.evidenceRepositoryUpdateGoogleCloudStorage = evidenceRepositoryUpdateGoogleCloudStorage;
|
|
5266
|
+
const evidenceRepositoryValidateBox = (options) => {
|
|
5267
|
+
return (options.client ?? client_gen_1.client).post({
|
|
5268
|
+
security: [
|
|
5269
|
+
{
|
|
5270
|
+
scheme: 'bearer',
|
|
5271
|
+
type: 'http'
|
|
5272
|
+
}
|
|
5273
|
+
],
|
|
5274
|
+
url: '/api/public/evidences/repositories/validate/box',
|
|
5275
|
+
...options,
|
|
5276
|
+
headers: {
|
|
5277
|
+
'Content-Type': 'application/json',
|
|
5278
|
+
...options.headers
|
|
5279
|
+
}
|
|
5280
|
+
});
|
|
5281
|
+
};
|
|
5282
|
+
exports.evidenceRepositoryValidateBox = evidenceRepositoryValidateBox;
|
|
5283
|
+
const evidenceRepositoryCreateBox = (options) => {
|
|
5284
|
+
return (options.client ?? client_gen_1.client).post({
|
|
5285
|
+
security: [
|
|
5286
|
+
{
|
|
5287
|
+
scheme: 'bearer',
|
|
5288
|
+
type: 'http'
|
|
5289
|
+
}
|
|
5290
|
+
],
|
|
5291
|
+
url: '/api/public/evidences/repositories/box',
|
|
5292
|
+
...options,
|
|
5293
|
+
headers: {
|
|
5294
|
+
'Content-Type': 'application/json',
|
|
5295
|
+
...options.headers
|
|
5296
|
+
}
|
|
5297
|
+
});
|
|
5298
|
+
};
|
|
5299
|
+
exports.evidenceRepositoryCreateBox = evidenceRepositoryCreateBox;
|
|
5300
|
+
const evidenceRepositoryUpdateBox = (options) => {
|
|
5301
|
+
return (options.client ?? client_gen_1.client).put({
|
|
5302
|
+
security: [
|
|
5303
|
+
{
|
|
5304
|
+
scheme: 'bearer',
|
|
5305
|
+
type: 'http'
|
|
5306
|
+
}
|
|
5307
|
+
],
|
|
5308
|
+
url: '/api/public/evidences/repositories/box/{id}',
|
|
5309
|
+
...options,
|
|
5310
|
+
headers: {
|
|
5311
|
+
'Content-Type': 'application/json',
|
|
5312
|
+
...options.headers
|
|
5313
|
+
}
|
|
5314
|
+
});
|
|
5315
|
+
};
|
|
5316
|
+
exports.evidenceRepositoryUpdateBox = evidenceRepositoryUpdateBox;
|
|
4876
5317
|
const notificationDeleteAll = (options) => {
|
|
4877
5318
|
return (options?.client ?? client_gen_1.client).delete({
|
|
4878
5319
|
security: [
|
|
@@ -5598,18 +6039,583 @@ const autoAssetTagUpdateScheduledAatTask = (options) => {
|
|
|
5598
6039
|
};
|
|
5599
6040
|
exports.autoAssetTagUpdateScheduledAatTask = autoAssetTagUpdateScheduledAatTask;
|
|
5600
6041
|
/**
|
|
5601
|
-
*
|
|
5602
|
-
*
|
|
6042
|
+
* List case activities across visible cases
|
|
6043
|
+
* List the GLOBAL Binalyze AIR case audit feed across all visible cases using GET /api/v2/cases/activities. Read-only, paginated. Each row carries id, caseId, type (event class name like CaseNoteAddedEvent), performedBy, raw data{} payload, a computed description and timestamps. caseIds filter accepts case UUIDs or names (inclusive match). For the activities of ONE known case prefer air-cases-case-activities. Use this to audit who did what across cases, e.g. all activity by a user or all case closures in a time window.
|
|
5603
6044
|
*/
|
|
5604
|
-
const
|
|
5605
|
-
return (options
|
|
6045
|
+
const caseActivityV2ApiControllerFilterGlobalActivities = (options) => {
|
|
6046
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
5606
6047
|
responseType: 'json',
|
|
5607
6048
|
security: [
|
|
5608
6049
|
{
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
6050
|
+
in: 'cookie',
|
|
6051
|
+
name: 'Authentication',
|
|
6052
|
+
type: 'apiKey'
|
|
6053
|
+
},
|
|
6054
|
+
{
|
|
6055
|
+
scheme: 'bearer',
|
|
6056
|
+
type: 'http'
|
|
6057
|
+
}
|
|
6058
|
+
],
|
|
6059
|
+
url: '/api/v2/cases/activities',
|
|
6060
|
+
...options
|
|
6061
|
+
});
|
|
6062
|
+
};
|
|
6063
|
+
exports.caseActivityV2ApiControllerFilterGlobalActivities = caseActivityV2ApiControllerFilterGlobalActivities;
|
|
6064
|
+
/**
|
|
6065
|
+
* List activities for case
|
|
6066
|
+
* List the audit activity feed of ONE Binalyze AIR case using GET /api/v2/cases/{idOrName}/activities. Read-only, paginated. Each row carries id, type (event class name like CaseNoteAddedEvent), performedBy, raw data{} payload, a computed description and timestamps. The path accepts a case UUID or exact case name. For a feed across multiple cases use air-cases-activities (the global feed) instead. Use this to reconstruct the timeline of a case: who closed it, which notes and assets were added, and when.
|
|
6067
|
+
*/
|
|
6068
|
+
const caseActivityV2ApiControllerFilterCaseActivities = (options) => {
|
|
6069
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6070
|
+
responseType: 'json',
|
|
6071
|
+
security: [
|
|
6072
|
+
{
|
|
6073
|
+
in: 'cookie',
|
|
6074
|
+
name: 'Authentication',
|
|
6075
|
+
type: 'apiKey'
|
|
6076
|
+
},
|
|
6077
|
+
{
|
|
6078
|
+
scheme: 'bearer',
|
|
6079
|
+
type: 'http'
|
|
6080
|
+
}
|
|
6081
|
+
],
|
|
6082
|
+
url: '/api/v2/cases/{idOrName}/activities',
|
|
6083
|
+
...options
|
|
6084
|
+
});
|
|
6085
|
+
};
|
|
6086
|
+
exports.caseActivityV2ApiControllerFilterCaseActivities = caseActivityV2ApiControllerFilterCaseActivities;
|
|
6087
|
+
/**
|
|
6088
|
+
* Export cases
|
|
6089
|
+
* Export Binalyze AIR cases to a file via GET /api/v2/cases/export and save it inside the current worktree. Read-only on the server side; no dryRun needed. format=csv (default) saves a text/csv file; format=json saves an application/zip archive containing cases.json (the newest 10000 matching cases, with a TRUNCATED warning when more matched). The filter model mirrors air-cases-list (name substring, status, searchTerm). Returns {format, outputPath, byteLength}. Use air-cases-list instead when the user just wants to read cases in the chat.
|
|
6090
|
+
*/
|
|
6091
|
+
const caseExportV2ApiControllerExportCases = (options) => {
|
|
6092
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
6093
|
+
responseType: 'text',
|
|
6094
|
+
security: [
|
|
6095
|
+
{
|
|
6096
|
+
in: 'cookie',
|
|
6097
|
+
name: 'Authentication',
|
|
6098
|
+
type: 'apiKey'
|
|
6099
|
+
},
|
|
6100
|
+
{
|
|
6101
|
+
scheme: 'bearer',
|
|
6102
|
+
type: 'http'
|
|
6103
|
+
}
|
|
6104
|
+
],
|
|
6105
|
+
url: '/api/v2/cases/export',
|
|
6106
|
+
...options
|
|
6107
|
+
});
|
|
6108
|
+
};
|
|
6109
|
+
exports.caseExportV2ApiControllerExportCases = caseExportV2ApiControllerExportCases;
|
|
6110
|
+
/**
|
|
6111
|
+
* Close cases in bulk
|
|
6112
|
+
* Close MULTIPLE Binalyze AIR cases in one call via POST /api/v2/cases/close. MUTATING, partial success: eligible cases close, ineligible ones (already closed/archived, not found) surface as warnings[] instead of failing the request. dryRun DEFAULTS TO TRUE: the first call returns a would-close preview plus skip warnings; pass dryRun=false only after the user confirms the case list. Target cases by id or name in cases[], or set cases="all" to close every open case in the required organizations scope (deliberate action; organizations must be provided — ids/names or "all"; confirm with the user first). For exactly one case prefer air-cases-close, which also accepts closure report summaries.
|
|
6113
|
+
*/
|
|
6114
|
+
const caseBulkActionV2ApiControllerClose = (options) => {
|
|
6115
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6116
|
+
responseType: 'json',
|
|
6117
|
+
security: [
|
|
6118
|
+
{
|
|
6119
|
+
in: 'cookie',
|
|
6120
|
+
name: 'Authentication',
|
|
6121
|
+
type: 'apiKey'
|
|
6122
|
+
},
|
|
6123
|
+
{
|
|
6124
|
+
scheme: 'bearer',
|
|
6125
|
+
type: 'http'
|
|
6126
|
+
}
|
|
6127
|
+
],
|
|
6128
|
+
url: '/api/v2/cases/close',
|
|
6129
|
+
...options,
|
|
6130
|
+
headers: {
|
|
6131
|
+
'Content-Type': 'application/json',
|
|
6132
|
+
...options.headers
|
|
6133
|
+
}
|
|
6134
|
+
});
|
|
6135
|
+
};
|
|
6136
|
+
exports.caseBulkActionV2ApiControllerClose = caseBulkActionV2ApiControllerClose;
|
|
6137
|
+
/**
|
|
6138
|
+
* Archive cases in bulk
|
|
6139
|
+
* Archive MULTIPLE Binalyze AIR cases in one call via POST /api/v2/cases/archive. MUTATING and effectively FINAL: lifecycle is open -> closed -> archived and there is NO unarchive. Only closed cases are eligible; open or already-archived cases surface as warnings[] (partial success). dryRun DEFAULTS TO TRUE: the first call returns a would-archive preview plus skip warnings; pass dryRun=false only after the user confirms the case list. Target cases by id or name in cases[], or set cases="all" to archive every closed case in the required organizations scope (deliberate action; organizations must be provided — ids/names or "all"; confirm with the user first). For exactly one case prefer air-cases-archive.
|
|
6140
|
+
*/
|
|
6141
|
+
const caseBulkActionV2ApiControllerArchive = (options) => {
|
|
6142
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6143
|
+
responseType: 'json',
|
|
6144
|
+
security: [
|
|
6145
|
+
{
|
|
6146
|
+
in: 'cookie',
|
|
6147
|
+
name: 'Authentication',
|
|
6148
|
+
type: 'apiKey'
|
|
6149
|
+
},
|
|
6150
|
+
{
|
|
6151
|
+
scheme: 'bearer',
|
|
6152
|
+
type: 'http'
|
|
6153
|
+
}
|
|
6154
|
+
],
|
|
6155
|
+
url: '/api/v2/cases/archive',
|
|
6156
|
+
...options,
|
|
6157
|
+
headers: {
|
|
6158
|
+
'Content-Type': 'application/json',
|
|
6159
|
+
...options.headers
|
|
6160
|
+
}
|
|
6161
|
+
});
|
|
6162
|
+
};
|
|
6163
|
+
exports.caseBulkActionV2ApiControllerArchive = caseBulkActionV2ApiControllerArchive;
|
|
6164
|
+
/**
|
|
6165
|
+
* List assets linked to case
|
|
6166
|
+
* List the assets linked to a Binalyze AIR case using GET /api/v2/cases/{idOrName}/assets. Read-only, paginated; returns full canonical v2 asset entities (nested endpoint{} block) for every asset attached to the case. Use this to see which endpoints belong to a case, to pick asset ids for air-cases-remove-assets, or before acting on the case's machines with the asset tools. The path accepts a case UUID or exact case name. Use format=json (default) for a paginated response or format=csv to stream the linked assets as text/csv.
|
|
6167
|
+
*/
|
|
6168
|
+
const caseAssetV2ApiControllerFilterAssets = (options) => {
|
|
6169
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6170
|
+
responseType: 'json',
|
|
6171
|
+
security: [
|
|
6172
|
+
{
|
|
6173
|
+
in: 'cookie',
|
|
6174
|
+
name: 'Authentication',
|
|
6175
|
+
type: 'apiKey'
|
|
6176
|
+
},
|
|
6177
|
+
{
|
|
6178
|
+
scheme: 'bearer',
|
|
6179
|
+
type: 'http'
|
|
6180
|
+
}
|
|
6181
|
+
],
|
|
6182
|
+
url: '/api/v2/cases/{idOrName}/assets',
|
|
6183
|
+
...options
|
|
6184
|
+
});
|
|
6185
|
+
};
|
|
6186
|
+
exports.caseAssetV2ApiControllerFilterAssets = caseAssetV2ApiControllerFilterAssets;
|
|
6187
|
+
/**
|
|
6188
|
+
* List users for case
|
|
6189
|
+
* List the users who can participate in a Binalyze AIR case using GET /api/v2/cases/{idOrName}/users. Read-only, paginated; the organization scope derives from the case itself. Each entity carries id, username, email, roles[] with privileges, organizations[] as {id,name} refs, admin flags (isGlobalAdmin, isOrganizationAdmin), tfaEnabled, lastLogin and onlineStatus. Use this to find valid usernames or user UUIDs before setting a case owner or assignedUsers via air-cases-create / air-cases-update. The path accepts a case UUID or exact case name.
|
|
6190
|
+
*/
|
|
6191
|
+
const caseUserV2ApiControllerFilterUsers = (options) => {
|
|
6192
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6193
|
+
responseType: 'json',
|
|
6194
|
+
security: [
|
|
6195
|
+
{
|
|
6196
|
+
in: 'cookie',
|
|
6197
|
+
name: 'Authentication',
|
|
6198
|
+
type: 'apiKey'
|
|
6199
|
+
},
|
|
6200
|
+
{
|
|
6201
|
+
scheme: 'bearer',
|
|
6202
|
+
type: 'http'
|
|
6203
|
+
}
|
|
6204
|
+
],
|
|
6205
|
+
url: '/api/v2/cases/{idOrName}/users',
|
|
6206
|
+
...options
|
|
6207
|
+
});
|
|
6208
|
+
};
|
|
6209
|
+
exports.caseUserV2ApiControllerFilterUsers = caseUserV2ApiControllerFilterUsers;
|
|
6210
|
+
/**
|
|
6211
|
+
* List task assignments for case
|
|
6212
|
+
* List the tasks of a Binalyze AIR case using GET /api/v2/cases/{idOrName}/tasks. Read-only, paginated and ASSIGNMENT-CENTRIC: one task assigned to N assets yields N rows, each with taskId, taskName, taskType, per-asset status and endpoint fields. result.metadata.creators summarizes the unique task creators across the case. The taskId values feed air-tasks-get; assignment rows relate to air-cases-task-assignments-list. The path accepts a case UUID or exact case name. Use this to see what work (triage, acquisition, interact) ran under a case and its per-asset outcome.
|
|
6213
|
+
*/
|
|
6214
|
+
const caseTaskV2ApiControllerFilterTasks = (options) => {
|
|
6215
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6216
|
+
responseType: 'json',
|
|
6217
|
+
security: [
|
|
6218
|
+
{
|
|
6219
|
+
in: 'cookie',
|
|
6220
|
+
name: 'Authentication',
|
|
6221
|
+
type: 'apiKey'
|
|
6222
|
+
},
|
|
6223
|
+
{
|
|
6224
|
+
scheme: 'bearer',
|
|
6225
|
+
type: 'http'
|
|
6226
|
+
}
|
|
6227
|
+
],
|
|
6228
|
+
url: '/api/v2/cases/{idOrName}/tasks',
|
|
6229
|
+
...options
|
|
6230
|
+
});
|
|
6231
|
+
};
|
|
6232
|
+
exports.caseTaskV2ApiControllerFilterTasks = caseTaskV2ApiControllerFilterTasks;
|
|
6233
|
+
/**
|
|
6234
|
+
* List case notes
|
|
6235
|
+
* List the notes of a Binalyze AIR case using GET /api/v2/cases/{idOrName}/notes. Read-only, paginated. Each entity carries id, note (the text), writtenBy{id,username,email,profile}, writtenAt and timestamps. The path accepts a case UUID or exact case name. The note id values feed air-cases-notes-update and air-cases-notes-delete. Use this to read the investigation notes of a case or to find a note before editing or deleting it.
|
|
6236
|
+
*/
|
|
6237
|
+
const caseNoteV2ApiControllerFilterNotes = (options) => {
|
|
6238
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6239
|
+
responseType: 'json',
|
|
6240
|
+
security: [
|
|
6241
|
+
{
|
|
6242
|
+
in: 'cookie',
|
|
6243
|
+
name: 'Authentication',
|
|
6244
|
+
type: 'apiKey'
|
|
6245
|
+
},
|
|
6246
|
+
{
|
|
6247
|
+
scheme: 'bearer',
|
|
6248
|
+
type: 'http'
|
|
6249
|
+
}
|
|
6250
|
+
],
|
|
6251
|
+
url: '/api/v2/cases/{idOrName}/notes',
|
|
6252
|
+
...options
|
|
6253
|
+
});
|
|
6254
|
+
};
|
|
6255
|
+
exports.caseNoteV2ApiControllerFilterNotes = caseNoteV2ApiControllerFilterNotes;
|
|
6256
|
+
/**
|
|
6257
|
+
* Create case note
|
|
6258
|
+
* Add a note to a Binalyze AIR case via POST /api/v2/cases/{idOrName}/notes. MUTATING. The case must be OPEN; notes cannot be added to closed or archived cases. dryRun DEFAULTS TO TRUE: the first call returns a would-create preview without persisting; pass dryRun=false only after the user confirms. The created note comes back in result.entities[0] with id, note, writtenBy{} and timestamps. The path accepts a case UUID or exact case name; the note text is limited to 10000 characters.
|
|
6259
|
+
*/
|
|
6260
|
+
const caseNoteV2ApiControllerCreateNote = (options) => {
|
|
6261
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6262
|
+
responseType: 'json',
|
|
6263
|
+
security: [
|
|
6264
|
+
{
|
|
6265
|
+
in: 'cookie',
|
|
6266
|
+
name: 'Authentication',
|
|
6267
|
+
type: 'apiKey'
|
|
6268
|
+
},
|
|
6269
|
+
{
|
|
6270
|
+
scheme: 'bearer',
|
|
6271
|
+
type: 'http'
|
|
6272
|
+
}
|
|
6273
|
+
],
|
|
6274
|
+
url: '/api/v2/cases/{idOrName}/notes',
|
|
6275
|
+
...options,
|
|
6276
|
+
headers: {
|
|
6277
|
+
'Content-Type': 'application/json',
|
|
6278
|
+
...options.headers
|
|
6279
|
+
}
|
|
6280
|
+
});
|
|
6281
|
+
};
|
|
6282
|
+
exports.caseNoteV2ApiControllerCreateNote = caseNoteV2ApiControllerCreateNote;
|
|
6283
|
+
/**
|
|
6284
|
+
* Delete case note
|
|
6285
|
+
* Delete one note of a Binalyze AIR case via DELETE /api/v2/cases/{idOrName}/notes/{noteId}. MUTATING and IRREVERSIBLE once executed. The case must be OPEN and deletion is restricted to the note's author or an authorized manager. dryRun DEFAULTS TO TRUE: the first call returns a would-delete preview without removing anything; pass dryRun=false only after the user explicitly confirms. The path accepts a case UUID or exact case name plus the note UUID from air-cases-notes-list.
|
|
6286
|
+
*/
|
|
6287
|
+
const caseNoteV2ApiControllerDeleteNote = (options) => {
|
|
6288
|
+
return (options.client ?? client_gen_1.client).delete({
|
|
6289
|
+
responseType: 'json',
|
|
6290
|
+
security: [
|
|
6291
|
+
{
|
|
6292
|
+
in: 'cookie',
|
|
6293
|
+
name: 'Authentication',
|
|
6294
|
+
type: 'apiKey'
|
|
6295
|
+
},
|
|
6296
|
+
{
|
|
6297
|
+
scheme: 'bearer',
|
|
6298
|
+
type: 'http'
|
|
6299
|
+
}
|
|
6300
|
+
],
|
|
6301
|
+
url: '/api/v2/cases/{idOrName}/notes/{noteId}',
|
|
6302
|
+
...options
|
|
6303
|
+
});
|
|
6304
|
+
};
|
|
6305
|
+
exports.caseNoteV2ApiControllerDeleteNote = caseNoteV2ApiControllerDeleteNote;
|
|
6306
|
+
/**
|
|
6307
|
+
* Update case note
|
|
6308
|
+
* Edit one note of a Binalyze AIR case via PATCH /api/v2/cases/{idOrName}/notes/{noteId}. MUTATING; the note text is fully replaced. The case must be OPEN and only the note's author (or an authorized manager) may edit it. dryRun DEFAULTS TO TRUE: the first call returns a would-update preview without persisting; pass dryRun=false only after the user confirms. The path accepts a case UUID or exact case name plus the note UUID from air-cases-notes-list. The updated note comes back in result.entities[0].
|
|
6309
|
+
*/
|
|
6310
|
+
const caseNoteV2ApiControllerUpdateNote = (options) => {
|
|
6311
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
6312
|
+
responseType: 'json',
|
|
6313
|
+
security: [
|
|
6314
|
+
{
|
|
6315
|
+
in: 'cookie',
|
|
6316
|
+
name: 'Authentication',
|
|
6317
|
+
type: 'apiKey'
|
|
6318
|
+
},
|
|
6319
|
+
{
|
|
6320
|
+
scheme: 'bearer',
|
|
6321
|
+
type: 'http'
|
|
6322
|
+
}
|
|
6323
|
+
],
|
|
6324
|
+
url: '/api/v2/cases/{idOrName}/notes/{noteId}',
|
|
6325
|
+
...options,
|
|
6326
|
+
headers: {
|
|
6327
|
+
'Content-Type': 'application/json',
|
|
6328
|
+
...options.headers
|
|
6329
|
+
}
|
|
6330
|
+
});
|
|
6331
|
+
};
|
|
6332
|
+
exports.caseNoteV2ApiControllerUpdateNote = caseNoteV2ApiControllerUpdateNote;
|
|
6333
|
+
/**
|
|
6334
|
+
* List task assignments for case
|
|
6335
|
+
* List the task assignments attached to a Binalyze AIR case using GET /api/v2/cases/{idOrName}/task-assignments. Read-only, paginated. Each entity carries id, taskId, taskName, taskType, per-asset status, asset{id,name}, hasDroneData, dataImportStatus, progress and timestamps. The id values feed air-cases-task-assignments-delete (detach) and are what air-cases-task-assignments-import adds. The path accepts a case UUID or exact case name. Use this to see which task results are part of the case evidence set.
|
|
6336
|
+
*/
|
|
6337
|
+
const caseTaskAssignmentV2ApiControllerFilterTaskAssignments = (options) => {
|
|
6338
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6339
|
+
responseType: 'json',
|
|
6340
|
+
security: [
|
|
6341
|
+
{
|
|
6342
|
+
in: 'cookie',
|
|
6343
|
+
name: 'Authentication',
|
|
6344
|
+
type: 'apiKey'
|
|
6345
|
+
},
|
|
6346
|
+
{
|
|
6347
|
+
scheme: 'bearer',
|
|
6348
|
+
type: 'http'
|
|
6349
|
+
}
|
|
6350
|
+
],
|
|
6351
|
+
url: '/api/v2/cases/{idOrName}/task-assignments',
|
|
6352
|
+
...options
|
|
6353
|
+
});
|
|
6354
|
+
};
|
|
6355
|
+
exports.caseTaskAssignmentV2ApiControllerFilterTaskAssignments = caseTaskAssignmentV2ApiControllerFilterTaskAssignments;
|
|
6356
|
+
/**
|
|
6357
|
+
* Import task assignments into case
|
|
6358
|
+
* Import task assignments into a Binalyze AIR case via POST /api/v2/cases/{idOrName}/task-assignments/import. MUTATING with PARTIAL SUCCESS: eligible assignments are attached to the case, ineligible ones surface as skipped warnings[]. The case must be OPEN. dryRun DEFAULTS TO TRUE: the first call previews what would be imported plus warnings; pass dryRun=false only after the user confirms. Provide EXACTLY ONE source: taskId (imports that task's eligible assignments) or taskAssignmentIds (explicit assignment UUIDs). Optionally restrict to specific assets via assets[]. Get taskId from air-tasks-get / air-cases-tasks and assignment ids from air-tasks-assignments.
|
|
6359
|
+
*/
|
|
6360
|
+
const caseTaskAssignmentV2ApiControllerImportTaskAssignments = (options) => {
|
|
6361
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6362
|
+
responseType: 'json',
|
|
6363
|
+
security: [
|
|
6364
|
+
{
|
|
6365
|
+
in: 'cookie',
|
|
6366
|
+
name: 'Authentication',
|
|
6367
|
+
type: 'apiKey'
|
|
6368
|
+
},
|
|
6369
|
+
{
|
|
6370
|
+
scheme: 'bearer',
|
|
6371
|
+
type: 'http'
|
|
6372
|
+
}
|
|
6373
|
+
],
|
|
6374
|
+
url: '/api/v2/cases/{idOrName}/task-assignments/import',
|
|
6375
|
+
...options,
|
|
6376
|
+
headers: {
|
|
6377
|
+
'Content-Type': 'application/json',
|
|
6378
|
+
...options.headers
|
|
6379
|
+
}
|
|
6380
|
+
});
|
|
6381
|
+
};
|
|
6382
|
+
exports.caseTaskAssignmentV2ApiControllerImportTaskAssignments = caseTaskAssignmentV2ApiControllerImportTaskAssignments;
|
|
6383
|
+
/**
|
|
6384
|
+
* Detach a task assignment from case
|
|
6385
|
+
* Detach ONE task assignment from a Binalyze AIR case via DELETE /api/v2/cases/{idOrName}/task-assignments/{taskAssignmentId}. MUTATING but non-destructive: it removes ONLY the case relation; the assignment and its task data are NOT deleted. The case must be OPEN. dryRun DEFAULTS TO TRUE: the first call returns a would-remove-from-case preview; pass dryRun=false only after the user confirms. Idempotent: deleting an assignment that is not attached returns deletedCount 0 with a skipped warning instead of failing. Get the assignment UUID from air-cases-task-assignments-list.
|
|
6386
|
+
*/
|
|
6387
|
+
const caseTaskAssignmentV2ApiControllerRemoveTaskAssignment = (options) => {
|
|
6388
|
+
return (options.client ?? client_gen_1.client).delete({
|
|
6389
|
+
responseType: 'json',
|
|
6390
|
+
security: [
|
|
6391
|
+
{
|
|
6392
|
+
in: 'cookie',
|
|
6393
|
+
name: 'Authentication',
|
|
6394
|
+
type: 'apiKey'
|
|
6395
|
+
},
|
|
6396
|
+
{
|
|
6397
|
+
scheme: 'bearer',
|
|
6398
|
+
type: 'http'
|
|
6399
|
+
}
|
|
6400
|
+
],
|
|
6401
|
+
url: '/api/v2/cases/{idOrName}/task-assignments/{taskAssignmentId}',
|
|
6402
|
+
...options
|
|
6403
|
+
});
|
|
6404
|
+
};
|
|
6405
|
+
exports.caseTaskAssignmentV2ApiControllerRemoveTaskAssignment = caseTaskAssignmentV2ApiControllerRemoveTaskAssignment;
|
|
6406
|
+
/**
|
|
6407
|
+
* Close a case
|
|
6408
|
+
* Close ONE Binalyze AIR case via POST /api/v2/cases/{idOrName}/close. MUTATING. Only an open case can be closed; closed/archived cases are rejected with a lifecycle error. dryRun DEFAULTS TO TRUE: the first call returns a would-close preview without closing; pass dryRun=false only after the user confirms. reason is required (resolved, false-positive, duplicate, other) and the optional summary fields feed the closure report; the closed case comes back in result.entities[0] with a closure report URL. For two or more cases use air-cases-bulk-close instead.
|
|
6409
|
+
*/
|
|
6410
|
+
const caseActionV2ApiControllerClose = (options) => {
|
|
6411
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6412
|
+
responseType: 'json',
|
|
6413
|
+
security: [
|
|
6414
|
+
{
|
|
6415
|
+
in: 'cookie',
|
|
6416
|
+
name: 'Authentication',
|
|
6417
|
+
type: 'apiKey'
|
|
6418
|
+
},
|
|
6419
|
+
{
|
|
6420
|
+
scheme: 'bearer',
|
|
6421
|
+
type: 'http'
|
|
6422
|
+
}
|
|
6423
|
+
],
|
|
6424
|
+
url: '/api/v2/cases/{idOrName}/close',
|
|
6425
|
+
...options,
|
|
6426
|
+
headers: {
|
|
6427
|
+
'Content-Type': 'application/json',
|
|
6428
|
+
...options.headers
|
|
6429
|
+
}
|
|
6430
|
+
});
|
|
6431
|
+
};
|
|
6432
|
+
exports.caseActionV2ApiControllerClose = caseActionV2ApiControllerClose;
|
|
6433
|
+
/**
|
|
6434
|
+
* Reopen a case
|
|
6435
|
+
* Reopen ONE closed Binalyze AIR case via POST /api/v2/cases/{idOrName}/open. MUTATING. Only a CLOSED case can be reopened; open and archived cases are rejected with a lifecycle error (archiving is final, there is no unarchive). dryRun DEFAULTS TO TRUE: the first call returns a would-open preview without reopening; pass dryRun=false only after the user confirms. The reopened case comes back in result.entities[0].
|
|
6436
|
+
*/
|
|
6437
|
+
const caseActionV2ApiControllerReopen = (options) => {
|
|
6438
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6439
|
+
responseType: 'json',
|
|
6440
|
+
security: [
|
|
6441
|
+
{
|
|
6442
|
+
in: 'cookie',
|
|
6443
|
+
name: 'Authentication',
|
|
6444
|
+
type: 'apiKey'
|
|
6445
|
+
},
|
|
6446
|
+
{
|
|
6447
|
+
scheme: 'bearer',
|
|
6448
|
+
type: 'http'
|
|
6449
|
+
}
|
|
6450
|
+
],
|
|
6451
|
+
url: '/api/v2/cases/{idOrName}/open',
|
|
6452
|
+
...options
|
|
6453
|
+
});
|
|
6454
|
+
};
|
|
6455
|
+
exports.caseActionV2ApiControllerReopen = caseActionV2ApiControllerReopen;
|
|
6456
|
+
/**
|
|
6457
|
+
* Archive a case
|
|
6458
|
+
* Archive ONE closed Binalyze AIR case via POST /api/v2/cases/{idOrName}/archive. MUTATING and FINAL: lifecycle is open -> closed -> archived and there is NO unarchive endpoint. Only a CLOSED case can be archived; open or already-archived cases are rejected with a lifecycle error. dryRun DEFAULTS TO TRUE: the first call returns a would-archive preview without archiving; pass dryRun=false only after the user explicitly confirms. The archived case comes back in result.entities[0]. For two or more cases use air-cases-bulk-archive instead.
|
|
6459
|
+
*/
|
|
6460
|
+
const caseActionV2ApiControllerArchive = (options) => {
|
|
6461
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6462
|
+
responseType: 'json',
|
|
6463
|
+
security: [
|
|
6464
|
+
{
|
|
6465
|
+
in: 'cookie',
|
|
6466
|
+
name: 'Authentication',
|
|
6467
|
+
type: 'apiKey'
|
|
6468
|
+
},
|
|
6469
|
+
{
|
|
6470
|
+
scheme: 'bearer',
|
|
6471
|
+
type: 'http'
|
|
6472
|
+
}
|
|
6473
|
+
],
|
|
6474
|
+
url: '/api/v2/cases/{idOrName}/archive',
|
|
6475
|
+
...options
|
|
6476
|
+
});
|
|
6477
|
+
};
|
|
6478
|
+
exports.caseActionV2ApiControllerArchive = caseActionV2ApiControllerArchive;
|
|
6479
|
+
/**
|
|
6480
|
+
* Unlink assets from a case
|
|
6481
|
+
* Unlink assets from a Binalyze AIR case via POST /api/v2/cases/{idOrName}/remove-assets. MUTATING but non-destructive: it removes ONLY the case<->asset relation; the assets themselves are NOT deleted, purged or uninstalled. dryRun DEFAULTS TO TRUE: the first call previews which assets would be unlinked plus skip warnings; pass dryRun=false only after the user confirms. Target assets by id or name in assets[] (wins over filter), or with a filter JSON object matched against the assets linked to the case. Assets not attached to the case are skipped with a warning; the real run returns deletedCount.
|
|
6482
|
+
*/
|
|
6483
|
+
const caseActionV2ApiControllerRemoveAssets = (options) => {
|
|
6484
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6485
|
+
responseType: 'json',
|
|
6486
|
+
security: [
|
|
6487
|
+
{
|
|
6488
|
+
in: 'cookie',
|
|
6489
|
+
name: 'Authentication',
|
|
6490
|
+
type: 'apiKey'
|
|
6491
|
+
},
|
|
6492
|
+
{
|
|
6493
|
+
scheme: 'bearer',
|
|
6494
|
+
type: 'http'
|
|
6495
|
+
}
|
|
6496
|
+
],
|
|
6497
|
+
url: '/api/v2/cases/{idOrName}/remove-assets',
|
|
6498
|
+
...options,
|
|
6499
|
+
headers: {
|
|
6500
|
+
'Content-Type': 'application/json',
|
|
6501
|
+
...options.headers
|
|
6502
|
+
}
|
|
6503
|
+
});
|
|
6504
|
+
};
|
|
6505
|
+
exports.caseActionV2ApiControllerRemoveAssets = caseActionV2ApiControllerRemoveAssets;
|
|
6506
|
+
/**
|
|
6507
|
+
* List cases
|
|
6508
|
+
* List Binalyze AIR cases using GET /api/v2/cases. Read-only, paginated. Each entity uses object refs: owner{id,name}, organizations[{id,name}], category{id,name}, tags[], assignedUsers[], plus taskCounts{} and assets/taskAssignments {count,url} summaries. Lifecycle is open -> closed -> archived (no unarchive). Reference filters (owner, assignedUser, category, tags) accept a UUID or an exact name/username; name is a case-insensitive substring match. Use this to find a case id or name before calling air-cases-get, air-cases-update, air-cases-close or the case sub-resource tools. organizations defaults to all accessible organizations.
|
|
6509
|
+
*/
|
|
6510
|
+
const caseV2ApiControllerFilterCases = (options) => {
|
|
6511
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
6512
|
+
responseType: 'json',
|
|
6513
|
+
security: [
|
|
6514
|
+
{
|
|
6515
|
+
in: 'cookie',
|
|
6516
|
+
name: 'Authentication',
|
|
6517
|
+
type: 'apiKey'
|
|
6518
|
+
},
|
|
6519
|
+
{
|
|
6520
|
+
scheme: 'bearer',
|
|
6521
|
+
type: 'http'
|
|
6522
|
+
}
|
|
6523
|
+
],
|
|
6524
|
+
url: '/api/v2/cases',
|
|
6525
|
+
...options
|
|
6526
|
+
});
|
|
6527
|
+
};
|
|
6528
|
+
exports.caseV2ApiControllerFilterCases = caseV2ApiControllerFilterCases;
|
|
6529
|
+
/**
|
|
6530
|
+
* Create a case
|
|
6531
|
+
* Create a single Binalyze AIR case via POST /api/v2/cases. MUTATING. dryRun DEFAULTS TO TRUE: the first call returns a would-create preview (resolved unique name, organization, warnings) without persisting; pass dryRun=false only after the user confirms. Reference fields (owner, organization, category, tags, assignedUsers) accept a UUID or an exact name/username and are resolved before creation. The case name cannot be UUID-shaped and is auto-suffixed on a name conflict. owner defaults to the caller and organization is defaulted for single-organization callers. The created case is returned in result.entities[0].
|
|
6532
|
+
*/
|
|
6533
|
+
const caseV2ApiControllerCreateCase = (options) => {
|
|
6534
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6535
|
+
responseType: 'json',
|
|
6536
|
+
security: [
|
|
6537
|
+
{
|
|
6538
|
+
in: 'cookie',
|
|
6539
|
+
name: 'Authentication',
|
|
6540
|
+
type: 'apiKey'
|
|
6541
|
+
},
|
|
6542
|
+
{
|
|
6543
|
+
scheme: 'bearer',
|
|
6544
|
+
type: 'http'
|
|
6545
|
+
}
|
|
6546
|
+
],
|
|
6547
|
+
url: '/api/v2/cases',
|
|
6548
|
+
...options,
|
|
6549
|
+
headers: {
|
|
6550
|
+
'Content-Type': 'application/json',
|
|
6551
|
+
...options.headers
|
|
6552
|
+
}
|
|
6553
|
+
});
|
|
6554
|
+
};
|
|
6555
|
+
exports.caseV2ApiControllerCreateCase = caseV2ApiControllerCreateCase;
|
|
6556
|
+
/**
|
|
6557
|
+
* Get case by id or name
|
|
6558
|
+
* Fetch one Binalyze AIR case by UUID or case name using GET /api/v2/cases/{idOrName}. Read-only; the case is wrapped in result.entities[0]. The entity uses object refs (owner{}, organizations[{id,name}], category{}, tags[], assignedUsers[]), taskCounts{}, and assets/taskAssignments {count,url} summaries. Lifecycle status is open, closed or archived. A 404 also covers cases outside the caller's organizations (leak-safe), so do not infer the case does not exist. Use air-cases-list to discover ids and names first.
|
|
6559
|
+
*/
|
|
6560
|
+
const caseV2ApiControllerGetCaseByIdOrName = (options) => {
|
|
6561
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6562
|
+
responseType: 'json',
|
|
6563
|
+
security: [
|
|
6564
|
+
{
|
|
6565
|
+
in: 'cookie',
|
|
6566
|
+
name: 'Authentication',
|
|
6567
|
+
type: 'apiKey'
|
|
6568
|
+
},
|
|
6569
|
+
{
|
|
6570
|
+
scheme: 'bearer',
|
|
6571
|
+
type: 'http'
|
|
6572
|
+
}
|
|
6573
|
+
],
|
|
6574
|
+
url: '/api/v2/cases/{idOrName}',
|
|
6575
|
+
...options
|
|
6576
|
+
});
|
|
6577
|
+
};
|
|
6578
|
+
exports.caseV2ApiControllerGetCaseByIdOrName = caseV2ApiControllerGetCaseByIdOrName;
|
|
6579
|
+
/**
|
|
6580
|
+
* Update a case
|
|
6581
|
+
* Partially update a Binalyze AIR case via PATCH /api/v2/cases/{idOrName}. MUTATING. dryRun DEFAULTS TO TRUE: the first call returns a would-update preview without persisting; pass dryRun=false only after the user confirms. Only supplied fields change. Owner change is folded into this endpoint (there is no separate change-owner endpoint). tags and metadata are a FULL REPLACE, not a merge; removeCategory=true clears the category. Reference fields (owner, assignedUsers, category, tags) accept a UUID or an exact name/username. If nothing effectively changes the API answers with a NOTHING_CHANGED error envelope.
|
|
6582
|
+
*/
|
|
6583
|
+
const caseV2ApiControllerUpdateCase = (options) => {
|
|
6584
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
6585
|
+
responseType: 'json',
|
|
6586
|
+
security: [
|
|
6587
|
+
{
|
|
6588
|
+
in: 'cookie',
|
|
6589
|
+
name: 'Authentication',
|
|
6590
|
+
type: 'apiKey'
|
|
6591
|
+
},
|
|
6592
|
+
{
|
|
6593
|
+
scheme: 'bearer',
|
|
6594
|
+
type: 'http'
|
|
6595
|
+
}
|
|
6596
|
+
],
|
|
6597
|
+
url: '/api/v2/cases/{idOrName}',
|
|
6598
|
+
...options,
|
|
6599
|
+
headers: {
|
|
6600
|
+
'Content-Type': 'application/json',
|
|
6601
|
+
...options.headers
|
|
6602
|
+
}
|
|
6603
|
+
});
|
|
6604
|
+
};
|
|
6605
|
+
exports.caseV2ApiControllerUpdateCase = caseV2ApiControllerUpdateCase;
|
|
6606
|
+
/**
|
|
6607
|
+
* Check if a case name is available
|
|
6608
|
+
* Validates whether a given case name is exists
|
|
6609
|
+
*/
|
|
6610
|
+
const casesCheckName = (options) => {
|
|
6611
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6612
|
+
responseType: 'json',
|
|
6613
|
+
security: [
|
|
6614
|
+
{
|
|
6615
|
+
scheme: 'bearer',
|
|
6616
|
+
type: 'http'
|
|
6617
|
+
}
|
|
6618
|
+
],
|
|
5613
6619
|
url: '/api/public/cases/check',
|
|
5614
6620
|
...options
|
|
5615
6621
|
});
|
|
@@ -5667,6 +6673,84 @@ const caseExportCaseEndpoints1 = (options) => {
|
|
|
5667
6673
|
});
|
|
5668
6674
|
};
|
|
5669
6675
|
exports.caseExportCaseEndpoints1 = caseExportCaseEndpoints1;
|
|
6676
|
+
/**
|
|
6677
|
+
* Download a case assets expression export
|
|
6678
|
+
* Downloads CSV for a previously created case assets expression export
|
|
6679
|
+
*/
|
|
6680
|
+
const casesDownloadAssetsExpressionExport = (options) => {
|
|
6681
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6682
|
+
security: [
|
|
6683
|
+
{
|
|
6684
|
+
scheme: 'bearer',
|
|
6685
|
+
type: 'http'
|
|
6686
|
+
}
|
|
6687
|
+
],
|
|
6688
|
+
url: '/api/public/cases/{id}/endpoints/export-query',
|
|
6689
|
+
...options
|
|
6690
|
+
});
|
|
6691
|
+
};
|
|
6692
|
+
exports.casesDownloadAssetsExpressionExport = casesDownloadAssetsExpressionExport;
|
|
6693
|
+
/**
|
|
6694
|
+
* Create a case assets expression export
|
|
6695
|
+
* Caches an expression filter for downloading case-linked assets as CSV. Use the returned exportUrl within 60 seconds.
|
|
6696
|
+
*/
|
|
6697
|
+
const casesCreateAssetsExpressionExport = (options) => {
|
|
6698
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6699
|
+
responseType: 'json',
|
|
6700
|
+
security: [
|
|
6701
|
+
{
|
|
6702
|
+
scheme: 'bearer',
|
|
6703
|
+
type: 'http'
|
|
6704
|
+
}
|
|
6705
|
+
],
|
|
6706
|
+
url: '/api/public/cases/{id}/endpoints/export-query',
|
|
6707
|
+
...options,
|
|
6708
|
+
headers: {
|
|
6709
|
+
'Content-Type': 'application/json',
|
|
6710
|
+
...options.headers
|
|
6711
|
+
}
|
|
6712
|
+
});
|
|
6713
|
+
};
|
|
6714
|
+
exports.casesCreateAssetsExpressionExport = casesCreateAssetsExpressionExport;
|
|
6715
|
+
/**
|
|
6716
|
+
* Download a case assets expression export
|
|
6717
|
+
* Downloads CSV for a previously created case assets expression export
|
|
6718
|
+
*/
|
|
6719
|
+
const casesDownloadAssetsExpressionExport2 = (options) => {
|
|
6720
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6721
|
+
security: [
|
|
6722
|
+
{
|
|
6723
|
+
scheme: 'bearer',
|
|
6724
|
+
type: 'http'
|
|
6725
|
+
}
|
|
6726
|
+
],
|
|
6727
|
+
url: '/api/public/cases/{id}/assets/export-query',
|
|
6728
|
+
...options
|
|
6729
|
+
});
|
|
6730
|
+
};
|
|
6731
|
+
exports.casesDownloadAssetsExpressionExport2 = casesDownloadAssetsExpressionExport2;
|
|
6732
|
+
/**
|
|
6733
|
+
* Create a case assets expression export
|
|
6734
|
+
* Caches an expression filter for downloading case-linked assets as CSV. Use the returned exportUrl within 60 seconds.
|
|
6735
|
+
*/
|
|
6736
|
+
const casesCreateAssetsExpressionExport2 = (options) => {
|
|
6737
|
+
return (options.client ?? client_gen_1.client).post({
|
|
6738
|
+
responseType: 'json',
|
|
6739
|
+
security: [
|
|
6740
|
+
{
|
|
6741
|
+
scheme: 'bearer',
|
|
6742
|
+
type: 'http'
|
|
6743
|
+
}
|
|
6744
|
+
],
|
|
6745
|
+
url: '/api/public/cases/{id}/assets/export-query',
|
|
6746
|
+
...options,
|
|
6747
|
+
headers: {
|
|
6748
|
+
'Content-Type': 'application/json',
|
|
6749
|
+
...options.headers
|
|
6750
|
+
}
|
|
6751
|
+
});
|
|
6752
|
+
};
|
|
6753
|
+
exports.casesCreateAssetsExpressionExport2 = casesCreateAssetsExpressionExport2;
|
|
5670
6754
|
/**
|
|
5671
6755
|
* Retrieve a specific case
|
|
5672
6756
|
* Fetches detailed information about a specific case
|
|
@@ -5900,13 +6984,53 @@ const casesGetEndpoints = (options) => {
|
|
|
5900
6984
|
...options
|
|
5901
6985
|
});
|
|
5902
6986
|
};
|
|
5903
|
-
exports.casesGetEndpoints = casesGetEndpoints;
|
|
6987
|
+
exports.casesGetEndpoints = casesGetEndpoints;
|
|
6988
|
+
/**
|
|
6989
|
+
* Get endpoints for a specific case
|
|
6990
|
+
* Retrieves a paginated list of endpoints/assets linked to the specified case
|
|
6991
|
+
*/
|
|
6992
|
+
const casesGetEndpoints2 = (options) => {
|
|
6993
|
+
return (options.client ?? client_gen_1.client).get({
|
|
6994
|
+
responseType: 'json',
|
|
6995
|
+
security: [
|
|
6996
|
+
{
|
|
6997
|
+
scheme: 'bearer',
|
|
6998
|
+
type: 'http'
|
|
6999
|
+
}
|
|
7000
|
+
],
|
|
7001
|
+
url: '/api/public/cases/{id}/assets',
|
|
7002
|
+
...options
|
|
7003
|
+
});
|
|
7004
|
+
};
|
|
7005
|
+
exports.casesGetEndpoints2 = casesGetEndpoints2;
|
|
7006
|
+
/**
|
|
7007
|
+
* Get case assets by expression filter
|
|
7008
|
+
* Retrieves a paginated list of endpoints/assets linked to the specified case using a filter expression
|
|
7009
|
+
*/
|
|
7010
|
+
const casesGetAssetsByFilterExpression = (options) => {
|
|
7011
|
+
return (options.client ?? client_gen_1.client).post({
|
|
7012
|
+
responseType: 'json',
|
|
7013
|
+
security: [
|
|
7014
|
+
{
|
|
7015
|
+
scheme: 'bearer',
|
|
7016
|
+
type: 'http'
|
|
7017
|
+
}
|
|
7018
|
+
],
|
|
7019
|
+
url: '/api/public/cases/{id}/endpoints/filter-query',
|
|
7020
|
+
...options,
|
|
7021
|
+
headers: {
|
|
7022
|
+
'Content-Type': 'application/json',
|
|
7023
|
+
...options.headers
|
|
7024
|
+
}
|
|
7025
|
+
});
|
|
7026
|
+
};
|
|
7027
|
+
exports.casesGetAssetsByFilterExpression = casesGetAssetsByFilterExpression;
|
|
5904
7028
|
/**
|
|
5905
|
-
* Get
|
|
5906
|
-
* Retrieves a paginated list of endpoints/assets linked to the specified case
|
|
7029
|
+
* Get case assets by expression filter
|
|
7030
|
+
* Retrieves a paginated list of endpoints/assets linked to the specified case using a filter expression
|
|
5907
7031
|
*/
|
|
5908
|
-
const
|
|
5909
|
-
return (options.client ?? client_gen_1.client).
|
|
7032
|
+
const casesGetAssetsByFilterExpression2 = (options) => {
|
|
7033
|
+
return (options.client ?? client_gen_1.client).post({
|
|
5910
7034
|
responseType: 'json',
|
|
5911
7035
|
security: [
|
|
5912
7036
|
{
|
|
@@ -5914,11 +7038,15 @@ const casesGetEndpoints2 = (options) => {
|
|
|
5914
7038
|
type: 'http'
|
|
5915
7039
|
}
|
|
5916
7040
|
],
|
|
5917
|
-
url: '/api/public/cases/{id}/assets',
|
|
5918
|
-
...options
|
|
7041
|
+
url: '/api/public/cases/{id}/assets/filter-query',
|
|
7042
|
+
...options,
|
|
7043
|
+
headers: {
|
|
7044
|
+
'Content-Type': 'application/json',
|
|
7045
|
+
...options.headers
|
|
7046
|
+
}
|
|
5919
7047
|
});
|
|
5920
7048
|
};
|
|
5921
|
-
exports.
|
|
7049
|
+
exports.casesGetAssetsByFilterExpression2 = casesGetAssetsByFilterExpression2;
|
|
5922
7050
|
/**
|
|
5923
7051
|
* Get activities for a specific case
|
|
5924
7052
|
* Retrieves a paginated list of activities for a case
|
|
@@ -6762,6 +7890,7 @@ const interactCommandSnippetTagsUpdate = (options) => {
|
|
|
6762
7890
|
exports.interactCommandSnippetTagsUpdate = interactCommandSnippetTagsUpdate;
|
|
6763
7891
|
/**
|
|
6764
7892
|
* List InterAct command snippets
|
|
7893
|
+
* List Binalyze AIR InterAct command snippets (reusable shell scripts in the InterAct library) using GET /api/v2/libraries/interact/snippets. Read-only and paginated. Each entity is a snippet summary: id, name, description, script, platforms, tags [{id,name}], organizations [{id,name}], origin (user or predefined), createdBy, createdAt/updatedAt. Use this when the user asks to list or search InterAct snippets/scripts, or needs a snippet id or exact name before get, update, or delete. sortBy accepts only name, createdAt, updatedAt (default name ASC). Predefined (system) snippets have origin=predefined and cannot be modified or deleted.
|
|
6765
7894
|
*/
|
|
6766
7895
|
const interactLibrarySnippetV2ApiControllerList = (options) => {
|
|
6767
7896
|
return (options?.client ?? client_gen_1.client).get({
|
|
@@ -6784,6 +7913,7 @@ const interactLibrarySnippetV2ApiControllerList = (options) => {
|
|
|
6784
7913
|
exports.interactLibrarySnippetV2ApiControllerList = interactLibrarySnippetV2ApiControllerList;
|
|
6785
7914
|
/**
|
|
6786
7915
|
* Create InterAct command snippet
|
|
7916
|
+
* Create a Binalyze AIR InterAct command snippet (a reusable shell script in the InterAct library) via POST /api/v2/libraries/interact/snippets. MUTATING: persists a new snippet. `name` (max 255 alphanumeric chars, not UUID-shaped) and `script` (max 5000 chars) are required. Omitted platforms means all platforms. Omitted organizations auto-selects the caller's single accessible organization; multi-org and all-orgs callers must pass organizations explicitly (400 ORGANIZATION_REQUIRED). Unknown tag names are created in the shared InterAct tag store. A name collision within the target organizations is resolved by auto-suffixing; a warning reports the adjusted name. dryRun DEFAULTS TO TRUE: the first call previews the would-create entity (action='would-create', final name after suffixing) without persisting anything; pass dryRun=false only to actually create after the user confirms. Success returns entities[0] with the created snippet detail plus warnings[] (e.g. name adjustments).
|
|
6787
7917
|
*/
|
|
6788
7918
|
const interactLibrarySnippetV2ApiControllerCreate = (options) => {
|
|
6789
7919
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -6810,6 +7940,7 @@ const interactLibrarySnippetV2ApiControllerCreate = (options) => {
|
|
|
6810
7940
|
exports.interactLibrarySnippetV2ApiControllerCreate = interactLibrarySnippetV2ApiControllerCreate;
|
|
6811
7941
|
/**
|
|
6812
7942
|
* Bulk delete InterAct command snippets
|
|
7943
|
+
* Bulk delete Binalyze AIR InterAct command snippets by id or name via POST /api/v2/libraries/interact/snippets/delete. MUTATING and irreversible. Targets that are unknown or predefined (system) are skipped and reported in warnings[]; the delete itself is all-or-nothing over the resolved targets (if one vanishes mid-delete, nothing is deleted and a warning explains it). dryRun DEFAULTS TO TRUE: the first call returns entities[] previews (action:'would-delete' per resolved snippet) plus warnings for skipped targets, without deleting anything; pass dryRun=false only to actually delete after the user confirms. Success returns { deletedCount, warnings }. For a single snippet prefer air-interact-snippets-delete.
|
|
6813
7944
|
*/
|
|
6814
7945
|
const interactLibrarySnippetV2ApiControllerBulkDelete = (options) => {
|
|
6815
7946
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -6836,6 +7967,7 @@ const interactLibrarySnippetV2ApiControllerBulkDelete = (options) => {
|
|
|
6836
7967
|
exports.interactLibrarySnippetV2ApiControllerBulkDelete = interactLibrarySnippetV2ApiControllerBulkDelete;
|
|
6837
7968
|
/**
|
|
6838
7969
|
* Delete InterAct command snippet
|
|
7970
|
+
* Delete ONE Binalyze AIR InterAct command snippet by UUID or exact name via DELETE /api/v2/libraries/interact/snippets/{idOrName}. MUTATING and irreversible: removes the snippet record and its tag relations. Predefined (system, origin=predefined) snippets cannot be deleted and return an error. An unknown id or name returns 404. dryRun DEFAULTS TO TRUE: the first call returns entities[0] = { id, name, action:'would-delete', effects } without deleting anything; pass dryRun=false only to actually delete after the user confirms. Success returns entities[0] = { id, name } of the deleted snippet. For deleting several snippets at once use air-interact-snippets-bulk-delete.
|
|
6839
7971
|
*/
|
|
6840
7972
|
const interactLibrarySnippetV2ApiControllerDelete = (options) => {
|
|
6841
7973
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -6858,6 +7990,7 @@ const interactLibrarySnippetV2ApiControllerDelete = (options) => {
|
|
|
6858
7990
|
exports.interactLibrarySnippetV2ApiControllerDelete = interactLibrarySnippetV2ApiControllerDelete;
|
|
6859
7991
|
/**
|
|
6860
7992
|
* Get InterAct command snippet by id or name
|
|
7993
|
+
* Get ONE Binalyze AIR InterAct command snippet by UUID or exact name using GET /api/v2/libraries/interact/snippets/{idOrName}. Read-only. Returns entities[0] with the full snippet detail: id, name, description, script, platforms, tags [{id,name}], organizations [{id,name}], origin (user or predefined), createdBy, createdAt/updatedAt. Use this when the user asks for a specific snippet's script or metadata. An unknown id or name returns 404. If the name is not exact, use air-interact-snippets-list with a name filter first.
|
|
6861
7994
|
*/
|
|
6862
7995
|
const interactLibrarySnippetV2ApiControllerGet = (options) => {
|
|
6863
7996
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -6880,6 +8013,7 @@ const interactLibrarySnippetV2ApiControllerGet = (options) => {
|
|
|
6880
8013
|
exports.interactLibrarySnippetV2ApiControllerGet = interactLibrarySnippetV2ApiControllerGet;
|
|
6881
8014
|
/**
|
|
6882
8015
|
* Update InterAct command snippet
|
|
8016
|
+
* Update ONE Binalyze AIR InterAct command snippet by UUID or exact name via PATCH /api/v2/libraries/interact/snippets/{idOrName}. MUTATING, partial update: only the fields you pass are changed. Updatable fields: name, script, description, platforms, tags, organizations. Passing tags=[] clears all tags; passing organizations replaces the organization scope (requires authority over the current scope). Predefined (system, origin=predefined) snippets cannot be modified and return an error. Sending no updatable field returns HTTP 200 with success:false and a NOTHING_CHANGED error entry. dryRun DEFAULTS TO TRUE: the first call previews the would-update entity with changedFields without persisting; pass dryRun=false only to actually update after the user confirms. Success returns entities[0] with the updated snippet detail plus warnings[] (e.g. name auto-suffix on collision).
|
|
6883
8017
|
*/
|
|
6884
8018
|
const interactLibrarySnippetV2ApiControllerUpdate = (options) => {
|
|
6885
8019
|
return (options.client ?? client_gen_1.client).patch({
|
|
@@ -6906,6 +8040,7 @@ const interactLibrarySnippetV2ApiControllerUpdate = (options) => {
|
|
|
6906
8040
|
exports.interactLibrarySnippetV2ApiControllerUpdate = interactLibrarySnippetV2ApiControllerUpdate;
|
|
6907
8041
|
/**
|
|
6908
8042
|
* List InterAct command snippet tags
|
|
8043
|
+
* List Binalyze AIR InterAct snippet tags (the shared tag store of the InterAct library) using GET /api/v2/libraries/interact/tags. Read-only and paginated. Each entity is a tag: id, name, organizations [{id,name}], createdAt/updatedAt, and (with withCount=true) the number of snippets using it. Use this when the user asks to list or search InterAct tags, or needs a tag id or exact name before get, update, delete, or before tagging snippets. sortBy accepts only name, createdAt, updatedAt (default name ASC).
|
|
6909
8044
|
*/
|
|
6910
8045
|
const interactLibraryTagV2ApiControllerList = (options) => {
|
|
6911
8046
|
return (options?.client ?? client_gen_1.client).get({
|
|
@@ -6928,6 +8063,7 @@ const interactLibraryTagV2ApiControllerList = (options) => {
|
|
|
6928
8063
|
exports.interactLibraryTagV2ApiControllerList = interactLibraryTagV2ApiControllerList;
|
|
6929
8064
|
/**
|
|
6930
8065
|
* Create InterAct command snippet tag
|
|
8066
|
+
* Create a Binalyze AIR InterAct snippet tag (in the shared tag store of the InterAct library) via POST /api/v2/libraries/interact/tags. MUTATING: persists a new tag. `name` (max 100 alphanumeric chars, not UUID-shaped) is required. Omitted organizations auto-selects the caller's single accessible organization; multi-org and all-orgs callers must pass organizations explicitly (400 ORGANIZATION_REQUIRED). A name collision within the target organizations is resolved by auto-suffixing; a warning reports the adjusted name. dryRun DEFAULTS TO TRUE: the first call previews the would-create entity (action='would-create', final name after suffixing) without persisting anything; pass dryRun=false only to actually create after the user confirms. Success returns entities[0] with the created tag plus warnings[]. Note: air-interact-snippets-create and -update also auto-create unknown tag names, so an explicit tag create is only needed when the user wants the tag itself.
|
|
6931
8067
|
*/
|
|
6932
8068
|
const interactLibraryTagV2ApiControllerCreate = (options) => {
|
|
6933
8069
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -6954,6 +8090,7 @@ const interactLibraryTagV2ApiControllerCreate = (options) => {
|
|
|
6954
8090
|
exports.interactLibraryTagV2ApiControllerCreate = interactLibraryTagV2ApiControllerCreate;
|
|
6955
8091
|
/**
|
|
6956
8092
|
* Bulk delete InterAct command snippet tags
|
|
8093
|
+
* Bulk delete Binalyze AIR InterAct snippet tags by id or name via POST /api/v2/libraries/interact/tags/delete. MUTATING and irreversible: removes the tag records and their snippet-tag relations (snippets themselves are kept). Targets that are unknown or system tags are skipped and reported in warnings[]; deletion is per-tag, so a tag already deleted concurrently counts as gone. dryRun DEFAULTS TO TRUE: the first call returns entities[] previews (action:'would-delete' per resolved tag) plus warnings for skipped targets, without deleting anything; pass dryRun=false only to actually delete after the user confirms. Success returns { deletedCount, warnings }. For a single tag prefer air-interact-tags-delete.
|
|
6957
8094
|
*/
|
|
6958
8095
|
const interactLibraryTagV2ApiControllerBulkDelete = (options) => {
|
|
6959
8096
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -6980,6 +8117,7 @@ const interactLibraryTagV2ApiControllerBulkDelete = (options) => {
|
|
|
6980
8117
|
exports.interactLibraryTagV2ApiControllerBulkDelete = interactLibraryTagV2ApiControllerBulkDelete;
|
|
6981
8118
|
/**
|
|
6982
8119
|
* Delete InterAct command snippet tag
|
|
8120
|
+
* Delete ONE Binalyze AIR InterAct snippet tag by UUID or exact name via DELETE /api/v2/libraries/interact/tags/{idOrName}. MUTATING and irreversible: removes the tag record and its snippet-tag relations (snippets themselves are kept). System tags cannot be deleted and return an error. An unknown id or name returns 404. dryRun DEFAULTS TO TRUE: the first call returns entities[0] = { id, name, action:'would-delete', effects } without deleting anything; pass dryRun=false only to actually delete after the user confirms. Success returns entities[0] = { id, name } of the deleted tag. For deleting several tags at once use air-interact-tags-bulk-delete.
|
|
6983
8121
|
*/
|
|
6984
8122
|
const interactLibraryTagV2ApiControllerDelete = (options) => {
|
|
6985
8123
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -7002,7 +8140,7 @@ const interactLibraryTagV2ApiControllerDelete = (options) => {
|
|
|
7002
8140
|
exports.interactLibraryTagV2ApiControllerDelete = interactLibraryTagV2ApiControllerDelete;
|
|
7003
8141
|
/**
|
|
7004
8142
|
* Get InterAct command snippet tag by id or name
|
|
7005
|
-
* v2-only
|
|
8143
|
+
* Get ONE Binalyze AIR InterAct snippet tag by UUID or exact name using GET /api/v2/libraries/interact/tags/{idOrName}. Read-only. Returns entities[0] with the tag detail: id, name, organizations [{id,name}], snippet usage count, createdAt/updatedAt. Use this when the user asks about a specific InterAct tag. An unknown id or name returns 404. If the name is not exact, use air-interact-tags-list with a name filter first.
|
|
7006
8144
|
*/
|
|
7007
8145
|
const interactLibraryTagV2ApiControllerGet = (options) => {
|
|
7008
8146
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -7025,6 +8163,7 @@ const interactLibraryTagV2ApiControllerGet = (options) => {
|
|
|
7025
8163
|
exports.interactLibraryTagV2ApiControllerGet = interactLibraryTagV2ApiControllerGet;
|
|
7026
8164
|
/**
|
|
7027
8165
|
* Update InterAct command snippet tag
|
|
8166
|
+
* Update ONE Binalyze AIR InterAct snippet tag by UUID or exact name via PATCH /api/v2/libraries/interact/tags/{idOrName}. MUTATING, partial update: only the fields you pass are changed. Updatable fields: name and organizations (replaces the current organization scope; requires authority over the current scope). System tags cannot be updated and return an error. Sending no updatable field returns HTTP 200 with success:false and a NOTHING_CHANGED error entry. dryRun DEFAULTS TO TRUE: the first call previews the would-update entity with changedFields without persisting; pass dryRun=false only to actually update after the user confirms. Success returns entities[0] with the updated tag plus warnings[] (e.g. name auto-suffix on collision).
|
|
7028
8167
|
*/
|
|
7029
8168
|
const interactLibraryTagV2ApiControllerUpdate = (options) => {
|
|
7030
8169
|
return (options.client ?? client_gen_1.client).patch({
|
|
@@ -7051,6 +8190,7 @@ const interactLibraryTagV2ApiControllerUpdate = (options) => {
|
|
|
7051
8190
|
exports.interactLibraryTagV2ApiControllerUpdate = interactLibraryTagV2ApiControllerUpdate;
|
|
7052
8191
|
/**
|
|
7053
8192
|
* List InterAct library files
|
|
8193
|
+
* List Binalyze AIR InterAct library files (binaries/scripts responders can download during a shell session) using GET /api/v2/libraries/interact/files. Read-only and paginated. Each entity is a file record: id, name, size, sha256, organizations [{id,name}], uploadedBy/uploadedAt, lastUsedBy/lastUsedAt. File CONTENT is not included; use air-interact-files-download for the bytes. Use this when the user asks to list or search InterAct library files, verify a file by sha256, or needs a file id or exact name before download or delete. searchTerm matches name or sha256 (contains, case-insensitive); sha256 is an exact full-hash lookup. sortBy accepts only name, size, uploadedAt, uploadedBy, lastUsedAt, lastUsedBy (default uploadedAt DESC).
|
|
7054
8194
|
*/
|
|
7055
8195
|
const interactLibraryFileV2ApiControllerList = (options) => {
|
|
7056
8196
|
return (options?.client ?? client_gen_1.client).get({
|
|
@@ -7073,9 +8213,11 @@ const interactLibraryFileV2ApiControllerList = (options) => {
|
|
|
7073
8213
|
exports.interactLibraryFileV2ApiControllerList = interactLibraryFileV2ApiControllerList;
|
|
7074
8214
|
/**
|
|
7075
8215
|
* Upload InterAct library file
|
|
8216
|
+
* Upload a file into the Binalyze AIR InterAct library via POST /api/v2/libraries/interact/files (multipart field 'file'). MUTATING: persists the file so responders can download it during InterAct shell sessions. Limits: max 4 GB per upload and 20 GB total library size. A name collision within the target organizations is resolved by auto-suffixing; a warning reports the adjusted name. dryRun DEFAULTS TO TRUE: the first call previews the would-create entity (name, size, sha256) without persisting anything; pass dryRun=false only to actually upload after the user confirms. Success returns entities[0] with the file record (id, name, size, sha256, organizations) plus warnings[], and a Location header pointing at the new resource.
|
|
7076
8217
|
*/
|
|
7077
8218
|
const interactLibraryFileV2ApiControllerUpload = (options) => {
|
|
7078
8219
|
return (options.client ?? client_gen_1.client).post({
|
|
8220
|
+
...client_1.formDataBodySerializer,
|
|
7079
8221
|
responseType: 'json',
|
|
7080
8222
|
security: [
|
|
7081
8223
|
{
|
|
@@ -7091,7 +8233,7 @@ const interactLibraryFileV2ApiControllerUpload = (options) => {
|
|
|
7091
8233
|
url: '/api/v2/libraries/interact/files',
|
|
7092
8234
|
...options,
|
|
7093
8235
|
headers: {
|
|
7094
|
-
'Content-Type':
|
|
8236
|
+
'Content-Type': null,
|
|
7095
8237
|
...options.headers
|
|
7096
8238
|
}
|
|
7097
8239
|
});
|
|
@@ -7099,6 +8241,7 @@ const interactLibraryFileV2ApiControllerUpload = (options) => {
|
|
|
7099
8241
|
exports.interactLibraryFileV2ApiControllerUpload = interactLibraryFileV2ApiControllerUpload;
|
|
7100
8242
|
/**
|
|
7101
8243
|
* Bulk delete InterAct library files
|
|
8244
|
+
* Bulk delete Binalyze AIR InterAct library files by id or name via POST /api/v2/libraries/interact/files/delete. MUTATING and irreversible: removes the file records and their stored content. Unknown targets are skipped and reported in warnings[]; the delete itself is all-or-nothing over the resolved targets (if one vanishes mid-delete, nothing is deleted and a warning explains it). dryRun DEFAULTS TO TRUE: the first call returns entities[] previews (action:'would-delete' per resolved file) plus warnings for skipped targets, without deleting anything; pass dryRun=false only to actually delete after the user confirms. Success returns { deletedCount, warnings }. For a single file prefer air-interact-files-delete.
|
|
7102
8245
|
*/
|
|
7103
8246
|
const interactLibraryFileV2ApiControllerBulkDelete = (options) => {
|
|
7104
8247
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -7125,6 +8268,7 @@ const interactLibraryFileV2ApiControllerBulkDelete = (options) => {
|
|
|
7125
8268
|
exports.interactLibraryFileV2ApiControllerBulkDelete = interactLibraryFileV2ApiControllerBulkDelete;
|
|
7126
8269
|
/**
|
|
7127
8270
|
* Delete InterAct library file
|
|
8271
|
+
* Delete ONE Binalyze AIR InterAct library file by UUID or exact name via DELETE /api/v2/libraries/interact/files/{idOrName}. MUTATING and irreversible: removes the library-file record, its file-info record, and the stored file content. An unknown id or name returns 404. dryRun DEFAULTS TO TRUE: the first call returns entities[0] = { id, name, action:'would-delete', effects } without deleting anything; pass dryRun=false only to actually delete after the user confirms. Success returns entities[0] = { id, name } of the deleted file. For deleting several files at once use air-interact-files-bulk-delete.
|
|
7128
8272
|
*/
|
|
7129
8273
|
const interactLibraryFileV2ApiControllerDelete = (options) => {
|
|
7130
8274
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -7147,6 +8291,7 @@ const interactLibraryFileV2ApiControllerDelete = (options) => {
|
|
|
7147
8291
|
exports.interactLibraryFileV2ApiControllerDelete = interactLibraryFileV2ApiControllerDelete;
|
|
7148
8292
|
/**
|
|
7149
8293
|
* Download InterAct library file by id or name
|
|
8294
|
+
* Download ONE Binalyze AIR InterAct library file by UUID or exact name via GET /api/v2/libraries/interact/files/{idOrName}. Read-only; the endpoint streams the file content as an attachment (it bypasses the JSON envelope). This tool saves the bytes to a file inside the current worktree (outputPath, default artifacts/interact-library-file.bin) and returns { outputPath, byteLength }; read the saved file for the content. Use air-interact-files-list first if you only need the file's size/sha256 metadata without downloading content. An unknown id or name returns 404. Library files can be forensic tooling or scripts; treat downloaded content carefully and do not execute it.
|
|
7150
8295
|
*/
|
|
7151
8296
|
const interactLibraryFileV2ApiControllerDownload = (options) => {
|
|
7152
8297
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -7167,6 +8312,29 @@ const interactLibraryFileV2ApiControllerDownload = (options) => {
|
|
|
7167
8312
|
});
|
|
7168
8313
|
};
|
|
7169
8314
|
exports.interactLibraryFileV2ApiControllerDownload = interactLibraryFileV2ApiControllerDownload;
|
|
8315
|
+
/**
|
|
8316
|
+
* List native InterAct shell commands
|
|
8317
|
+
* List the AIR native InterAct shell commands (and their aliases, descriptions, usage) via GET /api/v2/interact/commands. Use this to GROUND command handling instead of guessing: before telling the user a command looks like a typo, call this tool (optionally with searchTerm) and suggest the closest real command name from `commandNames`. Note: a command that is NOT in this list is not necessarily invalid -- air-assets-interact-run also runs arbitrary shell commands. So only offer a "did you mean" when a close native match exists. Read-only.
|
|
8318
|
+
*/
|
|
8319
|
+
const interactCommandV2ApiControllerList = (options) => {
|
|
8320
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
8321
|
+
responseType: 'json',
|
|
8322
|
+
security: [
|
|
8323
|
+
{
|
|
8324
|
+
in: 'cookie',
|
|
8325
|
+
name: 'Authentication',
|
|
8326
|
+
type: 'apiKey'
|
|
8327
|
+
},
|
|
8328
|
+
{
|
|
8329
|
+
scheme: 'bearer',
|
|
8330
|
+
type: 'http'
|
|
8331
|
+
}
|
|
8332
|
+
],
|
|
8333
|
+
url: '/api/v2/interact/commands',
|
|
8334
|
+
...options
|
|
8335
|
+
});
|
|
8336
|
+
};
|
|
8337
|
+
exports.interactCommandV2ApiControllerList = interactCommandV2ApiControllerList;
|
|
7170
8338
|
const multipartUploadInitializeHead = (options) => {
|
|
7171
8339
|
return (options?.client ?? client_gen_1.client).head({
|
|
7172
8340
|
security: [
|
|
@@ -7474,25 +8642,257 @@ const systemApiTokensGetMany = (options) => {
|
|
|
7474
8642
|
type: 'http'
|
|
7475
8643
|
}
|
|
7476
8644
|
],
|
|
7477
|
-
url: '/api/public/system-tokens',
|
|
8645
|
+
url: '/api/public/system-tokens',
|
|
8646
|
+
...options
|
|
8647
|
+
});
|
|
8648
|
+
};
|
|
8649
|
+
exports.systemApiTokensGetMany = systemApiTokensGetMany;
|
|
8650
|
+
/**
|
|
8651
|
+
* Create a new system API token
|
|
8652
|
+
* Create a new system API token with the specified name, description, expiration date, and role
|
|
8653
|
+
*/
|
|
8654
|
+
const systemApiTokensCreate = (options) => {
|
|
8655
|
+
return (options.client ?? client_gen_1.client).post({
|
|
8656
|
+
responseType: 'json',
|
|
8657
|
+
security: [
|
|
8658
|
+
{
|
|
8659
|
+
scheme: 'bearer',
|
|
8660
|
+
type: 'http'
|
|
8661
|
+
}
|
|
8662
|
+
],
|
|
8663
|
+
url: '/api/public/system-tokens',
|
|
8664
|
+
...options,
|
|
8665
|
+
headers: {
|
|
8666
|
+
'Content-Type': 'application/json',
|
|
8667
|
+
...options.headers
|
|
8668
|
+
}
|
|
8669
|
+
});
|
|
8670
|
+
};
|
|
8671
|
+
exports.systemApiTokensCreate = systemApiTokensCreate;
|
|
8672
|
+
/**
|
|
8673
|
+
* Delete a system API token
|
|
8674
|
+
* Delete an existing system API token by ID
|
|
8675
|
+
*/
|
|
8676
|
+
const systemApiTokensDelete = (options) => {
|
|
8677
|
+
return (options.client ?? client_gen_1.client).delete({
|
|
8678
|
+
security: [
|
|
8679
|
+
{
|
|
8680
|
+
scheme: 'bearer',
|
|
8681
|
+
type: 'http'
|
|
8682
|
+
}
|
|
8683
|
+
],
|
|
8684
|
+
url: '/api/public/system-tokens/{id}',
|
|
8685
|
+
...options
|
|
8686
|
+
});
|
|
8687
|
+
};
|
|
8688
|
+
exports.systemApiTokensDelete = systemApiTokensDelete;
|
|
8689
|
+
/**
|
|
8690
|
+
* Get system API token by ID
|
|
8691
|
+
* Retrieve a specific system API token
|
|
8692
|
+
*/
|
|
8693
|
+
const systemApiTokensGetOne = (options) => {
|
|
8694
|
+
return (options.client ?? client_gen_1.client).get({
|
|
8695
|
+
responseType: 'json',
|
|
8696
|
+
security: [
|
|
8697
|
+
{
|
|
8698
|
+
scheme: 'bearer',
|
|
8699
|
+
type: 'http'
|
|
8700
|
+
}
|
|
8701
|
+
],
|
|
8702
|
+
url: '/api/public/system-tokens/{id}',
|
|
8703
|
+
...options
|
|
8704
|
+
});
|
|
8705
|
+
};
|
|
8706
|
+
exports.systemApiTokensGetOne = systemApiTokensGetOne;
|
|
8707
|
+
/**
|
|
8708
|
+
* Update an existing system API token
|
|
8709
|
+
* Update an existing system API token
|
|
8710
|
+
*/
|
|
8711
|
+
const systemApiTokensUpdate = (options) => {
|
|
8712
|
+
return (options.client ?? client_gen_1.client).put({
|
|
8713
|
+
responseType: 'json',
|
|
8714
|
+
security: [
|
|
8715
|
+
{
|
|
8716
|
+
scheme: 'bearer',
|
|
8717
|
+
type: 'http'
|
|
8718
|
+
}
|
|
8719
|
+
],
|
|
8720
|
+
url: '/api/public/system-tokens/{id}',
|
|
8721
|
+
...options,
|
|
8722
|
+
headers: {
|
|
8723
|
+
'Content-Type': 'application/json',
|
|
8724
|
+
...options.headers
|
|
8725
|
+
}
|
|
8726
|
+
});
|
|
8727
|
+
};
|
|
8728
|
+
exports.systemApiTokensUpdate = systemApiTokensUpdate;
|
|
8729
|
+
const cloudAccountsFilter = (options) => {
|
|
8730
|
+
return (options.client ?? client_gen_1.client).get({
|
|
8731
|
+
security: [
|
|
8732
|
+
{
|
|
8733
|
+
scheme: 'bearer',
|
|
8734
|
+
type: 'http'
|
|
8735
|
+
}
|
|
8736
|
+
],
|
|
8737
|
+
url: '/api/public/cloud-forensics/accounts',
|
|
8738
|
+
...options
|
|
8739
|
+
});
|
|
8740
|
+
};
|
|
8741
|
+
exports.cloudAccountsFilter = cloudAccountsFilter;
|
|
8742
|
+
const cloudAccountsCreateCloudAccount = (options) => {
|
|
8743
|
+
return (options.client ?? client_gen_1.client).post({
|
|
8744
|
+
security: [
|
|
8745
|
+
{
|
|
8746
|
+
scheme: 'bearer',
|
|
8747
|
+
type: 'http'
|
|
8748
|
+
}
|
|
8749
|
+
],
|
|
8750
|
+
url: '/api/public/cloud-forensics/accounts',
|
|
8751
|
+
...options,
|
|
8752
|
+
headers: {
|
|
8753
|
+
'Content-Type': 'application/json',
|
|
8754
|
+
...options.headers
|
|
8755
|
+
}
|
|
8756
|
+
});
|
|
8757
|
+
};
|
|
8758
|
+
exports.cloudAccountsCreateCloudAccount = cloudAccountsCreateCloudAccount;
|
|
8759
|
+
const cloudAccountsGetConfig = (options) => {
|
|
8760
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
8761
|
+
security: [
|
|
8762
|
+
{
|
|
8763
|
+
scheme: 'bearer',
|
|
8764
|
+
type: 'http'
|
|
8765
|
+
}
|
|
8766
|
+
],
|
|
8767
|
+
url: '/api/public/cloud-forensics/accounts/config',
|
|
8768
|
+
...options
|
|
8769
|
+
});
|
|
8770
|
+
};
|
|
8771
|
+
exports.cloudAccountsGetConfig = cloudAccountsGetConfig;
|
|
8772
|
+
const cloudAccountsExport = (options) => {
|
|
8773
|
+
return (options.client ?? client_gen_1.client).get({
|
|
8774
|
+
security: [
|
|
8775
|
+
{
|
|
8776
|
+
scheme: 'bearer',
|
|
8777
|
+
type: 'http'
|
|
8778
|
+
}
|
|
8779
|
+
],
|
|
8780
|
+
url: '/api/public/cloud-forensics/accounts/export',
|
|
8781
|
+
...options
|
|
8782
|
+
});
|
|
8783
|
+
};
|
|
8784
|
+
exports.cloudAccountsExport = cloudAccountsExport;
|
|
8785
|
+
const cloudAccountsDelete = (options) => {
|
|
8786
|
+
return (options.client ?? client_gen_1.client).delete({
|
|
8787
|
+
security: [
|
|
8788
|
+
{
|
|
8789
|
+
scheme: 'bearer',
|
|
8790
|
+
type: 'http'
|
|
8791
|
+
}
|
|
8792
|
+
],
|
|
8793
|
+
url: '/api/public/cloud-forensics/accounts/{id}',
|
|
8794
|
+
...options
|
|
8795
|
+
});
|
|
8796
|
+
};
|
|
8797
|
+
exports.cloudAccountsDelete = cloudAccountsDelete;
|
|
8798
|
+
const cloudAccountsGetCloudAccountById = (options) => {
|
|
8799
|
+
return (options.client ?? client_gen_1.client).get({
|
|
8800
|
+
security: [
|
|
8801
|
+
{
|
|
8802
|
+
scheme: 'bearer',
|
|
8803
|
+
type: 'http'
|
|
8804
|
+
}
|
|
8805
|
+
],
|
|
8806
|
+
url: '/api/public/cloud-forensics/accounts/{id}',
|
|
8807
|
+
...options
|
|
8808
|
+
});
|
|
8809
|
+
};
|
|
8810
|
+
exports.cloudAccountsGetCloudAccountById = cloudAccountsGetCloudAccountById;
|
|
8811
|
+
const cloudAccountsUpdateCloudAccount = (options) => {
|
|
8812
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
8813
|
+
security: [
|
|
8814
|
+
{
|
|
8815
|
+
scheme: 'bearer',
|
|
8816
|
+
type: 'http'
|
|
8817
|
+
}
|
|
8818
|
+
],
|
|
8819
|
+
url: '/api/public/cloud-forensics/accounts/{id}',
|
|
8820
|
+
...options,
|
|
8821
|
+
headers: {
|
|
8822
|
+
'Content-Type': 'application/json',
|
|
8823
|
+
...options.headers
|
|
8824
|
+
}
|
|
8825
|
+
});
|
|
8826
|
+
};
|
|
8827
|
+
exports.cloudAccountsUpdateCloudAccount = cloudAccountsUpdateCloudAccount;
|
|
8828
|
+
const cloudAccountsSyncCloudAccount = (options) => {
|
|
8829
|
+
return (options.client ?? client_gen_1.client).get({
|
|
8830
|
+
security: [
|
|
8831
|
+
{
|
|
8832
|
+
scheme: 'bearer',
|
|
8833
|
+
type: 'http'
|
|
8834
|
+
}
|
|
8835
|
+
],
|
|
8836
|
+
url: '/api/public/cloud-forensics/accounts/sync/{id}',
|
|
8837
|
+
...options
|
|
8838
|
+
});
|
|
8839
|
+
};
|
|
8840
|
+
exports.cloudAccountsSyncCloudAccount = cloudAccountsSyncCloudAccount;
|
|
8841
|
+
const cloudAccountsSyncAllCloudAccount = (options) => {
|
|
8842
|
+
return (options.client ?? client_gen_1.client).get({
|
|
8843
|
+
security: [
|
|
8844
|
+
{
|
|
8845
|
+
scheme: 'bearer',
|
|
8846
|
+
type: 'http'
|
|
8847
|
+
}
|
|
8848
|
+
],
|
|
8849
|
+
url: '/api/public/cloud-forensics/accounts/sync/{cloudVendor}/all',
|
|
8850
|
+
...options
|
|
8851
|
+
});
|
|
8852
|
+
};
|
|
8853
|
+
exports.cloudAccountsSyncAllCloudAccount = cloudAccountsSyncAllCloudAccount;
|
|
8854
|
+
/**
|
|
8855
|
+
* List investigation flags
|
|
8856
|
+
* List Binalyze AIR investigation flags (the shared evidence-flag library) using GET /api/v2/libraries/flags. Read-only and paginated. Each entity: numeric id, name, description, color, organizations [{ id, name }], createdBy, createdAt/updatedAt. filter[name] is a case-insensitive contains match; sortBy accepts name, createdAt, updatedAt (default name ASC). Use this to find a flag id or exact name before update/delete or before flagging evidence in an investigation.
|
|
8857
|
+
*/
|
|
8858
|
+
const flagsLibraryV2ApiControllerList = (options) => {
|
|
8859
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
8860
|
+
responseType: 'json',
|
|
8861
|
+
security: [
|
|
8862
|
+
{
|
|
8863
|
+
in: 'cookie',
|
|
8864
|
+
name: 'Authentication',
|
|
8865
|
+
type: 'apiKey'
|
|
8866
|
+
},
|
|
8867
|
+
{
|
|
8868
|
+
scheme: 'bearer',
|
|
8869
|
+
type: 'http'
|
|
8870
|
+
}
|
|
8871
|
+
],
|
|
8872
|
+
url: '/api/v2/libraries/flags',
|
|
7478
8873
|
...options
|
|
7479
8874
|
});
|
|
7480
8875
|
};
|
|
7481
|
-
exports.
|
|
8876
|
+
exports.flagsLibraryV2ApiControllerList = flagsLibraryV2ApiControllerList;
|
|
7482
8877
|
/**
|
|
7483
|
-
* Create
|
|
7484
|
-
* Create a
|
|
8878
|
+
* Create investigation flag
|
|
8879
|
+
* Create a Binalyze AIR investigation flag via POST /api/v2/libraries/flags. MUTATING: persists a new flag. Required: name (max 50 chars, not purely numeric). Optional: color (CSS color, defaults to #4A4D55), description, and organization (id or exact name; defaults to the caller organization when the caller has exactly one; multi-organization and all-organization callers must pass it explicitly or receive 400 ORGANIZATION_REQUIRED). A name collision within the organization is resolved by auto-suffixing with a NAME_ADJUSTED warning; if a unique name cannot be allocated, returns 409 NAME_CONFLICT. dryRun DEFAULTS TO TRUE in the tool layer: the first call previews the would-create entity (action='would-create', final name) without persisting; pass dryRun=false only after the user confirms. Success returns entities[0] with the created flag.
|
|
7485
8880
|
*/
|
|
7486
|
-
const
|
|
8881
|
+
const flagsLibraryV2ApiControllerCreate = (options) => {
|
|
7487
8882
|
return (options.client ?? client_gen_1.client).post({
|
|
7488
8883
|
responseType: 'json',
|
|
7489
8884
|
security: [
|
|
8885
|
+
{
|
|
8886
|
+
in: 'cookie',
|
|
8887
|
+
name: 'Authentication',
|
|
8888
|
+
type: 'apiKey'
|
|
8889
|
+
},
|
|
7490
8890
|
{
|
|
7491
8891
|
scheme: 'bearer',
|
|
7492
8892
|
type: 'http'
|
|
7493
8893
|
}
|
|
7494
8894
|
],
|
|
7495
|
-
url: '/api/
|
|
8895
|
+
url: '/api/v2/libraries/flags',
|
|
7496
8896
|
...options,
|
|
7497
8897
|
headers: {
|
|
7498
8898
|
'Content-Type': 'application/json',
|
|
@@ -7500,56 +8900,72 @@ const systemApiTokensCreate = (options) => {
|
|
|
7500
8900
|
}
|
|
7501
8901
|
});
|
|
7502
8902
|
};
|
|
7503
|
-
exports.
|
|
8903
|
+
exports.flagsLibraryV2ApiControllerCreate = flagsLibraryV2ApiControllerCreate;
|
|
7504
8904
|
/**
|
|
7505
|
-
* Delete
|
|
7506
|
-
* Delete
|
|
8905
|
+
* Delete investigation flag
|
|
8906
|
+
* Delete ONE Binalyze AIR investigation flag by numeric id or exact name via DELETE /api/v2/libraries/flags/{idOrName}. MUTATING and irreversible: removes the flag record. System-created flags cannot be deleted (406). dryRun DEFAULTS TO TRUE in the tool layer: the first call returns entities[0] = { id, name, action:'would-delete' } without deleting; pass dryRun=false only after the user confirms. Success returns entities[0] = { id, name } of the deleted flag.
|
|
7507
8907
|
*/
|
|
7508
|
-
const
|
|
8908
|
+
const flagsLibraryV2ApiControllerDelete = (options) => {
|
|
7509
8909
|
return (options.client ?? client_gen_1.client).delete({
|
|
8910
|
+
responseType: 'json',
|
|
7510
8911
|
security: [
|
|
8912
|
+
{
|
|
8913
|
+
in: 'cookie',
|
|
8914
|
+
name: 'Authentication',
|
|
8915
|
+
type: 'apiKey'
|
|
8916
|
+
},
|
|
7511
8917
|
{
|
|
7512
8918
|
scheme: 'bearer',
|
|
7513
8919
|
type: 'http'
|
|
7514
8920
|
}
|
|
7515
8921
|
],
|
|
7516
|
-
url: '/api/
|
|
8922
|
+
url: '/api/v2/libraries/flags/{idOrName}',
|
|
7517
8923
|
...options
|
|
7518
8924
|
});
|
|
7519
8925
|
};
|
|
7520
|
-
exports.
|
|
8926
|
+
exports.flagsLibraryV2ApiControllerDelete = flagsLibraryV2ApiControllerDelete;
|
|
7521
8927
|
/**
|
|
7522
|
-
* Get
|
|
7523
|
-
*
|
|
8928
|
+
* Get investigation flag by id or name
|
|
8929
|
+
* Get ONE Binalyze AIR investigation flag by numeric id or exact name using GET /api/v2/libraries/flags/{idOrName}. Read-only. Returns entities[0] with the flag detail. An unknown name returns 404 with ranked did-you-mean candidates under errors[0].details.suggestions; a name shared across organizations returns 400 AMBIGUOUS_NAME with errors[0].details.matches.
|
|
7524
8930
|
*/
|
|
7525
|
-
const
|
|
8931
|
+
const flagsLibraryV2ApiControllerGet = (options) => {
|
|
7526
8932
|
return (options.client ?? client_gen_1.client).get({
|
|
7527
8933
|
responseType: 'json',
|
|
7528
8934
|
security: [
|
|
8935
|
+
{
|
|
8936
|
+
in: 'cookie',
|
|
8937
|
+
name: 'Authentication',
|
|
8938
|
+
type: 'apiKey'
|
|
8939
|
+
},
|
|
7529
8940
|
{
|
|
7530
8941
|
scheme: 'bearer',
|
|
7531
8942
|
type: 'http'
|
|
7532
8943
|
}
|
|
7533
8944
|
],
|
|
7534
|
-
url: '/api/
|
|
8945
|
+
url: '/api/v2/libraries/flags/{idOrName}',
|
|
7535
8946
|
...options
|
|
7536
8947
|
});
|
|
7537
8948
|
};
|
|
7538
|
-
exports.
|
|
8949
|
+
exports.flagsLibraryV2ApiControllerGet = flagsLibraryV2ApiControllerGet;
|
|
7539
8950
|
/**
|
|
7540
|
-
* Update
|
|
7541
|
-
* Update
|
|
8951
|
+
* Update investigation flag
|
|
8952
|
+
* Update ONE Binalyze AIR investigation flag by numeric id or exact name via PATCH /api/v2/libraries/flags/{idOrName}. MUTATING, partial: only the fields you pass (name, color, description) change; null is treated as not provided. Sending no updatable field returns HTTP 200 with success:false and a NOTHING_CHANGED error entry. A rename collision is resolved by auto-suffixing with a NAME_ADJUSTED warning. dryRun DEFAULTS TO TRUE in the tool layer: preview first, then pass dryRun=false to persist. Success returns entities[0] with the updated flag (fresh timestamps).
|
|
7542
8953
|
*/
|
|
7543
|
-
const
|
|
7544
|
-
return (options.client ?? client_gen_1.client).
|
|
8954
|
+
const flagsLibraryV2ApiControllerUpdate = (options) => {
|
|
8955
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
7545
8956
|
responseType: 'json',
|
|
7546
8957
|
security: [
|
|
8958
|
+
{
|
|
8959
|
+
in: 'cookie',
|
|
8960
|
+
name: 'Authentication',
|
|
8961
|
+
type: 'apiKey'
|
|
8962
|
+
},
|
|
7547
8963
|
{
|
|
7548
8964
|
scheme: 'bearer',
|
|
7549
8965
|
type: 'http'
|
|
7550
8966
|
}
|
|
7551
8967
|
],
|
|
7552
|
-
url: '/api/
|
|
8968
|
+
url: '/api/v2/libraries/flags/{idOrName}',
|
|
7553
8969
|
...options,
|
|
7554
8970
|
headers: {
|
|
7555
8971
|
'Content-Type': 'application/json',
|
|
@@ -7557,29 +8973,26 @@ const systemApiTokensUpdate = (options) => {
|
|
|
7557
8973
|
}
|
|
7558
8974
|
});
|
|
7559
8975
|
};
|
|
7560
|
-
exports.
|
|
7561
|
-
|
|
7562
|
-
|
|
7563
|
-
|
|
7564
|
-
|
|
7565
|
-
|
|
7566
|
-
type: 'http'
|
|
7567
|
-
}
|
|
7568
|
-
],
|
|
7569
|
-
url: '/api/public/cloud-forensics/accounts',
|
|
7570
|
-
...options
|
|
7571
|
-
});
|
|
7572
|
-
};
|
|
7573
|
-
exports.cloudAccountsFilter = cloudAccountsFilter;
|
|
7574
|
-
const cloudAccountsCreateCloudAccount = (options) => {
|
|
8976
|
+
exports.flagsLibraryV2ApiControllerUpdate = flagsLibraryV2ApiControllerUpdate;
|
|
8977
|
+
/**
|
|
8978
|
+
* Flag evidence rows in an investigation
|
|
8979
|
+
* Mark rows of one investigation with a flag via POST /api/v2/investigations/{idOrName}/flag. MUTATING. body.flag accepts a numeric flag id or exact flag name from the /api/v2/libraries/flags library (the flag must belong to the investigation's organization). A flag NAME that does not exist yet is auto-created in the investigation's organization and reported under warnings[] code=FLAG_CREATED (dryRun previews it as FLAG_WILL_BE_CREATED with flag.id=null); a numeric flag id must already exist (404 otherwise). Auto-creating a flag requires the case-container manage privilege (the same write the /api/v2/libraries/flags create endpoint needs); without it an unknown flag name is rejected with 403. If every items[] row is skipped, the missing flag is NOT created (warnings[] code=FLAG_NOT_CREATED, in the dryRun preview as well) so bad coordinates never mutate the flag library. COORDINATES (critical): each items[] row is identified by evidence + objectId + taskAssignmentId. evidence accepts the evidence TABLE name exactly as air-investigations-schema/sql-query show it (e.g. linux_shell_history) or its bare section name (e.g. shell_history); the endpoint normalizes to the bare section the UI joins on, so just pass the table name you queried. objectId MUST be the row's air_object_id column -- NOT air_id and NOT the full-text-search id/primary key. SOURCE selects the surface (and where the flag shows): EVIDENCE (default) = raw evidence rows, FINDING = the Findings view (what users usually mean by "findings"/"bulgular"), TIMELINE = timeline rows. Take items[] from that SAME surface: for EVIDENCE, evidence=<table name> and objectId=<that table>.air_object_id; for FINDING, evidence=air_findings_view.section and objectId=air_findings_view.air_evidence_object_id (its air_evidence_object_id, NOT its air_object_id); for TIMELINE, evidence=evidence_category and objectId=air_evidence_object_id of the timeline row. EXAMPLE (flag two evidence rows): source omitted (EVIDENCE), items=[{"evidence":"windows_processes","objectId":48,"taskAssignmentId":"604df464-...","}, {"evidence":"windows_user_folders","objectId":1,"taskAssignmentId":"2eb56bc4-..."}] where 48 and 1 are air_object_id values discovered with air-investigations-sql-query (e.g. SELECT air_object_id, air_task_assignment_id FROM windows_processes ...). Rows with an unknown evidence name or coordinates matching no real row are SKIPPED (not written) and reported under warnings[] code=ROWS_SKIPPED with a per-item reason (UNKNOWN_EVIDENCE / ROW_NOT_FOUND); itemCount reflects only the rows actually flagged. dryRun DEFAULTS TO TRUE in the tool layer: the first call previews (action='would-flag', resolved flag, itemCount, any ROWS_SKIPPED warnings) without changing anything; pass dryRun=false only after the user confirms.
|
|
8980
|
+
*/
|
|
8981
|
+
const investigationEvidenceFlagV2ApiControllerFlagEvidence = (options) => {
|
|
7575
8982
|
return (options.client ?? client_gen_1.client).post({
|
|
8983
|
+
responseType: 'json',
|
|
7576
8984
|
security: [
|
|
8985
|
+
{
|
|
8986
|
+
in: 'cookie',
|
|
8987
|
+
name: 'Authentication',
|
|
8988
|
+
type: 'apiKey'
|
|
8989
|
+
},
|
|
7577
8990
|
{
|
|
7578
8991
|
scheme: 'bearer',
|
|
7579
8992
|
type: 'http'
|
|
7580
8993
|
}
|
|
7581
8994
|
],
|
|
7582
|
-
url: '/api/
|
|
8995
|
+
url: '/api/v2/investigations/{idOrName}/flag',
|
|
7583
8996
|
...options,
|
|
7584
8997
|
headers: {
|
|
7585
8998
|
'Content-Type': 'application/json',
|
|
@@ -7587,68 +9000,53 @@ const cloudAccountsCreateCloudAccount = (options) => {
|
|
|
7587
9000
|
}
|
|
7588
9001
|
});
|
|
7589
9002
|
};
|
|
7590
|
-
exports.
|
|
7591
|
-
|
|
7592
|
-
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7597
|
-
|
|
7598
|
-
],
|
|
7599
|
-
url: '/api/public/cloud-forensics/accounts/config',
|
|
7600
|
-
...options
|
|
7601
|
-
});
|
|
7602
|
-
};
|
|
7603
|
-
exports.cloudAccountsGetConfig = cloudAccountsGetConfig;
|
|
7604
|
-
const cloudAccountsExport = (options) => {
|
|
7605
|
-
return (options.client ?? client_gen_1.client).get({
|
|
9003
|
+
exports.investigationEvidenceFlagV2ApiControllerFlagEvidence = investigationEvidenceFlagV2ApiControllerFlagEvidence;
|
|
9004
|
+
/**
|
|
9005
|
+
* Remove a flag from evidence rows in an investigation
|
|
9006
|
+
* Remove one flag from rows of one investigation via POST /api/v2/investigations/{idOrName}/unflag. MUTATING. Same body/coordinate contract as the flag endpoint: body.flag is a numeric flag id or exact flag name (must already exist -- unlike the flag endpoint, unflag never auto-creates), items[] identifies rows by evidence (table name like linux_shell_history or its bare section shell_history -- normalized server-side) + objectId (the row air_object_id, NOT air_id) + taskAssignmentId, and source (EVIDENCE default, FINDING, TIMELINE) must match the surface the flag was applied to, with coordinates from that same surface (see the flag endpoint). Rows that do not carry the flag are ignored. Unknown evidence names or coordinates matching no real row are skipped and reported under warnings[] code=ROWS_SKIPPED with a per-item reason. itemCount reflects the rows actually processed; it is not the number of rows that actually changed. dryRun DEFAULTS TO TRUE in the tool layer: the first call previews (action='would-unflag') without changing anything; pass dryRun=false only after the user confirms.
|
|
9007
|
+
*/
|
|
9008
|
+
const investigationEvidenceFlagV2ApiControllerUnflagEvidence = (options) => {
|
|
9009
|
+
return (options.client ?? client_gen_1.client).post({
|
|
9010
|
+
responseType: 'json',
|
|
7606
9011
|
security: [
|
|
7607
9012
|
{
|
|
7608
|
-
|
|
7609
|
-
|
|
7610
|
-
|
|
7611
|
-
|
|
7612
|
-
url: '/api/public/cloud-forensics/accounts/export',
|
|
7613
|
-
...options
|
|
7614
|
-
});
|
|
7615
|
-
};
|
|
7616
|
-
exports.cloudAccountsExport = cloudAccountsExport;
|
|
7617
|
-
const cloudAccountsDelete = (options) => {
|
|
7618
|
-
return (options.client ?? client_gen_1.client).delete({
|
|
7619
|
-
security: [
|
|
9013
|
+
in: 'cookie',
|
|
9014
|
+
name: 'Authentication',
|
|
9015
|
+
type: 'apiKey'
|
|
9016
|
+
},
|
|
7620
9017
|
{
|
|
7621
9018
|
scheme: 'bearer',
|
|
7622
9019
|
type: 'http'
|
|
7623
9020
|
}
|
|
7624
9021
|
],
|
|
7625
|
-
url: '/api/
|
|
7626
|
-
...options
|
|
9022
|
+
url: '/api/v2/investigations/{idOrName}/unflag',
|
|
9023
|
+
...options,
|
|
9024
|
+
headers: {
|
|
9025
|
+
'Content-Type': 'application/json',
|
|
9026
|
+
...options.headers
|
|
9027
|
+
}
|
|
7627
9028
|
});
|
|
7628
9029
|
};
|
|
7629
|
-
exports.
|
|
7630
|
-
|
|
7631
|
-
|
|
9030
|
+
exports.investigationEvidenceFlagV2ApiControllerUnflagEvidence = investigationEvidenceFlagV2ApiControllerUnflagEvidence;
|
|
9031
|
+
/**
|
|
9032
|
+
* Discover investigation tables and columns
|
|
9033
|
+
* Two-stage schema discovery for one investigation via POST /api/v2/investigations/{idOrName}/schema. Read-only. Empty body {} lists populated tables/materialized views using catalog row estimates and available regular views with rowCount=null. Body { "table": "<name>" } returns an exact, timeout-bounded row count and that table or view's columns (name, type, nullable). idOrName accepts an investigation UUID, a case UUID or an exact case name. Fixed tables: air_investigation_activities, air_investigation_activity_user_reads, air_investigation_comments, air_investigation_evidence_metadata, air_investigation_evidence_relations, air_investigation_evidence_transformer_versions, air_investigation_external_section_import_error, air_investigation_external_section_import_status, air_investigation_finding_timeline, air_investigation_flags, air_investigation_full_text_search, air_investigation_metadata, air_investigation_notes, air_investigation_reports, air_investigation_report_history, air_investigation_task_assignments, air_investigation_task_execution_logs, air_investigation_timeline, air_investigation_timeline_event_range, air_investigation_timeline_hourly, air_investigation_user_findings, drone_findings. Views: air_all_findings_view, air_excluded_findings_view, air_findings_view, air_timeline_findings_view. Evidence tables are named <platform>_<section> (e.g. windows_triage_file, linux_triage_file, windows_event_records) and vary per investigation. POST the schema endpoint with an empty body to list the populated tables of this investigation with row counts; POST { "table": "<name>" } for column details.
|
|
9034
|
+
*/
|
|
9035
|
+
const investigationSqlV2ApiControllerGetSchema = (options) => {
|
|
9036
|
+
return (options.client ?? client_gen_1.client).post({
|
|
9037
|
+
responseType: 'json',
|
|
7632
9038
|
security: [
|
|
7633
9039
|
{
|
|
7634
|
-
|
|
7635
|
-
|
|
7636
|
-
|
|
7637
|
-
|
|
7638
|
-
url: '/api/public/cloud-forensics/accounts/{id}',
|
|
7639
|
-
...options
|
|
7640
|
-
});
|
|
7641
|
-
};
|
|
7642
|
-
exports.cloudAccountsGetCloudAccountById = cloudAccountsGetCloudAccountById;
|
|
7643
|
-
const cloudAccountsUpdateCloudAccount = (options) => {
|
|
7644
|
-
return (options.client ?? client_gen_1.client).patch({
|
|
7645
|
-
security: [
|
|
9040
|
+
in: 'cookie',
|
|
9041
|
+
name: 'Authentication',
|
|
9042
|
+
type: 'apiKey'
|
|
9043
|
+
},
|
|
7646
9044
|
{
|
|
7647
9045
|
scheme: 'bearer',
|
|
7648
9046
|
type: 'http'
|
|
7649
9047
|
}
|
|
7650
9048
|
],
|
|
7651
|
-
url: '/api/
|
|
9049
|
+
url: '/api/v2/investigations/{idOrName}/schema',
|
|
7652
9050
|
...options,
|
|
7653
9051
|
headers: {
|
|
7654
9052
|
'Content-Type': 'application/json',
|
|
@@ -7656,33 +9054,34 @@ const cloudAccountsUpdateCloudAccount = (options) => {
|
|
|
7656
9054
|
}
|
|
7657
9055
|
});
|
|
7658
9056
|
};
|
|
7659
|
-
exports.
|
|
7660
|
-
|
|
7661
|
-
|
|
9057
|
+
exports.investigationSqlV2ApiControllerGetSchema = investigationSqlV2ApiControllerGetSchema;
|
|
9058
|
+
/**
|
|
9059
|
+
* Run a read-only SQL query on an investigation
|
|
9060
|
+
* Execute one read-only SELECT statement inside the investigation schema via POST /api/v2/investigations/{idOrName}/sql-query. Returns a paginated result (pageNumber/pageSize in the body; totalEntityCount, totalPageCount, nextPage/previousPage in the envelope). Trailing semicolons, end-of-query -- comments, and trailing LIMIT/OFFSET in sqlQuery are stripped so request paging owns the page slice. Write statements, multiple statements and cross-schema references are rejected. Every result-producing branch must be anchored to at least one relation in the selected investigation. Functions are admitted through PostgreSQL catalog capability checks; volatile, dangerous, user-schema and object-reference functions are rejected. Use the schema endpoint to discover the selected investigation tables and columns; PostgreSQL catalog, object-reference, and cross-schema introspection are rejected. Fixed tables: air_investigation_activities, air_investigation_activity_user_reads, air_investigation_comments, air_investigation_evidence_metadata, air_investigation_evidence_relations, air_investigation_evidence_transformer_versions, air_investigation_external_section_import_error, air_investigation_external_section_import_status, air_investigation_finding_timeline, air_investigation_flags, air_investigation_full_text_search, air_investigation_metadata, air_investigation_notes, air_investigation_reports, air_investigation_report_history, air_investigation_task_assignments, air_investigation_task_execution_logs, air_investigation_timeline, air_investigation_timeline_event_range, air_investigation_timeline_hourly, air_investigation_user_findings, drone_findings. Views: air_all_findings_view, air_excluded_findings_view, air_findings_view, air_timeline_findings_view. Evidence tables are named <platform>_<section> (e.g. windows_triage_file, linux_triage_file, windows_event_records) and vary per investigation. POST the schema endpoint with an empty body to list the populated tables of this investigation with row counts; POST { "table": "<name>" } for column details. Documented row-analysis functions (94): abs, age, array_agg, array_cat, array_length, array_position, array_remove, array_to_string, ascii, avg, bit_length, bool_and, bool_or, btrim, cardinality, ceil, ceiling, char_length, chr, concat, concat_ws, corr, count, date_part, date_trunc, dense_rank, div, first_value, floor, initcap, json_array_length, json_typeof, jsonb_array_elements, jsonb_array_elements_text, jsonb_array_length, jsonb_path_exists, jsonb_typeof, lag, last_value, lead, left, length, lower, lpad, ltrim, max, md5, min, mod, mode, now, nth_value, ntile, octet_length, percentile_cont, percentile_disc, plainto_tsquery, position, power, rank, regexp_matches, regexp_replace, regexp_split_to_array, repeat, replace, reverse, right, round, row_number, rpad, rtrim, split_part, sqrt, starts_with, stddev, stddev_pop, string_agg, string_to_array, strpos, substr, substring, sum, to_char, to_date, to_timestamp, to_tsquery, to_tsvector, translate, trim, trunc, unnest, upper, var_pop, variance. Allowed cast types: bigint, boolean, character, character varying, date, double precision, integer, interval, json, jsonb, numeric, real, smallint, text, time, time with time zone, time without time zone, timestamp with time zone, timestamp without time zone, uuid (plus the usual aliases such as int, varchar, timestamptz). Additional functions are admitted only when PostgreSQL catalog metadata proves they are safe, non-volatile built-ins; unknown, extension, user-schema and dangerous functions are rejected. Object-reference (regclass/oid), catalog, session, filesystem, network and *_to_xml* capabilities are rejected. Safe set-returning functions may expand rows in SELECT, FROM or LATERAL. GROUP BY accepts ROLLUP and GROUPING SETS; CUBE is not supported because the name doubles as an extension function. Execution-context expressions (current_user, current_schema, current_catalog) are rejected.
|
|
9061
|
+
*/
|
|
9062
|
+
const investigationSqlV2ApiControllerExecuteSqlQuery = (options) => {
|
|
9063
|
+
return (options.client ?? client_gen_1.client).post({
|
|
9064
|
+
responseType: 'json',
|
|
7662
9065
|
security: [
|
|
7663
9066
|
{
|
|
7664
|
-
|
|
7665
|
-
|
|
7666
|
-
|
|
7667
|
-
|
|
7668
|
-
url: '/api/public/cloud-forensics/accounts/sync/{id}',
|
|
7669
|
-
...options
|
|
7670
|
-
});
|
|
7671
|
-
};
|
|
7672
|
-
exports.cloudAccountsSyncCloudAccount = cloudAccountsSyncCloudAccount;
|
|
7673
|
-
const cloudAccountsSyncAllCloudAccount = (options) => {
|
|
7674
|
-
return (options.client ?? client_gen_1.client).get({
|
|
7675
|
-
security: [
|
|
9067
|
+
in: 'cookie',
|
|
9068
|
+
name: 'Authentication',
|
|
9069
|
+
type: 'apiKey'
|
|
9070
|
+
},
|
|
7676
9071
|
{
|
|
7677
9072
|
scheme: 'bearer',
|
|
7678
9073
|
type: 'http'
|
|
7679
9074
|
}
|
|
7680
9075
|
],
|
|
7681
|
-
url: '/api/
|
|
7682
|
-
...options
|
|
9076
|
+
url: '/api/v2/investigations/{idOrName}/sql-query',
|
|
9077
|
+
...options,
|
|
9078
|
+
headers: {
|
|
9079
|
+
'Content-Type': 'application/json',
|
|
9080
|
+
...options.headers
|
|
9081
|
+
}
|
|
7683
9082
|
});
|
|
7684
9083
|
};
|
|
7685
|
-
exports.
|
|
9084
|
+
exports.investigationSqlV2ApiControllerExecuteSqlQuery = investigationSqlV2ApiControllerExecuteSqlQuery;
|
|
7686
9085
|
const investigationGetInvestigationById = (options) => {
|
|
7687
9086
|
return (options.client ?? client_gen_1.client).get({
|
|
7688
9087
|
security: [
|
|
@@ -9122,17 +10521,125 @@ const processorGetProcessorTypeByAssetType = (options) => {
|
|
|
9122
10521
|
type: 'http'
|
|
9123
10522
|
}
|
|
9124
10523
|
],
|
|
9125
|
-
url: '/api/public/processors/type/{assetType}',
|
|
9126
|
-
...options
|
|
10524
|
+
url: '/api/public/processors/type/{assetType}',
|
|
10525
|
+
...options
|
|
10526
|
+
});
|
|
10527
|
+
};
|
|
10528
|
+
exports.processorGetProcessorTypeByAssetType = processorGetProcessorTypeByAssetType;
|
|
10529
|
+
/**
|
|
10530
|
+
* Reboot a single asset
|
|
10531
|
+
* Reboot EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, via POST /api/v2/assets/{idOrName}/reboot. Use this ONLY for one specific asset. If the user gives two or more assets, a list, a group, or 'all matching' assets, use air-assets-bulk-reboot instead. ALWAYS send dryRun=true on every call (would-run preview); pass dryRun=false only to send the real reboot signal after the user confirms the exact asset. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10532
|
+
*/
|
|
10533
|
+
const assetActionV2ApiControllerReboot = (options) => {
|
|
10534
|
+
return (options.client ?? client_gen_1.client).post({
|
|
10535
|
+
responseType: 'json',
|
|
10536
|
+
security: [
|
|
10537
|
+
{
|
|
10538
|
+
in: 'cookie',
|
|
10539
|
+
name: 'Authentication',
|
|
10540
|
+
type: 'apiKey'
|
|
10541
|
+
},
|
|
10542
|
+
{
|
|
10543
|
+
scheme: 'bearer',
|
|
10544
|
+
type: 'http'
|
|
10545
|
+
}
|
|
10546
|
+
],
|
|
10547
|
+
url: '/api/v2/assets/{idOrName}/reboot',
|
|
10548
|
+
...options,
|
|
10549
|
+
headers: {
|
|
10550
|
+
'Content-Type': 'application/json',
|
|
10551
|
+
...options.headers
|
|
10552
|
+
}
|
|
10553
|
+
});
|
|
10554
|
+
};
|
|
10555
|
+
exports.assetActionV2ApiControllerReboot = assetActionV2ApiControllerReboot;
|
|
10556
|
+
/**
|
|
10557
|
+
* Shut down a single asset
|
|
10558
|
+
* Shut down EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, via POST /api/v2/assets/{idOrName}/shutdown. Use this ONLY for one specific asset. If the user gives two or more assets, a list, a group, or 'all matching' assets, use air-assets-bulk-shutdown instead. ALWAYS send dryRun=true on every call (would-run preview); pass dryRun=false only to send the real shutdown signal after the user confirms the exact asset. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10559
|
+
*/
|
|
10560
|
+
const assetActionV2ApiControllerShutdown = (options) => {
|
|
10561
|
+
return (options.client ?? client_gen_1.client).post({
|
|
10562
|
+
responseType: 'json',
|
|
10563
|
+
security: [
|
|
10564
|
+
{
|
|
10565
|
+
in: 'cookie',
|
|
10566
|
+
name: 'Authentication',
|
|
10567
|
+
type: 'apiKey'
|
|
10568
|
+
},
|
|
10569
|
+
{
|
|
10570
|
+
scheme: 'bearer',
|
|
10571
|
+
type: 'http'
|
|
10572
|
+
}
|
|
10573
|
+
],
|
|
10574
|
+
url: '/api/v2/assets/{idOrName}/shutdown',
|
|
10575
|
+
...options,
|
|
10576
|
+
headers: {
|
|
10577
|
+
'Content-Type': 'application/json',
|
|
10578
|
+
...options.headers
|
|
10579
|
+
}
|
|
10580
|
+
});
|
|
10581
|
+
};
|
|
10582
|
+
exports.assetActionV2ApiControllerShutdown = assetActionV2ApiControllerShutdown;
|
|
10583
|
+
/**
|
|
10584
|
+
* Isolate a single asset
|
|
10585
|
+
* Network-isolate EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, via POST /api/v2/assets/{idOrName}/isolate. Use this ONLY for one specific asset. If the user gives two or more assets, a list, a group, or 'all matching' assets, use air-assets-bulk-isolate instead. ALWAYS send dryRun=true on every call (would-run preview); pass dryRun=false only to send the real isolation signal after the user confirms the exact asset. Requires the Isolation feature to be enabled. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10586
|
+
*/
|
|
10587
|
+
const assetActionV2ApiControllerIsolate = (options) => {
|
|
10588
|
+
return (options.client ?? client_gen_1.client).post({
|
|
10589
|
+
responseType: 'json',
|
|
10590
|
+
security: [
|
|
10591
|
+
{
|
|
10592
|
+
in: 'cookie',
|
|
10593
|
+
name: 'Authentication',
|
|
10594
|
+
type: 'apiKey'
|
|
10595
|
+
},
|
|
10596
|
+
{
|
|
10597
|
+
scheme: 'bearer',
|
|
10598
|
+
type: 'http'
|
|
10599
|
+
}
|
|
10600
|
+
],
|
|
10601
|
+
url: '/api/v2/assets/{idOrName}/isolate',
|
|
10602
|
+
...options,
|
|
10603
|
+
headers: {
|
|
10604
|
+
'Content-Type': 'application/json',
|
|
10605
|
+
...options.headers
|
|
10606
|
+
}
|
|
10607
|
+
});
|
|
10608
|
+
};
|
|
10609
|
+
exports.assetActionV2ApiControllerIsolate = assetActionV2ApiControllerIsolate;
|
|
10610
|
+
/**
|
|
10611
|
+
* Unisolate a single asset
|
|
10612
|
+
* Remove network isolation from EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, via POST /api/v2/assets/{idOrName}/unisolate. Use this ONLY for one specific asset. If the user gives two or more assets, a list, a group, or 'all matching' assets, use air-assets-bulk-unisolate instead. ALWAYS send dryRun=true on every call (would-run preview); pass dryRun=false only to send the real unisolation signal after the user confirms the exact asset. Requires the Isolation feature to be enabled. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10613
|
+
*/
|
|
10614
|
+
const assetActionV2ApiControllerUnisolate = (options) => {
|
|
10615
|
+
return (options.client ?? client_gen_1.client).post({
|
|
10616
|
+
responseType: 'json',
|
|
10617
|
+
security: [
|
|
10618
|
+
{
|
|
10619
|
+
in: 'cookie',
|
|
10620
|
+
name: 'Authentication',
|
|
10621
|
+
type: 'apiKey'
|
|
10622
|
+
},
|
|
10623
|
+
{
|
|
10624
|
+
scheme: 'bearer',
|
|
10625
|
+
type: 'http'
|
|
10626
|
+
}
|
|
10627
|
+
],
|
|
10628
|
+
url: '/api/v2/assets/{idOrName}/unisolate',
|
|
10629
|
+
...options,
|
|
10630
|
+
headers: {
|
|
10631
|
+
'Content-Type': 'application/json',
|
|
10632
|
+
...options.headers
|
|
10633
|
+
}
|
|
9127
10634
|
});
|
|
9128
10635
|
};
|
|
9129
|
-
exports.
|
|
10636
|
+
exports.assetActionV2ApiControllerUnisolate = assetActionV2ApiControllerUnisolate;
|
|
9130
10637
|
/**
|
|
9131
|
-
*
|
|
9132
|
-
*
|
|
10638
|
+
* Retrieve the agent logs of a single asset
|
|
10639
|
+
* Retrieve agent logs for a task on EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, via POST /api/v2/assets/{idOrName}/log-retrieval. Use this ONLY for one specific asset; it also requires the taskId whose logs should be collected. If the user gives two or more assets, a list, or a group, use air-assets-bulk-log-retrieval instead. ALWAYS send dryRun=true on every call (would-run preview); pass dryRun=false only to assign the real log-retrieval task after the user confirms the asset and task. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9133
10640
|
*/
|
|
9134
|
-
const
|
|
9135
|
-
return (options
|
|
10641
|
+
const assetActionV2ApiControllerRetrieveLogs = (options) => {
|
|
10642
|
+
return (options.client ?? client_gen_1.client).post({
|
|
9136
10643
|
responseType: 'json',
|
|
9137
10644
|
security: [
|
|
9138
10645
|
{
|
|
@@ -9145,18 +10652,22 @@ const assetV2ApiControllerGetStats = (options) => {
|
|
|
9145
10652
|
type: 'http'
|
|
9146
10653
|
}
|
|
9147
10654
|
],
|
|
9148
|
-
url: '/api/v2/assets/
|
|
9149
|
-
...options
|
|
10655
|
+
url: '/api/v2/assets/{idOrName}/log-retrieval',
|
|
10656
|
+
...options,
|
|
10657
|
+
headers: {
|
|
10658
|
+
'Content-Type': 'application/json',
|
|
10659
|
+
...options.headers
|
|
10660
|
+
}
|
|
9150
10661
|
});
|
|
9151
10662
|
};
|
|
9152
|
-
exports.
|
|
10663
|
+
exports.assetActionV2ApiControllerRetrieveLogs = assetActionV2ApiControllerRetrieveLogs;
|
|
9153
10664
|
/**
|
|
9154
|
-
*
|
|
9155
|
-
*
|
|
10665
|
+
* Update the agent version on a single asset
|
|
10666
|
+
* Update the agent version on EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, via POST /api/v2/assets/{idOrName}/update. Use this ONLY for one specific asset. If the user gives two or more assets, a list, a group, or 'all matching' assets, use air-assets-bulk-version-update instead. There is no version targeting: the agent always updates to the console's current supported version. ALWAYS send dryRun=true on every call (would-update preview); pass dryRun=false only to assign the real immediate one-time update task after the user confirms the exact asset. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9156
10667
|
*/
|
|
9157
|
-
const
|
|
9158
|
-
return (options.client ?? client_gen_1.client).
|
|
9159
|
-
responseType: '
|
|
10668
|
+
const assetActionV2ApiControllerVersionUpdate = (options) => {
|
|
10669
|
+
return (options.client ?? client_gen_1.client).post({
|
|
10670
|
+
responseType: 'json',
|
|
9160
10671
|
security: [
|
|
9161
10672
|
{
|
|
9162
10673
|
in: 'cookie',
|
|
@@ -9168,17 +10679,21 @@ const assetV2ApiControllerExportAssets = (options) => {
|
|
|
9168
10679
|
type: 'http'
|
|
9169
10680
|
}
|
|
9170
10681
|
],
|
|
9171
|
-
url: '/api/v2/assets/
|
|
9172
|
-
...options
|
|
10682
|
+
url: '/api/v2/assets/{idOrName}/update',
|
|
10683
|
+
...options,
|
|
10684
|
+
headers: {
|
|
10685
|
+
'Content-Type': 'application/json',
|
|
10686
|
+
...options.headers
|
|
10687
|
+
}
|
|
9173
10688
|
});
|
|
9174
10689
|
};
|
|
9175
|
-
exports.
|
|
10690
|
+
exports.assetActionV2ApiControllerVersionUpdate = assetActionV2ApiControllerVersionUpdate;
|
|
9176
10691
|
/**
|
|
9177
|
-
*
|
|
9178
|
-
*
|
|
10692
|
+
* Enable maintenance mode on a single asset
|
|
10693
|
+
* Enable maintenance mode on EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, via POST /api/v2/assets/{idOrName}/enable-maintenance. Use this ONLY for one specific asset. If the user gives two or more assets, a list, a group, or 'all matching' assets, use air-assets-bulk-enable-maintenance instead. ALWAYS send dryRun=true on every call (would-change preview); pass dryRun=false only to apply the real change after the user confirms the exact asset. Updates the asset synchronously (no task is created). A no-op (already in maintenance mode) returns HTTP 200 with a NO_OP entry in errors[]. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9179
10694
|
*/
|
|
9180
|
-
const
|
|
9181
|
-
return (options
|
|
10695
|
+
const assetActionV2ApiControllerEnableMaintenance = (options) => {
|
|
10696
|
+
return (options.client ?? client_gen_1.client).post({
|
|
9182
10697
|
responseType: 'json',
|
|
9183
10698
|
security: [
|
|
9184
10699
|
{
|
|
@@ -9191,17 +10706,21 @@ const assetV2ApiControllerFilterAssets = (options) => {
|
|
|
9191
10706
|
type: 'http'
|
|
9192
10707
|
}
|
|
9193
10708
|
],
|
|
9194
|
-
url: '/api/v2/assets',
|
|
9195
|
-
...options
|
|
10709
|
+
url: '/api/v2/assets/{idOrName}/enable-maintenance',
|
|
10710
|
+
...options,
|
|
10711
|
+
headers: {
|
|
10712
|
+
'Content-Type': 'application/json',
|
|
10713
|
+
...options.headers
|
|
10714
|
+
}
|
|
9196
10715
|
});
|
|
9197
10716
|
};
|
|
9198
|
-
exports.
|
|
10717
|
+
exports.assetActionV2ApiControllerEnableMaintenance = assetActionV2ApiControllerEnableMaintenance;
|
|
9199
10718
|
/**
|
|
9200
|
-
*
|
|
9201
|
-
*
|
|
10719
|
+
* Disable maintenance mode on a single asset
|
|
10720
|
+
* Disable maintenance mode on EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, via POST /api/v2/assets/{idOrName}/disable-maintenance. Use this ONLY for one specific asset. If the user gives two or more assets, a list, a group, or 'all matching' assets, use air-assets-bulk-disable-maintenance instead. ALWAYS send dryRun=true on every call (would-change preview); pass dryRun=false only to apply the real change after the user confirms the exact asset. Updates the asset synchronously (no task is created). A no-op (not in maintenance mode) returns HTTP 200 with a NO_OP entry in errors[]. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9202
10721
|
*/
|
|
9203
|
-
const
|
|
9204
|
-
return (options.client ?? client_gen_1.client).
|
|
10722
|
+
const assetActionV2ApiControllerDisableMaintenance = (options) => {
|
|
10723
|
+
return (options.client ?? client_gen_1.client).post({
|
|
9205
10724
|
responseType: 'json',
|
|
9206
10725
|
security: [
|
|
9207
10726
|
{
|
|
@@ -9214,17 +10733,22 @@ const assetV2ApiControllerDeleteAsset = (options) => {
|
|
|
9214
10733
|
type: 'http'
|
|
9215
10734
|
}
|
|
9216
10735
|
],
|
|
9217
|
-
url: '/api/v2/assets/{idOrName}',
|
|
9218
|
-
...options
|
|
10736
|
+
url: '/api/v2/assets/{idOrName}/disable-maintenance',
|
|
10737
|
+
...options,
|
|
10738
|
+
headers: {
|
|
10739
|
+
'Content-Type': 'application/json',
|
|
10740
|
+
...options.headers
|
|
10741
|
+
}
|
|
9219
10742
|
});
|
|
9220
10743
|
};
|
|
9221
|
-
exports.
|
|
10744
|
+
exports.assetActionV2ApiControllerDisableMaintenance = assetActionV2ApiControllerDisableMaintenance;
|
|
9222
10745
|
/**
|
|
9223
|
-
*
|
|
9224
|
-
*
|
|
10746
|
+
* Import a PPC file into an existing asset
|
|
10747
|
+
* Import a case PPC evidence file into an EXISTING Binalyze AIR asset via POST /api/v2/assets/{idOrName}/import (multipart upload). Use this when the asset already exists in AIR and you want to attach/import a .ppc captured from it (a real PPC zip containing Case.db). Optionally attach the import to a case via caseIdOrName (resolved as uuid or name). Success response (200): result.entities[0] = { id (asset id), name (asset name), ppcFileName, importedAt }. Unknown asset -> 404. KNOWN ISSUE: a corrupt or non-zip file currently returns 500 INTERNAL_ERROR (not a clean 400) -- treat that 500 as 'invalid PPC file', do not retry blindly and do not report it as a server outage. ALWAYS send dryRun=true first (generic preview; does not validate the file); pass dryRun=false only to perform the real import after the user confirms the asset and file. For an off-network Task.dat that should create an offline task, use air-assets-off-network-import instead. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9225
10748
|
*/
|
|
9226
|
-
const
|
|
9227
|
-
return (options.client ?? client_gen_1.client).
|
|
10749
|
+
const assetActionV2ApiControllerImportPpcToExistingAsset = (options) => {
|
|
10750
|
+
return (options.client ?? client_gen_1.client).post({
|
|
10751
|
+
...client_1.formDataBodySerializer,
|
|
9228
10752
|
responseType: 'json',
|
|
9229
10753
|
security: [
|
|
9230
10754
|
{
|
|
@@ -9237,17 +10761,21 @@ const assetV2ApiControllerGetAsset = (options) => {
|
|
|
9237
10761
|
type: 'http'
|
|
9238
10762
|
}
|
|
9239
10763
|
],
|
|
9240
|
-
url: '/api/v2/assets/{idOrName}',
|
|
9241
|
-
...options
|
|
10764
|
+
url: '/api/v2/assets/{idOrName}/import',
|
|
10765
|
+
...options,
|
|
10766
|
+
headers: {
|
|
10767
|
+
'Content-Type': null,
|
|
10768
|
+
...options.headers
|
|
10769
|
+
}
|
|
9242
10770
|
});
|
|
9243
10771
|
};
|
|
9244
|
-
exports.
|
|
10772
|
+
exports.assetActionV2ApiControllerImportPpcToExistingAsset = assetActionV2ApiControllerImportPpcToExistingAsset;
|
|
9245
10773
|
/**
|
|
9246
|
-
*
|
|
9247
|
-
*
|
|
10774
|
+
* Reboot multiple assets
|
|
10775
|
+
* Reboot MULTIPLE Binalyze AIR assets in one call, listed by id or name in assets[], via POST /api/v2/reboot. Use this ONLY when the user targets two or more assets, a list, or a group. For exactly ONE asset, use air-assets-reboot (the single-asset tool) instead. ALWAYS send dryRun=true on every call (preview of eligible assets and warnings); pass dryRun=false only to send the real reboot signals after the user confirms the asset list. Use failIfNumberOfAssetsGreaterThan as a safety cap.
|
|
9248
10776
|
*/
|
|
9249
|
-
const
|
|
9250
|
-
return (options.client ?? client_gen_1.client).
|
|
10777
|
+
const assetBulkActionV2ApiControllerReboot = (options) => {
|
|
10778
|
+
return (options.client ?? client_gen_1.client).post({
|
|
9251
10779
|
responseType: 'json',
|
|
9252
10780
|
security: [
|
|
9253
10781
|
{
|
|
@@ -9260,7 +10788,7 @@ const assetV2ApiControllerReplaceTags = (options) => {
|
|
|
9260
10788
|
type: 'http'
|
|
9261
10789
|
}
|
|
9262
10790
|
],
|
|
9263
|
-
url: '/api/v2/
|
|
10791
|
+
url: '/api/v2/reboot',
|
|
9264
10792
|
...options,
|
|
9265
10793
|
headers: {
|
|
9266
10794
|
'Content-Type': 'application/json',
|
|
@@ -9268,13 +10796,13 @@ const assetV2ApiControllerReplaceTags = (options) => {
|
|
|
9268
10796
|
}
|
|
9269
10797
|
});
|
|
9270
10798
|
};
|
|
9271
|
-
exports.
|
|
10799
|
+
exports.assetBulkActionV2ApiControllerReboot = assetBulkActionV2ApiControllerReboot;
|
|
9272
10800
|
/**
|
|
9273
|
-
*
|
|
9274
|
-
*
|
|
10801
|
+
* Shut down multiple assets
|
|
10802
|
+
* Shut down MULTIPLE Binalyze AIR assets in one call, listed by id or name in assets[], via POST /api/v2/shutdown. Use this ONLY when the user targets two or more assets, a list, or a group. For exactly ONE asset, use air-assets-shutdown (the single-asset tool) instead. ALWAYS send dryRun=true on every call (preview of eligible assets and warnings); pass dryRun=false only to send the real shutdown signals after the user confirms the asset list. Use failIfNumberOfAssetsGreaterThan as a safety cap.
|
|
9275
10803
|
*/
|
|
9276
|
-
const
|
|
9277
|
-
return (options.client ?? client_gen_1.client).
|
|
10804
|
+
const assetBulkActionV2ApiControllerShutdown = (options) => {
|
|
10805
|
+
return (options.client ?? client_gen_1.client).post({
|
|
9278
10806
|
responseType: 'json',
|
|
9279
10807
|
security: [
|
|
9280
10808
|
{
|
|
@@ -9287,7 +10815,7 @@ const assetV2ApiControllerUpdateLabel = (options) => {
|
|
|
9287
10815
|
type: 'http'
|
|
9288
10816
|
}
|
|
9289
10817
|
],
|
|
9290
|
-
url: '/api/v2/
|
|
10818
|
+
url: '/api/v2/shutdown',
|
|
9291
10819
|
...options,
|
|
9292
10820
|
headers: {
|
|
9293
10821
|
'Content-Type': 'application/json',
|
|
@@ -9295,11 +10823,12 @@ const assetV2ApiControllerUpdateLabel = (options) => {
|
|
|
9295
10823
|
}
|
|
9296
10824
|
});
|
|
9297
10825
|
};
|
|
9298
|
-
exports.
|
|
10826
|
+
exports.assetBulkActionV2ApiControllerShutdown = assetBulkActionV2ApiControllerShutdown;
|
|
9299
10827
|
/**
|
|
9300
|
-
*
|
|
10828
|
+
* Isolate multiple assets
|
|
10829
|
+
* Network-isolate MULTIPLE Binalyze AIR assets in one call, listed by id or name in assets[], via POST /api/v2/isolate. Use this ONLY when the user targets two or more assets, a list, or a group. For exactly ONE asset, use air-assets-isolate (the single-asset tool) instead. ALWAYS send dryRun=true on every call (preview of eligible assets and warnings); pass dryRun=false only to send the real isolation signals after the user confirms the asset list. Requires the Isolation feature to be enabled. Use failIfNumberOfAssetsGreaterThan as a safety cap.
|
|
9301
10830
|
*/
|
|
9302
|
-
const
|
|
10831
|
+
const assetBulkActionV2ApiControllerIsolate = (options) => {
|
|
9303
10832
|
return (options.client ?? client_gen_1.client).post({
|
|
9304
10833
|
responseType: 'json',
|
|
9305
10834
|
security: [
|
|
@@ -9313,7 +10842,7 @@ const assetActionV2ApiControllerReboot = (options) => {
|
|
|
9313
10842
|
type: 'http'
|
|
9314
10843
|
}
|
|
9315
10844
|
],
|
|
9316
|
-
url: '/api/v2/
|
|
10845
|
+
url: '/api/v2/isolate',
|
|
9317
10846
|
...options,
|
|
9318
10847
|
headers: {
|
|
9319
10848
|
'Content-Type': 'application/json',
|
|
@@ -9321,11 +10850,12 @@ const assetActionV2ApiControllerReboot = (options) => {
|
|
|
9321
10850
|
}
|
|
9322
10851
|
});
|
|
9323
10852
|
};
|
|
9324
|
-
exports.
|
|
10853
|
+
exports.assetBulkActionV2ApiControllerIsolate = assetBulkActionV2ApiControllerIsolate;
|
|
9325
10854
|
/**
|
|
9326
|
-
*
|
|
10855
|
+
* Unisolate multiple assets
|
|
10856
|
+
* Remove network isolation from MULTIPLE Binalyze AIR assets in one call, listed by id or name in assets[], via POST /api/v2/unisolate. Use this ONLY when the user targets two or more assets, a list, or a group. For exactly ONE asset, use air-assets-unisolate (the single-asset tool) instead. ALWAYS send dryRun=true on every call (preview of eligible assets and warnings); pass dryRun=false only to send the real unisolation signals after the user confirms the asset list. Requires the Isolation feature to be enabled. Use failIfNumberOfAssetsGreaterThan as a safety cap.
|
|
9327
10857
|
*/
|
|
9328
|
-
const
|
|
10858
|
+
const assetBulkActionV2ApiControllerUnisolate = (options) => {
|
|
9329
10859
|
return (options.client ?? client_gen_1.client).post({
|
|
9330
10860
|
responseType: 'json',
|
|
9331
10861
|
security: [
|
|
@@ -9339,7 +10869,7 @@ const assetActionV2ApiControllerShutdown = (options) => {
|
|
|
9339
10869
|
type: 'http'
|
|
9340
10870
|
}
|
|
9341
10871
|
],
|
|
9342
|
-
url: '/api/v2/
|
|
10872
|
+
url: '/api/v2/unisolate',
|
|
9343
10873
|
...options,
|
|
9344
10874
|
headers: {
|
|
9345
10875
|
'Content-Type': 'application/json',
|
|
@@ -9347,11 +10877,12 @@ const assetActionV2ApiControllerShutdown = (options) => {
|
|
|
9347
10877
|
}
|
|
9348
10878
|
});
|
|
9349
10879
|
};
|
|
9350
|
-
exports.
|
|
10880
|
+
exports.assetBulkActionV2ApiControllerUnisolate = assetBulkActionV2ApiControllerUnisolate;
|
|
9351
10881
|
/**
|
|
9352
|
-
*
|
|
10882
|
+
* Retrieve the agent logs of multiple assets
|
|
10883
|
+
* Retrieve agent logs from MULTIPLE Binalyze AIR assets in one call, listed by id or name in assets[], via POST /api/v2/log-retrieval. Use this ONLY when the user targets two or more assets, a list, or a group. For exactly ONE asset (and a specific taskId), use air-assets-log-retrieval (the single-asset tool) instead. ALWAYS send dryRun=true on every call (preview of eligible assets and warnings); pass dryRun=false only to assign the real log-retrieval task after the user confirms the asset list. Use failIfNumberOfAssetsGreaterThan as a safety cap.
|
|
9353
10884
|
*/
|
|
9354
|
-
const
|
|
10885
|
+
const assetBulkActionV2ApiControllerRetrieveLogs = (options) => {
|
|
9355
10886
|
return (options.client ?? client_gen_1.client).post({
|
|
9356
10887
|
responseType: 'json',
|
|
9357
10888
|
security: [
|
|
@@ -9365,7 +10896,7 @@ const assetActionV2ApiControllerIsolate = (options) => {
|
|
|
9365
10896
|
type: 'http'
|
|
9366
10897
|
}
|
|
9367
10898
|
],
|
|
9368
|
-
url: '/api/v2/
|
|
10899
|
+
url: '/api/v2/log-retrieval',
|
|
9369
10900
|
...options,
|
|
9370
10901
|
headers: {
|
|
9371
10902
|
'Content-Type': 'application/json',
|
|
@@ -9373,11 +10904,12 @@ const assetActionV2ApiControllerIsolate = (options) => {
|
|
|
9373
10904
|
}
|
|
9374
10905
|
});
|
|
9375
10906
|
};
|
|
9376
|
-
exports.
|
|
10907
|
+
exports.assetBulkActionV2ApiControllerRetrieveLogs = assetBulkActionV2ApiControllerRetrieveLogs;
|
|
9377
10908
|
/**
|
|
9378
|
-
*
|
|
10909
|
+
* Update the agent version on multiple assets
|
|
10910
|
+
* Update the agent version on MULTIPLE Binalyze AIR assets in one call, listed by id or name in assets[], via POST /api/v2/version-update. Use this ONLY when the user targets two or more assets, a list, or a group. For exactly ONE asset, use air-assets-version-update (the single-asset tool) instead. There is no version targeting: agents always update to the console's current supported version. ALWAYS send dryRun=true on every call (preview of eligible assets and warnings); pass dryRun=false only to assign the real immediate one-time update task after the user confirms the asset list. Provide organizations when names are ambiguous across orgs. Use failIfNumberOfAssetsGreaterThan as a safety cap.
|
|
9379
10911
|
*/
|
|
9380
|
-
const
|
|
10912
|
+
const assetBulkActionV2ApiControllerVersionUpdate = (options) => {
|
|
9381
10913
|
return (options.client ?? client_gen_1.client).post({
|
|
9382
10914
|
responseType: 'json',
|
|
9383
10915
|
security: [
|
|
@@ -9391,7 +10923,7 @@ const assetActionV2ApiControllerUnisolate = (options) => {
|
|
|
9391
10923
|
type: 'http'
|
|
9392
10924
|
}
|
|
9393
10925
|
],
|
|
9394
|
-
url: '/api/v2/
|
|
10926
|
+
url: '/api/v2/version-update',
|
|
9395
10927
|
...options,
|
|
9396
10928
|
headers: {
|
|
9397
10929
|
'Content-Type': 'application/json',
|
|
@@ -9399,11 +10931,12 @@ const assetActionV2ApiControllerUnisolate = (options) => {
|
|
|
9399
10931
|
}
|
|
9400
10932
|
});
|
|
9401
10933
|
};
|
|
9402
|
-
exports.
|
|
10934
|
+
exports.assetBulkActionV2ApiControllerVersionUpdate = assetBulkActionV2ApiControllerVersionUpdate;
|
|
9403
10935
|
/**
|
|
9404
|
-
*
|
|
10936
|
+
* Enable maintenance mode on multiple assets
|
|
10937
|
+
* Enable maintenance mode on MULTIPLE Binalyze AIR assets in one call, listed by id or name in assets[], via POST /api/v2/enable-maintenance. Use this ONLY when the user targets two or more assets, a list, or a group. For exactly ONE asset, use air-assets-enable-maintenance (the single-asset tool) instead. ALWAYS send dryRun=true on every call (preview of eligible assets and warnings); pass dryRun=false only to apply the real change after the user confirms the asset list. These endpoints update assets synchronously and do not create tasks. Provide organizations when names are ambiguous across orgs.
|
|
9405
10938
|
*/
|
|
9406
|
-
const
|
|
10939
|
+
const assetBulkActionV2ApiControllerEnableMaintenance = (options) => {
|
|
9407
10940
|
return (options.client ?? client_gen_1.client).post({
|
|
9408
10941
|
responseType: 'json',
|
|
9409
10942
|
security: [
|
|
@@ -9417,7 +10950,7 @@ const assetActionV2ApiControllerRetrieveLogs = (options) => {
|
|
|
9417
10950
|
type: 'http'
|
|
9418
10951
|
}
|
|
9419
10952
|
],
|
|
9420
|
-
url: '/api/v2/
|
|
10953
|
+
url: '/api/v2/enable-maintenance',
|
|
9421
10954
|
...options,
|
|
9422
10955
|
headers: {
|
|
9423
10956
|
'Content-Type': 'application/json',
|
|
@@ -9425,11 +10958,12 @@ const assetActionV2ApiControllerRetrieveLogs = (options) => {
|
|
|
9425
10958
|
}
|
|
9426
10959
|
});
|
|
9427
10960
|
};
|
|
9428
|
-
exports.
|
|
10961
|
+
exports.assetBulkActionV2ApiControllerEnableMaintenance = assetBulkActionV2ApiControllerEnableMaintenance;
|
|
9429
10962
|
/**
|
|
9430
|
-
*
|
|
10963
|
+
* Disable maintenance mode on multiple assets
|
|
10964
|
+
* Disable maintenance mode on MULTIPLE Binalyze AIR assets in one call, listed by id or name in assets[], via POST /api/v2/disable-maintenance. Use this ONLY when the user targets two or more assets, a list, or a group. For exactly ONE asset, use air-assets-disable-maintenance (the single-asset tool) instead. ALWAYS send dryRun=true on every call (preview of eligible assets and warnings); pass dryRun=false only to apply the real change after the user confirms the asset list. These endpoints update assets synchronously and do not create tasks. Provide organizations when names are ambiguous across orgs.
|
|
9431
10965
|
*/
|
|
9432
|
-
const
|
|
10966
|
+
const assetBulkActionV2ApiControllerDisableMaintenance = (options) => {
|
|
9433
10967
|
return (options.client ?? client_gen_1.client).post({
|
|
9434
10968
|
responseType: 'json',
|
|
9435
10969
|
security: [
|
|
@@ -9443,7 +10977,7 @@ const assetActionV2ApiControllerVersionUpdate = (options) => {
|
|
|
9443
10977
|
type: 'http'
|
|
9444
10978
|
}
|
|
9445
10979
|
],
|
|
9446
|
-
url: '/api/v2/
|
|
10980
|
+
url: '/api/v2/disable-maintenance',
|
|
9447
10981
|
...options,
|
|
9448
10982
|
headers: {
|
|
9449
10983
|
'Content-Type': 'application/json',
|
|
@@ -9451,11 +10985,12 @@ const assetActionV2ApiControllerVersionUpdate = (options) => {
|
|
|
9451
10985
|
}
|
|
9452
10986
|
});
|
|
9453
10987
|
};
|
|
9454
|
-
exports.
|
|
10988
|
+
exports.assetBulkActionV2ApiControllerDisableMaintenance = assetBulkActionV2ApiControllerDisableMaintenance;
|
|
9455
10989
|
/**
|
|
9456
|
-
*
|
|
10990
|
+
* Add tag(s) to multiple assets
|
|
10991
|
+
* Add tags to one or more Binalyze AIR assets in one call via POST /api/v2/assets/tags. This APPENDS the given tags to the assets in assets[]; it is not a full replacement (use air-assets-tags to replace one asset's whole tag set). Idempotent: assets that already carry a tag are not re-updated but still report 'tags-added'. Success response (200): result.entities[] = {asset{id,name}, action 'tags-added', addedTags[]}; unresolved/skipped inputs land in result.warnings[] = {asset, action 'skipped', reason}. Zero resolved assets -> 404 'No assets matched'. ALWAYS send dryRun=true first (preview); pass dryRun=false only to apply the real tag add after the user confirms the asset list. UUID entries carry their own org; ambiguous names may need organizations.
|
|
9457
10992
|
*/
|
|
9458
|
-
const
|
|
10993
|
+
const assetBulkMetadataV2ApiControllerAddTags = (options) => {
|
|
9459
10994
|
return (options.client ?? client_gen_1.client).post({
|
|
9460
10995
|
responseType: 'json',
|
|
9461
10996
|
security: [
|
|
@@ -9469,7 +11004,7 @@ const assetActionV2ApiControllerEnableMaintenance = (options) => {
|
|
|
9469
11004
|
type: 'http'
|
|
9470
11005
|
}
|
|
9471
11006
|
],
|
|
9472
|
-
url: '/api/v2/assets/
|
|
11007
|
+
url: '/api/v2/assets/tags',
|
|
9473
11008
|
...options,
|
|
9474
11009
|
headers: {
|
|
9475
11010
|
'Content-Type': 'application/json',
|
|
@@ -9477,11 +11012,12 @@ const assetActionV2ApiControllerEnableMaintenance = (options) => {
|
|
|
9477
11012
|
}
|
|
9478
11013
|
});
|
|
9479
11014
|
};
|
|
9480
|
-
exports.
|
|
11015
|
+
exports.assetBulkMetadataV2ApiControllerAddTags = assetBulkMetadataV2ApiControllerAddTags;
|
|
9481
11016
|
/**
|
|
9482
|
-
*
|
|
11017
|
+
* Remove tag(s) from multiple assets
|
|
11018
|
+
* Remove tags from one or more Binalyze AIR assets in one call via POST /api/v2/assets/tags/delete. This DELETES the given tags from the assets in assets[] (only the listed tags are removed; other tags stay; the tag catalog row itself is not deleted). Responses (200): real removal returns result.entities[] = {asset{id,name}, action 'tags-removed', removedTags[]}; with ?dryRun=true the action is 'would-remove-tags' and nothing changes. Zero resolved assets -> 404 'No assets matched'. ALWAYS send dryRun=true first (schema-specific would-remove preview); pass dryRun=false only to apply the real tag removal after the user confirms the asset list. UUID entries carry their own org; ambiguous names may need organizations.
|
|
9483
11019
|
*/
|
|
9484
|
-
const
|
|
11020
|
+
const assetBulkMetadataV2ApiControllerRemoveTags = (options) => {
|
|
9485
11021
|
return (options.client ?? client_gen_1.client).post({
|
|
9486
11022
|
responseType: 'json',
|
|
9487
11023
|
security: [
|
|
@@ -9495,7 +11031,7 @@ const assetActionV2ApiControllerDisableMaintenance = (options) => {
|
|
|
9495
11031
|
type: 'http'
|
|
9496
11032
|
}
|
|
9497
11033
|
],
|
|
9498
|
-
url: '/api/v2/assets/
|
|
11034
|
+
url: '/api/v2/assets/tags/delete',
|
|
9499
11035
|
...options,
|
|
9500
11036
|
headers: {
|
|
9501
11037
|
'Content-Type': 'application/json',
|
|
@@ -9503,12 +11039,13 @@ const assetActionV2ApiControllerDisableMaintenance = (options) => {
|
|
|
9503
11039
|
}
|
|
9504
11040
|
});
|
|
9505
11041
|
};
|
|
9506
|
-
exports.
|
|
11042
|
+
exports.assetBulkMetadataV2ApiControllerRemoveTags = assetBulkMetadataV2ApiControllerRemoveTags;
|
|
9507
11043
|
/**
|
|
9508
|
-
*
|
|
11044
|
+
* Set the update-exclusion flag on multiple assets
|
|
11045
|
+
* Set or clear the 'excluded from automatic agent updates' flag on one or more Binalyze AIR assets via PATCH /api/v2/assets/update-exclusion. excludedFromUpdates=true excludes the assets from auto-updates; false re-includes them. Success response (200): result.entities[] only contains assets that were actually updated ({asset{id,name}, action 'update-exclusion-set', excludedFromUpdates, updatedAt}); assets with an unsupported OS are NOT updated and land in result.warnings[] with action 'skipped' and reason 'Asset has unsupported OS for update'. entities may be empty when every asset was skipped -- report that honestly, do not claim an update. Zero resolved assets -> 404 'No assets matched'. ALWAYS send dryRun=true first (generic preview); pass dryRun=false only to apply the real change after the user confirms the asset list. UUID entries carry their own org; ambiguous names may need organizations.
|
|
9509
11046
|
*/
|
|
9510
|
-
const
|
|
9511
|
-
return (options.client ?? client_gen_1.client).
|
|
11047
|
+
const assetBulkMetadataV2ApiControllerSetUpdateExclusion = (options) => {
|
|
11048
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
9512
11049
|
responseType: 'json',
|
|
9513
11050
|
security: [
|
|
9514
11051
|
{
|
|
@@ -9521,16 +11058,21 @@ const assetActionV2ApiControllerImportPpcToExistingAsset = (options) => {
|
|
|
9521
11058
|
type: 'http'
|
|
9522
11059
|
}
|
|
9523
11060
|
],
|
|
9524
|
-
url: '/api/v2/assets/
|
|
9525
|
-
...options
|
|
11061
|
+
url: '/api/v2/assets/update-exclusion',
|
|
11062
|
+
...options,
|
|
11063
|
+
headers: {
|
|
11064
|
+
'Content-Type': 'application/json',
|
|
11065
|
+
...options.headers
|
|
11066
|
+
}
|
|
9526
11067
|
});
|
|
9527
11068
|
};
|
|
9528
|
-
exports.
|
|
11069
|
+
exports.assetBulkMetadataV2ApiControllerSetUpdateExclusion = assetBulkMetadataV2ApiControllerSetUpdateExclusion;
|
|
9529
11070
|
/**
|
|
9530
|
-
*
|
|
11071
|
+
* Set or clear the relay connection route on multiple assets
|
|
11072
|
+
* Set or clear the relay-server connection route of one or more Binalyze AIR assets via PATCH /api/v2/assets/connection-route. relayServerId is the numeric relay server id to route through; pass null to CLEAR the route (direct connection). The relay server's organization must match the assets' organization. ALWAYS send dryRun=true on every call (would-change preview of resolved assets and warnings); pass dryRun=false only to apply the real change after the user confirms the asset list. UUID entries carry their own org; ambiguous names may need organizations.
|
|
9531
11073
|
*/
|
|
9532
|
-
const
|
|
9533
|
-
return (options.client ?? client_gen_1.client).
|
|
11074
|
+
const assetBulkMetadataV2ApiControllerSetConnectionRoute = (options) => {
|
|
11075
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
9534
11076
|
responseType: 'json',
|
|
9535
11077
|
security: [
|
|
9536
11078
|
{
|
|
@@ -9543,7 +11085,7 @@ const assetBulkActionV2ApiControllerReboot = (options) => {
|
|
|
9543
11085
|
type: 'http'
|
|
9544
11086
|
}
|
|
9545
11087
|
],
|
|
9546
|
-
url: '/api/v2/
|
|
11088
|
+
url: '/api/v2/assets/connection-route',
|
|
9547
11089
|
...options,
|
|
9548
11090
|
headers: {
|
|
9549
11091
|
'Content-Type': 'application/json',
|
|
@@ -9551,12 +11093,13 @@ const assetBulkActionV2ApiControllerReboot = (options) => {
|
|
|
9551
11093
|
}
|
|
9552
11094
|
});
|
|
9553
11095
|
};
|
|
9554
|
-
exports.
|
|
11096
|
+
exports.assetBulkMetadataV2ApiControllerSetConnectionRoute = assetBulkMetadataV2ApiControllerSetConnectionRoute;
|
|
9555
11097
|
/**
|
|
9556
|
-
*
|
|
11098
|
+
* Set the demanded MITRE ATT&CK Database version on multiple assets
|
|
11099
|
+
* Set the demanded MITRE ATT&CK database version on one or more Binalyze AIR assets via PATCH /api/v2/assets/mitre-attack-database/version. This is the MITRE ATT&CK DATABASE version, not the agent version (use air-assets-bulk-version-update for the agent). PRECONDITIONS: (1) MITRE auto-update must be OFF, otherwise the call fails 400 with code MITRE_AUTO_UPDATE_ENABLED and a message telling how to disable it (PUT /api/public/settings/mitre-attack-database with autoUpdateEnabled=false). (2) version must be one that EXISTS in the system -- versions look like '13.5.2' (no 'v' prefix); list them via GET /api/public/settings/mitre-attack-database/versions; an unknown version fails 400 'is not available in the system'. Success response (200): result.entities[] only contains assets that were actually updated ({asset{id,name}, action 'mitre-database-updated', version, assignedAt}); INELIGIBLE assets are NOT updated and land in result.warnings[] with action 'skipped' and a reason ('Asset subtype is not endpoint', 'Asset is not managed', or 'Agent build does not support MITRE database updates'). entities may be empty when every asset was skipped -- report that honestly, do not claim an update. ALWAYS send dryRun=true first (generic preview; it does NOT check auto-update or version validity); pass dryRun=false only to apply the real change after the user confirms. UUID entries carry their own org; ambiguous names may need organizations.
|
|
9557
11100
|
*/
|
|
9558
|
-
const
|
|
9559
|
-
return (options.client ?? client_gen_1.client).
|
|
11101
|
+
const assetBulkMetadataV2ApiControllerSetMitreDatabaseVersion = (options) => {
|
|
11102
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
9560
11103
|
responseType: 'json',
|
|
9561
11104
|
security: [
|
|
9562
11105
|
{
|
|
@@ -9569,7 +11112,7 @@ const assetBulkActionV2ApiControllerShutdown = (options) => {
|
|
|
9569
11112
|
type: 'http'
|
|
9570
11113
|
}
|
|
9571
11114
|
],
|
|
9572
|
-
url: '/api/v2/
|
|
11115
|
+
url: '/api/v2/assets/mitre-attack-database/version',
|
|
9573
11116
|
...options,
|
|
9574
11117
|
headers: {
|
|
9575
11118
|
'Content-Type': 'application/json',
|
|
@@ -9577,11 +11120,12 @@ const assetBulkActionV2ApiControllerShutdown = (options) => {
|
|
|
9577
11120
|
}
|
|
9578
11121
|
});
|
|
9579
11122
|
};
|
|
9580
|
-
exports.
|
|
11123
|
+
exports.assetBulkMetadataV2ApiControllerSetMitreDatabaseVersion = assetBulkMetadataV2ApiControllerSetMitreDatabaseVersion;
|
|
9581
11124
|
/**
|
|
9582
|
-
*
|
|
11125
|
+
* Bulk delete assets (purge / uninstall / purge-and-uninstall)
|
|
11126
|
+
* Delete / decommission one or more Binalyze AIR assets via POST /api/v2/assets/delete. DESTRUCTIVE and largely irreversible (uninstall signals a real agent). mode selects the action: 'purge' (remove console records + evidence files; agent stays), 'uninstall' (uninstall the agent; records stay), or 'purge-and-uninstall' (both). mode 'purge' additionally requires the PurgeWithoutUninstall feature flag; when disabled the call fails 403 Forbidden. Invalid mode -> 400. Zero resolved assets -> 404 'No assets matched'. Responses: dryRun preview (200) returns result.entities[] = {asset{id,name}, mode, action 'would-delete', effects[] (e.g. 'agent-uninstall','console-records','evidence-files')}; the REAL delete (200) returns result = { deletedCount, warnings[] }. ALWAYS send dryRun=true first and show the user the per-asset effects; pass dryRun=false only after the user explicitly confirms the exact asset list and mode. UUID entries carry their own org; ambiguous names may need organizations. Use failIfNumberOfAssetsGreaterThan as a safety cap.
|
|
9583
11127
|
*/
|
|
9584
|
-
const
|
|
11128
|
+
const assetBulkMetadataV2ApiControllerDeleteAssets = (options) => {
|
|
9585
11129
|
return (options.client ?? client_gen_1.client).post({
|
|
9586
11130
|
responseType: 'json',
|
|
9587
11131
|
security: [
|
|
@@ -9595,7 +11139,7 @@ const assetBulkActionV2ApiControllerIsolate = (options) => {
|
|
|
9595
11139
|
type: 'http'
|
|
9596
11140
|
}
|
|
9597
11141
|
],
|
|
9598
|
-
url: '/api/v2/
|
|
11142
|
+
url: '/api/v2/assets/delete',
|
|
9599
11143
|
...options,
|
|
9600
11144
|
headers: {
|
|
9601
11145
|
'Content-Type': 'application/json',
|
|
@@ -9603,12 +11147,14 @@ const assetBulkActionV2ApiControllerIsolate = (options) => {
|
|
|
9603
11147
|
}
|
|
9604
11148
|
});
|
|
9605
11149
|
};
|
|
9606
|
-
exports.
|
|
11150
|
+
exports.assetBulkMetadataV2ApiControllerDeleteAssets = assetBulkMetadataV2ApiControllerDeleteAssets;
|
|
9607
11151
|
/**
|
|
9608
|
-
*
|
|
11152
|
+
* Import an off-network PPC (find-or-create asset + offline task)
|
|
11153
|
+
* Import an OFF-NETWORK Task.dat via POST /api/v2/assets/import (multipart upload) and create an OFFLINE TASK (offline-triage or offline-acquisition). IMPORTANT semantics: this endpoint does NOT create or find an asset -- it only creates a task from the uploaded Task.dat (the asset is resolved later, when the evidence collection zip is imported into the task). The file must be a valid RC4-encrypted Task.dat; anything else (e.g. a regular case .ppc) is rejected 400 'Missing or invalid Task.dat format!'. Requires the Off-Network Responder feature. Success response (200): result.entities[0] = { taskId, taskName, organizations: [{ id, name }], taskDetailsViewUrl, ppcFileName, importedAt } -- a task summary, no asset id/name. organizations must resolve to EXACTLY ONE organization id (the task is single-org). Optionally attach to a case via caseIdOrName (unknown case -> 400 'Case not found'). ALWAYS send dryRun=true first (generic preview; does not validate the file); pass dryRun=false only to perform the real import after the user confirms. To import a case PPC into an asset that already exists in AIR, use air-assets-import instead.
|
|
9609
11154
|
*/
|
|
9610
|
-
const
|
|
11155
|
+
const assetBulkMetadataV2ApiControllerImportOffNetworkPpc = (options) => {
|
|
9611
11156
|
return (options.client ?? client_gen_1.client).post({
|
|
11157
|
+
...client_1.formDataBodySerializer,
|
|
9612
11158
|
responseType: 'json',
|
|
9613
11159
|
security: [
|
|
9614
11160
|
{
|
|
@@ -9621,19 +11167,20 @@ const assetBulkActionV2ApiControllerUnisolate = (options) => {
|
|
|
9621
11167
|
type: 'http'
|
|
9622
11168
|
}
|
|
9623
11169
|
],
|
|
9624
|
-
url: '/api/v2/
|
|
11170
|
+
url: '/api/v2/assets/import',
|
|
9625
11171
|
...options,
|
|
9626
11172
|
headers: {
|
|
9627
|
-
'Content-Type':
|
|
11173
|
+
'Content-Type': null,
|
|
9628
11174
|
...options.headers
|
|
9629
11175
|
}
|
|
9630
11176
|
});
|
|
9631
11177
|
};
|
|
9632
|
-
exports.
|
|
11178
|
+
exports.assetBulkMetadataV2ApiControllerImportOffNetworkPpc = assetBulkMetadataV2ApiControllerImportOffNetworkPpc;
|
|
9633
11179
|
/**
|
|
9634
|
-
*
|
|
11180
|
+
* Run triage rule(s) on multiple assets
|
|
11181
|
+
* Run triage rule(s) IMMEDIATELY on one or more Binalyze AIR assets via POST /api/v2/triage. Creates ONE triage task (status 'assigned') covering every runnable asset. This tool is for IMMEDIATE runs only -- it deliberately has NO schedule and NO cpuLimit parameter. To create a recurring/scheduled triage (or set a CPU cap), use air-assets-bulk-triage-scheduled instead; do NOT try to pass schedule fields here. ruleIds accept a rule UUID OR an exact rule name (names are resolved within the assets' authorized org scope; an ambiguous or unknown name becomes a per-input error in result.errors[]). NEVER invent or guess a rule id/name -- if the user did not give one, ask or look it up first. OMIT every optional argument the user did not ask for; never fill placeholders (no empty strings). Use assertions.failIfNumberOfAssetsGreaterThan as a safety cap: the task is rejected (406) if more assets match than the cap allows; omitted, it defaults to the resolved asset count. Success response (200): result.entities[0] = { id (task id), name, assets { assetCount, assetsUrl }, assignedAssetCount, organizations [{id,name}], rules [{id,name,engine}], status 'assigned', source, createdBy, createdAt, taskDetailsViewUrl }; result.errors[] lists per-input skips (e.g. 'Asset not found: X'). Zero matching assets -> 404 'No matching assets found'; zero matching rules -> 404 'No matching triage rules found'. ALWAYS send dryRun=true first (generic preview; it does NOT validate rules); pass dryRun=false only to create the real task after the user confirms. A preview is NOT a created task; only dryRun=false with ok=true and a returned task id means it was created -- treat ok=false / non-2xx / the error field as failure. Supports Idempotency-Key so a retried call replays the first response instead of creating duplicate tasks.
|
|
9635
11182
|
*/
|
|
9636
|
-
const
|
|
11183
|
+
const assetBulkTriageV2ApiControllerRunTriage = (options) => {
|
|
9637
11184
|
return (options.client ?? client_gen_1.client).post({
|
|
9638
11185
|
responseType: 'json',
|
|
9639
11186
|
security: [
|
|
@@ -9647,7 +11194,7 @@ const assetBulkActionV2ApiControllerRetrieveLogs = (options) => {
|
|
|
9647
11194
|
type: 'http'
|
|
9648
11195
|
}
|
|
9649
11196
|
],
|
|
9650
|
-
url: '/api/v2/
|
|
11197
|
+
url: '/api/v2/triage',
|
|
9651
11198
|
...options,
|
|
9652
11199
|
headers: {
|
|
9653
11200
|
'Content-Type': 'application/json',
|
|
@@ -9655,12 +11202,13 @@ const assetBulkActionV2ApiControllerRetrieveLogs = (options) => {
|
|
|
9655
11202
|
}
|
|
9656
11203
|
});
|
|
9657
11204
|
};
|
|
9658
|
-
exports.
|
|
11205
|
+
exports.assetBulkTriageV2ApiControllerRunTriage = assetBulkTriageV2ApiControllerRunTriage;
|
|
9659
11206
|
/**
|
|
9660
|
-
*
|
|
11207
|
+
* List InterAct messages for an asset
|
|
11208
|
+
* List the InterAct shell messages of EXACTLY ONE Binalyze AIR asset across all its sessions via GET /api/v2/assets/{idOrName}/interact. Read-only; returns a paginated envelope of messages (command + latest response, status, detectedType, output/outputUrl). Supports filtering by session and creation date range. Use this when the user asks for an asset's shell command history. Prefer UUID; names can be ambiguous across organizations. Omit any filter the user did not ask for. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9661
11209
|
*/
|
|
9662
|
-
const
|
|
9663
|
-
return (options.client ?? client_gen_1.client).
|
|
11210
|
+
const assetInteractMessageV2ApiControllerListForAsset = (options) => {
|
|
11211
|
+
return (options.client ?? client_gen_1.client).get({
|
|
9664
11212
|
responseType: 'json',
|
|
9665
11213
|
security: [
|
|
9666
11214
|
{
|
|
@@ -9673,19 +11221,16 @@ const assetBulkActionV2ApiControllerVersionUpdate = (options) => {
|
|
|
9673
11221
|
type: 'http'
|
|
9674
11222
|
}
|
|
9675
11223
|
],
|
|
9676
|
-
url: '/api/v2/
|
|
9677
|
-
...options
|
|
9678
|
-
headers: {
|
|
9679
|
-
'Content-Type': 'application/json',
|
|
9680
|
-
...options.headers
|
|
9681
|
-
}
|
|
11224
|
+
url: '/api/v2/assets/{idOrName}/interact',
|
|
11225
|
+
...options
|
|
9682
11226
|
});
|
|
9683
11227
|
};
|
|
9684
|
-
exports.
|
|
11228
|
+
exports.assetInteractMessageV2ApiControllerListForAsset = assetInteractMessageV2ApiControllerListForAsset;
|
|
9685
11229
|
/**
|
|
9686
|
-
*
|
|
11230
|
+
* Run an InterAct command on an asset
|
|
11231
|
+
* Run an InterAct shell command on EXACTLY ONE Binalyze AIR asset via POST /api/v2/assets/{idOrName}/interact. WARNING: this endpoint has NO dry-run preview -- a successful call EXECUTES the command on the live endpoint IMMEDIATELY. Confirm the exact asset and command with the user before calling; never run a destructive command without explicit confirmation. Sync mode (default) waits for the result up to the server timeout and returns 200 with the message (output inlined when small, else outputUrl); a timeout or async=true returns 202 with status 'running' and a messageId to poll. COMMAND ROUTING: when the first word matches an AIR native command (ls/dir, cd, ...; list via air-interact-commands), the NATIVE implementation runs -- it has its own option set and does NOT accept POSIX/shell flags (e.g. 'ls -la' fails; the native form is 'ls ext'). For a real shell command, prefix it with exec (e.g. 'exec ls -la /etc'); anything that matches no native command is auto-run as exec. When a native command fails on its flag parser, the response's `hint` field explains this and gives the exec form -- relay it to the user. Use the returned sessionId/messageId with air-assets-interact-message, air-assets-interact-cancel, or air-assets-interact-close. Prefer UUID; names can be ambiguous across organizations. If the asset name looks partial or you are not certain it is the EXACT name (e.g. user says 'mrv'), do not ask the user to clarify blindly -- either call this tool with that name (a non-matching name is safe: it executes nothing and returns HTTP 404 with suggestions) or first resolve it with air-assets-filtered-list using searchTerm=<the name>, then confirm with the user. Likewise, if the COMMAND looks like a typo of an AIR native command (e.g. 'pslt'), do not guess from memory -- call air-interact-commands (optionally searchTerm) and suggest the closest real command name from its `commandNames`; note a non-native command may still be a valid shell command, so only offer 'did you mean' when a close native match exists. Also: when a run COMPLETES with a failed command (non-zero exit) that was an unrecognized native command, the response body (not the error envelope) surfaces `suggestions` as native-command NAME strings (e.g. ['pslist']) -- distinct from the asset-name suggestion objects on a 404 -- tell the user 'the command failed; did you mean <name>?' and offer to re-run the corrected command. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id. Omit optional arguments the user did not ask for.
|
|
9687
11232
|
*/
|
|
9688
|
-
const
|
|
11233
|
+
const assetInteractV2ApiControllerRunCommand = (options) => {
|
|
9689
11234
|
return (options.client ?? client_gen_1.client).post({
|
|
9690
11235
|
responseType: 'json',
|
|
9691
11236
|
security: [
|
|
@@ -9699,7 +11244,7 @@ const assetBulkActionV2ApiControllerEnableMaintenance = (options) => {
|
|
|
9699
11244
|
type: 'http'
|
|
9700
11245
|
}
|
|
9701
11246
|
],
|
|
9702
|
-
url: '/api/v2/
|
|
11247
|
+
url: '/api/v2/assets/{idOrName}/interact',
|
|
9703
11248
|
...options,
|
|
9704
11249
|
headers: {
|
|
9705
11250
|
'Content-Type': 'application/json',
|
|
@@ -9707,11 +11252,12 @@ const assetBulkActionV2ApiControllerEnableMaintenance = (options) => {
|
|
|
9707
11252
|
}
|
|
9708
11253
|
});
|
|
9709
11254
|
};
|
|
9710
|
-
exports.
|
|
11255
|
+
exports.assetInteractV2ApiControllerRunCommand = assetInteractV2ApiControllerRunCommand;
|
|
9711
11256
|
/**
|
|
9712
|
-
*
|
|
11257
|
+
* Cancel the running InterAct command on an asset
|
|
11258
|
+
* Cancel the running InterAct shell command on EXACTLY ONE Binalyze AIR asset via POST /api/v2/assets/{idOrName}/interact/cancel. WARNING: this endpoint has NO dry-run preview -- it sends a real interrupt to the running command; the session stays open. With no body it cancels the caller's active session's running command. Pass messageId to target a specific running message, or sessionId to target a specific session. Cancellation is best-effort (the agent confirms asynchronously); the returned message may still read as running. 404 'No active session' / 'Message not found' when nothing matches; 400 'No running command to cancel' / 'Message is not running' when there is nothing to interrupt. Prefer UUID for the asset. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9713
11259
|
*/
|
|
9714
|
-
const
|
|
11260
|
+
const assetInteractV2ApiControllerCancelCommand = (options) => {
|
|
9715
11261
|
return (options.client ?? client_gen_1.client).post({
|
|
9716
11262
|
responseType: 'json',
|
|
9717
11263
|
security: [
|
|
@@ -9725,7 +11271,7 @@ const assetBulkActionV2ApiControllerDisableMaintenance = (options) => {
|
|
|
9725
11271
|
type: 'http'
|
|
9726
11272
|
}
|
|
9727
11273
|
],
|
|
9728
|
-
url: '/api/v2/
|
|
11274
|
+
url: '/api/v2/assets/{idOrName}/interact/cancel',
|
|
9729
11275
|
...options,
|
|
9730
11276
|
headers: {
|
|
9731
11277
|
'Content-Type': 'application/json',
|
|
@@ -9733,11 +11279,12 @@ const assetBulkActionV2ApiControllerDisableMaintenance = (options) => {
|
|
|
9733
11279
|
}
|
|
9734
11280
|
});
|
|
9735
11281
|
};
|
|
9736
|
-
exports.
|
|
11282
|
+
exports.assetInteractV2ApiControllerCancelCommand = assetInteractV2ApiControllerCancelCommand;
|
|
9737
11283
|
/**
|
|
9738
|
-
*
|
|
11284
|
+
* Close the InterAct session on an asset
|
|
11285
|
+
* Close the InterAct shell session on EXACTLY ONE Binalyze AIR asset via POST /api/v2/assets/{idOrName}/interact/close. WARNING: this endpoint has NO dry-run preview -- it really closes the session. With no body it closes the caller's active session; pass sessionId to target a specific session. If the session has running commands and force is omitted/false, the API returns 400 with errors[0].details.runningMessageIds; set force=true to cancel those commands first and then close. Success returns { sessionId, closedAt, cancelledMessageIds[] }. 404 'No active session' when nothing matches. Prefer UUID for the asset. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9739
11286
|
*/
|
|
9740
|
-
const
|
|
11287
|
+
const assetInteractV2ApiControllerCloseSession = (options) => {
|
|
9741
11288
|
return (options.client ?? client_gen_1.client).post({
|
|
9742
11289
|
responseType: 'json',
|
|
9743
11290
|
security: [
|
|
@@ -9751,7 +11298,7 @@ const assetBulkMetadataV2ApiControllerAddTags = (options) => {
|
|
|
9751
11298
|
type: 'http'
|
|
9752
11299
|
}
|
|
9753
11300
|
],
|
|
9754
|
-
url: '/api/v2/assets/
|
|
11301
|
+
url: '/api/v2/assets/{idOrName}/interact/close',
|
|
9755
11302
|
...options,
|
|
9756
11303
|
headers: {
|
|
9757
11304
|
'Content-Type': 'application/json',
|
|
@@ -9759,12 +11306,13 @@ const assetBulkMetadataV2ApiControllerAddTags = (options) => {
|
|
|
9759
11306
|
}
|
|
9760
11307
|
});
|
|
9761
11308
|
};
|
|
9762
|
-
exports.
|
|
11309
|
+
exports.assetInteractV2ApiControllerCloseSession = assetInteractV2ApiControllerCloseSession;
|
|
9763
11310
|
/**
|
|
9764
|
-
*
|
|
11311
|
+
* Get asset issue/actionability stats
|
|
11312
|
+
* Get aggregate Binalyze AIR asset statistics from GET /api/v2/assets/stats. Use this for fleet summaries, counts, and breakdowns, not for listing individual assets. Only include filters when the user explicitly asks for scoped stats.
|
|
9765
11313
|
*/
|
|
9766
|
-
const
|
|
9767
|
-
return (options
|
|
11314
|
+
const assetV2ApiControllerGetStats = (options) => {
|
|
11315
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
9768
11316
|
responseType: 'json',
|
|
9769
11317
|
security: [
|
|
9770
11318
|
{
|
|
@@ -9777,21 +11325,18 @@ const assetBulkMetadataV2ApiControllerRemoveTags = (options) => {
|
|
|
9777
11325
|
type: 'http'
|
|
9778
11326
|
}
|
|
9779
11327
|
],
|
|
9780
|
-
url: '/api/v2/assets/
|
|
9781
|
-
...options
|
|
9782
|
-
headers: {
|
|
9783
|
-
'Content-Type': 'application/json',
|
|
9784
|
-
...options.headers
|
|
9785
|
-
}
|
|
11328
|
+
url: '/api/v2/assets/stats',
|
|
11329
|
+
...options
|
|
9786
11330
|
});
|
|
9787
11331
|
};
|
|
9788
|
-
exports.
|
|
11332
|
+
exports.assetV2ApiControllerGetStats = assetV2ApiControllerGetStats;
|
|
9789
11333
|
/**
|
|
9790
|
-
*
|
|
11334
|
+
* Export assets as CSV
|
|
11335
|
+
* Export Binalyze AIR assets as a CSV file via GET /api/v2/assets/export and save it inside the current worktree. Read-only on the server side; no dryRun needed. The filter model mirrors air-assets-filtered-list (searchTerm, subtype, status, platform, isolation), but tag filtering (tagIds) is NOT applied on export. organizations defaults to all accessible organizations when omitted. Returns {outputPath, byteLength}; default output is artifacts/assets.csv. Use air-assets-list or air-assets-filtered-list instead when the user just wants to read assets in the chat.
|
|
9791
11336
|
*/
|
|
9792
|
-
const
|
|
9793
|
-
return (options
|
|
9794
|
-
responseType: '
|
|
11337
|
+
const assetV2ApiControllerExportAssets = (options) => {
|
|
11338
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
11339
|
+
responseType: 'text',
|
|
9795
11340
|
security: [
|
|
9796
11341
|
{
|
|
9797
11342
|
in: 'cookie',
|
|
@@ -9803,20 +11348,17 @@ const assetBulkMetadataV2ApiControllerSetUpdateExclusion = (options) => {
|
|
|
9803
11348
|
type: 'http'
|
|
9804
11349
|
}
|
|
9805
11350
|
],
|
|
9806
|
-
url: '/api/v2/assets/
|
|
9807
|
-
...options
|
|
9808
|
-
headers: {
|
|
9809
|
-
'Content-Type': 'application/json',
|
|
9810
|
-
...options.headers
|
|
9811
|
-
}
|
|
11351
|
+
url: '/api/v2/assets/export',
|
|
11352
|
+
...options
|
|
9812
11353
|
});
|
|
9813
11354
|
};
|
|
9814
|
-
exports.
|
|
11355
|
+
exports.assetV2ApiControllerExportAssets = assetV2ApiControllerExportAssets;
|
|
9815
11356
|
/**
|
|
9816
|
-
*
|
|
11357
|
+
* List assets
|
|
11358
|
+
* List Binalyze AIR assets with explicit filters, organization scope, pagination, sorting, or output format. Use this only when the user asks for a constrained asset list, such as offline Windows endpoints, page 2, assets with no agent, or markdown output. For subtype-only prompts like 'filter by disk image', prefer air-assets-by-subtype. If a small model sends searchTerm=diskImage here, this tool normalizes it to subtype=['diskImage']. Placeholder defaults such as organizations=all, pageNumber=1, pageSize=20, sortType without sortBy, and false booleans are ignored.
|
|
9817
11359
|
*/
|
|
9818
|
-
const
|
|
9819
|
-
return (options
|
|
11360
|
+
const assetV2ApiControllerFilterAssets = (options) => {
|
|
11361
|
+
return (options?.client ?? client_gen_1.client).get({
|
|
9820
11362
|
responseType: 'json',
|
|
9821
11363
|
security: [
|
|
9822
11364
|
{
|
|
@@ -9829,20 +11371,17 @@ const assetBulkMetadataV2ApiControllerSetConnectionRoute = (options) => {
|
|
|
9829
11371
|
type: 'http'
|
|
9830
11372
|
}
|
|
9831
11373
|
],
|
|
9832
|
-
url: '/api/v2/assets
|
|
9833
|
-
...options
|
|
9834
|
-
headers: {
|
|
9835
|
-
'Content-Type': 'application/json',
|
|
9836
|
-
...options.headers
|
|
9837
|
-
}
|
|
11374
|
+
url: '/api/v2/assets',
|
|
11375
|
+
...options
|
|
9838
11376
|
});
|
|
9839
11377
|
};
|
|
9840
|
-
exports.
|
|
11378
|
+
exports.assetV2ApiControllerFilterAssets = assetV2ApiControllerFilterAssets;
|
|
9841
11379
|
/**
|
|
9842
|
-
*
|
|
11380
|
+
* Delete an asset by id or name
|
|
11381
|
+
* Delete or uninstall EXACTLY ONE Binalyze AIR asset, identified by a single id or name in the path, using DELETE /api/v2/assets/{idOrName}. This is destructive. ALWAYS send dryRun=true on every call (would-delete preview); pass dryRun=false only for the final real delete after the user confirms the exact asset id and mode. Use mode='purge' for console record deletion only, 'uninstall' for agent uninstall signal, and 'purge-and-uninstall' for both. Prefer UUID; names can be ambiguous. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9843
11382
|
*/
|
|
9844
|
-
const
|
|
9845
|
-
return (options.client ?? client_gen_1.client).
|
|
11383
|
+
const assetV2ApiControllerDeleteAsset = (options) => {
|
|
11384
|
+
return (options.client ?? client_gen_1.client).delete({
|
|
9846
11385
|
responseType: 'json',
|
|
9847
11386
|
security: [
|
|
9848
11387
|
{
|
|
@@ -9855,20 +11394,17 @@ const assetBulkMetadataV2ApiControllerSetMitreDatabaseVersion = (options) => {
|
|
|
9855
11394
|
type: 'http'
|
|
9856
11395
|
}
|
|
9857
11396
|
],
|
|
9858
|
-
url: '/api/v2/assets/
|
|
9859
|
-
...options
|
|
9860
|
-
headers: {
|
|
9861
|
-
'Content-Type': 'application/json',
|
|
9862
|
-
...options.headers
|
|
9863
|
-
}
|
|
11397
|
+
url: '/api/v2/assets/{idOrName}',
|
|
11398
|
+
...options
|
|
9864
11399
|
});
|
|
9865
11400
|
};
|
|
9866
|
-
exports.
|
|
11401
|
+
exports.assetV2ApiControllerDeleteAsset = assetV2ApiControllerDeleteAsset;
|
|
9867
11402
|
/**
|
|
9868
|
-
*
|
|
11403
|
+
* Get asset by id or name
|
|
11404
|
+
* Fetch one Binalyze AIR asset by UUID or name using GET /api/v2/assets/{idOrName}. Use this when the user wants details for a specific host/asset. Prefer UUID because names can be duplicated. If the API returns AMBIGUOUS_NAME, show the candidates and retry only with the selected id. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9869
11405
|
*/
|
|
9870
|
-
const
|
|
9871
|
-
return (options.client ?? client_gen_1.client).
|
|
11406
|
+
const assetV2ApiControllerGetAsset = (options) => {
|
|
11407
|
+
return (options.client ?? client_gen_1.client).get({
|
|
9872
11408
|
responseType: 'json',
|
|
9873
11409
|
security: [
|
|
9874
11410
|
{
|
|
@@ -9881,21 +11417,17 @@ const assetBulkMetadataV2ApiControllerDeleteAssets = (options) => {
|
|
|
9881
11417
|
type: 'http'
|
|
9882
11418
|
}
|
|
9883
11419
|
],
|
|
9884
|
-
url: '/api/v2/assets/
|
|
9885
|
-
...options
|
|
9886
|
-
headers: {
|
|
9887
|
-
'Content-Type': 'application/json',
|
|
9888
|
-
...options.headers
|
|
9889
|
-
}
|
|
11420
|
+
url: '/api/v2/assets/{idOrName}',
|
|
11421
|
+
...options
|
|
9890
11422
|
});
|
|
9891
11423
|
};
|
|
9892
|
-
exports.
|
|
11424
|
+
exports.assetV2ApiControllerGetAsset = assetV2ApiControllerGetAsset;
|
|
9893
11425
|
/**
|
|
9894
|
-
*
|
|
11426
|
+
* Replace asset tags
|
|
11427
|
+
* Replace the complete tag set of one Binalyze AIR asset using PATCH /api/v2/assets/{idOrName}/tags. Use this only when the user asks to set, replace, update, or clear tags. This is a full replacement, not an append operation. ALWAYS send dryRun=true on every call (would-change preview); pass dryRun=false only to apply the real tag change after the user confirms the exact asset. Prefer UUID because asset names can be ambiguous; retry by id if AMBIGUOUS_NAME is returned. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9895
11428
|
*/
|
|
9896
|
-
const
|
|
9897
|
-
return (options.client ?? client_gen_1.client).
|
|
9898
|
-
...client_1.formDataBodySerializer,
|
|
11429
|
+
const assetV2ApiControllerReplaceTags = (options) => {
|
|
11430
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
9899
11431
|
responseType: 'json',
|
|
9900
11432
|
security: [
|
|
9901
11433
|
{
|
|
@@ -9908,20 +11440,21 @@ const assetBulkMetadataV2ApiControllerImportOffNetworkPpc = (options) => {
|
|
|
9908
11440
|
type: 'http'
|
|
9909
11441
|
}
|
|
9910
11442
|
],
|
|
9911
|
-
url: '/api/v2/assets/
|
|
11443
|
+
url: '/api/v2/assets/{idOrName}/tags',
|
|
9912
11444
|
...options,
|
|
9913
11445
|
headers: {
|
|
9914
|
-
'Content-Type':
|
|
11446
|
+
'Content-Type': 'application/json',
|
|
9915
11447
|
...options.headers
|
|
9916
11448
|
}
|
|
9917
11449
|
});
|
|
9918
11450
|
};
|
|
9919
|
-
exports.
|
|
11451
|
+
exports.assetV2ApiControllerReplaceTags = assetV2ApiControllerReplaceTags;
|
|
9920
11452
|
/**
|
|
9921
|
-
*
|
|
11453
|
+
* Update asset label
|
|
11454
|
+
* Set or clear the label of one Binalyze AIR asset using PATCH /api/v2/assets/{idOrName}/label. Use this only for asset label changes, not tags. Pass a string to set the label or null to clear it. ALWAYS send dryRun=true on every call (would-change preview); pass dryRun=false only to apply the real label change after the user confirms the exact asset. Prefer UUID because asset names can be ambiguous; retry by id if AMBIGUOUS_NAME is returned. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9922
11455
|
*/
|
|
9923
|
-
const
|
|
9924
|
-
return (options.client ?? client_gen_1.client).
|
|
11456
|
+
const assetV2ApiControllerUpdateLabel = (options) => {
|
|
11457
|
+
return (options.client ?? client_gen_1.client).patch({
|
|
9925
11458
|
responseType: 'json',
|
|
9926
11459
|
security: [
|
|
9927
11460
|
{
|
|
@@ -9934,7 +11467,7 @@ const assetBulkTriageV2ApiControllerRunTriage = (options) => {
|
|
|
9934
11467
|
type: 'http'
|
|
9935
11468
|
}
|
|
9936
11469
|
],
|
|
9937
|
-
url: '/api/v2/
|
|
11470
|
+
url: '/api/v2/assets/{idOrName}/label',
|
|
9938
11471
|
...options,
|
|
9939
11472
|
headers: {
|
|
9940
11473
|
'Content-Type': 'application/json',
|
|
@@ -9942,10 +11475,10 @@ const assetBulkTriageV2ApiControllerRunTriage = (options) => {
|
|
|
9942
11475
|
}
|
|
9943
11476
|
});
|
|
9944
11477
|
};
|
|
9945
|
-
exports.
|
|
11478
|
+
exports.assetV2ApiControllerUpdateLabel = assetV2ApiControllerUpdateLabel;
|
|
9946
11479
|
/**
|
|
9947
|
-
* List the
|
|
9948
|
-
* List the triage task history of a
|
|
11480
|
+
* List the hunt task history of a single asset
|
|
11481
|
+
* List the hunt (triage) task history of EXACTLY ONE Binalyze AIR asset via GET /api/v2/assets/{idOrName}/hunt (formerly /triage). Read-only; returns a paginated envelope of the triage tasks previously run on that asset. Use this when the user asks for an asset's past/ongoing triage tasks. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9949
11482
|
*/
|
|
9950
11483
|
const assetTriageV2ApiControllerFilterTriageTasks = (options) => {
|
|
9951
11484
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -9961,13 +11494,14 @@ const assetTriageV2ApiControllerFilterTriageTasks = (options) => {
|
|
|
9961
11494
|
type: 'http'
|
|
9962
11495
|
}
|
|
9963
11496
|
],
|
|
9964
|
-
url: '/api/v2/assets/{idOrName}/
|
|
11497
|
+
url: '/api/v2/assets/{idOrName}/hunt',
|
|
9965
11498
|
...options
|
|
9966
11499
|
});
|
|
9967
11500
|
};
|
|
9968
11501
|
exports.assetTriageV2ApiControllerFilterTriageTasks = assetTriageV2ApiControllerFilterTriageTasks;
|
|
9969
11502
|
/**
|
|
9970
11503
|
* Run triage rule(s) on a single asset
|
|
11504
|
+
* Run hunt (triage) rule(s) on EXACTLY ONE Binalyze AIR asset via POST /api/v2/assets/{idOrName}/hunt (formerly /triage). Use this ONLY for one specific asset; for two or more assets, a list, a group, or 'all matching', use air-assets-bulk-triage instead. WARNING: this endpoint has NO dry-run preview -- a successful call creates a REAL triage task IMMEDIATELY (or a scheduled one when `schedule` is set). Confirm the exact asset and rules with the user before calling. ruleIds accept a rule UUID OR an exact rule name (names are resolved within the asset's authorized org scope; unknown/ambiguous names become per-input errors). NEVER invent or guess a rule id/name. Omit every optional argument the user did not ask for; never fill placeholders. Only a 2xx response with a returned task id means the task was created -- treat ok=false / non-2xx / the error field as failure. Supports Idempotency-Key so a retried call replays the first response instead of creating duplicate tasks. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9971
11505
|
*/
|
|
9972
11506
|
const assetTriageV2ApiControllerRunTriage = (options) => {
|
|
9973
11507
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -9983,7 +11517,7 @@ const assetTriageV2ApiControllerRunTriage = (options) => {
|
|
|
9983
11517
|
type: 'http'
|
|
9984
11518
|
}
|
|
9985
11519
|
],
|
|
9986
|
-
url: '/api/v2/assets/{idOrName}/
|
|
11520
|
+
url: '/api/v2/assets/{idOrName}/hunt',
|
|
9987
11521
|
...options,
|
|
9988
11522
|
headers: {
|
|
9989
11523
|
'Content-Type': 'application/json',
|
|
@@ -9994,6 +11528,7 @@ const assetTriageV2ApiControllerRunTriage = (options) => {
|
|
|
9994
11528
|
exports.assetTriageV2ApiControllerRunTriage = assetTriageV2ApiControllerRunTriage;
|
|
9995
11529
|
/**
|
|
9996
11530
|
* Cancel triage tasks on a single asset
|
|
11531
|
+
* Cancel triage (hunt) tasks on EXACTLY ONE Binalyze AIR asset via POST /api/v2/assets/{idOrName}/triage/cancel. Use this ONLY for one specific asset's triage tasks. For cancelling a whole hunt task across all its assets, use air-hunt-cancel instead. `tasks` is ALWAYS required: an array of parent task UUIDs, or the literal string 'all' to cancel every cancellable triage task of this asset. ALWAYS send dryRun=true on every call (would-run preview); pass dryRun=false only to send the real cancellation after the user confirms the exact asset and tasks. Prefer UUID for the asset; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
9997
11532
|
*/
|
|
9998
11533
|
const assetTriageV2ApiControllerCancelTriage = (options) => {
|
|
9999
11534
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -10009,7 +11544,7 @@ const assetTriageV2ApiControllerCancelTriage = (options) => {
|
|
|
10009
11544
|
type: 'http'
|
|
10010
11545
|
}
|
|
10011
11546
|
],
|
|
10012
|
-
url: '/api/v2/assets/{idOrName}/
|
|
11547
|
+
url: '/api/v2/assets/{idOrName}/hunt/cancel',
|
|
10013
11548
|
...options,
|
|
10014
11549
|
headers: {
|
|
10015
11550
|
'Content-Type': 'application/json',
|
|
@@ -10020,6 +11555,7 @@ const assetTriageV2ApiControllerCancelTriage = (options) => {
|
|
|
10020
11555
|
exports.assetTriageV2ApiControllerCancelTriage = assetTriageV2ApiControllerCancelTriage;
|
|
10021
11556
|
/**
|
|
10022
11557
|
* Delete one asset's triage task assignment
|
|
11558
|
+
* Delete ONE asset's triage (hunt) task assignment via DELETE /api/v2/assets/{idOrName}/triage/{taskId}. DESTRUCTIVE and irreversible once executed: removes this asset's assignment of the given parent triage task, including its collected results for this asset. Other assets' assignments of the same task are NOT touched; to delete the whole task everywhere, use air-hunt-delete instead. ALWAYS send dryRun=true on every call (would-delete preview); pass dryRun=false only after the user confirms the exact asset and task. taskId must be the parent task UUID (see air-assets-triage-history). Prefer UUID for the asset; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10023
11559
|
*/
|
|
10024
11560
|
const assetTriageV2ApiControllerDeleteTriageAssignment = (options) => {
|
|
10025
11561
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -10035,13 +11571,14 @@ const assetTriageV2ApiControllerDeleteTriageAssignment = (options) => {
|
|
|
10035
11571
|
type: 'http'
|
|
10036
11572
|
}
|
|
10037
11573
|
],
|
|
10038
|
-
url: '/api/v2/assets/{idOrName}/
|
|
11574
|
+
url: '/api/v2/assets/{idOrName}/hunt/{taskId}',
|
|
10039
11575
|
...options
|
|
10040
11576
|
});
|
|
10041
11577
|
};
|
|
10042
11578
|
exports.assetTriageV2ApiControllerDeleteTriageAssignment = assetTriageV2ApiControllerDeleteTriageAssignment;
|
|
10043
11579
|
/**
|
|
10044
11580
|
* Start an evidence or image acquisition on a single asset
|
|
11581
|
+
* Start an evidence or disk-image acquisition on EXACTLY ONE Binalyze AIR asset via POST /api/v2/assets/{idOrName}/acquire. WARNING: this endpoint has NO dry-run preview -- a successful call starts a REAL acquisition task IMMEDIATELY (or a scheduled one when `schedule` is set). Confirm the exact asset, type, and profile/image options with the user before calling. type='evidence' (default) REQUIRES profileIdOrName and accepts NO image-specific field. type='image' REQUIRES imageType + at least one volume, accepts NO profileIdOrName, and description/examinerName are EWF2-only. The server rejects cross-type field combinations with 400. profileIdOrName / caseIdOrName accept a UUID or an exact name resolved within the asset's org scope. NEVER invent or guess a profile/case id. Omit every optional argument the user did not ask for; never fill placeholders. Only a 2xx response with a returned task id means the task was started -- treat ok=false / non-2xx / the error field as failure. Supports Idempotency-Key so a retried call replays the first response instead of starting duplicate tasks. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10045
11582
|
*/
|
|
10046
11583
|
const assetAcquisitionV2ApiControllerAcquire = (options) => {
|
|
10047
11584
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -10068,6 +11605,7 @@ const assetAcquisitionV2ApiControllerAcquire = (options) => {
|
|
|
10068
11605
|
exports.assetAcquisitionV2ApiControllerAcquire = assetAcquisitionV2ApiControllerAcquire;
|
|
10069
11606
|
/**
|
|
10070
11607
|
* Cancel acquisition tasks on a single asset
|
|
11608
|
+
* Cancel evidence/image acquisition tasks on EXACTLY ONE Binalyze AIR asset via POST /api/v2/assets/{idOrName}/acquisition/cancel. Use this ONLY for one specific asset's acquisition tasks (started with air-assets-acquire). `tasks` is ALWAYS required: an array of parent task UUIDs, or the literal string 'all' to cancel every cancellable acquisition task of this asset. ALWAYS send dryRun=true on every call (would-run preview); pass dryRun=false only to send the real cancellation after the user confirms the exact asset and tasks. Prefer UUID for the asset; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10071
11609
|
*/
|
|
10072
11610
|
const assetAcquisitionV2ApiControllerCancelAcquisition = (options) => {
|
|
10073
11611
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -10094,6 +11632,7 @@ const assetAcquisitionV2ApiControllerCancelAcquisition = (options) => {
|
|
|
10094
11632
|
exports.assetAcquisitionV2ApiControllerCancelAcquisition = assetAcquisitionV2ApiControllerCancelAcquisition;
|
|
10095
11633
|
/**
|
|
10096
11634
|
* Delete one asset's acquisition task assignment
|
|
11635
|
+
* Delete ONE asset's acquisition task assignment via DELETE /api/v2/assets/{idOrName}/acquisition/{taskId}. DESTRUCTIVE and irreversible once executed: removes this asset's assignment of the given parent acquisition task, including its collected evidence for this asset. Other assets' assignments of the same task are NOT touched. ALWAYS send dryRun=true on every call (would-delete preview); pass dryRun=false only after the user confirms the exact asset and task. taskId must be the parent task UUID (see air-assets-acquisition-history). Prefer UUID for the asset; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10097
11636
|
*/
|
|
10098
11637
|
const assetAcquisitionV2ApiControllerDeleteAcquisitionAssignment = (options) => {
|
|
10099
11638
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -10116,7 +11655,7 @@ const assetAcquisitionV2ApiControllerDeleteAcquisitionAssignment = (options) =>
|
|
|
10116
11655
|
exports.assetAcquisitionV2ApiControllerDeleteAcquisitionAssignment = assetAcquisitionV2ApiControllerDeleteAcquisitionAssignment;
|
|
10117
11656
|
/**
|
|
10118
11657
|
* List the acquisition task history of a single asset
|
|
10119
|
-
* List the acquisition task history of a
|
|
11658
|
+
* List the acquisition (evidence/image) task history of EXACTLY ONE Binalyze AIR asset via GET /api/v2/assets/{idOrName}/acquisition. Read-only; returns a paginated envelope of the acquisition tasks previously started on that asset. Use this when the user asks for an asset's past/ongoing acquisition tasks. Prefer UUID; names can be ambiguous across organizations. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10120
11659
|
*/
|
|
10121
11660
|
const assetAcquisitionV2ApiControllerFilterAcquisitionTasks = (options) => {
|
|
10122
11661
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -10137,113 +11676,9 @@ const assetAcquisitionV2ApiControllerFilterAcquisitionTasks = (options) => {
|
|
|
10137
11676
|
});
|
|
10138
11677
|
};
|
|
10139
11678
|
exports.assetAcquisitionV2ApiControllerFilterAcquisitionTasks = assetAcquisitionV2ApiControllerFilterAcquisitionTasks;
|
|
10140
|
-
/**
|
|
10141
|
-
* List InterAct messages for an asset
|
|
10142
|
-
* Paginated InterAct command messages for the asset across all of its sessions.
|
|
10143
|
-
*/
|
|
10144
|
-
const assetInteractMessageV2ApiControllerListForAsset = (options) => {
|
|
10145
|
-
return (options.client ?? client_gen_1.client).get({
|
|
10146
|
-
responseType: 'json',
|
|
10147
|
-
security: [
|
|
10148
|
-
{
|
|
10149
|
-
in: 'cookie',
|
|
10150
|
-
name: 'Authentication',
|
|
10151
|
-
type: 'apiKey'
|
|
10152
|
-
},
|
|
10153
|
-
{
|
|
10154
|
-
scheme: 'bearer',
|
|
10155
|
-
type: 'http'
|
|
10156
|
-
}
|
|
10157
|
-
],
|
|
10158
|
-
url: '/api/v2/assets/{idOrName}/interact',
|
|
10159
|
-
...options
|
|
10160
|
-
});
|
|
10161
|
-
};
|
|
10162
|
-
exports.assetInteractMessageV2ApiControllerListForAsset = assetInteractMessageV2ApiControllerListForAsset;
|
|
10163
|
-
/**
|
|
10164
|
-
* Run an InterAct command on an asset
|
|
10165
|
-
* Runs a command; sync returns the message (200), async/timeout returns 202.
|
|
10166
|
-
*/
|
|
10167
|
-
const assetInteractV2ApiControllerRunCommand = (options) => {
|
|
10168
|
-
return (options.client ?? client_gen_1.client).post({
|
|
10169
|
-
responseType: 'json',
|
|
10170
|
-
security: [
|
|
10171
|
-
{
|
|
10172
|
-
in: 'cookie',
|
|
10173
|
-
name: 'Authentication',
|
|
10174
|
-
type: 'apiKey'
|
|
10175
|
-
},
|
|
10176
|
-
{
|
|
10177
|
-
scheme: 'bearer',
|
|
10178
|
-
type: 'http'
|
|
10179
|
-
}
|
|
10180
|
-
],
|
|
10181
|
-
url: '/api/v2/assets/{idOrName}/interact',
|
|
10182
|
-
...options,
|
|
10183
|
-
headers: {
|
|
10184
|
-
'Content-Type': 'application/json',
|
|
10185
|
-
...options.headers
|
|
10186
|
-
}
|
|
10187
|
-
});
|
|
10188
|
-
};
|
|
10189
|
-
exports.assetInteractV2ApiControllerRunCommand = assetInteractV2ApiControllerRunCommand;
|
|
10190
|
-
/**
|
|
10191
|
-
* Cancel the running InterAct command on an asset
|
|
10192
|
-
* Cancels the target/active running command; the session stays open.
|
|
10193
|
-
*/
|
|
10194
|
-
const assetInteractV2ApiControllerCancelCommand = (options) => {
|
|
10195
|
-
return (options.client ?? client_gen_1.client).post({
|
|
10196
|
-
responseType: 'json',
|
|
10197
|
-
security: [
|
|
10198
|
-
{
|
|
10199
|
-
in: 'cookie',
|
|
10200
|
-
name: 'Authentication',
|
|
10201
|
-
type: 'apiKey'
|
|
10202
|
-
},
|
|
10203
|
-
{
|
|
10204
|
-
scheme: 'bearer',
|
|
10205
|
-
type: 'http'
|
|
10206
|
-
}
|
|
10207
|
-
],
|
|
10208
|
-
url: '/api/v2/assets/{idOrName}/interact/cancel',
|
|
10209
|
-
...options,
|
|
10210
|
-
headers: {
|
|
10211
|
-
'Content-Type': 'application/json',
|
|
10212
|
-
...options.headers
|
|
10213
|
-
}
|
|
10214
|
-
});
|
|
10215
|
-
};
|
|
10216
|
-
exports.assetInteractV2ApiControllerCancelCommand = assetInteractV2ApiControllerCancelCommand;
|
|
10217
|
-
/**
|
|
10218
|
-
* Close the InterAct session on an asset
|
|
10219
|
-
* Closes the active/target session; force=true cancels running commands first.
|
|
10220
|
-
*/
|
|
10221
|
-
const assetInteractV2ApiControllerCloseSession = (options) => {
|
|
10222
|
-
return (options.client ?? client_gen_1.client).post({
|
|
10223
|
-
responseType: 'json',
|
|
10224
|
-
security: [
|
|
10225
|
-
{
|
|
10226
|
-
in: 'cookie',
|
|
10227
|
-
name: 'Authentication',
|
|
10228
|
-
type: 'apiKey'
|
|
10229
|
-
},
|
|
10230
|
-
{
|
|
10231
|
-
scheme: 'bearer',
|
|
10232
|
-
type: 'http'
|
|
10233
|
-
}
|
|
10234
|
-
],
|
|
10235
|
-
url: '/api/v2/assets/{idOrName}/interact/close',
|
|
10236
|
-
...options,
|
|
10237
|
-
headers: {
|
|
10238
|
-
'Content-Type': 'application/json',
|
|
10239
|
-
...options.headers
|
|
10240
|
-
}
|
|
10241
|
-
});
|
|
10242
|
-
};
|
|
10243
|
-
exports.assetInteractV2ApiControllerCloseSession = assetInteractV2ApiControllerCloseSession;
|
|
10244
11679
|
/**
|
|
10245
11680
|
* List InterAct sessions for an asset
|
|
10246
|
-
*
|
|
11681
|
+
* List the InterAct shell sessions of EXACTLY ONE Binalyze AIR asset via GET /api/v2/assets/{idOrName}/interact/sessions. Read-only; returns a paginated envelope of sessions (activityState active/idle, createdBy, task, case, messageCount, timestamps). Supports filtering by session, creator, and creation date; sortable by createdAt. Use this when the user asks for an asset's shell sessions. Prefer UUID; names can be ambiguous across organizations. Omit any filter the user did not ask for. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10247
11682
|
*/
|
|
10248
11683
|
const assetInteractMessageV2ApiControllerListSessionsForAsset = (options) => {
|
|
10249
11684
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -10266,7 +11701,7 @@ const assetInteractMessageV2ApiControllerListSessionsForAsset = (options) => {
|
|
|
10266
11701
|
exports.assetInteractMessageV2ApiControllerListSessionsForAsset = assetInteractMessageV2ApiControllerListSessionsForAsset;
|
|
10267
11702
|
/**
|
|
10268
11703
|
* Get an InterAct message scoped to an asset
|
|
10269
|
-
*
|
|
11704
|
+
* Fetch ONE InterAct shell message of a Binalyze AIR asset by message UUID via GET /api/v2/assets/{idOrName}/interact/{messageId}. Read-only; returns the unified message entity (command, status, output/outputUrl, exitCode, timestamps). Use this to poll a 'running' message returned by air-assets-interact-run, or to inspect one specific message. The message must belong to the asset, otherwise the API returns 404. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10270
11705
|
*/
|
|
10271
11706
|
const assetInteractMessageV2ApiControllerGetMessage = (options) => {
|
|
10272
11707
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -10289,7 +11724,7 @@ const assetInteractMessageV2ApiControllerGetMessage = (options) => {
|
|
|
10289
11724
|
exports.assetInteractMessageV2ApiControllerGetMessage = assetInteractMessageV2ApiControllerGetMessage;
|
|
10290
11725
|
/**
|
|
10291
11726
|
* Download an InterAct message output
|
|
10292
|
-
*
|
|
11727
|
+
* Download the output of ONE InterAct shell message of a Binalyze AIR asset via GET /api/v2/assets/{idOrName}/interact/{messageId}/download. Read-only; the endpoint streams the message output as an attachment (it bypasses the JSON envelope). This tool saves the bytes to a file inside the current worktree (outputPath, default artifacts/interact-message-output.bin) and returns { outputPath, byteLength }; read the saved file for the content. Use this for a message whose output is too large to inline (outputUrl is set). The message must be terminal -- a still-running message returns 400. On HTTP 404 the asset name or message id was not found; verify the asset with air-assets-get and the message with air-assets-interact-messages before retrying.
|
|
10293
11728
|
*/
|
|
10294
11729
|
const assetInteractMessageV2ApiControllerDownloadMessageOutput = (options) => {
|
|
10295
11730
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -10312,7 +11747,7 @@ const assetInteractMessageV2ApiControllerDownloadMessageOutput = (options) => {
|
|
|
10312
11747
|
exports.assetInteractMessageV2ApiControllerDownloadMessageOutput = assetInteractMessageV2ApiControllerDownloadMessageOutput;
|
|
10313
11748
|
/**
|
|
10314
11749
|
* Get an InterAct session report scoped to an asset
|
|
10315
|
-
*
|
|
11750
|
+
* Get the InterAct shell session report of a Binalyze AIR asset via GET /api/v2/assets/{idOrName}/interact/sessions/{sessionId}/report. Read-only; returns a self-contained session report. format='json' (default) returns the structured report envelope (session, asset, messages, messageCount, lastActivityAt); format='html' returns the rendered HTML report (this tool returns a preview of the HTML plus its byte length). Use a sessionId from air-assets-interact-sessions. The session must belong to the asset, otherwise the API returns 404. Prefer UUID for the asset. On HTTP 404 with errors[0].details.suggestions, the asset name was not found -- show those suggestions to the user and confirm before retrying, never guess; on HTTP 400 AMBIGUOUS_NAME with errors[0].details.matches, ask which asset by id.
|
|
10316
11751
|
*/
|
|
10317
11752
|
const assetInteractMessageV2ApiControllerGetSessionReport = (options) => {
|
|
10318
11753
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -10830,6 +12265,7 @@ const automationHubFilterAutomations = (options) => {
|
|
|
10830
12265
|
exports.automationHubFilterAutomations = automationHubFilterAutomations;
|
|
10831
12266
|
const automationHubCreateAutomation = (options) => {
|
|
10832
12267
|
return (options.client ?? client_gen_1.client).post({
|
|
12268
|
+
responseType: 'json',
|
|
10833
12269
|
security: [
|
|
10834
12270
|
{
|
|
10835
12271
|
scheme: 'bearer',
|
|
@@ -10979,6 +12415,20 @@ const automationHubGetAutomationChangeHistory = (options) => {
|
|
|
10979
12415
|
});
|
|
10980
12416
|
};
|
|
10981
12417
|
exports.automationHubGetAutomationChangeHistory = automationHubGetAutomationChangeHistory;
|
|
12418
|
+
const automationHubGenerateTriggerSecret = (options) => {
|
|
12419
|
+
return (options.client ?? client_gen_1.client).post({
|
|
12420
|
+
responseType: 'json',
|
|
12421
|
+
security: [
|
|
12422
|
+
{
|
|
12423
|
+
scheme: 'bearer',
|
|
12424
|
+
type: 'http'
|
|
12425
|
+
}
|
|
12426
|
+
],
|
|
12427
|
+
url: '/api/public/automation-hub/{id}/trigger/secret',
|
|
12428
|
+
...options
|
|
12429
|
+
});
|
|
12430
|
+
};
|
|
12431
|
+
exports.automationHubGenerateTriggerSecret = automationHubGenerateTriggerSecret;
|
|
10982
12432
|
const automationHubEnableAutomation = (options) => {
|
|
10983
12433
|
return (options.client ?? client_gen_1.client).patch({
|
|
10984
12434
|
security: [
|
|
@@ -11256,6 +12706,7 @@ const cloudAcquisitionProfilesUpdate = (options) => {
|
|
|
11256
12706
|
exports.cloudAcquisitionProfilesUpdate = cloudAcquisitionProfilesUpdate;
|
|
11257
12707
|
/**
|
|
11258
12708
|
* List cloud acquisition profiles
|
|
12709
|
+
* List Binalyze AIR cloud (M365) acquisition profiles via GET /api/v2/libraries/acquisition/cloud. Read-only and paginated. Each entity is a profile summary: id, name, organizations[{id,name}], averageTime, createdAt/createdBy, lastUsedAt/lastUsedBy, deletable, and a detailsUrl. The m365UserBased/m365TenantWide evidence lists are NOT included; use air-acquisition-cloud-get for one profile's full config. Use this when the user asks to list or search cloud acquisition profiles, or needs a profile id or exact name before get, update, delete, or bulk delete. sortBy accepts only name, createdBy, createdAt, lastUsedAt, lastUsedBy (default createdAt). Profiles with an empty organizations array are global.
|
|
11259
12710
|
*/
|
|
11260
12711
|
const cloudAcquisitionLibraryApiControllerList = (options) => {
|
|
11261
12712
|
return (options?.client ?? client_gen_1.client).get({
|
|
@@ -11278,6 +12729,7 @@ const cloudAcquisitionLibraryApiControllerList = (options) => {
|
|
|
11278
12729
|
exports.cloudAcquisitionLibraryApiControllerList = cloudAcquisitionLibraryApiControllerList;
|
|
11279
12730
|
/**
|
|
11280
12731
|
* Create cloud acquisition profile
|
|
12732
|
+
* Create a Binalyze AIR cloud (M365) acquisition profile via POST /api/v2/libraries/acquisition/cloud. MUTATING: persists a new profile. Returns 200 with entities[0] = the created profile detail. `name` (alphanumeric) plus BOTH m365UserBased and m365TenantWide blocks are required; each block is {evidenceList: string[]} and at least one evidence must be selected across the two blocks. Body `organizationIds` controls which organizations own the profile; common query `organizations`, `orgs`, and `org` parameters are rejected. Evidence keys are lowercase M365 collector names, e.g. user-based: outlookmails, onedrive, teams, teamschat, calendar, mfa, user; tenant-wide: ual, adminauditlog, azureadaccountlogon, sharepoint, exchangeadmin, riskyusers. dryRun DEFAULTS TO TRUE: the first call validates and returns the would-be entity without persisting anything; pass dryRun=false only to actually create after the user confirms. Inspect an existing profile with air-acquisition-cloud-get for the full list of valid evidence keys.
|
|
11281
12733
|
*/
|
|
11282
12734
|
const cloudAcquisitionLibraryApiControllerCreate = (options) => {
|
|
11283
12735
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -11304,6 +12756,7 @@ const cloudAcquisitionLibraryApiControllerCreate = (options) => {
|
|
|
11304
12756
|
exports.cloudAcquisitionLibraryApiControllerCreate = cloudAcquisitionLibraryApiControllerCreate;
|
|
11305
12757
|
/**
|
|
11306
12758
|
* Bulk delete cloud acquisition profiles
|
|
12759
|
+
* Bulk delete Binalyze AIR cloud (M365) acquisition profiles via POST /api/v2/libraries/acquisition/cloud/delete. MUTATING and irreversible. Resolution is tolerant: unknown or ambiguous items are skipped and reported in warnings[] (action: 'skipped') instead of failing the whole request. System profiles are also skipped with a warning. dryRun DEFAULTS TO TRUE: the first call returns entities[] of what would be deleted; pass dryRun=false only to actually delete after the user confirms. A real delete returns deletedCount plus warnings[]. Use this for several profiles at once; use air-acquisition-cloud-delete for exactly one. Ids and exact names come from air-acquisition-cloud-list.
|
|
11307
12760
|
*/
|
|
11308
12761
|
const cloudAcquisitionLibraryApiControllerBulkDelete = (options) => {
|
|
11309
12762
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -11330,6 +12783,7 @@ const cloudAcquisitionLibraryApiControllerBulkDelete = (options) => {
|
|
|
11330
12783
|
exports.cloudAcquisitionLibraryApiControllerBulkDelete = cloudAcquisitionLibraryApiControllerBulkDelete;
|
|
11331
12784
|
/**
|
|
11332
12785
|
* Delete cloud acquisition profile
|
|
12786
|
+
* Delete ONE Binalyze AIR cloud (M365) acquisition profile via DELETE /api/v2/libraries/acquisition/cloud/{idOrName}. MUTATING and irreversible. System (predefined) profiles cannot be deleted: the API returns 406 SYSTEM_PROFILE_IMMUTABLE. dryRun DEFAULTS TO TRUE: the first call returns what would be deleted without removing anything; pass dryRun=false only to actually delete after the user confirms. Use air-acquisition-cloud-bulk-delete for several profiles at once. The idOrName comes from air-acquisition-cloud-list or air-acquisition-cloud-get. An unknown idOrName returns 404 NOT_FOUND with suggestions; an ambiguous name returns 400 AMBIGUOUS_NAME.
|
|
11333
12787
|
*/
|
|
11334
12788
|
const cloudAcquisitionLibraryApiControllerDelete = (options) => {
|
|
11335
12789
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -11352,6 +12806,7 @@ const cloudAcquisitionLibraryApiControllerDelete = (options) => {
|
|
|
11352
12806
|
exports.cloudAcquisitionLibraryApiControllerDelete = cloudAcquisitionLibraryApiControllerDelete;
|
|
11353
12807
|
/**
|
|
11354
12808
|
* Get cloud acquisition profile by id or name
|
|
12809
|
+
* Get ONE Binalyze AIR cloud (M365) acquisition profile by UUID or exact name via GET /api/v2/libraries/acquisition/cloud/{idOrName}. Read-only. Returns the full profile detail in entities[0]: id, name, organizations[{id,name}], m365UserBased.evidenceList, m365TenantWide.evidenceList, deletable, and timestamps. Use this when the user asks to show or inspect a cloud acquisition profile's evidence selection, to clone one, or to discover valid M365 evidence keys. Ids and exact names come from air-acquisition-cloud-list. An unknown idOrName returns 404 NOT_FOUND with did-you-mean suggestions in errors[0].details.suggestions[]; an ambiguous name returns 400 AMBIGUOUS_NAME with candidates in errors[0].details.matches[].
|
|
11355
12810
|
*/
|
|
11356
12811
|
const cloudAcquisitionLibraryApiControllerGet = (options) => {
|
|
11357
12812
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -11374,6 +12829,7 @@ const cloudAcquisitionLibraryApiControllerGet = (options) => {
|
|
|
11374
12829
|
exports.cloudAcquisitionLibraryApiControllerGet = cloudAcquisitionLibraryApiControllerGet;
|
|
11375
12830
|
/**
|
|
11376
12831
|
* Update cloud acquisition profile
|
|
12832
|
+
* Update ONE Binalyze AIR cloud (M365) acquisition profile via PATCH /api/v2/libraries/acquisition/cloud/{idOrName}. MUTATING partial update: only the fields you pass change; omitted fields keep their current value. Updatable fields: name, organizationIds, m365UserBased, m365TenantWide. A passed evidence block REPLACES that whole block. The merged profile must keep at least one M365 evidence selected across the two blocks (a name-only patch is fine). Sending no updatable field returns NOTHING_CHANGED with result null. System (predefined) profiles cannot be updated: the API returns 406 SYSTEM_PROFILE_IMMUTABLE. dryRun DEFAULTS TO TRUE: the first call previews the merged profile without persisting; pass dryRun=false only to actually update after the user confirms. The idOrName comes from air-acquisition-cloud-list or air-acquisition-cloud-get. An unknown idOrName returns 404 NOT_FOUND with suggestions; an ambiguous name returns 400 AMBIGUOUS_NAME.
|
|
11377
12833
|
*/
|
|
11378
12834
|
const cloudAcquisitionLibraryApiControllerUpdate = (options) => {
|
|
11379
12835
|
return (options.client ?? client_gen_1.client).patch({
|
|
@@ -11518,6 +12974,7 @@ const imageEvidenceAcquisitionProfilesDeleteBulk = (options) => {
|
|
|
11518
12974
|
exports.imageEvidenceAcquisitionProfilesDeleteBulk = imageEvidenceAcquisitionProfilesDeleteBulk;
|
|
11519
12975
|
/**
|
|
11520
12976
|
* List disk image acquisition profiles
|
|
12977
|
+
* List Binalyze AIR disk-image acquisition profiles via GET /api/v2/libraries/acquisition/disk-image. Read-only and paginated. Requires the image-evidence-acquisition feature to be enabled on the Console. Each entity is a profile summary: id, name, organizations[{id,name}], averageTime, createdAt/updatedAt, createdBy, lastUsedAt/lastUsedBy, deletable, and a detailsUrl. allFiles/paths/evidence config is NOT included; use air-acquisition-disk-image-get for one profile's full config. Use this when the user asks to list or search disk-image (forensic imaging) profiles, or needs a profile id or exact name before get, update, delete, or bulk delete. sortBy accepts only name, createdAt, updatedAt, lastUsedAt, createdBy, lastUsedBy (default createdAt). Profiles with an empty organizations array are global.
|
|
11521
12978
|
*/
|
|
11522
12979
|
const diskImageAcquisitionLibraryApiControllerList = (options) => {
|
|
11523
12980
|
return (options?.client ?? client_gen_1.client).get({
|
|
@@ -11540,6 +12997,7 @@ const diskImageAcquisitionLibraryApiControllerList = (options) => {
|
|
|
11540
12997
|
exports.diskImageAcquisitionLibraryApiControllerList = diskImageAcquisitionLibraryApiControllerList;
|
|
11541
12998
|
/**
|
|
11542
12999
|
* Create disk image acquisition profile
|
|
13000
|
+
* Create a Binalyze AIR disk-image acquisition profile via POST /api/v2/libraries/acquisition/disk-image. MUTATING: persists a new profile. Returns 200 with entities[0] = the created profile detail. Requires the image-evidence-acquisition feature to be enabled on the Console. `name` is required (alphanumeric). Scope is either allFiles=true (full image) OR a `paths` list of directories/files to image; the allFiles/paths combination must be consistent (a profile cannot have both allFiles=true and paths). `imageAcquisitionEvidences` optionally selects extra evidence to collect alongside the image. Body `organizationIds` controls which organizations own the profile; common query `organizations`, `orgs`, and `org` parameters are rejected. dryRun DEFAULTS TO TRUE: the first call validates and returns the would-be entity without persisting anything; pass dryRun=false only to actually create after the user confirms. Inspect an existing profile with air-acquisition-disk-image-get when cloning or when unsure of valid evidence keys.
|
|
11543
13001
|
*/
|
|
11544
13002
|
const diskImageAcquisitionLibraryApiControllerCreate = (options) => {
|
|
11545
13003
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -11566,6 +13024,7 @@ const diskImageAcquisitionLibraryApiControllerCreate = (options) => {
|
|
|
11566
13024
|
exports.diskImageAcquisitionLibraryApiControllerCreate = diskImageAcquisitionLibraryApiControllerCreate;
|
|
11567
13025
|
/**
|
|
11568
13026
|
* Bulk delete disk image acquisition profiles
|
|
13027
|
+
* Bulk delete Binalyze AIR disk-image acquisition profiles via POST /api/v2/libraries/acquisition/disk-image/delete. MUTATING and irreversible. Requires the image-evidence-acquisition feature to be enabled on the Console. Resolution is tolerant: unknown or ambiguous items are skipped and reported in warnings[] (action: 'skipped') instead of failing the whole request. System profiles are also skipped with a warning. dryRun DEFAULTS TO TRUE: the first call returns entities[] of what would be deleted; pass dryRun=false only to actually delete after the user confirms. A real delete returns deletedCount plus warnings[]. Use this for several profiles at once; use air-acquisition-disk-image-delete for exactly one. Ids and exact names come from air-acquisition-disk-image-list.
|
|
11569
13028
|
*/
|
|
11570
13029
|
const diskImageAcquisitionLibraryApiControllerBulkDelete = (options) => {
|
|
11571
13030
|
return (options.client ?? client_gen_1.client).post({
|
|
@@ -11592,6 +13051,7 @@ const diskImageAcquisitionLibraryApiControllerBulkDelete = (options) => {
|
|
|
11592
13051
|
exports.diskImageAcquisitionLibraryApiControllerBulkDelete = diskImageAcquisitionLibraryApiControllerBulkDelete;
|
|
11593
13052
|
/**
|
|
11594
13053
|
* Delete disk image acquisition profile
|
|
13054
|
+
* Delete ONE Binalyze AIR disk-image acquisition profile via DELETE /api/v2/libraries/acquisition/disk-image/{idOrName}. MUTATING and irreversible. Requires the image-evidence-acquisition feature to be enabled on the Console. System (predefined) profiles cannot be deleted: the API returns 406 SYSTEM_PROFILE_IMMUTABLE. dryRun DEFAULTS TO TRUE: the first call returns what would be deleted without removing anything; pass dryRun=false only to actually delete after the user confirms. Use air-acquisition-disk-image-bulk-delete for several profiles at once. The idOrName comes from air-acquisition-disk-image-list or air-acquisition-disk-image-get. An unknown idOrName returns 404 NOT_FOUND with suggestions; an ambiguous name returns 400 AMBIGUOUS_NAME.
|
|
11595
13055
|
*/
|
|
11596
13056
|
const diskImageAcquisitionLibraryApiControllerDelete = (options) => {
|
|
11597
13057
|
return (options.client ?? client_gen_1.client).delete({
|
|
@@ -11614,6 +13074,7 @@ const diskImageAcquisitionLibraryApiControllerDelete = (options) => {
|
|
|
11614
13074
|
exports.diskImageAcquisitionLibraryApiControllerDelete = diskImageAcquisitionLibraryApiControllerDelete;
|
|
11615
13075
|
/**
|
|
11616
13076
|
* Get disk image acquisition profile by id or name
|
|
13077
|
+
* Get ONE Binalyze AIR disk-image acquisition profile by UUID or exact name via GET /api/v2/libraries/acquisition/disk-image/{idOrName}. Read-only. Requires the image-evidence-acquisition feature to be enabled on the Console. Returns the full profile detail in entities[0]: id, name, organizations[{id,name}], allFiles, paths[] ({path, description}), imageAcquisitionEvidences, deletable, and timestamps. Use this when the user asks to show or inspect a disk-image profile's scope, or to clone one. Ids and exact names come from air-acquisition-disk-image-list. An unknown idOrName returns 404 NOT_FOUND with did-you-mean suggestions in errors[0].details.suggestions[]; an ambiguous name returns 400 AMBIGUOUS_NAME with candidates in errors[0].details.matches[].
|
|
11617
13078
|
*/
|
|
11618
13079
|
const diskImageAcquisitionLibraryApiControllerGet = (options) => {
|
|
11619
13080
|
return (options.client ?? client_gen_1.client).get({
|
|
@@ -11636,6 +13097,7 @@ const diskImageAcquisitionLibraryApiControllerGet = (options) => {
|
|
|
11636
13097
|
exports.diskImageAcquisitionLibraryApiControllerGet = diskImageAcquisitionLibraryApiControllerGet;
|
|
11637
13098
|
/**
|
|
11638
13099
|
* Update disk image acquisition profile
|
|
13100
|
+
* Update ONE Binalyze AIR disk-image acquisition profile via PATCH /api/v2/libraries/acquisition/disk-image/{idOrName}. MUTATING partial update: only the fields you pass change; omitted fields keep their current value. Requires the image-evidence-acquisition feature. Updatable fields: name, organizationIds, allFiles, paths, imageAcquisitionEvidences. The merged profile must stay consistent: allFiles=true cannot coexist with a non-empty paths list. Sending no updatable field returns NOTHING_CHANGED with result null. System (predefined) profiles cannot be updated: the API returns 406 SYSTEM_PROFILE_IMMUTABLE. dryRun DEFAULTS TO TRUE: the first call previews the merged profile without persisting; pass dryRun=false only to actually update after the user confirms. The idOrName comes from air-acquisition-disk-image-list or air-acquisition-disk-image-get. An unknown idOrName returns 404 NOT_FOUND with suggestions; an ambiguous name returns 400 AMBIGUOUS_NAME.
|
|
11639
13101
|
*/
|
|
11640
13102
|
const diskImageAcquisitionLibraryApiControllerUpdate = (options) => {
|
|
11641
13103
|
return (options.client ?? client_gen_1.client).patch({
|